diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000..94ce435b38 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,7 @@ +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000000..09f46ce8c4 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,3 @@ +Note +==== +This repository is for Vue 1.x and 2.x only. Issues and pull requests related to 3.x are managed in the v3 doc repo: https://github.com/vuejs/docs-next. diff --git a/.gitignore b/.gitignore index 7c13a2dbcd..8b7ec505e3 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ node_modules/ public/ .deploy*/ src/_drafts +package-lock.json diff --git a/README.md b/README.md index 3a409505fe..bed7c6049c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,13 @@ -# vuejs.org +# v2.vuejs.org + +> Important: This repository is for Vue 1.x and 2.x only. Issues and pull requests related to 3.x are managed in the [v3 doc repo](https://github.com/vuejs/docs-next). This site is built with [hexo](http://hexo.io/). Site content is written in Markdown format located in `src`. Pull requests welcome! +## Writing + +See the [Vue Docs Writing Guide](https://github.com/vuejs/v2.vuejs.org/blob/master/writing-guide.md) for our rules and recommendations on writing and maintaining documentation. + ## Developing ``` bash @@ -17,12 +23,20 @@ If you are the maintainer of a community translation fork and would like to depl ## On Translations -Translation for this documentation project are currently maintained in separate repositories forked from this original one. +Translations for this documentation project are currently maintained in separate repositories forked from this original one. + +### Arabic + +Arabic translation is maintained by [Interstellar Club](https://github.com/InterstellarClub) + +* Translation Repo - [/interstellarClub/ar.vuejs.org](https://github.com/interstellarClub/ar.vuejs.org) +* Primary Maintainers : + * [Ilyes Chouia](https://github.com/celyes) + * [Ahmed Aissaoui](https://github.com/Aissaoui-Ahmed) ### French French translation is maintained by Vuejs-FR. - * Translation Repo - [/vuejs-fr/vuejs.org](https://github.com/vuejs-fr/vuejs.org) ### Italian @@ -38,6 +52,7 @@ Japanese translation is maintained by [Vue.js japan user group](https://github.c * Secondary Maintainers: * [re-fort](https://github.com/re-fort) * [potato4d](https://github.com/potato4d) + * [oohira](https://github.com/oohira) ### Korean @@ -72,9 +87,25 @@ Russian translation is maintained by Translation Gang. ### Spanish -Spanish translation is maintained by VueJS-ES. +* Translation Repo - [/1950Labs/vuejs.org](https://github.com/1950Labs/vuejs.org) +* Spanish translation is maintained by: + +[1950Labs](https://1950labs.com) & [Vue.js Montevideo](https://www.meetup.com/Montevideo-Vue-JS-Meetup/): + +- [Leonel More](https://github.com/leonelmore) | [Twitter](https://twitter.com/leonelmore) +- [Sebastián Camacho](https://github.com/sxcamacho) | [Twitter](https://twitter.com/sxcamacho) +- [Diana Rodríguez](https://github.com/alphacentauri82) | [Twitter](https://twitter.com/cotufa82) +- [Alejandro Parada](https://github.com/alejandro8605) +- [José Javier Señaris](https://github.com/pepesenaris) | [Twitter](https://twitter.com/pepesenaris) +- [Federico Kauffman](https://github.com/fedekau) | [Twitter](https://twitter.com/fedekauffman) +- [Fabián Larrañaga](https://github.com/FLarra) | [Twitter](https://twitter.com/FLarraa) +- [Pablo Marcano](https://github.com/Pablosky12) | [Twitter](https://twitter.com/stiv_ml) +- [Nicolás Tinte](https://github.com/Tintef) | [Twitter](https://twitter.com/NicoTinte) +- [Diego Barreiro](https://github.com/faliure) +- [Matías Verdier](https://github.com/MatiasVerdier) | [Twitter](https://twitter.com/matiasvj) +- [Pablo Kz](https://github.com/pabloKz) +- [Leonardo Fagundez](https://github.com/lfgdzdev) | [Twitter](https://twitter.com/Lfgdz) -* Translation Repo - [/vuejs-es/vuejs.org](https://github.com/vuejs-es/vuejs.org) ### Vietnamese @@ -83,9 +114,15 @@ Vietnamese translation is maintained by [Vue.js Vietnam User group](https://gith * Translation Repo: [/vuejs-vn/vuejs.org](https://github.com/vuejs-vn/vuejs.org) * Primary maintainer - [phanan](https://github.com/phanan) +### Bahasa Indonesia + +Bahasa Indonesia translation is maintained by [Vue.js Indonesia](https://github.com/vuejs-id/). + +* Translation Repo: [/vuejs-id/docs](https://github.com/vuejs-id/docs) + ### Want to help with the translation? -If you feel okay with translating sorta alone, you can fork the repo, create a "work-in-progress" issue to inform others that you're doing the translation, and go for it. +If you feel okay with translating quite alone, you can fork the repo, post a comment on the [Community Translation Announcements](https://github.com/vuejs/v2.vuejs.org/issues/2015) issue page to inform others that you're doing the translation and go for it. If you are more of a team player, Translation Gang might be for you. Let us know somehow that you're ready to join this international open-source translators community. Feel free to contact [Grigoriy Beziuk](https://gbezyuk.github.io) or anybody else from [the team](https://github.com/orgs/translation-gang/people). diff --git a/_config.yml b/_config.yml index 3c5d26a12b..38ce868cd3 100644 --- a/_config.yml +++ b/_config.yml @@ -1,6 +1,6 @@ # Hexo Configuration -## Docs: http://zespia.tw/hexo/docs/configuration.html -## Source: https://github.com/tommy351/hexo/ +## Docs: https://hexo.io/docs/ +## Source: https://github.com/hexojs/hexo # Site title: Vue.js @@ -12,7 +12,7 @@ language: # URL ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' -url: https://vuejs.org +url: https://v2.vuejs.org root: / permalink: :year/:month/:day/:title/ tag_dir: tags @@ -29,7 +29,8 @@ new_post_name: :title.md # File name of new posts default_layout: post auto_spacing: false # Add spaces between asian characters and western characters titlecase: false # Transform title into titlecase -external_link: true # Open external links in new tab +external_link: + enable: true # Open external links in new tab max_open_file: 100 multi_thread: true filename_case: 0 @@ -39,6 +40,7 @@ highlight: enable: true line_number: false tab_replace: + hljs: true # Category & Tag default_category: uncategorized @@ -76,9 +78,14 @@ pagination_dir: page # Disqus disqus_shortname: +# Include/Exclude Files/Folders +exclude: +## Exclude example code from Nunjucks + - "v2/examples/vue-20-*/*" + # Extensions -## Plugins: https://github.com/tommy351/hexo/wiki/Plugins -## Themes: https://github.com/tommy351/hexo/wiki/Themes +## Plugins: https://github.com/hexojs/hexo/wiki/Plugins +## Themes: https://github.com/hexojs/hexo/wiki/Themes theme: vue exclude_generator: @@ -96,49 +103,49 @@ markdown: # Offline ## Config passed to sw-precache ## https://github.com/JLHwung/hexo-offline -offline: - maximumFileSizeToCacheInBytes: 10485760 - staticFileGlobs: - - public/**/*.{js,html,css,png,jpg,jpeg,gif,svg,eot,ttf,woff,woff2,json,xml} - stripPrefix: public - verbose: true - runtimeCaching: - # Ad Sources - should be networkFirst - - urlPattern: /* - handler: networkFirst - options: - origin: sendgrid.sp1.convertro.com - - urlPattern: /* - handler: networkFirst - options: - origin: ad.doubleclick.net - # CDNs - should be cacheFirst, since they should be used specific versions so should not change - - urlPattern: /* - handler: cacheFirst - options: - origin: cdn.jsdelivr.net - - urlPattern: /* - handler: cacheFirst - options: - origin: fonts.googleapis.com - - urlPattern: /* - handler: cacheFirst - options: - origin: fonts.gstatic.com - - urlPattern: /* - handler: cacheFirst - options: - origin: cdnjs.cloudflare.com - - urlPattern: /* - handler: cacheFirst - options: - origin: maxcdn.bootstrapcdn.com +# offline: +# maximumFileSizeToCacheInBytes: 10485760 +# staticFileGlobs: +# - public/**/*.{js,html,css,png,jpg,jpeg,gif,svg,eot,ttf,woff,woff2,json,xml} +# stripPrefix: public +# verbose: true +# runtimeCaching: +# # Ad Sources - should be networkFirst +# - urlPattern: /* +# handler: networkFirst +# options: +# origin: sendgrid.sp1.convertro.com +# - urlPattern: /* +# handler: networkFirst +# options: +# origin: ad.doubleclick.net +# # CDNs - should be cacheFirst, since they should be used specific versions so should not change +# - urlPattern: /* +# handler: cacheFirst +# options: +# origin: cdn.jsdelivr.net +# - urlPattern: /* +# handler: cacheFirst +# options: +# origin: fonts.googleapis.com +# - urlPattern: /* +# handler: cacheFirst +# options: +# origin: fonts.gstatic.com +# - urlPattern: /* +# handler: cacheFirst +# options: +# origin: cdnjs.cloudflare.com +# - urlPattern: /* +# handler: cacheFirst +# options: +# origin: maxcdn.bootstrapcdn.com # Deployment -## Docs: http://zespia.tw/hexo/docs/deployment.html +## Docs: https://hexo.io/docs/one-command-deployment deploy: type: git - repository: git@github.com:vuejs/vuejs.org.git + repository: git@github.com:vuejs/v2.vuejs.org.git feed: type: atom diff --git a/_scripts/pre-deploy.js b/_scripts/pre-deploy.js new file mode 100644 index 0000000000..bf435118ed --- /dev/null +++ b/_scripts/pre-deploy.js @@ -0,0 +1,61 @@ +// udpate to latest built files of Vue +require('./sync-sponsors') + +const fs = require('fs') +const zlib = require('zlib') +const axios = require('axios') +const execSync = require('child_process').execSync + +const themeconfPath = 'themes/vue/_config.yml' +const installPath = 'src/v2/guide/installation.md' +const themeconfig = fs.readFileSync(themeconfPath, 'utf-8') +const installation = fs.readFileSync(installPath, 'utf-8') + +// get latest Vue version +console.log(`Checking latest Vue version...`) +const localVersion = themeconfig.match(/vue_version: (.*)/)[1] +const version = execSync('npm view vue@v2-latest version').toString().trim() + +if (localVersion === version) { + console.log(`Version is up-to-date.`) + process.exit(0) +} + +console.log(`Latest version: ${version}. Downloading dist files...`) + +// replace version in theme config +fs.writeFileSync( + themeconfPath, + themeconfig.replace(/vue_version: .*/, 'vue_version: ' + version) +) + +// grab it from unpkg +Promise.all([download(`vue.js`), download(`vue.min.js`)]) + .then(([devSize, prodSize]) => { + // replace installation page version and size + fs.writeFileSync( + installPath, + installation + .replace(/vue_version: .*/, 'vue_version: ' + version) + .replace(/gz_size:.*/g, `gz_size: "${prodSize}"`) + .replace(/\/vue@[\d\.]+/g, `/vue@${version}`) + ) + console.log( + `\nSuccessfully updated Vue version (${version}) and gzip file size (${prodSize}kb).\n` + ) + }) + .catch((err) => { + console.error(err) + process.exit(1) + }) + +function download(file) { + return axios({ + url: `http://unpkg.com/vue@${version}/dist/${file}`, + method: 'get' + }).then((res) => { + fs.writeFileSync(`themes/vue/source/js/${file}`, res.data) + const zipped = zlib.gzipSync(Buffer.from(res.data)) + return (zipped.length / 1024).toFixed(2) + }) +} diff --git a/_scripts/sync-sponsors.js b/_scripts/sync-sponsors.js new file mode 100644 index 0000000000..60c726da62 --- /dev/null +++ b/_scripts/sync-sponsors.js @@ -0,0 +1,18 @@ +// sync latest data from sponsor.vuejs.org +const fs = require('fs') +const path = require('path') +const axios = require('axios') +const yaml = require('js-yaml') + +const configPath = path.resolve(__dirname, '../themes/vue/_config.yml') + +;(async () => { + const { data } = await axios(`https://sponsors.vuejs.org/data.json`) + const yml = yaml.dump(data) + const config = fs.readFileSync(configPath, 'utf-8') + const updated = config.replace( + /(# START SPONSORS)[^]*(# END SPONSORS)/, + `$1\n${yml}$2` + ) + fs.writeFileSync(configPath, updated) +})() diff --git a/assets/why-vue/arabic.js.srt b/assets/why-vue/arabic.js.srt new file mode 100644 index 0000000000..af61b3d07c --- /dev/null +++ b/assets/why-vue/arabic.js.srt @@ -0,0 +1,586 @@ +1 +00:00:00,000 --> 00:00:02,418 +- على مدى السنوات الـ10 الماضية +أصبحت صفحات الويب الخاصة بنا + +2 +00:00:02,418 --> 00:00:05,600 +أكثر ديناميكية وقوة +بفضل جافا سكريبت. + +3 +00:00:05,600 --> 00:00:07,541 +لقد قمنا بنقل الكثير من +الأكواد التي كانت عادة في + +4 +00:00:07,541 --> 00:00:10,120 +جهة الخادوم إلى متصفحاتنا، + +5 +00:00:10,120 --> 00:00:13,051 +مما تركنا مع آلاف +من أسطر رموز جافا سكريبت + +6 +00:00:13,051 --> 00:00:15,691 +مرتبطة بمختلف ملفات HTML و CSS + +7 +00:00:15,691 --> 00:00:17,821 +دون تنظيم رسمي. + +8 +00:00:17,821 --> 00:00:19,781 +هذا هو السبب وراء استخدام المزيد +والمزيد من المطورين + +9 +00:00:19,781 --> 00:00:23,948 +أطر عمل جافا سكريبت +مثل Angular أو React أو Vue. + +10 +00:00:24,821 --> 00:00:27,829 +Vue يسر التعامل +فعال وعملي + +11 +00:00:27,829 --> 00:00:29,860 +و هو إطار جافا سكريبت +يساعدك على إنشاء + +12 +00:00:29,860 --> 00:00:33,381 +كود أكثر قابلية للإصلاح وللإختبار. + +13 +00:00:33,381 --> 00:00:36,229 +Vue هو إطار عمل جافا سكريبت تقدمي، +مما يعني أنه، + +14 +00:00:36,229 --> 00:00:38,621 +إذا كان لديك تطبيق +يعمل على الخادوم. + +15 +00:00:38,621 --> 00:00:41,627 +يمكنك توصيل Vue +في جزء من تطبيقك + +16 +00:00:41,627 --> 00:00:44,381 +الذي يحتاج إلى تجربة أكثر +ثراء وتفاعل. + +17 +00:00:44,381 --> 00:00:46,269 +أو، إذا كنت ترغب في بناء +واجهات ذات توجه تجاري + +18 +00:00:46,269 --> 00:00:48,240 +إلى واجهتك الأمامية من البداية، + +19 +00:00:48,240 --> 00:00:50,611 +فلدى Vue المكتبات الأساسية +و النظام المتكامل + +20 +00:00:50,611 --> 00:00:52,421 +الذي تحتاج للتوسع. + +21 +00:00:52,421 --> 00:00:53,829 +مثل غيرها من أطر الواجهة الأمامية، + +22 +00:00:53,829 --> 00:00:55,960 +تسمح لك Vue بأخذ +صفحة ويب وتقسيمها + +23 +00:00:55,960 --> 00:01:00,000 +إلى مكونات قابلة لإعادة الاستخدام، +كل منها يحتوي على HTML، + +24 +00:01:00,000 --> 00:01:02,291 +CSS، و جافا سكريبت اللازمة لإستخراج + +25 +00:01:02,291 --> 00:01:04,269 +ذلك الجزء من الصفحة. + +26 +00:01:04,269 --> 00:01:06,260 +التالي، سنلقي نظرة +على Vue عن كثب ب + +27 +00:01:06,260 --> 00:01:08,301 +بناء صفحة جرد منتج، + +28 +00:01:08,301 --> 00:01:10,187 +لكن ابقوا معنا حتى نهاية الفيديو + +29 +00:01:10,187 --> 00:01:13,571 +لرسالة من +منشئ Vue، إيفان يوو. + +30 +00:01:13,571 --> 00:01:15,301 +لن نعلمك كيفية استخدام Vue، + +31 +00:01:15,301 --> 00:01:16,981 +لكننا سنقدم بعض المفاهيم الأساسية + +32 +00:01:16,981 --> 00:01:19,460 +التي تجعل من Vue مفيدة للغاية. + +33 +00:01:19,460 --> 00:01:21,200 +كما هو الحال مع العديد من تطبيقات جافا سكريبت، + +34 +00:01:21,200 --> 00:01:24,272 +نبدأ من الحاجة إلى +عرض البيانات على صفحة الويب الخاصة بنا. + +35 +00:01:24,272 --> 00:01:26,591 +مع Vue، يبدأ الأمر بسهولة تامة. + +36 +00:01:26,591 --> 00:01:29,745 +نقوم بتضمين مكتبة Vue، +إنشاء مثيل Vue، + +37 +00:01:29,745 --> 00:01:33,673 +و توصيله بالعنصر الأساسي +بمعرّف التطبيق app. + +38 +00:01:33,673 --> 00:01:36,032 +EL تعني عُنصر وهي اختصار لكلمة element الإنجليزية. + +39 +00:01:36,032 --> 00:01:39,505 +سنقوم أيضًا بنقل بياناتنا داخل كائن + +40 +00:01:39,505 --> 00:01:41,993 +و تغيير X إلى صيغة برمجية + +41 +00:01:41,993 --> 00:01:44,544 +مع الأقواس المزدوجة المتعرجة. + +42 +00:01:44,544 --> 00:01:46,945 +كما ترون، إنه يعمل. + +43 +00:01:46,945 --> 00:01:50,695 +رائع جدًا، لكن سحر Vue +يبدأ عندما تتغير البيانات. + +44 +00:01:50,695 --> 00:01:51,975 +إذا ذهبنا إلى سطر الأوامر، + +45 +00:01:51,975 --> 00:01:54,735 +سنقوم بتغيير قيمة منتجنا. + +46 +00:01:54,735 --> 00:01:57,324 +لاحظ أنه بمجرد +تغير قيمة المنتج، + +47 +00:01:57,324 --> 00:01:59,953 +قام Vue بتحديث HTML الخاص بنا تلقائيًا. + +48 +00:01:59,953 --> 00:02:01,745 +هذا لأن Vue إطار تفاعلي، + +49 +00:02:01,745 --> 00:02:03,273 +يعني أنه عندما تتغير بياناتنا، + +50 +00:02:03,273 --> 00:02:05,193 +يهتم Vue بتحديث جميع الأماكن + +51 +00:02:05,193 --> 00:02:07,255 +التي نستخدمها في صفحة الويب الخاصة بنا. + +52 +00:02:07,255 --> 00:02:10,305 +هذا الأمر يعمل مع كافة أنواع البيانات، +وليس النصوص فقط. + +53 +00:02:10,305 --> 00:02:11,604 +لذلك بدلا من منتج واحد، + +54 +00:02:11,604 --> 00:02:14,604 +دعونا نستخدم مجموعة من المنتجات. + +55 +00:02:14,604 --> 00:02:17,865 +ثم سنقوم بتحديث +H2 إلى قائمة غير مرتبة، + +56 +00:02:17,865 --> 00:02:20,535 +و إنشاء عنصر قائمة جديد +لكل منتج في المصفوفة + +57 +00:02:20,535 --> 00:02:22,618 +باستخدام التوجيه v-for لVue. + +58 +00:02:24,353 --> 00:02:26,615 +بهذه الطريقة، يحصل كل منتج +على عنصر قائمة خاص به + +59 +00:02:26,615 --> 00:02:28,495 +كما ترون هنا. + +60 +00:02:28,495 --> 00:02:30,352 +لكن هذا لا يزال يبدو مختلق ذو بيانات معدة مسبقاً بعض الشيء. + +61 +00:02:30,352 --> 00:02:32,312 +لذلك دعونا نبدأ بقائمتنا فارغة + +62 +00:02:32,312 --> 00:02:34,815 +بعدها سنجلب أحدث منتجاتنا من واجهة برمجة تطبيقات حقيقية + +63 +00:02:34,815 --> 00:02:37,433 +التي يمكن أن تأتي +من قاعدة بيانات في مكان ما. + +64 +00:02:37,433 --> 00:02:38,863 +عندما يتم إنشاء تطبيقنا، + +65 +00:02:38,863 --> 00:02:41,866 +سنجلب أحدث المنتجات +من واجهة برمجة التطبيقات هذه. + +66 +00:02:41,866 --> 00:02:43,199 +كل ماعليك معرفته هنا هو أننا + +67 +00:02:43,199 --> 00:02:45,063 +نجلب قائمتنا من المنتجات + +68 +00:02:45,063 --> 00:02:46,923 +ومن ثم تحديثها في بياناتنا. + +69 +00:02:46,923 --> 00:02:48,281 +كما ترون على صفحة الويب لدينا، + +70 +00:02:48,281 --> 00:02:51,435 +كل عنصر قائمة يعرض +الكائن الذي تم إرجاعه. + +71 +00:02:51,435 --> 00:02:53,474 +حسنا، يبدو أنه غير قابل للقراءة بعد، + +72 +00:02:53,474 --> 00:02:56,265 +لذلك دعونا نغير الطريقة التي يتم عرضها فيها. + +73 +00:02:56,265 --> 00:02:59,643 +سنقوم بطباعة الكمية والاسم. + +74 +00:02:59,643 --> 00:03:02,265 +و هاهو ذا، طبع بشكل جيد. + +75 +00:03:02,265 --> 00:03:03,563 +قد نرغب في لفت الانتباه إلى + +76 +00:03:03,563 --> 00:03:05,675 +العناصر التي لا تحتوي على كمية. + +77 +00:03:05,675 --> 00:03:09,595 +لذلك دعونا نضيف وسم span +يحمل النص، منتهي من المخزون. + +78 +00:03:09,595 --> 00:03:13,334 +يجب أن يظهر هذا فقط إذا +كانت كمية العنصر تساوي صفرًا. + +79 +00:03:13,334 --> 00:03:16,134 +سنستخدم التوجيه v-if. + +80 +00:03:16,134 --> 00:03:20,362 +لأن سترتنا لديها كمية +صفر، فهي خارج المخزون. + +81 +00:03:20,362 --> 00:03:22,081 +ماذا لو أردنا +طباعة الرقم الإجمالي + +82 +00:03:22,081 --> 00:03:24,641 +من المنتجات تحت قائمتنا؟ + +83 +00:03:24,641 --> 00:03:26,468 +لجعل هذا يعمل، نحتاج إلى إنشاء + +84 +00:03:26,468 --> 00:03:29,570 +خاصية محسوبة تسمى totalProducts + +85 +00:03:29,570 --> 00:03:34,228 +و التي تعيد الكمية +الإجمالية لمنتجاتنا. + +86 +00:03:34,228 --> 00:03:36,490 +إذا كنت غير معتاد +على دالة reduce في جافا سكريبت، + +87 +00:03:36,490 --> 00:03:40,468 +فهي تجمع كل الكميات لكل منتج. + +88 +00:03:40,468 --> 00:03:41,851 +كما ترون، في متصفحنا، + +89 +00:03:41,851 --> 00:03:45,308 +فهي أضافت بشكل صحيح +جميع الكميات. + +90 +00:03:45,308 --> 00:03:47,588 +هنا في المتصفح، أريد +أن اريك إضافة Vue + +91 +00:03:47,588 --> 00:03:51,380 +لمتصفح Chrome حيث يمكننا +مشاهدة مصفوفة بياناتنا + +92 +00:03:51,380 --> 00:03:53,547 +وفحصها هنا. + +93 +00:03:55,108 --> 00:03:57,460 +بما أننا في سطر الأوامر، وللمتعة فقط، + +94 +00:03:57,460 --> 00:03:59,850 +دعنا نلغي العنصر الأخير من المصفوفة + +95 +00:03:59,850 --> 00:04:01,828 +ونرى ما سيحدث. + +96 +00:04:01,828 --> 00:04:04,359 +كما ترى، لم يتم +تحديث قائمتنا فقط، + +97 +00:04:04,359 --> 00:04:07,940 +ولكن مجموعنا كذلك، كما قد تأمل. + +98 +00:04:07,940 --> 00:04:10,410 +بعد ذلك، دعنا نضيف بعض +التفاعل إلى هذه الصفحة + +99 +00:04:10,410 --> 00:04:12,346 +من خلال استخدام زر. + +100 +00:04:12,346 --> 00:04:14,490 +سنقوم بإنشاء و إضافة +زر لكل منتج + +101 +00:04:14,490 --> 00:04:15,850 +وعند حدوث نقرة، + +102 +00:04:15,850 --> 00:04:18,850 +سنزيد الكمية بمقدار واحد. + +103 +00:04:19,959 --> 00:04:22,279 +بالعودة إلى المتصفح، لاحظ +كيف أنه عندما نضيف عنصرًا، + +104 +00:04:22,279 --> 00:04:25,159 +لا يتم تحديث +المخزون الإجمالي فقط، + +105 +00:04:25,159 --> 00:04:27,780 +ولكن أيضًا إذا قمنا بزيادة +منتج السترة الخاص بنا، + +106 +00:04:27,780 --> 00:04:30,300 +فإن رسالة منتهي من المخزون تختفي. + +107 +00:04:30,300 --> 00:04:31,860 +النقر على هذا الزر مليون مرة + +108 +00:04:31,860 --> 00:04:33,890 +أمر متعب، +لذلك ماذا لو أردنا + +109 +00:04:33,890 --> 00:04:37,719 +كتابة كمية +السترات أو الجوارب؟ + +110 +00:04:37,719 --> 00:04:40,580 +نقوم فقط بإنشاء حقل إدخال +جديد و إلزامه بـ + +111 +00:04:40,580 --> 00:04:43,867 +حقل كمية المنتج +بواسطة التوجيه v-model + +112 +00:04:43,867 --> 00:04:46,519 +و تحديد أنه دائمًا رقم. + +113 +00:04:46,519 --> 00:04:48,060 +ستلاحظ الآن، أنه يمكنني إدخال إجمالي + +114 +00:04:48,060 --> 00:04:52,450 +كمية كل عنصر و +يتم تحديثها على الفور. + +115 +00:04:52,450 --> 00:04:54,500 +يمكنني حتى ضبط الكمية إلى الصفر + +116 +00:04:54,500 --> 00:04:57,899 +وأحصل على رسالة، انتهاء المخزون. + +117 +00:04:57,899 --> 00:05:01,232 +ولا تزال أزرار الإضافة تعمل على ما يرام. + +118 +00:05:02,259 --> 00:05:03,999 +إذا كنا نبني تطبيقا أكبر، + +119 +00:05:03,999 --> 00:05:05,839 +قد نرغب في تقسيم +الأمور في هذه المرحلة + +120 +00:05:05,839 --> 00:05:09,290 +إلى المكونات والملفات الخاصة بهم. + +121 +00:05:09,290 --> 00:05:11,827 +لدى Vue واجهة سطر أوامر أيضا + +122 +00:05:11,827 --> 00:05:15,828 +مما يجعل من السهل +بدء مشاريع حقيقية بسرعة. + +123 +00:05:15,828 --> 00:05:18,879 +يمكننا حتى استخدام +مكونات الملف الواحد في Vue + +124 +00:05:18,879 --> 00:05:21,770 +الذي يحتوي على HTML، جافا سكريبت، + +125 +00:05:21,770 --> 00:05:23,687 +و Scoped CSS، أو SCSS. + +126 +00:05:25,599 --> 00:05:28,926 +- مرحبًا، أنا إيفان يو، منشئ Vue.js. + +127 +00:05:28,926 --> 00:05:31,587 +ما رأيته هنا +بالكاد خدش سطح + +128 +00:05:31,587 --> 00:05:33,065 +ما يمكن لVue أن تفعله. + +129 +00:05:33,065 --> 00:05:34,856 +هناك أكثر من ذالك بكثير في النظام المتكامل + +130 +00:05:34,856 --> 00:05:36,555 +لمساعدتك في البناء، التنظيم، + +131 +00:05:36,555 --> 00:05:39,076 +و التوسع بتطبيقات الواجهة الأمامية الخاصة بك. + +132 +00:05:39,076 --> 00:05:42,457 +للحصول على فكرة أفضل وأشمل، +اقرأ وثائقنا البرمجية اليوم. + +133 +00:05:42,457 --> 00:05:44,708 +أعتقد أنك ستستمتع بالعرض. diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 048dfd31bc..0000000000 --- a/package-lock.json +++ /dev/null @@ -1,4116 +0,0 @@ -{ - "name": "vuejs.org", - "version": "1.0.18", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "JSONStream": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.1.tgz", - "integrity": "sha1-cH92HgHa6eFvG8+TcDt4xwlmV5o=", - "requires": { - "jsonparse": "1.3.1", - "through": "2.3.8" - } - }, - "a-sync-waterfall": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.0.tgz", - "integrity": "sha1-OOgxnXk3niRiiEW1O5ZyKyng5Hw=" - }, - "abab": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", - "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", - "optional": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "accepts": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", - "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", - "requires": { - "mime-types": "2.1.16", - "negotiator": "0.6.1" - } - }, - "acorn": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", - "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=" - }, - "acorn-globals": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", - "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", - "optional": true, - "requires": { - "acorn": "2.7.0" - } - }, - "ajv": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.0.tgz", - "integrity": "sha1-6yhAdG6dxIvV4GOjbj/UAMXqtak=", - "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.0.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" - } - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" - }, - "ansi-align": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-1.1.0.tgz", - "integrity": "sha1-LwwWWIKXOa3V67FeawxuNCPwFro=", - "requires": { - "string-width": "1.0.2" - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", - "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" - } - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" - }, - "argparse": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", - "requires": { - "sprintf-js": "1.0.3" - } - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "requires": { - "arr-flatten": "1.1.0" - } - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" - }, - "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" - } - }, - "babel-eslint": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.2.3.tgz", - "integrity": "sha1-sv4tgBJkcPXBlELcdXJTqJdxCCc=", - "requires": { - "babel-code-frame": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0" - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - }, - "dependencies": { - "core-js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" - } - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.4" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.4", - "to-fast-properties": "1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "basic-auth": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.1.0.tgz", - "integrity": "sha1-RSIe5Cn37h5QNb4/UVM/HN/SmIQ=" - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "binary-extensions": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=" - }, - "bluebird": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", - "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=" - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" - }, - "boom": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", - "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", - "requires": { - "hoek": "4.2.0" - } - }, - "boxen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-0.6.0.tgz", - "integrity": "sha1-g2TUJIrDT/DvGy8r9JpsYM4NgbY=", - "requires": { - "ansi-align": "1.1.0", - "camelcase": "2.1.1", - "chalk": "1.1.3", - "cli-boxes": "1.0.0", - "filled-array": "1.1.0", - "object-assign": "4.1.1", - "repeating": "2.0.1", - "string-width": "1.0.2", - "widest-line": "1.0.0" - } - }, - "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" - } - }, - "browser-fingerprint": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/browser-fingerprint/-/browser-fingerprint-0.0.1.tgz", - "integrity": "sha1-jfPNyiW/fVs1QtYVRdcwBT/OYEo=" - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" - }, - "bytes": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.5.0.tgz", - "integrity": "sha1-TJQj6i0lLCcMQbK97+/5u2tiwGo=" - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "requires": { - "no-case": "2.3.2", - "upper-case": "1.1.3" - } - }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" - } - }, - "capture-stack-trace": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", - "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "cheerio": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.20.0.tgz", - "integrity": "sha1-XHEPK6uVZTJyhCugHG6mGzVF7DU=", - "requires": { - "css-select": "1.2.0", - "dom-serializer": "0.1.0", - "entities": "1.1.1", - "htmlparser2": "3.8.3", - "jsdom": "7.2.2", - "lodash": "4.17.4" - } - }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "fsevents": "1.1.3", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" - } - }, - "cli-boxes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=" - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", - "requires": { - "delayed-stream": "1.0.0" - } - }, - "command-exists": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.2.tgz", - "integrity": "sha1-EoGcZPr5VEbsCuB/5sr7brNwiyI=" - }, - "compressible": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.11.tgz", - "integrity": "sha1-FnGKdd4oPtjmBAQWJaIGRYZ5fYo=", - "requires": { - "mime-db": "1.29.0" - } - }, - "compression": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.0.tgz", - "integrity": "sha1-AwyfGY8WQ6BX13anOOki2kNzAS0=", - "requires": { - "accepts": "1.3.4", - "bytes": "2.5.0", - "compressible": "2.0.11", - "debug": "2.6.8", - "on-headers": "1.0.1", - "safe-buffer": "5.1.1", - "vary": "1.1.1" - }, - "dependencies": { - "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "configstore": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-2.1.0.tgz", - "integrity": "sha1-c3o6cDbpiGECqmCZ5HuzOrGroaE=", - "requires": { - "dot-prop": "3.0.0", - "graceful-fs": "4.1.11", - "mkdirp": "0.5.1", - "object-assign": "4.1.1", - "os-tmpdir": "1.0.2", - "osenv": "0.1.4", - "uuid": "2.0.3", - "write-file-atomic": "1.3.4", - "xdg-basedir": "2.0.0" - }, - "dependencies": { - "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" - } - } - }, - "connect": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.3.tgz", - "integrity": "sha512-GLSZqgjVxPvGYVD/2vz//gS201MEXk4b7t3nHV6OVnTdDNWi/Gm7Rpxs/ybvljPWvULys/wrzIV3jB3YvEc3nQ==", - "requires": { - "debug": "2.6.8", - "finalhandler": "1.0.4", - "parseurl": "1.3.1", - "utils-merge": "1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "requires": { - "capture-stack-trace": "1.0.0" - } - }, - "cross-spawn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", - "requires": { - "lru-cache": "4.1.1", - "which": "1.3.0" - } - }, - "cryptiles": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", - "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", - "requires": { - "boom": "5.2.0" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "requires": { - "hoek": "4.2.0" - } - } - } - }, - "css-parse": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz", - "integrity": "sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs=" - }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "requires": { - "boolbase": "1.0.0", - "css-what": "2.1.0", - "domutils": "1.5.1", - "nth-check": "1.0.1" - } - }, - "css-what": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", - "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=" - }, - "cssom": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", - "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=" - }, - "cssstyle": { - "version": "0.2.37", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", - "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", - "optional": true, - "requires": { - "cssom": "0.3.2" - } - }, - "cuid": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/cuid/-/cuid-1.3.8.tgz", - "integrity": "sha1-S4deCWm612T37AcGz0T1+wgx9rc=", - "requires": { - "browser-fingerprint": "0.0.1", - "core-js": "1.2.7", - "node-fingerprint": "0.0.2" - } - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "requires": { - "array-find-index": "1.0.2" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "1.0.0" - } - }, - "debug": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.0.1.tgz", - "integrity": "sha512-6nVc6S36qbt/mutyt+UGMnawAMrPDZUPQjRZI3FS9tCtDRhvxJbK79unYBLPi+z5SLXQ3ftoVBFCblQtNSls8w==", - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "deep-assign": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-2.0.0.tgz", - "integrity": "sha1-6+BrHwfwja5ZdiDj3RYi83GhxXI=", - "requires": { - "is-obj": "1.0.1" - } - }, - "deep-extend": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=" - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", - "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" - } - } - }, - "dom-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/dom-urls/-/dom-urls-1.1.0.tgz", - "integrity": "sha1-AB3fgWKM0ecGElxxdvU8zsVdkY4=", - "requires": { - "urijs": "1.18.12" - } - }, - "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=" - }, - "domhandler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", - "requires": { - "domelementtype": "1.3.0" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" - } - }, - "dot-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", - "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", - "requires": { - "is-obj": "1.0.1" - } - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "requires": { - "readable-stream": "2.3.3" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "ejs": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz", - "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=" - }, - "encodeurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", - "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=" - }, - "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=" - }, - "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", - "requires": { - "is-arrayish": "0.2.1" - } - }, - "es6-promise": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.1.tgz", - "integrity": "sha512-OaU1hHjgJf+b0NzsxCg7NdIYERD6Hy/PEmFLTjw+b65scuisG3Kt4QoTvJ66BBkPZ581gr0kpoVzKnxniM8nng==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escodegen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", - "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", - "optional": true, - "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.5.7" - } - }, - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "optional": true - }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "optional": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" - }, - "etag": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz", - "integrity": "sha1-b2Ma7zNtbEY2K1F2QETOIWvjwFE=" - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "requires": { - "is-posix-bracket": "0.1.1" - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "requires": { - "fill-range": "2.2.3" - } - }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "requires": { - "is-extglob": "1.0.0" - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "fast-deep-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "optional": true - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" - }, - "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" - } - }, - "filled-array": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filled-array/-/filled-array-1.1.0.tgz", - "integrity": "sha1-w8T2xmO5I0WamqKZEtLQMfFQf4Q=" - }, - "finalhandler": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.4.tgz", - "integrity": "sha512-16l/r8RgzlXKmFOhZpHBztvye+lAhC5SU7hXavnerC9UfZqZxxXl3BzL8MhffPT3kF61lj9Oav2LKEzh0ei7tg==", - "requires": { - "debug": "2.6.8", - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.1", - "statuses": "1.3.1", - "unpipe": "1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "requires": { - "for-in": "1.0.2" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", - "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.16" - } - }, - "fresh": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz", - "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44=" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", - "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", - "optional": true, - "requires": { - "nan": "2.8.0", - "node-pre-gyp": "0.6.39" - }, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "bundled": true, - "optional": true - }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true - }, - "aproba": { - "version": "1.1.1", - "bundled": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "optional": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" - } - }, - "asn1": { - "version": "0.2.3", - "bundled": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "optional": true - }, - "balanced-match": { - "version": "0.4.2", - "bundled": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "bundled": true, - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.7", - "bundled": true, - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - } - }, - "buffer-shims": { - "version": "1.0.0", - "bundled": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "optional": true - }, - "co": { - "version": "4.6.0", - "bundled": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.4.2", - "bundled": true, - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "bundled": true, - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "optional": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "optional": true, - "requires": { - "aproba": "1.1.1", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "bundled": true - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "bundled": true, - "optional": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true, - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "bundled": true - }, - "mime-types": { - "version": "2.1.15", - "bundled": true, - "requires": { - "mime-db": "1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "node-pre-gyp": { - "version": "0.6.39", - "bundled": true, - "optional": true, - "requires": { - "detect-libc": "1.0.2", - "hawk": "3.1.3", - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "tar-pack": "3.4.0" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "optional": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" - } - }, - "npmlog": { - "version": "4.1.0", - "bundled": true, - "optional": true, - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "osenv": { - "version": "0.1.4", - "bundled": true, - "optional": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, - "optional": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "bundled": true, - "optional": true - }, - "rc": { - "version": "1.2.1", - "bundled": true, - "optional": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.2.9", - "bundled": true, - "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" - } - }, - "request": { - "version": "2.81.0", - "bundled": true, - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" - } - }, - "rimraf": { - "version": "2.6.1", - "bundled": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.0.1", - "bundled": true - }, - "semver": { - "version": "5.3.0", - "bundled": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "optional": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "requires": { - "hoek": "2.16.3" - } - }, - "sshpk": { - "version": "1.13.0", - "bundled": true, - "optional": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.0.1", - "bundled": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "optional": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "optional": true, - "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.1", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "optional": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "optional": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true - }, - "uuid": { - "version": "3.0.1", - "bundled": true, - "optional": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "optional": true, - "requires": { - "string-width": "1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - } - } - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "1.0.0" - } - }, - "glob": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", - "optional": true, - "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" - } - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "requires": { - "is-glob": "2.0.1" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" - }, - "got": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz", - "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=", - "requires": { - "create-error-class": "3.0.2", - "duplexer2": "0.1.4", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.0", - "node-status-codes": "1.0.0", - "object-assign": "4.1.1", - "parse-json": "2.2.0", - "pinkie-promise": "2.0.1", - "read-all-stream": "3.1.0", - "readable-stream": "2.3.3", - "timed-out": "3.1.3", - "unzip-response": "1.0.2", - "url-parse-lax": "1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - }, - "har-validator": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", - "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", - "requires": { - "ajv": "5.5.0", - "har-schema": "2.0.0" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "2.1.1" - } - }, - "hawk": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", - "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", - "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.0", - "sntp": "2.1.0" - } - }, - "hexo": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/hexo/-/hexo-3.4.2.tgz", - "integrity": "sha512-ElTdoBqf9n0OpJaTrmUJvZSMpeL8I/E65AZsQKPMBTbjZCt95yTx+edP3cbhlBMenRwZb83N658FVep/keDfuQ==", - "requires": { - "abbrev": "1.1.1", - "archy": "1.0.0", - "bluebird": "3.5.0", - "chalk": "1.1.3", - "cheerio": "0.20.0", - "deep-assign": "2.0.0", - "hexo-cli": "1.0.4", - "hexo-front-matter": "0.2.3", - "hexo-fs": "0.2.2", - "hexo-i18n": "0.2.1", - "hexo-log": "0.2.0", - "hexo-util": "0.6.2", - "js-yaml": "3.10.0", - "lodash": "4.17.4", - "minimatch": "3.0.4", - "moment": "2.19.3", - "moment-timezone": "0.5.14", - "nunjucks": "2.5.2", - "pretty-hrtime": "1.0.3", - "strip-indent": "1.0.1", - "swig": "1.4.2", - "swig-extras": "0.0.1", - "text-table": "0.2.0", - "tildify": "1.2.0", - "titlecase": "1.1.2", - "warehouse": "2.2.0" - }, - "dependencies": { - "hexo-cli": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/hexo-cli/-/hexo-cli-1.0.4.tgz", - "integrity": "sha512-X4YxBfuwRjCFF2fCAdmuLo/5IKruZCYc/kRaiVfPsTYFvvaBvsBTZBDhB8t4MOQv3QqoYMld9bGRLnd9NiEsFg==", - "requires": { - "abbrev": "1.1.1", - "bluebird": "3.5.0", - "chalk": "1.1.3", - "command-exists": "1.2.2", - "hexo-fs": "0.2.2", - "hexo-log": "0.2.0", - "hexo-util": "0.6.2", - "minimist": "1.2.0", - "object-assign": "4.1.1", - "tildify": "1.2.0" - } - } - } - }, - "hexo-bunyan": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hexo-bunyan/-/hexo-bunyan-1.0.0.tgz", - "integrity": "sha512-RymT8Ck+K77mLt9BEYNb4uyfC7RIQnU5N3laXowMrS28jj2h89VHJCOnhV00mmta4fHRqNa07kP1Hrn17nvMkQ==", - "requires": { - "moment": "2.19.2", - "mv": "2.1.1", - "safe-json-stringify": "1.0.4" - } - }, - "hexo-deployer-git": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/hexo-deployer-git/-/hexo-deployer-git-0.3.1.tgz", - "integrity": "sha512-JSwSmTSknGpaiooGXwmP7sAhoSNW3c+xmBiCc5yyrvRSfQ3zIYWjmcqNXSj8m2DmheqQNgt5D4M7quYjw+L6tA==", - "requires": { - "babel-eslint": "7.2.3", - "bluebird": "3.5.0", - "chalk": "1.1.3", - "hexo-fs": "0.2.2", - "hexo-util": "0.6.2", - "moment": "2.19.2", - "swig": "1.4.2" - } - }, - "hexo-front-matter": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/hexo-front-matter/-/hexo-front-matter-0.2.3.tgz", - "integrity": "sha1-x8qO9CDqNr2F6ECKLoyb9J76YF4=", - "requires": { - "js-yaml": "3.10.0" - } - }, - "hexo-fs": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/hexo-fs/-/hexo-fs-0.2.2.tgz", - "integrity": "sha512-boZoDQYieQJJ4drW40B5XI1Tol/ucEGXSV2qjVWI51NsGbFTNw0PBIZjwSs2rum6QnJIYw50K7uBTo8WXGp/aw==", - "requires": { - "bluebird": "3.5.0", - "chokidar": "1.7.0", - "escape-string-regexp": "1.0.5", - "graceful-fs": "4.1.11" - } - }, - "hexo-generator-alias": { - "version": "git+https://github.com/chrisvfritz/vuejs.org-hexo-generator-alias.git#67adb814a76750f3c841825f955bd5dd92cd1f20" - }, - "hexo-generator-archive": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/hexo-generator-archive/-/hexo-generator-archive-0.1.5.tgz", - "integrity": "sha512-jPbMtibqkJnAX3hCwhYhK3r6cqy9OKQsVEScjk7LDok+iPmFmkKCNdU/OccxGe1CWAZpT+ta4+LknwNeHG2G4w==", - "requires": { - "hexo-pagination": "0.0.2", - "object-assign": "2.1.1" - }, - "dependencies": { - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=" - } - } - }, - "hexo-generator-category": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/hexo-generator-category/-/hexo-generator-category-0.1.3.tgz", - "integrity": "sha1-uealhiUwqDvdfaTIGcG58+TMtLI=", - "requires": { - "hexo-pagination": "0.0.2", - "object-assign": "2.1.1" - }, - "dependencies": { - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=" - } - } - }, - "hexo-generator-feed": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/hexo-generator-feed/-/hexo-generator-feed-1.2.2.tgz", - "integrity": "sha512-4jcvVhFgpEFRJ7A+KhBSfWoQaewRBjcVWEO4OmBgnvaZOm6XwK+b5ZXx/8BpujCLHbjXWzglXhiT7qFFS/nvzw==", - "requires": { - "nunjucks": "3.0.1", - "object-assign": "4.1.1" - }, - "dependencies": { - "nunjucks": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.0.1.tgz", - "integrity": "sha1-TedKPlULr2+jNwMj89HHwqhr3E0=", - "requires": { - "a-sync-waterfall": "1.0.0", - "asap": "2.0.6", - "chokidar": "1.7.0", - "yargs": "3.32.0" - } - } - } - }, - "hexo-generator-index": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/hexo-generator-index/-/hexo-generator-index-0.2.1.tgz", - "integrity": "sha1-kEIin8rHmq9wBXXaGTMr8/fuXF0=", - "requires": { - "hexo-pagination": "0.0.2", - "object-assign": "4.1.1" - } - }, - "hexo-generator-tag": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/hexo-generator-tag/-/hexo-generator-tag-0.2.0.tgz", - "integrity": "sha1-xXFYRrtB5X2cIMHWbX2yGhq/emI=", - "requires": { - "hexo-pagination": "0.0.2", - "object-assign": "4.1.1" - } - }, - "hexo-i18n": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/hexo-i18n/-/hexo-i18n-0.2.1.tgz", - "integrity": "sha1-hPFBQyvwnYtVjth4xygWS20c1t4=", - "requires": { - "sprintf-js": "1.0.3" - } - }, - "hexo-log": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/hexo-log/-/hexo-log-0.2.0.tgz", - "integrity": "sha512-fzoc+GQexxPPILTjoOQILnA3ZG2MFgqMBVel4xvJ11pXptw9+f97ynTgDAExXafyp9Nz2ChXRuqlCYgPtZSlxQ==", - "requires": { - "chalk": "1.1.3", - "hexo-bunyan": "1.0.0" - } - }, - "hexo-offline": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/hexo-offline/-/hexo-offline-0.2.2.tgz", - "integrity": "sha1-ErrFHgRyCPWCr5GVRlROCyDKpGc=", - "requires": { - "sw-precache": "5.2.0" - } - }, - "hexo-pagination": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/hexo-pagination/-/hexo-pagination-0.0.2.tgz", - "integrity": "sha1-jPRwx9sN5bGKOSanbesZQBXffys=", - "requires": { - "utils-merge": "1.0.0" - } - }, - "hexo-renderer-ejs": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/hexo-renderer-ejs/-/hexo-renderer-ejs-0.3.1.tgz", - "integrity": "sha512-XN8pYJU+Wr3dT8ipqEPRlOBySJpd1C5NUBBzgZpVSVBC/6L36O0YZI/Qd5NxQqwfGfSuKQ8N5iMyjmRXSR1MdA==", - "requires": { - "ejs": "2.5.7", - "object-assign": "4.1.1" - } - }, - "hexo-renderer-marked": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/hexo-renderer-marked/-/hexo-renderer-marked-0.3.0.tgz", - "integrity": "sha1-X6J6NhB10Ui47P8plSo+FeI67YE=", - "requires": { - "hexo-util": "0.6.2", - "marked": "0.3.6", - "object-assign": "4.1.1", - "strip-indent": "1.0.1" - } - }, - "hexo-renderer-stylus": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/hexo-renderer-stylus/-/hexo-renderer-stylus-0.3.3.tgz", - "integrity": "sha1-xU6ifh/Y48ipp6hM+6itNUEiyn8=", - "requires": { - "nib": "1.1.2", - "stylus": "0.54.5" - } - }, - "hexo-server": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/hexo-server/-/hexo-server-0.2.2.tgz", - "integrity": "sha512-/KkOYMIGylNoMtnlgas84Kw18A60WU3BVfo8ZnTHy8omCsAz2Z+aK6ddR4PpSmTdLeKDsiZj4ZSg86ZQ+FZzrA==", - "requires": { - "bluebird": "3.5.0", - "chalk": "1.1.3", - "compression": "1.7.0", - "connect": "3.6.3", - "mime": "1.4.0", - "morgan": "1.8.2", - "object-assign": "4.1.1", - "opn": "4.0.2", - "serve-static": "1.12.4" - } - }, - "hexo-util": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/hexo-util/-/hexo-util-0.6.2.tgz", - "integrity": "sha512-hmWS97r06UJnNTIIk2P4eTp5S/v+ZWliGzPHD8lJw5vo+q4JBOJ+bCL9KkuQBx6UQzxgFbe11QeVSklYWCiS6Q==", - "requires": { - "bluebird": "3.5.1", - "camel-case": "3.0.0", - "cross-spawn": "4.0.2", - "highlight.js": "9.12.0", - "html-entities": "1.2.1", - "striptags": "2.2.1" - }, - "dependencies": { - "bluebird": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" - } - } - }, - "highlight.js": { - "version": "9.12.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz", - "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=" - }, - "hoek": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", - "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==" - }, - "hosted-git-info": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==" - }, - "html-entities": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=" - }, - "htmlparser2": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", - "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.3.0", - "domutils": "1.5.1", - "entities": "1.0.0", - "readable-stream": "1.1.14" - }, - "dependencies": { - "entities": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=" - } - } - }, - "http-errors": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", - "requires": { - "depd": "1.1.1", - "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": "1.3.1" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "requires": { - "repeating": "2.0.1" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ini": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=" - }, - "invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", - "requires": { - "loose-envify": "1.3.1" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "requires": { - "binary-extensions": "1.11.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "requires": { - "builtin-modules": "1.1.1" - } - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "requires": { - "is-primitive": "2.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "requires": { - "is-extglob": "1.0.0" - } - }, - "is-npm": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=" - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "requires": { - "kind-of": "3.2.2" - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - } - } - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" - }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" - }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - } - } - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "js-yaml": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", - "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", - "requires": { - "argparse": "1.0.9", - "esprima": "4.0.0" - }, - "dependencies": { - "esprima": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", - "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==" - } - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "optional": true - }, - "jsdom": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-7.2.2.tgz", - "integrity": "sha1-QLQCdwwr2iNGkJa+6Rq2deOx/G4=", - "optional": true, - "requires": { - "abab": "1.0.4", - "acorn": "2.7.0", - "acorn-globals": "1.0.9", - "cssom": "0.3.2", - "cssstyle": "0.2.37", - "escodegen": "1.9.0", - "nwmatcher": "1.4.3", - "parse5": "1.5.1", - "request": "2.83.0", - "sax": "1.2.4", - "symbol-tree": "3.2.2", - "tough-cookie": "2.3.3", - "webidl-conversions": "2.0.1", - "whatwg-url-compat": "0.6.5", - "xml-name-validator": "2.0.1" - } - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - }, - "latest-version": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-2.0.0.tgz", - "integrity": "sha1-VvjWE5YghHuAF/jx9NeOIRMkFos=", - "requires": { - "package-json": "2.4.0" - } - }, - "lazy-req": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz", - "integrity": "sha1-va6+rTD42CQDnODOFJ1Nqge6H6w=" - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "requires": { - "invert-kv": "1.0.0" - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "optional": true, - "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" - }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" - }, - "lodash.template": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", - "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", - "requires": { - "lodash._reinterpolate": "3.0.0", - "lodash.templatesettings": "4.1.0" - } - }, - "lodash.templatesettings": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", - "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", - "requires": { - "lodash._reinterpolate": "3.0.0" - } - }, - "loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "requires": { - "js-tokens": "3.0.2" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" - }, - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" - }, - "lru-cache": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" - } - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" - }, - "markdown": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/markdown/-/markdown-0.5.0.tgz", - "integrity": "sha1-KCBbVlqK51kt4gdGPWY33BgnIrI=", - "requires": { - "nopt": "2.1.2" - } - }, - "marked": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.6.tgz", - "integrity": "sha1-ssbGGPzOzk74bE/Gy4p8v1rtqNc=" - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" - } - }, - "mime": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.0.tgz", - "integrity": "sha512-n9ChLv77+QQEapYz8lV+rIZAW3HhAPW2CXnzb1GN5uMkuczshwvkW7XPsbzU0ZQN3sP47Er2KVkp2p3KyqZKSQ==" - }, - "mime-db": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.29.0.tgz", - "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg=" - }, - "mime-types": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz", - "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=", - "requires": { - "mime-db": "1.29.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "1.1.8" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } - } - }, - "moment": { - "version": "2.19.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.2.tgz", - "integrity": "sha512-Rf6jiHPEfxp9+dlzxPTmRHbvoFXsh2L/U8hOupUMpnuecHQmI6cF6lUbJl3QqKPko1u6ujO+FxtcajLVfLpAtA==" - }, - "moment-timezone": { - "version": "0.5.14", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.14.tgz", - "integrity": "sha1-TrOP+VOLgBCLpGekWPPtQmjM/LE=", - "requires": { - "moment": "2.19.2" - } - }, - "morgan": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.8.2.tgz", - "integrity": "sha1-eErHc05KRTqcbm6GgKkyknXItoc=", - "requires": { - "basic-auth": "1.1.0", - "debug": "2.6.8", - "depd": "1.1.1", - "on-finished": "2.3.0", - "on-headers": "1.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "mv": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", - "integrity": "sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=", - "optional": true, - "requires": { - "mkdirp": "0.5.1", - "ncp": "2.0.0", - "rimraf": "2.4.5" - } - }, - "nan": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", - "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", - "optional": true - }, - "ncp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", - "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", - "optional": true - }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" - }, - "nib": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/nib/-/nib-1.1.2.tgz", - "integrity": "sha1-amnt5AgblcDe+L4CSkyK4MLLtsc=", - "requires": { - "stylus": "0.54.5" - } - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "requires": { - "lower-case": "1.1.4" - } - }, - "node-fingerprint": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/node-fingerprint/-/node-fingerprint-0.0.2.tgz", - "integrity": "sha1-Mcur63GmeufdWn3AQuUcPHWGhQE=" - }, - "node-status-codes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz", - "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=" - }, - "nopt": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz", - "integrity": "sha1-bMzZd7gBMqB3MdbozljCyDA8+a8=", - "requires": { - "abbrev": "1.1.1" - } - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "1.1.0" - } - }, - "nth-check": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", - "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", - "requires": { - "boolbase": "1.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "nunjucks": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-2.5.2.tgz", - "integrity": "sha1-6n00bnhbikh0Zmw8yp4YxXf7oiw=", - "requires": { - "asap": "2.0.6", - "chokidar": "1.7.0", - "yargs": "3.32.0" - } - }, - "nwmatcher": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.3.tgz", - "integrity": "sha512-IKdSTiDWCarf2JTS5e9e2+5tPZGdkRJ79XjYV0pzK8Q9BpsFyBq1RGKxzs7Q8UBushGw7m6TzVKz6fcY99iSWw==", - "optional": true - }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" - } - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1.0.2" - } - }, - "opn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", - "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=", - "requires": { - "object-assign": "4.1.1", - "pinkie-promise": "2.0.1" - } - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "requires": { - "minimist": "0.0.10", - "wordwrap": "0.0.3" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" - } - } - }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "optional": true, - "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "requires": { - "lcid": "1.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "osenv": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", - "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "package-json": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-2.4.0.tgz", - "integrity": "sha1-DRW9Z9HLvduyyiIv8u24a8sxqLs=", - "requires": { - "got": "5.7.1", - "registry-auth-token": "3.3.1", - "registry-url": "3.1.0", - "semver": "5.4.1" - } - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "requires": { - "error-ex": "1.3.1" - } - }, - "parse5": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", - "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", - "optional": true - }, - "parseurl": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", - "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY=" - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "requires": { - "pinkie-promise": "2.0.1" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-to-regexp": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", - "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", - "requires": { - "isarray": "0.0.1" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "2.0.4" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" - }, - "pretty-bytes": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", - "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=" - }, - "pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" - }, - "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", - "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" - }, - "rc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - } - }, - "read-all-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz", - "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=", - "requires": { - "pinkie-promise": "2.0.1", - "readable-stream": "2.3.3" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - } - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", - "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.3", - "set-immediate-shim": "1.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" - } - }, - "regenerator-runtime": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", - "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==" - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "requires": { - "is-equal-shallow": "0.1.3" - } - }, - "registry-auth-token": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.1.tgz", - "integrity": "sha1-+w0yie4Nmtosu1KvXf5mywcNMAY=", - "requires": { - "rc": "1.2.1", - "safe-buffer": "5.1.1" - } - }, - "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", - "requires": { - "rc": "1.2.1" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "requires": { - "is-finite": "1.0.2" - } - }, - "request": { - "version": "2.83.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", - "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", - "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.1", - "har-validator": "5.0.3", - "hawk": "6.0.2", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.1", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.6.0", - "uuid": "3.1.0" - }, - "dependencies": { - "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" - }, - "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", - "requires": { - "mime-db": "1.30.0" - } - } - } - }, - "rimraf": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", - "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=", - "optional": true, - "requires": { - "glob": "6.0.4" - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" - }, - "safe-json-stringify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.0.4.tgz", - "integrity": "sha1-gaCY9Efku8P/MxKiQ1IbwGDvWRE=", - "optional": true - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "optional": true - }, - "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" - }, - "semver-diff": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", - "requires": { - "semver": "5.4.1" - } - }, - "send": { - "version": "0.15.4", - "resolved": "https://registry.npmjs.org/send/-/send-0.15.4.tgz", - "integrity": "sha1-mF+qPihLAnPHkzZKNcZze9k5Bbk=", - "requires": { - "debug": "2.6.8", - "depd": "1.1.1", - "destroy": "1.0.4", - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "etag": "1.8.0", - "fresh": "0.5.0", - "http-errors": "1.6.2", - "mime": "1.3.4", - "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.3.1" - }, - "dependencies": { - "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", - "requires": { - "ms": "2.0.0" - } - }, - "mime": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", - "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=" - } - } - }, - "serve-static": { - "version": "1.12.4", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.4.tgz", - "integrity": "sha1-m2qpjutyU8Tu3Ewfb9vKYJkBqWE=", - "requires": { - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "parseurl": "1.3.1", - "send": "0.15.4" - } - }, - "serviceworker-cache-polyfill": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serviceworker-cache-polyfill/-/serviceworker-cache-polyfill-4.0.0.tgz", - "integrity": "sha1-3hnuc77yGrPAdAo3sz22JGS6ves=" - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" - }, - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, - "slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=" - }, - "sntp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", - "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", - "requires": { - "hoek": "4.2.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "optional": true - }, - "spdx-correct": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", - "requires": { - "spdx-license-ids": "1.2.2" - } - }, - "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=" - }, - "spdx-license-ids": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "sshpk": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - } - }, - "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "requires": { - "is-utf8": "0.2.1" - } - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "requires": { - "get-stdin": "4.0.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - }, - "striptags": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/striptags/-/striptags-2.2.1.tgz", - "integrity": "sha1-TEULcI1BuL85zyTEn/I0/Gqr/TI=" - }, - "stylus": { - "version": "0.54.5", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.5.tgz", - "integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=", - "requires": { - "css-parse": "1.7.0", - "debug": "3.0.1", - "glob": "7.0.6", - "mkdirp": "0.5.1", - "sax": "0.5.8", - "source-map": "0.1.43" - }, - "dependencies": { - "glob": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", - "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "sax": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", - "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=" - }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - }, - "sw-precache": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/sw-precache/-/sw-precache-5.2.0.tgz", - "integrity": "sha512-sKctdX+5hUxkqJ/1DM88ubQ+QRvyw7CnxWdk909N2DgvxMqc1gcQFrwL7zpVc87wFmCA/OvRQd0iMC2XdFopYg==", - "requires": { - "dom-urls": "1.1.0", - "es6-promise": "4.1.1", - "glob": "7.1.2", - "lodash.defaults": "4.2.0", - "lodash.template": "4.4.0", - "meow": "3.7.0", - "mkdirp": "0.5.1", - "pretty-bytes": "4.0.2", - "sw-toolbox": "3.6.0", - "update-notifier": "1.0.3" - }, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - } - } - }, - "sw-toolbox": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/sw-toolbox/-/sw-toolbox-3.6.0.tgz", - "integrity": "sha1-Jt8dHHA0hljk3qKIQxkUm3sxg7U=", - "requires": { - "path-to-regexp": "1.7.0", - "serviceworker-cache-polyfill": "4.0.0" - } - }, - "swig": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/swig/-/swig-1.4.2.tgz", - "integrity": "sha1-QIXKBFM2kQS11IPihBs5t64aq6U=", - "requires": { - "optimist": "0.6.1", - "uglify-js": "2.4.24" - } - }, - "swig-extras": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/swig-extras/-/swig-extras-0.0.1.tgz", - "integrity": "sha1-tQP+3jcqucJMasaMr2VrzvGHIyg=", - "requires": { - "markdown": "0.5.0" - } - }, - "symbol-tree": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", - "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", - "optional": true - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "tildify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", - "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", - "requires": { - "os-homedir": "1.0.2" - } - }, - "timed-out": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz", - "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=" - }, - "titlecase": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/titlecase/-/titlecase-1.1.2.tgz", - "integrity": "sha1-eBE9EQgIa4MmMxoyR96o9aSeqFM=" - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" - }, - "tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", - "requires": { - "punycode": "1.4.1" - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", - "optional": true - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "5.1.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "optional": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "requires": { - "prelude-ls": "1.1.2" - } - }, - "uglify-js": { - "version": "2.4.24", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz", - "integrity": "sha1-+tV1XB4Vd2WLsG/5q25UjJW+vW4=", - "requires": { - "async": "0.2.10", - "source-map": "0.1.34", - "uglify-to-browserify": "1.0.2", - "yargs": "3.5.4" - }, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" - }, - "source-map": { - "version": "0.1.34", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz", - "integrity": "sha1-p8/omux7FoLDsZjQrPtH19CQVms=", - "requires": { - "amdefine": "1.0.1" - } - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" - }, - "yargs": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz", - "integrity": "sha1-2K/49mXpTDS9JZvevRv68N3TU2E=", - "requires": { - "camelcase": "1.2.1", - "decamelize": "1.2.0", - "window-size": "0.1.0", - "wordwrap": "0.0.2" - } - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "unzip-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz", - "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=" - }, - "update-notifier": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-1.0.3.tgz", - "integrity": "sha1-j5LFFUgr1oMbfJMBPnD4dVLHz1o=", - "requires": { - "boxen": "0.6.0", - "chalk": "1.1.3", - "configstore": "2.1.0", - "is-npm": "1.0.0", - "latest-version": "2.0.0", - "lazy-req": "1.1.0", - "semver-diff": "2.1.0", - "xdg-basedir": "2.0.0" - } - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" - }, - "urijs": { - "version": "1.18.12", - "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.18.12.tgz", - "integrity": "sha512-WlvUkocbQ+GYhi8zkcbecbGYq7YLSd2I3InxAfqeh6mWvWalBE7bISDHcAL3J7STrWFfizuJ709srHD+RuABPQ==" - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "requires": { - "prepend-http": "1.0.4" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utils-merge": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", - "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=" - }, - "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" - }, - "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", - "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" - } - }, - "vary": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.1.tgz", - "integrity": "sha1-Z1Neu2lMHVIldFeYRmUyP1h+jTc=" - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" - } - }, - "warehouse": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/warehouse/-/warehouse-2.2.0.tgz", - "integrity": "sha1-XQnWSUKZK+Zn2PfIagnCuK6gQGI=", - "requires": { - "JSONStream": "1.3.1", - "bluebird": "3.5.0", - "cuid": "1.3.8", - "graceful-fs": "4.1.11", - "is-plain-object": "2.0.4", - "lodash": "4.17.4" - } - }, - "webidl-conversions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-2.0.1.tgz", - "integrity": "sha1-O/glj30xjHRDw28uFpQCoaZwNQY=", - "optional": true - }, - "whatwg-url-compat": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/whatwg-url-compat/-/whatwg-url-compat-0.6.5.tgz", - "integrity": "sha1-AImBEa9om7CXVBzVpFymyHmERb8=", - "optional": true, - "requires": { - "tr46": "0.0.3" - } - }, - "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", - "requires": { - "isexe": "2.0.0" - } - }, - "widest-line": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz", - "integrity": "sha1-DAnIXCqUaD0Nfq+O4JfVZL8OEFw=", - "requires": { - "string-width": "1.0.2" - } - }, - "window-size": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", - "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "optional": true - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write-file-atomic": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", - "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" - } - }, - "xdg-basedir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz", - "integrity": "sha1-7byQPMOF/ARSPZZqM1UEtVBNG9I=", - "requires": { - "os-homedir": "1.0.2" - } - }, - "xml-name-validator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", - "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", - "optional": true - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" - }, - "yargs": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", - "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", - "requires": { - "camelcase": "2.1.1", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "os-locale": "1.4.0", - "string-width": "1.0.2", - "window-size": "0.1.4", - "y18n": "3.2.1" - } - } - } -} diff --git a/package.json b/package.json index 7e8f2e12bb..b88a44c727 100644 --- a/package.json +++ b/package.json @@ -1,28 +1,31 @@ { - "name": "vuejs.org", + "name": "v2.vuejs.org", "private": true, "hexo": { - "version": "3.7.0" + "version": "6.2.0" }, "scripts": { - "start": "hexo server", - "build": "node pre-deploy.js && hexo clean && hexo generate", + "dev": "node _scripts/sync-sponsors.js && hexo server", + "build": "node _scripts/pre-deploy.js && hexo clean && hexo generate", "deploy": "npm run build && hexo deploy" }, + "engines": { + "node": ">=14.0.0" + }, "dependencies": { - "hexo": "^3.6.0", - "hexo-deployer-git": "0.3.1", + "axios": "^0.27.2", + "hexo": "^6.2.0", "hexo-generator-alias": "git+https://github.com/chrisvfritz/vuejs.org-hexo-generator-alias.git", - "hexo-generator-archive": "^0.1.5", - "hexo-generator-category": "^0.1.3", - "hexo-generator-feed": "^1.2.2", - "hexo-generator-index": "^0.2.1", - "hexo-generator-tag": "^0.2.0", - "hexo-offline": "^0.2.3", - "hexo-renderer-ejs": "^0.3.1", - "hexo-renderer-marked": "^0.3.0", - "hexo-renderer-stylus": "^0.3.3", - "hexo-server": "^0.3.1", - "request": "^2.85.0" + "hexo-generator-archive": "^1.0.0", + "hexo-generator-category": "^1.0.0", + "hexo-generator-feed": "^3.0.0", + "hexo-generator-index": "^2.0.0", + "hexo-generator-tag": "^1.0.0", + "hexo-renderer-ejs": "^2.0.0", + "hexo-renderer-marked": "^0.3.2", + "hexo-renderer-stylus": "^2.1.0", + "hexo-server": "^3.0.0", + "hoek": "^6.1.2", + "js-yaml": "^4.1.0" } -} \ No newline at end of file +} diff --git a/pre-deploy.js b/pre-deploy.js deleted file mode 100644 index 1abac6b4fa..0000000000 --- a/pre-deploy.js +++ /dev/null @@ -1,74 +0,0 @@ -// udpate to latest built files of Vue - -const fs = require('fs') -const zlib = require('zlib') -const request = require('request') -const execSync = require('child_process').execSync - -const themeconfPath = 'themes/vue/_config.yml' -const installPath = 'src/v2/guide/installation.md' -const themeconfig = fs.readFileSync(themeconfPath, 'utf-8') -const installation = fs.readFileSync(installPath, 'utf-8') - -// get latest Vue version -console.log(`Checking latest Vue version...`) -const localVersion = themeconfig.match(/vue_version: (.*)/)[1] -const version = execSync('npm view vue version').toString().trim() - -if (localVersion === version) { - console.log(`Version is up-to-date.`) - process.exit(0) -} - -console.log(`Latest version: ${version}. Downloading dist files...`) - -// replace version in theme config -fs.writeFileSync( - themeconfPath, - themeconfig.replace(/vue_version: .*/, 'vue_version: ' + version) -) - -// grab it from unpkg -Promise.all([ - download(`vue.js`), - download(`vue.min.js`) -]).then(([ devSize, prodSize ]) => { - // replace installation page version and size - fs.writeFileSync( - installPath, - installation - .replace(/vue_version: .*/, 'vue_version: ' + version) - .replace(/gz_size:.*/g, `gz_size: "${prodSize}"`) - .replace(/\/vue@[\d\.]+\//g, `/vue@${version}/`) - ) - console.log(`\nSuccessfully updated Vue version and gzip file size.\n`) -}).catch(err => { - console.error(err) - process.exit(1) -}) - -function download (file) { - return new Promise((resolve, reject) => { - request({ - url: `http://unpkg.com/vue@${version}/dist/${file}`, - encoding: null - }, (err, res, body) => { - if (err) { - return reject(err) - } - if (res.statusCode != 200) { - return reject( - `unexpected response code when downloading from unpkg: ${res.statusCode}` + - `\n${body.toString()}` - ) - } - fs.writeFile(`themes/vue/source/js/${file}`, body, err => { - if (err) return reject(err) - zlib.gzip(body, (err, zipped) => { - if (err) return reject(err) - resolve((zipped.length / 1024).toFixed(2)) - }) - }) - }) - }) -} diff --git a/src/_posts/common-gotchas.md b/src/_posts/common-gotchas.md index a8abf2314e..c4ed741291 100644 --- a/src/_posts/common-gotchas.md +++ b/src/_posts/common-gotchas.md @@ -15,7 +15,7 @@ Most of the time, when you change a Vue instance's data, the view updates. But t 2. When you modify an Array by directly setting an index (e.g. `arr[0] = val`) or modifying its `length` property. Similarly, Vue.js cannot pickup these changes. Always modify arrays by using an Array instance method, or replacing it entirely. Vue provides a convenience method `arr.$set(index, value)` which is syntax sugar for `arr.splice(index, 1, value)`. -Further reading: [Reactivity in Depth](/guide/reactivity.html) and [Array Change Detection](http://vuejs.org/guide/list.html#Array-Change-Detection). +Further reading: [Reactivity in Depth](/guide/reactivity.html) and [Array Change Detection](/guide/list.html#Array-Change-Detection). ### When is the DOM updated? @@ -33,6 +33,6 @@ Further reading: [Component Option Caveats](/guide/components.html#Component-Opt All Vue.js templates are valid, parsable HTML markup, and Vue.js relies on spec-compliant parsers to process its templates. However, as specified in the standard, HTML is case-insensitive when matching tag and attribute names. This means camelCase attributes like `:myProp="123"` will be matched as `:myprop="123"`. As a rule of thumb, you should use camelCase in JavaScript and kebab-case in templates. For example a prop defined in JavaScript as `myProp` should be bound in templates as `:my-prop`. -Further reading: [camelCase vs. kebab-case](http://vuejs.org/guide/components.html#camelCase-vs-kebab-case). +Further reading: [camelCase vs. kebab-case](/guide/components.html#camelCase-vs-kebab-case). We are also discussing the possibility of eliminating this inconsistency by resolving props and components in a case-insensitive manner. Join the conversation [here](https://github.com/vuejs/vue/issues/2308). diff --git a/src/_posts/why-no-template-url.md b/src/_posts/why-no-template-url.md index f6fbabe2dd..8ffacabbbb 100644 --- a/src/_posts/why-no-template-url.md +++ b/src/_posts/why-no-template-url.md @@ -13,8 +13,8 @@ First, it allows us to write our template in a separate HTML file. This gives us Second, because `templateURL` loads the template via Ajax at runtime, you don't need a build step in order to split up your files. This is convenient during development, but comes at a serious cost when you want to deploy it to production. Before HTTP/2 is universally supported, the number of HTTP requests is still probably the most critical factor in your app's initial load performance. Now imagine you use `templateURL` for every component in your app - the browser needs to perform dozens of HTTP requests before even being able to display anything! In case you don't know, most browsers limit the number of parallel requests it can perform to a single server. When you exceed that limit, your app's initial rendering will suffer for every extra round trip the browser has to wait for. Sure, there are build tools that can help you pre-register all those templates in `$templateCache` - but that shows us a build step is, in fact, inevitable for any serious frontend development. -So, without `templateURL`, how do we deal with the development experience problem? Writing templates as inline JavaScript strings is terrible, faking templates with `<script type="x/template">` also feels like a hack. Well, maybe it's time to up the game a bit and use a proper module bundler like [Webpack](http://webpack.github.io/) or [Browserify](http://browserify.org/). It might seem daunting if you've never dealt with them before, but trust me it's worth it to take the leap. Proper modularization is a necessity if you want to build anything large and maintainable. More importantly, you get to write your [Vue components in a single file](http://vuejs.org/guide/single-file-components.html), with proper syntax highlighting and the extra benefits of custom pre-processors, hot-reloading, ES2015 by default, autoprefixing and scoped CSS, which makes the development experience 10 times better. +So, without `templateURL`, how do we deal with the development experience problem? Writing templates as inline JavaScript strings is terrible, faking templates with `<script type="x/template">` also feels like a hack. Well, maybe it's time to up the game a bit and use a proper module bundler like [Webpack](http://webpack.github.io/) or [Browserify](http://browserify.org/). It might seem daunting if you've never dealt with them before, but trust me it's worth it to take the leap. Proper modularization is a necessity if you want to build anything large and maintainable. More importantly, you get to write your [Vue components in a single file](/guide/single-file-components.html), with proper syntax highlighting and the extra benefits of custom pre-processors, hot-reloading, ES2015 by default, autoprefixing and scoped CSS, which makes the development experience 10 times better. -Finally, Vue does allow you to [lazy load your components](http://vuejs.org/guide/components.html#Async-Components), and with Webpack it is trivially easy. Although this is only a concern when your initial bundle is so large that you are better off splitting it apart. +Finally, Vue does allow you to [lazy load your components](/guide/components.html#Async-Components), and with Webpack it is trivially easy. Although this is only a concern when your initial bundle is so large that you are better off splitting it apart. Think in components, not templates. diff --git a/src/coc/index.md b/src/coc/index.md new file mode 100644 index 0000000000..fd53230a08 --- /dev/null +++ b/src/coc/index.md @@ -0,0 +1,45 @@ +# Code Of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, political party, or sexual identity and orientation. Note, however, that religion, political party, or other ideological affiliation provide no exemptions for the behavior we outline as unacceptable in this Code of Conduct. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment include: + +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +- The use of sexualized language or imagery and unwelcome sexual attention or advances +- Trolling, insulting/derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or electronic address, without explicit permission +- Other conduct which could reasonably be considered inappropriate in a professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at community@vuejs.org. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org diff --git a/src/eol/index.md b/src/eol/index.md new file mode 100644 index 0000000000..9d631f01aa --- /dev/null +++ b/src/eol/index.md @@ -0,0 +1,50 @@ +# Vue 2 Has Reached End of Life + +Vue 2.0 was released more than 7 years ago in 2016. It was a major milestone in Vue's journey of becoming a mainstream framework. Many current Vue users started using Vue during the Vue 2 era, and many great things have been built with it. + +However, active maintenance of two major versions in parallel isn't sustainable for us. As Vue 3 and its ecosystem have matured, it is time for the team to move on and focus our energy on the latest major version. + +**Vue 2 has reached End of Life on December 31st, 2023. It no longer receives new features, updates, or fixes. However, it is still available on all existing distribution channels (CDNs, package managers, Github, etc).** + +If you are starting a new project, please start with the [latest version of Vue (3.x)](https://vuejs.org/). We also strongly recommend current Vue 2 users to upgrade ([guide](https://v3-migration.vuejs.org/)), but we also acknowledge that not all users have the bandwidth or incentive to do so. + +> **If you have to stay on Vue 2 but also have compliance or security requirements about unmaintained software, get [security updates for Vue 2 from HeroDevs](https://www.herodevs.com/support/nes-vue)** + + + +## What’s Next + +Vue 3 has been the default version of Vue since February 7, 2022. Users who have migrated have enjoyed: + +* Better performance with a smaller bundle size and faster rendering. +* Enhanced TypeScript support for easier large-scale application development. +* More efficient Proxy-based reactivity system. +* New built-in components like Fragment, Teleport, and Suspense. +* Improved build tooling support and Vue Devtools experience. +* …and more! + +When and if you can, consider migrating! + +## Still on Vue 2? Here Are Your Options. + +Recognizing the various situations that arise during transitions, we are also fully aware that users may need other options until they’re able to migrate, or maybe migration simply isn't a feasible path. Here are some other options to consider. + + +### Update to the Vue 2 Final Release + +The latest release of Vue 2, 2.7.16, is the final release of Vue 2. This patch release includes a few final fixes for 2.7 features and improves type alignment with Vue 3. We strongly encourage you to update to 2.7.16. This will be the starting point for extended support mentioned below. + +### Purchase Extended Support for Vue 2 + +If you have to stay on Vue 2 post-EOL, we have partnered with HeroDevs to offer Never-Ending Support (NES). Vue 2 NES provides ongoing updates and security patches for Vue 2 even after EOL so that applications with strict compliance requirements remain secure and compliant. It also guarantees that Vue 2 applications will continue to operate effectively in modern browsers and maintain compatibility with essential libraries like Nuxt, Vuex, and Vuetify 2. Finally, Vue 2 NES has continuous security monitoring and a 14-day SLA for fixes. + +Vue 2 NES is the continuation of the support you’ve enjoyed during the Vue 2 LTS period — but indefinitely. For more detailed information, visit the [HeroDevs Vue 2 NES page](https://www.herodevs.com/support/nes-vue?utm_source=vuejs-org&utm_medium=blog&utm_campaign=eol-by-eoy). + + +### Notify Your Users of your Vue 2 Post-EOL Plan + +If you can’t migrate to Vue 3 or use Vue 2 NES at the moment but still remain on Vue 2, you may need to consider how you will communicate your Vue 2 security plans to your customers. + +This does not apply to all Vue users, but many teams are prohibited from shipping _unsupported software_ by SLAs, Contracts & Agreements, or other obligations to downstream parties. These could be with customers, compliance agencies, or even internal company departments. For an increasing number of industries, governing regulatory bodies are also raising expectations on what software creators are accountable for. + +If you work with such business requirements, You may need to let your customers, managers, CISO, or other relevant stakeholders, know about your plan to manage support and address any potential CVEs. [Vue 2 hasn’t had major vulnerabilities](https://v2.vuejs.org/lts/#:~:text=For%20the%20record%2C%20Vue%202%20hasn%E2%80%99t%20really%20had%20any%20real%20vulnerabilities%20in%20the%20past%2C%20but%20you%20may%20need%20a%20supported%20version%20to%20fullfil%20regulations%20or%20company%20policies.) in the past, but CVEs do turn up for even the most mature EOL projects — whether directly or via compromised dependencies. Subscribing to CVE notifications through organizations like [OpenCVE](https://www.opencve.io/) and [Snyk](https://snyk.io) can be a good way to find out about vulnerabilities as soon as they’re discovered. Browsers may also ship changes that break legacy libraries - this is rare, but it does happen. diff --git a/src/images/devtools-storage-chrome.png b/src/images/devtools-storage-chrome.png new file mode 100644 index 0000000000..9271dd57e5 Binary files /dev/null and b/src/images/devtools-storage-chrome.png differ diff --git a/src/images/devtools-storage-edge.png b/src/images/devtools-storage-edge.png new file mode 100644 index 0000000000..d05024b643 Binary files /dev/null and b/src/images/devtools-storage-edge.png differ diff --git a/src/images/devtools-storage.png b/src/images/devtools-storage.png new file mode 100644 index 0000000000..44e2998185 Binary files /dev/null and b/src/images/devtools-storage.png differ diff --git a/src/images/memory-leak-example.png b/src/images/memory-leak-example.png new file mode 100644 index 0000000000..f2625e08a4 Binary files /dev/null and b/src/images/memory-leak-example.png differ diff --git a/src/images/oxford-comma.jpg b/src/images/oxford-comma.jpg new file mode 100644 index 0000000000..1f57614141 Binary files /dev/null and b/src/images/oxford-comma.jpg differ diff --git a/src/images/search-by-algolia.png b/src/images/search-by-algolia.png new file mode 100644 index 0000000000..94e435328b Binary files /dev/null and b/src/images/search-by-algolia.png differ diff --git a/src/images/vuetron-heirarchy.gif b/src/images/vuetron-heirarchy.gif deleted file mode 100644 index dd93f00de8..0000000000 Binary files a/src/images/vuetron-heirarchy.gif and /dev/null differ diff --git a/src/lts/index.md b/src/lts/index.md new file mode 100644 index 0000000000..478c3628a0 --- /dev/null +++ b/src/lts/index.md @@ -0,0 +1,61 @@ +# Vue 2 LTS, EOL & Extended Support + +<p class="info"><b>Expecting to stay on Vue 2?</b> +If you expect to be using Vue 2 beyond the EOL date (Dec. 31st, 2023), and still need a maintained version that can satisfy security and browser compatibility requirements, make sure to check out [HeroDevs' NES (Never-Ending Support) for Vue 2](https://www.herodevs.com/support/nes-vue?utm_source=vuejs-org&utm_medium=link&utm_campaign=lts-faq). +</p> + +## How long will Vue 2 be supported? + +Vue 2.7 is the current, and final minor release of Vue 2.x. Vue 2.7 receives 18 months of LTS (long-term support) starting from its release date on July 1st, 2022. During this period, Vue 2 will receive necessary bug and security fixes, but will no longer receive new features. + +**Vue 2 will reach End of Life (EOL) on December 31st, 2023**. After that date, Vue 2 will continue to be available in all existing distribution channels (CDNs and package managers), but will no longer receive updates, including security and browser compatibility fixes. + +## Options for dealing with EOL + +### Upgrade to Vue 3 + +Vue 3 is the current, latest major version of Vue. It provides better performance, better TypeScript support, and contains new features that are not present in Vue 2, such as Teleport, Suspense, and multiple root elements per template. + +Vue 3 contains breaking changes that make it incompatible with Vue 2, so migration will require a certain level of effort depending on your project. Full details are documented in the [Vue 3 Migration Guide](https://v3-migration.vuejs.org/). + +Despite the breaking changes, the majority of Vue APIs are shared between the two major versions, so most of your team's Vue 2 knowledge will continue to work in Vue 3. In the long run, we also intend to avoid major breaking upgrades like the one between Vue 2 and Vue 3. Compatibility and ecosystem stability will be our topmost priority for future releases, and new features will be introduced in a way that does not require major migrations. + + +### Upgrade or not to Upgrade + +Whether you should upgrade to Vue 3 highly depends on specific project details. Some general guidelines: + +1. Understand what you will gain from upgrading. + + Due to 2.7, the DX gap between the two major versions are no longer that prominent - the main benefit of upgrading will be more refined TypeScript support, better performance, and access to the Vue 3 ecosystem and future new features. + + Ask your team these questions: is the app stable and working well? Does the app expect continued new feature development into the future? Is there a pain-point / bottleneck that can only be solved by upgrading? If the app is stable and isn't experiencing major pain-point caused by Vue 2, then upgrading may not be worthwhile. + +2. Understand the cost of upgrading. + + Does the app rely on 3rd party dependencies that are hard to be made Vue 3 compatible? Does the app rely heavily on changed behavior between Vue 2 and Vue 3? Can the team allocate dedicated time for upgrading? Spend some initial research time to gauge these aspects and come up with an estimation, then compare that to the expected gain from (1). We will not be able to provide a precise formula, but hopefully this can help with the decision process. + + +### Stay on Vue 2 + +Some teams may not be able to upgrade to Vue 3 by this timeline due to limited bandwidth, budget, risk tolerance, or reliance on Vue-3-incompatible dependencies. We totally understand this, and want to ensure that staying on Vue 2 beyond EOL is a viable option. + +#### The Technical Perspective + +From a technical perspective, Vue 2 is a stable and battle-tested piece of technology. If it is serving you well now, it will continue to do so for the foreseeable future. + +In addition, we have backported some of the most important Vue 3 features to [Vue 2.7](/v2/guide/migration-vue-2-7.html), including Composition API and `<script setup>`. This allows Vue 2 projects to improve scalability, leverage new ecosystem libraries, and better prepare for potential migration to Vue 3. + +Vue 2.7 will also be the maintained release before EOL hits, so if you intend to stay on Vue 2, you should at least upgrade to Vue 2.7. + +#### Security & Compliance + +For some teams, the main concern lies in security, compliance, and browser compatibility. + +- You won't receive security fixes from EOL software. For the record, Vue 2 hasn't really had any real vulnerabilities in the past, but you may need a supported version to fullfil regulations or company policies. + +- If you are shipping your application to customers with SLAs. You _will_ want to avoid including EOL software in your stack. + +- Browsers sometimes ship changes that break legacy libraries. This is extremely rare, but could happen in theory. + +To address these concerns, we have partnered with industry experts to provide **Extended LTS for Vue 2**. This service will provide a version of Vue 2 that will continue to receive security and browser compatibility fixes, with SLAs (Service Level Agreements). If you expect to be using Vue 2 beyond the EOL date of December 31st, 2023, make sure to plan ahead: [Learn more about HeroDevs' NES (Never-Ending Support) for Vue 2](https://www.herodevs.com/support/nes-vue?utm_source=vuejs-org&utm_medium=link&utm_campaign=lts-faq). diff --git a/src/resources/partners.md b/src/resources/partners.md new file mode 100644 index 0000000000..dab1a2b483 --- /dev/null +++ b/src/resources/partners.md @@ -0,0 +1,182 @@ +--- +type: partners +partners: true +title: Vue Partners +proficiencies_urls: + VueJs: https://vuejs.org + Laravel: https://laravel.com + Node: https://nodejs.org +partners_list: + - + name: Vehikl + logo: vehikl.png + description: + Vehikl is a software consultancy specialising in PHP and JavaScript. We build best-in-class web applications written with popular frameworks such as Laravel, Express, NestJS, Vue, and React. Think of us as an extension of your team. + proficiencies: + - VueJs + - Laravel + - Node + - Team Augmentation + location: Ontario, Canada + languages: + - English + url_text: www.vehikl.com + url_link: www.vehikl.com?utm_source=vue_partners_page + hire_url: www.vehikl.com/contact/?utm_source=vue_partners_page + email: go+partner@vehikl.com + social_links: + - + name: Github + class: github + url: 'https://github.com/vehikl' + - + name: Twitter + class: twitter + url: 'https://twitter.com/vehikl' + - + name: Instagram + class: instagram + url: 'https://www.instagram.com/vehiklteam/' + + - + name: Modus Create + logo: https://res.cloudinary.com/modus-labs/image/upload/v1533109874/modus/logo-vertical-black.svg + description: + "Modus Create is a disruptive consulting firm that helps companies transform for success in the digital future. + + Clients work with Modus to effect transformational change through a unique collaborative engagement model that focuses on strategy, product design/build, user experience, company culture, and process change to accelerate their response to digital disruption. + + Modus is uniquely expert at executing within the new reality of global talent sourcing and globally distributed teams. Modus culture is based on recruiting only top talent regardless of their location. Modus delivers time zone-aligned, highly productive, English-speaking teams, accessibility, and a totally collaborative environment regardless of individual location. +" + proficiencies: + - name: Vue.js + url: https://moduscreate.com/partners/vue/?utm_source=Vue&utm_medium=Partner-Page&utm_campaign=Vue_partnerpage + - name: AWS + url: https://moduscreate.com/partners/aws/?utm_source=Vue&utm_medium=Partner-Page&utm_campaign=Vue_partnerpage + - name: Atlassian + url: https://moduscreate.com/partners/atlassian/?utm_source=Vue&utm_medium=Partner-Page&utm_campaign=Vue_partnerpage + - name: Ionic + url: https://moduscreate.com/partners/ionic/?utm_source=Vue&utm_medium=Partner-Page&utm_campaign=Vue_partnerpage + - name: Product Management + url: https://moduscreate.com/what-we-do/product-management/?utm_source=Vue&utm_medium=Partner-Page&utm_campaign=Vue_partnerpage + - name: Customer Experience + url: https://moduscreate.com/what-we-do/customer-experience/?utm_source=Vue&utm_medium=Partner-Page&utm_campaign=Vue_partnerpage + - name: Agile Transformation + url: https://moduscreate.com/what-we-do/agile-transformation/?utm_source=Vue&utm_medium=Partner-Page&utm_campaign=Vue_partnerpage + - name: Cloud Migration + url: https://moduscreate.com/what-we-do/cloud-migration/?utm_source=Vue&utm_medium=Partner-Page&utm_campaign=Vue_partnerpage + location: Reston, VA, USA / Los Angeles, CA, USA / Cluj, Romania / San José, Costa Rica + languages: + - English + - Global + url_text: moduscreate.com + url_link: moduscreate.com/?utm_source=Vue&utm_medium=Partner-Page&utm_campaign=Vue_partnerpage + hire_url: moduscreate.com/?utm_source=Vue&utm_medium=Partner-Page&utm_campaign=Vue_partnerpage + email: contact@moduscreate.com + social_links: + - + name: Github + class: github + url: 'https://github.com/ModusCreateOrg' + - + name: Twitter + class: twitter + url: 'https://twitter.com/ModusCreate' + - + name: LinkedIn + class: linkedin + url: 'https://www.linkedin.com/company/modus-create-inc' + - + name: YouTube + class: youtube + url: 'https://www.youtube.com/moduscreate' + - + name: Monterail + logo: Monterail.png + description: + "Monterail is a full-service software development company with 110+ experts on board delivering meaningful software for start-ups, SMBs and enterprises. We are organizers of the first official Vue-related conference in the world and authors of the State of Vue.js report (2017&2019). Our experts delivered 30 Vue.js-based projects so far." + proficiencies: + - name: VueJs + url: https://hi.monterail.co/2NqPUa6 + - name: Ruby on Rails + url: https://hi.monterail.co/31RvfBm + - name: Javascript + url: https://hi.monterail.co/34cWQhR + - name: Python + url: https://hi.monterail.co/2MXHLeb + - name: Services + url: https://www.monterail.com/services?utm_medium=referral&utm_source=partner-list&utm_campaign=vue.js + - name: Projects + url: https://www.monterail.com/projects?utm_medium=referral&utm_source=partner-list&utm_campaign=vue.js + location: Wrocław, Poland + languages: + - English + - Polish + url_text: www.monterail.com + url_link: www.monterail.com/services/vue-development?utm_campaign=Vue.js&utm_source=partner-list + hire_url: www.monterail.com/contact + email: hello@monterail.com + social_links: + - + name: Github + class: github + url: 'https://github.com/monterail' + - + name: Linkedin + class: linkedin + url: 'https://www.linkedin.com/company/monterail' + - + name: Facebook + class: facebook + url: 'https://www.facebook.com/monterail/' + - + name: Twitter + class: twitter + url: 'https://twitter.com/monterail' + - + name: Instagram + class: instagram + url: 'https://www.instagram.com/monterail/' + - + name: Rangle + logo: https://res.cloudinary.com/rangle/image/upload/q_auto,f_auto/vuejs.org/rangle_black_lockup_n6q48z.png + description: + "Rangle is a global digital consultancy that helps ambitious organizations outperform the competition in the most demanding markets. We work closely with our clients as one team to imagine, design, and deliver human-centered digital experiences that create lasting results and real business value. Anchored in innovation and lean startup best-practices, our unique delivery and partnership model is purposed-built to this task." + proficiencies: + - name: Building Products + url: https://rangle.io/#build-a-product/?utm_source=referral&utm_medium=partner&utm_campaign=vue-partners + - name: Improving Experiences + url: https://rangle.io/#improve-an-experience/?utm_source=referral&utm_medium=partner&utm_campaign=vue-partners + - name: Training & Coaching + url: https://rangle.io/#level-up-your-team/?utm_source=referral&utm_medium=partner&utm_campaign=vue-partners + - name: Agile Transformation + url: https://rangle.io/#adopt-agile-delivery/?utm_source=referral&utm_medium=partner&utm_campaign=vue-partners + - name: Business Transformation + url: https://rangle.io/#transform-your-business/?utm_source=referral&utm_medium=partner&utm_campaign=vue-partners + location: Toronto, ON, CA Atlanta, GA, USA Amsterdam, Netherlands Tokyo, Japan + languages: + - English + - French + - Dutch + url_text: rangle.io + url_link: rangle.io/?utm_source=referral&utm_medium=partner&utm_campaign=vue-partners + hire_url: rangle.io/contact-us/?utm_source=referral&utm_medium=partner&utm_campaign=vue-partners + email: info@rangle.io + social_links: + - + name: GitHub + class: github + url: 'https://github.com/rangle' + - + name: LinkedIn + class: linkedin + url: 'https://www.linkedin.com/company/rangle/' + - + name: Twitter + class: twitter + url: 'https://twitter.com/rangleio' + - + name: Instagram + class: instagram + url: 'https://www.instagram.com/rangleio/?hl=en' +--- diff --git a/src/resources/themes.md b/src/resources/themes.md new file mode 100644 index 0000000000..5dc004a80b --- /dev/null +++ b/src/resources/themes.md @@ -0,0 +1,69 @@ +--- +title: Themes +type: resources +order: 804 +--- +{% raw %} +<div id="themes"> + <section v-for="partner in partners" :key="partner.name" class="partner-wrapper"> + <partner-component :partner="partner"></partner-component> + </section> + + <p> + Want to feature your themes here? + <a href="mailto:evan@vuejs.org?subject=Theme+affiliation">Contact us</a>! + </p> +</div> + +<script type="text/template" id="partnerTemplate"> + <div> + <h2 :id="partner.name">{{partner.name}}</h2> + <blockquote class="theme-partner-description" v-html="partnerDescription"></blockquote> + <div class="themes-grid"> + <div v-for="product in partner.products" :key="product.url" class="item-preview"> + <a class="item-preview-img" :href="product.url" rel="sponsored"> + <img :src="product.image" :alt="`${product.name} - ${product.description}`" loading="lazy"> + </a> + <div class="item-preview-name-container"> + <h3 class="item-preview-name" :class="{'free': product.price === 0}"> + {{product.name}} + </h3> + <b v-if="product.price" class="item-preview-price">${{product.price}}</b> + </div> + <div class="item-preview-description">{{product.description}}</div> + </div> + <div class="see-more-container"> + <a :href="partner.seeMoreUrl" class="button white see-more-link">See More Themes from {{partner.name}}</a> + </div> + </div> + </div> +</script> + +<script> +var mdConverter = new showdown.Converter() + +Vue.component('partner-component', { + template: document.getElementById('partnerTemplate').innerHTML, + props: { + partner: { + type: Object, + required: true + } + }, + computed: { + partnerDescription: function () { + return mdConverter.makeHtml(this.partner.description) + } + } +}) + +const app = new Vue({ + el: '#themes', + data: function () { + return { + partners: themeData + } + } +}) +</script> +{% endraw %} diff --git a/src/support-vuejs/index.md b/src/support-vuejs/index.md index e010c9081d..679571bc4c 100644 --- a/src/support-vuejs/index.md +++ b/src/support-vuejs/index.md @@ -1,3 +1,4 @@ --- sponsors: true +type: sponsors --- diff --git a/src/v2/api/index.md b/src/v2/api/index.md index 8de62d8294..2e073bbcb6 100644 --- a/src/v2/api/index.md +++ b/src/v2/api/index.md @@ -82,7 +82,9 @@ type: api > In 2.2.0+, this hook also captures errors in component lifecycle hooks. Also, when this hook is `undefined`, captured errors will be logged with `console.error` instead of crashing the app. - > In 2.4.0+ this hook also captures errors thrown inside Vue custom event handlers. + > In 2.4.0+, this hook also captures errors thrown inside Vue custom event handlers. + + > In 2.6.0+, this hook also captures errors thrown inside `v-on` DOM listeners. In addition, if any of the covered hooks or handlers returns a Promise chain (e.g. async functions), the error from that Promise chain will also be handled. > Error tracking services [Sentry](https://sentry.io/for/vue/) and [Bugsnag](https://docs.bugsnag.com/platforms/browsers/vue/) provide official integrations using this option. @@ -244,28 +246,28 @@ type: api - **See also:** [Async Update Queue](../guide/reactivity.html#Async-Update-Queue) -### Vue.set( target, key, value ) +### Vue.set( target, propertyName/index, value ) - **Arguments:** - `{Object | Array} target` - - `{string | number} key` + - `{string | number} propertyName/index` - `{any} value` - **Returns:** the set value. - **Usage:** - Set a property on an object. If the object is reactive, ensure the property is created as a reactive property and trigger view updates. This is primarily used to get around the limitation that Vue cannot detect property additions. + Adds a property to a reactive object, ensuring the new property is also reactive, so triggers view updates. This must be used to add new properties to reactive objects, as Vue cannot detect normal property additions (e.g. `this.myObject.newProperty = 'hi'`). <p class="tip">The target object cannot be a Vue instance, or the root data object of a Vue instance.</p> - **See also:** [Reactivity in Depth](../guide/reactivity.html) -### Vue.delete( target, key ) +### Vue.delete( target, propertyName/index ) - **Arguments:** - `{Object | Array} target` - - `{string | number} key/index` + - `{string | number} propertyName/index` > Only in 2.2.0+: Also works with Array + index. @@ -362,6 +364,8 @@ type: api Install a Vue.js plugin. If the plugin is an Object, it must expose an `install` method. If it is a function itself, it will be treated as the install method. The install method will be called with Vue as the argument. + This method has to be called before calling `new Vue()` + When this method is called on the same plugin multiple times, the plugin will be installed only once. - **See also:** [Plugins](../guide/plugins.html) @@ -400,6 +404,35 @@ type: api - **See also:** [Render Functions](../guide/render-function.html) +### Vue.observable( object ) + +> New in 2.6.0+ + +- **Arguments:** + - `{Object} object` + +- **Usage:** + + Make an object reactive. Internally, Vue uses this on the object returned by the `data` function. + + The returned object can be used directly inside [render functions](../guide/render-function.html) and [computed properties](../guide/computed.html), and will trigger appropriate updates when mutated. It can also be used as a minimal, cross-component state store for simple scenarios: + + ``` js + const state = Vue.observable({ count: 0 }) + + const Demo = { + render(h) { + return h('button', { + on: { click: () => { state.count++ }} + }, `count is: ${state.count}`) + } + } + ``` + + <p class="tip">In Vue 2.x, `Vue.observable` directly mutates the object passed to it, so that it is equivalent to the object returned, as [demonstrated here](../guide/instance.html#Data-and-Methods). In Vue 3.x, a reactive proxy will be returned instead, leaving the original object non-reactive if mutated directly. Therefore, for future compatibility, we recommend always working with the object returned by `Vue.observable`, rather than the object originally passed to it.</p> + +- **See also:** [Reactivity in Depth](../guide/reactivity.html) + ### Vue.version - **Details**: Provides the installed version of Vue as a string. This is especially useful for community plugins and components, where you might use different strategies for different versions. @@ -476,6 +509,15 @@ type: api A list/hash of attributes that are exposed to accept data from the parent component. It has an Array-based simple syntax and an alternative Object-based syntax that allows advanced configurations such as type checking, custom validation and default values. + With Object-based syntax, you can use following options: + - `type`: can be one of the following native constructors: `String`, `Number`, `Boolean`, `Array`, `Object`, `Date`, `Function`, `Symbol`, any custom constructor function or an array of those. Will check if a prop has a given type, and will throw a warning if it doesn't. [More information](../guide/components-props.html#Prop-Types) on prop types. + - `default`: `any` + Specifies a default value for the prop. If the prop is not passed, this value will be used instead. Object or array defaults must be returned from a factory function. + - `required`: `Boolean` + Defines if the prop is required. In a non-production environment, a console warning will be thrown if this value is truthy and the prop is not passed. + - `validator`: `Function` + Custom validator function that takes the prop value as the sole argument. In a non-production environment, a console warning will be thrown if this function returns a falsy value (i.e. the validation fails). You can read more about prop validation [here](../guide/components-props.html#Prop-Validation). + - **Example:** ``` js @@ -502,7 +544,7 @@ type: api }) ``` -- **See also:** [Props](../guide/components.html#Props) +- **See also:** [Props](../guide/components-props.html) ### propsData @@ -632,19 +674,24 @@ type: api }, // string method name b: 'someMethod', - // deep watcher + // the callback will be called whenever any of the watched object properties change regardless of their nested depth c: { handler: function (val, oldVal) { /* ... */ }, deep: true }, // the callback will be called immediately after the start of the observation d: { - handler: function (val, oldVal) { /* ... */ }, + handler: 'someMethod', immediate: true }, + // you can pass array of callbacks, they will be called one-by-one e: [ - function handle1 (val, oldVal) { /* ... */ }, - function handle2 (val, oldVal) { /* ... */ } + 'handle1', + function handle2 (val, oldVal) { /* ... */ }, + { + handler: function handle3 (val, oldVal) { /* ... */ }, + /* ... */ + } ], // watch vm.e.f's value: {g: 5} 'e.f': function (val, oldVal) { /* ... */ } @@ -661,7 +708,7 @@ type: api ### el -- **Type:** `string | HTMLElement` +- **Type:** `string | Element` - **Restriction:** only respected in instance creation via `new`. @@ -896,7 +943,7 @@ type: api - **Details:** - Called when an error from any descendent component is captured. The hook receives three arguments: the error, the component instance that triggered the error, and a string containing information on where the error was captured. The hook can return `false` to stop the error from propagating further. + Called when an error from any descendant component is captured. The hook receives three arguments: the error, the component instance that triggered the error, and a string containing information on where the error was captured. The hook can return `false` to stop the error from propagating further. <p class="tip">You can modify component state in this hook. However, it is important to have conditionals in your template or render function that short circuits other content when an error has been captured; otherwise the component will be thrown into an infinite render loop.</p> @@ -1012,8 +1059,6 @@ type: api - **Details:** - <p class="tip">`provide` and `inject` are primarily provided for advanced plugin / component library use cases. It is NOT recommended to use them in generic application code.</p> - This pair of options are used together to allow an ancestor component to serve as a dependency injector for all its descendants, regardless of how deep the component hierarchy is, as long as they are in the same parent chain. If you are familiar with React, this is very similar to React's context feature. The `provide` option should be an object or a function that returns an object. This object contains the properties that are available for injection into its descendants. You can use ES2015 Symbols as keys in this object, but only in environments that natively support `Symbol` and `Reflect.ownKeys`. @@ -1023,7 +1068,7 @@ type: api - an object where the keys are the local binding name and the value is either: - the key (string or Symbol) to search for in available injections, or - an object where: - - the `name` property is the key (string or Symbol) to search for in available injections, and + - the `from` property is the key (string or Symbol) to search for in available injections, and - the `default` property is used as fallback value > Note: the `provide` and `inject` bindings are NOT reactive. This is intentional. However, if you pass down an observed object, properties on that object do remain reactive. @@ -1031,6 +1076,7 @@ type: api - **Example:** ``` js + // parent component providing 'foo' var Provider = { provide: { foo: 'bar' @@ -1038,6 +1084,7 @@ type: api // ... } + // child component injecting 'foo' var Child = { inject: ['foo'], created () { @@ -1272,7 +1319,7 @@ type: api ### vm.$el -- **Type:** `HTMLElement` +- **Type:** `Element` - **Read only** @@ -1335,9 +1382,15 @@ type: api - **Read only** +- **Reactive?** No + - **Details:** - Used to programmatically access content [distributed by slots](../guide/components.html#Content-Distribution-with-Slots). Each [named slot](../guide/components.html#Named-Slots) has its own corresponding property (e.g. the contents of `slot="foo"` will be found at `vm.$slots.foo`). The `default` property contains any nodes not included in a named slot. + Used to programmatically access content [distributed by slots](../guide/components.html#Content-Distribution-with-Slots). Each [named slot](../guide/components.html#Named-Slots) has its own corresponding property (e.g. the contents of `v-slot:foo` will be found at `vm.$slots.foo`). The `default` property contains either nodes not included in a named slot or contents of `v-slot:default`. + + Please note that slots are **not** reactive. If you need a component to re-render based on changes to data passed to a slot, we suggest considering a different strategy that relies on a reactive instance option, such as `props` or `data`. + + **Note:** `v-slot:foo` is supported in v2.6+. For older versions, you can use the [deprecated syntax](../guide/components-slots.html#Deprecated-Syntax). Accessing `vm.$slots` is most useful when writing a component with a [render function](../guide/render-function.html). @@ -1345,15 +1398,15 @@ type: api ```html <blog-post> - <h1 slot="header"> - About Me - </h1> + <template v-slot:header> + <h1>About Me</h1> + </template> <p>Here's some page content, which will be included in vm.$slots.default, because it's not inside a named slot.</p> - <p slot="footer"> - Copyright 2016 Evan You - </p> + <template v-slot:footer> + <p>Copyright 2016 Evan You</p> + </template> <p>If I have some content down here, it will also be included in vm.$slots.default.</p>. </blog-post> @@ -1375,7 +1428,7 @@ type: api ``` - **See also:** - - [`<slot>` Component](#slot-1) + - [`<slot>` Component](#slot) - [Content Distribution with Slots](../guide/components.html#Content-Distribution-with-Slots) - [Render Functions - Slots](../guide/render-function.html#Slots) @@ -1383,7 +1436,7 @@ type: api > New in 2.1.0+ -- **Type:** `{ [name: string]: props => VNode | Array<VNode> }` +- **Type:** `{ [name: string]: props => Array<VNode> | undefined }` - **Read only** @@ -1393,8 +1446,14 @@ type: api Accessing `vm.$scopedSlots` is most useful when writing a component with a [render function](../guide/render-function.html). + **Note:** since 2.6.0+, there are two notable changes to this property: + + 1. Scoped slot functions are now guaranteed to return an array of VNodes, unless the return value is invalid, in which case the function will return `undefined`. + + 2. All `$slots` are now also exposed on `$scopedSlots` as functions. If you work with render functions, it is now recommended to always access slots via `$scopedSlots`, whether they currently use a scope or not. This will not only make future refactors to add a scope simpler, but also ease your eventual migration to Vue 3, where all slots will be functions. + - **See also:** - - [`<slot>` Component](#slot-1) + - [`<slot>` Component](#slot) - [Scoped Slots](../guide/components.html#Scoped-Slots) - [Render Functions - Slots](../guide/render-function.html#Slots) @@ -1426,6 +1485,8 @@ type: api ### vm.$attrs +> New in 2.4.0+ + - **Type:** `{ [key: string]: string }` - **Read only** @@ -1436,6 +1497,8 @@ type: api ### vm.$listeners +> New in 2.4.0+ + - **Type:** `{ [key: string]: Function | Array<Function> }` - **Read only** @@ -1474,6 +1537,9 @@ type: api // function vm.$watch( function () { + // every time the expression `this.a + this.b` yields a different result, + // the handler will be called. It's as if we were watching a computed + // property without defining the computed property itself return this.a + this.b }, function (newVal, oldVal) { @@ -1513,11 +1579,40 @@ type: api // `callback` is fired immediately with current value of `a` ``` -### vm.$set( target, key, value ) + Note that with `immediate` option you won't be able to unwatch the given property on the first callback call. + + ``` js + // This will cause an error + var unwatch = vm.$watch( + 'value', + function () { + doSomething() + unwatch() + }, + { immediate: true } + ) + ``` + + If you still want to call an unwatch function inside the callback, you should check its availability first: + + ``` js + var unwatch = vm.$watch( + 'value', + function () { + doSomething() + if (unwatch) { + unwatch() + } + }, + { immediate: true } + ) + ``` + +### vm.$set( target, propertyName/index, value ) - **Arguments:** - `{Object | Array} target` - - `{string | number} key` + - `{string | number} propertyName/index` - `{any} value` - **Returns:** the set value. @@ -1528,11 +1623,11 @@ type: api - **See also:** [Vue.set](#Vue-set) -### vm.$delete( target, key ) +### vm.$delete( target, propertyName/index ) - **Arguments:** - `{Object | Array} target` - - `{string | number} key` + - `{string | number} propertyName/index` - **Usage:** @@ -1588,14 +1683,139 @@ type: api - If both event and callback are given, remove the listener for that specific callback only. -### vm.$emit( event, [...args] ) +### vm.$emit( eventName, [...args] ) - **Arguments:** - - `{string} event` + - `{string} eventName` - `[...args]` Trigger an event on the current instance. Any additional arguments will be passed into the listener's callback function. +- **Examples:** + + Using `$emit` with only an event name: + + ```js + Vue.component('welcome-button', { + template: ` + <button v-on:click="$emit('welcome')"> + Click me to be welcomed + </button> + ` + }) + ``` + ```html + <div id="emit-example-simple"> + <welcome-button v-on:welcome="sayHi"></welcome-button> + </div> + ``` + ```js + new Vue({ + el: '#emit-example-simple', + methods: { + sayHi: function () { + alert('Hi!') + } + } + }) + ``` + {% raw %} + <div id="emit-example-simple" class="demo"> + <welcome-button v-on:welcome="sayHi"></welcome-button> + </div> + <script> + Vue.component('welcome-button', { + template: ` + <button v-on:click="$emit('welcome')"> + Click me to be welcomed + </button> + ` + }) + new Vue({ + el: '#emit-example-simple', + methods: { + sayHi: function () { + alert('Hi!') + } + } + }) + </script> + {% endraw %} + + Using `$emit` with additional arguments: + + ```js + Vue.component('magic-eight-ball', { + data: function () { + return { + possibleAdvice: ['Yes', 'No', 'Maybe'] + } + }, + methods: { + giveAdvice: function () { + var randomAdviceIndex = Math.floor(Math.random() * this.possibleAdvice.length) + this.$emit('give-advice', this.possibleAdvice[randomAdviceIndex]) + } + }, + template: ` + <button v-on:click="giveAdvice"> + Click me for advice + </button> + ` + }) + ``` + + ```html + <div id="emit-example-argument"> + <magic-eight-ball v-on:give-advice="showAdvice"></magic-eight-ball> + </div> + ``` + + ```js + new Vue({ + el: '#emit-example-argument', + methods: { + showAdvice: function (advice) { + alert(advice) + } + } + }) + ``` + + {% raw %} + <div id="emit-example-argument" class="demo"> + <magic-eight-ball v-on:give-advice="showAdvice"></magic-eight-ball> + </div> + <script> + Vue.component('magic-eight-ball', { + data: function () { + return { + possibleAdvice: ['Yes', 'No', 'Maybe'] + } + }, + methods: { + giveAdvice: function () { + var randomAdviceIndex = Math.floor(Math.random() * this.possibleAdvice.length) + this.$emit('give-advice', this.possibleAdvice[randomAdviceIndex]) + } + }, + template: ` + <button v-on:click="giveAdvice"> + Click me for advice + </button> + ` + }) + new Vue({ + el: '#emit-example-argument', + methods: { + showAdvice: function (advice) { + alert(advice) + } + } + }) + </script> + {% endraw %} + ## Instance Methods / Lifecycle ### vm.$mount( [elementOrSelector] ) @@ -1808,7 +2028,7 @@ type: api ### v-for -- **Expects:** `Array | Object | number | string` +- **Expects:** `Array | Object | number | string | Iterable (since 2.6)` - **Usage:** @@ -1825,7 +2045,7 @@ type: api ``` html <div v-for="(item, index) in items"></div> <div v-for="(val, key) in object"></div> - <div v-for="(val, key, index) in object"></div> + <div v-for="(val, name, index) in object"></div> ``` The default behavior of `v-for` will try to patch the elements in-place without moving them. To force it to reorder elements, you need to provide an ordering hint with the `key` special attribute: @@ -1836,6 +2056,8 @@ type: api </div> ``` + In 2.6+, `v-for` can also work on values that implement the [Iterable Protocol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#The_iterable_protocol), including native `Map` and `Set`. However, it should be noted that Vue 2.x currently does not support reactivity on `Map` and `Set` values, so cannot automatically detect changes. + <p class="tip">When used together with v-if, v-for has a higher priority than v-if. See the <a href="../guide/list.html#v-for-with-v-if">list rendering guide</a> for details.</p> The detailed usage for `v-for` is explained in the guide section linked below. @@ -1881,12 +2103,18 @@ type: api <!-- method handler --> <button v-on:click="doThis"></button> + <!-- dynamic event (2.6.0+) --> + <button v-on:[event]="doThis"></button> + <!-- inline statement --> <button v-on:click="doThat('hello', $event)"></button> <!-- shorthand --> <button @click="doThis"></button> + <!-- shorthand dynamic event (2.6.0+) --> + <button @[event]="doThis"></button> + <!-- stop propagation --> <button @click.stop="doThis"></button> @@ -1957,16 +2185,22 @@ type: api <!-- bind an attribute --> <img v-bind:src="imageSrc"> + <!-- dynamic attribute name (2.6.0+) --> + <button v-bind:[key]="value"></button> + <!-- shorthand --> <img :src="imageSrc"> + <!-- shorthand dynamic attribute name (2.6.0+) --> + <button :[key]="value"></button> + <!-- with inline string concatenation --> <img :src="'/path/to/images/' + fileName"> <!-- class binding --> <div :class="{ red: isRed }"></div> <div :class="[classA, classB]"></div> - <div :class="[classA, { classB: isB, classC: isC }]"> + <div :class="[classA, { classB: isB, classC: isC }]"></div> <!-- style binding --> <div :style="{ fontSize: size + 'px' }"></div> @@ -2013,7 +2247,7 @@ type: api - **Modifiers:** - [`.lazy`](../guide/forms.html#lazy) - listen to `change` events instead of `input` - - [`.number`](../guide/forms.html#number) - cast input string to numbers + - [`.number`](../guide/forms.html#number) - cast valid input string to numbers - [`.trim`](../guide/forms.html#trim) - trim input - **Usage:** @@ -2024,6 +2258,59 @@ type: api - [Form Input Bindings](../guide/forms.html) - [Components - Form Input Components using Custom Events](../guide/components.html#Form-Input-Components-using-Custom-Events) +### v-slot + +- **Shorthand:** `#` + +- **Expects:** JavaScript expression that is valid in a function argument position (supports destructuring in [supported environments](../guide/components-slots.html#Slot-Props-Destructuring)). Optional - only needed if expecting props to be passed to the slot. + +- **Argument:** slot name (optional, defaults to `default`) + +- **Limited to:** + - `<template>` + - [components](../guide/components-slots.html#Abbreviated-Syntax-for-Lone-Default-Slots) (for a lone default slot with props) + +- **Usage:** + + Denote named slots or slots that expect to receive props. + +- **Example:** + + ```html + <!-- Named slots --> + <base-layout> + <template v-slot:header> + Header content + </template> + + Default slot content + + <template v-slot:footer> + Footer content + </template> + </base-layout> + + <!-- Named slot that receives props --> + <infinite-scroll> + <template v-slot:item="slotProps"> + <div class="item"> + {{ slotProps.item.text }} + </div> + </template> + </infinite-scroll> + + <!-- Default slot that receive props, with destructuring --> + <mouse-position v-slot="{ x, y }"> + Mouse position: {{ x }}, {{ y }} + </mouse-position> + ``` + + For more details, see the links below. + +- **See also:** + - [Components - Slots](../guide/components-slots.html) + - [RFC-0001](https://github.com/vuejs/rfcs/blob/master/active-rfcs/0001-new-slot-syntax.md) + ### v-pre - **Does not expect expression** @@ -2094,7 +2381,7 @@ type: api ### key -- **Expects:** `number | string` +- **Expects:** `number | string | boolean (since 2.4.2) | symbol (since 2.5.12)` The `key` special attribute is primarily used as a hint for Vue's virtual DOM algorithm to identify VNodes when diffing the new list of nodes against the old list. Without keys, Vue uses an algorithm that minimizes element movement and tries to patch/reuse elements of the same type in-place as much as possible. With keys, it will reorder elements based on the order change of keys, and elements with keys that are no longer present will always be removed/destroyed. @@ -2143,41 +2430,9 @@ type: api - **See also:** [Child Component Refs](../guide/components.html#Child-Component-Refs) -### slot - -- **Expects:** `string` - - Used on content inserted into child components to indicate which named slot the content belongs to. - - For detailed usage, see the guide section linked below. - -- **See also:** [Named Slots](../guide/components.html#Named-Slots) - -### slot-scope - -> New in 2.5.0+ - -- **Expects:** `function argument expression` - -- **Usage:** - - Used to denote an element or component as a scoped slot. The attribute's value should be a valid JavaScript expression that can appear in the argument position of a function signature. This means in supported environments you can also use ES2015 destructuring in the expression. Serves as a replacement for [`scope`](#scope-replaced) in 2.5.0+. - - This attribute does not support dynamic binding. - -- **See also:** [Scoped Slots](../guide/components.html#Scoped-Slots) - -### scope <sup>replaced</sup> - -Used to denote a `<template>` element as a scoped slot, which is replaced by [`slot-scope`](#slot-scope) in 2.5.0+. - -- **Usage:** - - Same as [`slot-scope`](#slot-scope) except that `scope` can only be used on `<template>` elements. - ### is -- **Expects:** `string` +- **Expects:** `string | Object (component’s options object)` Used for [dynamic components](../guide/components.html#Dynamic-Components) and to work around [limitations of in-DOM templates](../guide/components.html#DOM-Template-Parsing-Caveats). @@ -2200,6 +2455,40 @@ Used to denote a `<template>` element as a scoped slot, which is replaced by [`s - [Dynamic Components](../guide/components.html#Dynamic-Components) - [DOM Template Parsing Caveats](../guide/components.html#DOM-Template-Parsing-Caveats) +### slot <sup style="color:#c92222">deprecated</sup> + +**Prefer [v-slot](#v-slot) in 2.6.0+.** + +- **Expects:** `string` + + Used on content inserted into child components to indicate which named slot the content belongs to. + +- **See also:** [Named Slots with `slot`](../guide/components.html#Named-Slots-with-slot) + +### slot-scope <sup style="color:#c92222">deprecated</sup> + +**Prefer [v-slot](#v-slot) in 2.6.0+.** + +- **Expects:** `function argument expression` + +- **Usage:** + + Used to denote an element or component as a scoped slot. The attribute's value should be a valid JavaScript expression that can appear in the argument position of a function signature. This means in supported environments you can also use ES2015 destructuring in the expression. Serves as a replacement for [`scope`](#scope-replaced) in 2.5.0+. + + This attribute does not support dynamic binding. + +- **See also:** [Scoped Slots with `slot-scope`](../guide/components.html#Scoped-Slots-with-slot-scope) + +### scope <sup style="color:#c92222">removed</sup> + +**Replaced by [slot-scope](#slot-scope) in 2.5.0+. Prefer [v-slot](#v-slot) in 2.6.0+.** + +Used to denote a `<template>` element as a scoped slot. + +- **Usage:** + + Same as [`slot-scope`](#slot-scope) except that `scope` can only be used on `<template>` elements. + ## Built-In Components ### component @@ -2229,8 +2518,9 @@ Used to denote a `<template>` element as a scoped slot, which is replaced by [`s - `name` - string, Used to automatically generate transition CSS class names. e.g. `name: 'fade'` will auto expand to `.fade-enter`, `.fade-enter-active`, etc. Defaults to `"v"`. - `appear` - boolean, Whether to apply transition on initial render. Defaults to `false`. - `css` - boolean, Whether to apply CSS transition classes. Defaults to `true`. If set to `false`, will only trigger JavaScript hooks registered via component events. - - `type` - string, Specify the type of transition events to wait for to determine transition end timing. Available values are `"transition"` and `"animation"`. By default, it will automatically detect the type that has a longer duration. + - `type` - string, Specifies the type of transition events to wait for to determine transition end timing. Available values are `"transition"` and `"animation"`. By default, it will automatically detect the type that has a longer duration. - `mode` - string, Controls the timing sequence of leaving/entering transitions. Available modes are `"out-in"` and `"in-out"`; defaults to simultaneous. + - `duration` - number | { `enter`: number, `leave`: number }, Specifies the duration of transition. By default, Vue waits for the first `transitionend` or `animationend` event on the root transition element. - `enter-class` - string - `leave-class` - string - `appear-class` - string @@ -2304,11 +2594,11 @@ Used to denote a `<template>` element as a scoped slot, which is replaced by [`s - **Usage:** - `<transition-group>` serve as transition effects for **multiple** elements/components. The `<transition-group>` renders a real DOM element. By default it renders a `<span>`, and you can configure what element is should render via the `tag` attribute. + `<transition-group>` serve as transition effects for **multiple** elements/components. The `<transition-group>` renders a real DOM element. By default it renders a `<span>`, and you can configure what element it should render via the `tag` attribute. - Note every child in a `<transition-group>` must be **uniquely keyed** for the animations to work properly. + Note that every child in a `<transition-group>` must be **uniquely keyed** for the animations to work properly. - `<transition-group>` supports moving transitions via CSS transform. When a child's position on screen has changed after an updated, it will get applied a moving CSS class (auto generated from the `name` attribute or configured with the `move-class` attribute). If the CSS `transform` property is "transition-able" when the moving class is applied, the element will be smoothly animated to its destination using the [FLIP technique](https://aerotwist.com/blog/flip-your-animations/). + `<transition-group>` supports moving transitions via CSS transform. When a child's position on screen has changed after an update, it will get applied a moving CSS class (auto generated from the `name` attribute or configured with the `move-class` attribute). If the CSS `transform` property is "transition-able" when the moving class is applied, the element will be smoothly animated to its destination using the [FLIP technique](https://aerotwist.com/blog/flip-your-animations/). ```html <transition-group tag="ul" name="slide"> @@ -2323,8 +2613,9 @@ Used to denote a `<template>` element as a scoped slot, which is replaced by [`s ### keep-alive - **Props:** - - `include` - string or RegExp or Array. Only components matched by this will be cached. - - `exclude` - string or RegExp or Array. Any component matched by this will not be cached. + - `include` - string or RegExp or Array. Only components with matching names will be cached. + - `exclude` - string or RegExp or Array. Any component with a matching name will not be cached. + - `max` - number. The maximum number of component instances to cache. - **Usage:** @@ -2334,7 +2625,7 @@ Used to denote a `<template>` element as a scoped slot, which is replaced by [`s > In 2.2.0+ and above, `activated` and `deactivated` will fire for all nested components inside a `<keep-alive>` tree. - Primarily used with preserve component state or avoid re-rendering. + Primarily used to preserve component state or avoid re-rendering. ```html <!-- basic --> @@ -2383,6 +2674,18 @@ Used to denote a `<template>` element as a scoped slot, which is replaced by [`s The match is first checked on the component's own `name` option, then its local registration name (the key in the parent's `components` option) if the `name` option is not available. Anonymous components cannot be matched against. +- **`max`** + + > New in 2.5.0+ + + The maximum number of component instances to cache. Once this number is reached, the cached component instance that was least recently accessed will be destroyed before creating a new instance. + + ``` html + <keep-alive :max="10"> + <component :is="view"></component> + </keep-alive> + ``` + <p class="tip">`<keep-alive>` does not work with functional components because they do not have instances to be cached.</p> - **See also:** [Dynamic Components - keep-alive](../guide/components.html#keep-alive) diff --git a/src/v2/cookbook/adding-instance-properties.md b/src/v2/cookbook/adding-instance-properties.md index 5e18247356..8df1c7eab0 100644 --- a/src/v2/cookbook/adding-instance-properties.md +++ b/src/v2/cookbook/adding-instance-properties.md @@ -6,7 +6,7 @@ order: 2 ## Base Example -There may be data/utilities you'd like to use in many components, but you don't want to [pollute the global scope](https://github.com/getify/You-Dont-Know-JS/blob/master/scope%20%26%20closures/ch3.md). In these cases, you can make them available to each Vue instance by defining them on the prototype: +There may be data/utilities you'd like to use in many components, but you don't want to [pollute the global scope](https://github.com/getify/You-Dont-Know-JS/blob/2nd-ed/scope-closures/ch3.md). In these cases, you can make them available to each Vue instance by defining them on the prototype: ```js Vue.prototype.$appName = 'My App' @@ -58,7 +58,7 @@ new Vue({ }) ``` -It would be `"My App"`, then `"The name of some other app"`, because `this.appName` is overwritten ([sort of](https://github.com/getify/You-Dont-Know-JS/blob/master/this%20%26%20object%20prototypes/ch5.md)) by `data` when the instance is created. We scope instance properties with `$` to avoid this. You can even use your own convention if you'd like, such as `$_appName` or `ΩappName`, to prevent even conflicts with plugins or future features. +It would be `"My App"`, then `"The name of some other app"`, because `this.appName` is overwritten ([sort of](https://github.com/getify/You-Dont-Know-JS/blob/1st-ed/this%20%26%20object%20prototypes/ch5.md)) by `data` when the instance is created. We scope instance properties with `$` to avoid this. You can even use your own convention if you'd like, such as `$_appName` or `ΩappName`, to prevent even conflicts with plugins or future features. ## Real-World Example: Replacing Vue Resource with Axios diff --git a/src/v2/cookbook/avoiding-memory-leaks.md b/src/v2/cookbook/avoiding-memory-leaks.md new file mode 100644 index 0000000000..f4b0f071ed --- /dev/null +++ b/src/v2/cookbook/avoiding-memory-leaks.md @@ -0,0 +1,178 @@ +--- +title: Avoiding Memory Leaks +type: cookbook +order: 10 +--- + +## Introduction + +If you are developing applications with Vue, then you need to watch out for memory leaks. This issue is especially important in Single Page Applications (SPAs) because by design, users should not have to refresh their browser when using an SPA, so it is up to the JavaScript application to clean up components and make sure that garbage collection takes place as expected. + +Memory leaks in Vue applications do not typically come from Vue itself, rather they can happen when incorporating other libraries into an application. + +## Simple Example + +The following example shows a memory leak caused by using the [Choices.js](https://github.com/jshjohnson/Choices) library in a Vue component and not properly cleaning it up. Later, we will show how to remove the Choices.js footprint and avoid the memory leak. + +In the example below, we load up a select with a lot of options and then we use a show/hide button with a [v-if](/v2/guide/conditional.html) directive to add it and remove it from the virtual DOM. The problem with this example is that the `v-if` directive removes the parent element from the DOM, but we did not clean up the additional DOM pieces created by Choices.js, causing a memory leak. + +```html +<link rel='stylesheet prefetch' href='https://joshuajohnson.co.uk/Choices/assets/styles/css/choices.min.css?version=3.0.3'> +<script src='https://joshuajohnson.co.uk/Choices/assets/scripts/dist/choices.min.js?version=3.0.3'></script> + +<div id="app"> + <button + v-if="showChoices" + @click="hide" + >Hide</button> + <button + v-if="!showChoices" + @click="show" + >Show</button> + <div v-if="showChoices"> + <select id="choices-single-default"></select> + </div> +</div> +``` + +```js +new Vue({ + el: "#app", + data: function () { + return { + showChoices: true + } + }, + mounted: function () { + this.initializeChoices() + }, + methods: { + initializeChoices: function () { + let list = [] + // lets load up our select with many choices + // so it will use a lot of memory + for (let i = 0; i < 1000; i++) { + list.push({ + label: "Item " + i, + value: i + }) + } + new Choices("#choices-single-default", { + searchEnabled: true, + removeItemButton: true, + choices: list + }) + }, + show: function () { + this.showChoices = true + this.$nextTick(() => { + this.initializeChoices() + }) + }, + hide: function () { + this.showChoices = false + } + } +}) +``` + +To see this memory leak in action, open this [CodePen example](https://codepen.io/freeman-g/pen/qobpxo) using Chrome and then open the Chrome Task Manager. To open the Chrome Task Manager on Mac, choose Chrome Top Navigation > Window > Task Manager or on Windows, use the Shift+Esc shortcut. Now, click the show/hide button 50 or so times. You should see the memory usage in the Chrome Task Manager increase and never be reclaimed. + + + +## Resolving the Memory Leak + +In the above example, we can use our `hide()` method to do some clean up and solve the memory leak prior to removing the select from the DOM. To accomplish this, we will keep a property in our Vue instance’s data object and we will use the [Choices API’s](https://github.com/jshjohnson/Choices) `destroy()` method to perform the clean up. + +Check the memory usage again with this [updated CodePen example](https://codepen.io/freeman-g/pen/mxWMor). + +```js +new Vue({ + el: "#app", + data: function () { + return { + showChoices: true, + choicesSelect: null + } + }, + mounted: function () { + this.initializeChoices() + }, + methods: { + initializeChoices: function () { + let list = [] + for (let i = 0; i < 1000; i++) { + list.push({ + label: "Item " + i, + value: i + }) + } + // Set a reference to our choicesSelect in our Vue instance's data object + this.choicesSelect = new Choices("#choices-single-default", { + searchEnabled: true, + removeItemButton: true, + choices: list + }) + }, + show: function () { + this.showChoices = true + this.$nextTick(() => { + this.initializeChoices() + }) + }, + hide: function () { + // now we can use the reference to Choices to perform clean up here + // prior to removing the elements from the DOM + this.choicesSelect.destroy() + this.showChoices = false + } + } +}) +``` + +## Details about the Value + +Memory management and performance testing can easily be neglected in the excitement of shipping quickly, however, keeping a small memory footprint is still important to your overall user experience. + +Consider the types of devices your users may be using and what their normal flow will be. Could they use memory constrained laptops or mobile devices? Do your users typically do lots of in-application navigation? If either of these are true, then good memory management practices can help you avoid the worst case scenario of crashing a user’s browser. Even if neither of these are true, you can still potentially have degradation of performance over extended usage of your app if you are not careful. + +## Real-World Example + +In the above example, we used a `v-if` directive to illustrate the memory leak, but a more common real-world scenario happens when using [vue-router](https://router.vuejs.org/en/) to route to components in a Single Page Application. + +Just like the `v-if` directive, `vue-router` removes elements from the virtual DOM and replaces those with new elements when a user navigates around your application. The Vue `beforeDestroy()` [lifecycle hook](/v2/guide/instance.html#Lifecycle-Diagram) is a good place to solve the same sort of issue in a `vue-router` based application. + +We could move our clean up into the `beforeDestroy()` hook like this: + +```js +beforeDestroy: function () { + this.choicesSelect.destroy() +} +``` + +## Alternative Patterns + +We have discussed managing memory when removing elements, but what if you intentionally want to preserve state and keep elements in memory? In this case, you can use the built-in component [keep-alive](/v2/api/#keep-alive). + +When you wrap a component with `keep-alive`, its state will be preserved and therefore kept in memory. + +```html +<button @click="show = false">Hide</button> +<keep-alive> + <!-- my-component will be intentionally kept in memory even when removed --> + <my-component v-if="show"></my-component> +</keep-alive> +``` +This technique can be useful to improve user experience. For example, imagine a user starts entering comments into a text input and then decides to navigate away. If the user then navigated back, their comments would still be preserved. + +Once you use keep-alive, then you have access to two more lifecycle hooks: `activated` and `deactivated`. If you do want to clean up or change data when a keep-alive component is removed, you can do so in the `deactivated` hook. + +```js +deactivated: function () { + // remove any data you do not want to keep alive +} +``` + +## Wrapping Up + +Vue makes it very easy to develop amazing, reactive JavaScript applications, but you still need to be careful about memory leaks. These leaks will often occur when using additional 3rd Party libraries that manipulate the DOM outside of Vue. Make sure to test your application for memory leaks and take appropriate steps to clean up components where necessary. \ No newline at end of file diff --git a/src/v2/cookbook/client-side-storage.md b/src/v2/cookbook/client-side-storage.md new file mode 100644 index 0000000000..915ff798bf --- /dev/null +++ b/src/v2/cookbook/client-side-storage.md @@ -0,0 +1,188 @@ +--- +title: Client-Side Storage +type: cookbook +order: 11 +--- + +## Base Example + +Client-side storage is an excellent way to quickly add performance gains to an application. By storing data on the browser itself, you can skip fetching information from the server every time the user needs it. While especially useful when offline, even online users will benefit from using data locally versus a remote server. Client-side storage can be done with [cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies), [Local Storage](https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API) (technically "Web Storage"), [IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API), and [WebSQL](https://www.w3.org/TR/webdatabase/) (a deprecated method that should not be used in new projects). + +In this cookbook entry we'll focus on Local Storage, the simplest of the storage mechanisms. Local Storage uses a key/value system for storing data. It is limited to storing only simple values but complex data can be stored if you are willing to encode and decode the values with JSON. In general, Local Storage is appropriate for smaller sets of data you would want to persist, things like user preferences or form data. Larger data with more complex storage needs would be better stored typically in IndexedDB. + +Let's begin with a simple form based example: + +``` html +<div id="app"> + My name is <input v-model="name"> +</div> +``` + +This example has one form field bound to a Vue value called `name`. Here's the JavaScript: + +``` js +const app = new Vue({ + el: '#app', + data: { + name: '' + }, + mounted() { + if (localStorage.name) { + this.name = localStorage.name; + } + }, + watch: { + name(newName) { + localStorage.name = newName; + } + } +}); +``` + +Focus on the `mounted` and `watch` parts. We use `mounted` to handle loading the value from localStorage. To handle writing the data base, we watch the `name` value and on change, immediately write it. + +You can run this yourself here: + +<p data-height="265" data-theme-id="0" data-slug-hash="KodaKb" data-default-tab="js,result" data-user="cfjedimaster" data-embed-version="2" data-pen-title="testing localstorage" class="codepen">See the Pen <a href="https://codepen.io/cfjedimaster/pen/KodaKb/">testing localstorage</a> by Raymond Camden (<a href="https://codepen.io/cfjedimaster">@cfjedimaster</a>) on <a href="https://codepen.io">CodePen</a>.</p> +<script async src="https://static.codepen.io/assets/embed/ei.js"></script> + +Type something in the form and then reload this page. You'll note that the value you typed previously will show up automatically. Don't forget that your browser provides excellent developer tools for inspecting client-side storage. Here's an example in Firefox: + + + +And here it is in Chrome: + + + +And then finally, an example in Microsoft Edge. Note that you can find application storage values under the Debugger tab. + + + +<p class="tip">As a quick aside, these dev tools also offer you a way to remove storage values. This can be very useful when testing.</p> + +Immediately writing the value may not be advisable. Let's consider a slightly more advanced example. First, the updated form. + +``` html +<div id="app"> + <p> + My name is <input v-model="name"> + and I am <input v-model="age"> years old. + </p> + <p> + <button @click="persist">Save</button> + </p> +</div> +``` + +Now we've got two fields (again, bound to a Vue instance) but now there is the addition of a button that runs a `persist` method. Let's look at the JavaScript. + +``` js +const app = new Vue({ + el: '#app', + data: { + name: '', + age: 0 + }, + mounted() { + if (localStorage.name) { + this.name = localStorage.name; + } + if (localStorage.age) { + this.age = localStorage.age; + } + }, + methods: { + persist() { + localStorage.name = this.name; + localStorage.age = this.age; + console.log('now pretend I did more stuff...'); + } + } +}) +``` + +As before, `mounted` is used to load persisted data, if it exists. This time, though, data is only persisted when the button is clicked. We could also do any validations or transformations here before storing the value. You could also store a date representing when the values were stored. With that metadata, the `mounted` method could make a logical call on whether or not to store the values again. You can try this version below. + +<p data-height="265" data-theme-id="0" data-slug-hash="rdOjLN" data-default-tab="js,result" data-user="cfjedimaster" data-embed-version="2" data-pen-title="testing localstorage 2" class="codepen">See the Pen <a href="https://codepen.io/cfjedimaster/pen/rdOjLN/">testing localstorage 2</a> by Raymond Camden (<a href="https://codepen.io/cfjedimaster">@cfjedimaster</a>) on <a href="https://codepen.io">CodePen</a>.</p> +<script async src="https://static.codepen.io/assets/embed/ei.js"></script> + +## Working with Complex Values + +As mentioned above, Local Storage only works with simple values. To store more complex values, like objects or arrays, you must serialize and deserialize the values with JSON. Here is a more advanced example that persists an array of cats (the best kind of array possible). + +``` html +<div id="app"> + <h2>Cats</h2> + <div v-for="(cat, n) in cats"> + <p> + <span class="cat">{{ cat }}</span> + <button @click="removeCat(n)">Remove</button> + </p> + </div> + + <p> + <input v-model="newCat"> + <button @click="addCat">Add Cat</button> + </p> +</div> +``` + +This "app" consists of a simple list on top (with a button to remove a cat) and a small form at the bottom to add a new cat. Now let's look at the JavaScript. + +``` js +const app = new Vue({ + el: '#app', + data: { + cats: [], + newCat: null + }, + mounted() { + if (localStorage.getItem('cats')) { + try { + this.cats = JSON.parse(localStorage.getItem('cats')); + } catch(e) { + localStorage.removeItem('cats'); + } + } + }, + methods: { + addCat() { + // ensure they actually typed something + if (!this.newCat) { + return; + } + + this.cats.push(this.newCat); + this.newCat = ''; + this.saveCats(); + }, + removeCat(x) { + this.cats.splice(x, 1); + this.saveCats(); + }, + saveCats() { + const parsed = JSON.stringify(this.cats); + localStorage.setItem('cats', parsed); + } + } +}) +``` + +In this application, we've switched to use the Local Storage APIs versus "direct" access. Both work but the API method is generally preferred. `mounted` now has to grab the value and parse the JSON value. If anything goes wrong here we assume the data is corrupt and delete it. (Remember, any time your web application uses client-side storage, the user has access to it and can modify it at will.) + +We have three methods now to handle working with cats. Both `addCat` and `removeCat` handle updating the "live" Vue data stored in `this.cats`. They then run `saveCats` which handles serializing and persisting the data. You can play with this version below: + +<p data-height="265" data-theme-id="0" data-slug-hash="qoYbyW" data-default-tab="js,result" data-user="cfjedimaster" data-embed-version="2" data-pen-title="localstorage, complex" class="codepen">See the Pen <a href="https://codepen.io/cfjedimaster/pen/qoYbyW/">localstorage, complex</a> by Raymond Camden (<a href="https://codepen.io/cfjedimaster">@cfjedimaster</a>) on <a href="https://codepen.io">CodePen</a>.</p> +<script async src="https://static.codepen.io/assets/embed/ei.js"></script> + +## Alternative Patterns + +While the Local Storage API is relatively simple, it is missing some basic features that would be useful in many applications. The following plugins wrap Local Storage access and make it easier to use, while also adding functionality like default values. + +* [vue-local-storage](https://github.com/pinguinjkeke/vue-local-storage) +* [vue-reactive-storage](https://github.com/ropbla9/vue-reactive-storage) +* [vue2-storage](https://github.com/yarkovaleksei/vue2-storage) + +## Wrapping Up + +While the browser will never replace a server persistence system, having multiple ways to cache data locally can be a huge performance boost for your application, and working with it in Vue.js makes it even more powerful. diff --git a/src/v2/cookbook/creating-custom-scroll-directives.md b/src/v2/cookbook/creating-custom-scroll-directives.md index 927179a314..645ba3eb5c 100644 --- a/src/v2/cookbook/creating-custom-scroll-directives.md +++ b/src/v2/cookbook/creating-custom-scroll-directives.md @@ -6,7 +6,7 @@ order: 7 ## Base Example -There are many times that we might want to add a bit of behavior, especially animation, to a scroll event on a site. There are many ways to do so, but the path with the least amount of code and dependencies is perhaps to use a [custom directive](https://vuejs.org/v2/guide/custom-directive.html) to create a hook for anything that fires off a particular scroll event. +There are many times that we might want to add a bit of behavior, especially animation, to a scroll event on a site. There are many ways to do so, but the path with the least amount of code and dependencies is perhaps to use a [custom directive](/v2/guide/custom-directive.html) to create a hook for anything that fires off a particular scroll event. ```js Vue.directive('scroll', { @@ -40,7 +40,10 @@ new Vue({ ```html <div id="app"> <h1 class="centered">Scroll me</h1> - <div class="box" v-scroll="handleScroll"> + <div + v-scroll="handleScroll" + class="box" + > <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. A atque amet harum aut ab veritatis earum porro praesentium ut corporis. Quasi provident dolorem officia iure fugiat, eius mollitia sequi quisquam.</p> </div> </div> @@ -50,7 +53,7 @@ new Vue({ We'd also need a style property that will transition the intermediary values here, in this case: -``` +```css .box { transition: 1.5s all cubic-bezier(0.39, 0.575, 0.565, 1); } diff --git a/src/v2/cookbook/debugging-in-vscode.md b/src/v2/cookbook/debugging-in-vscode.md index fd2f0eb5af..5c79d7b6dd 100644 --- a/src/v2/cookbook/debugging-in-vscode.md +++ b/src/v2/cookbook/debugging-in-vscode.md @@ -1,32 +1,49 @@ --- -title: Debugging in VS Code and Chrome +title: Debugging in VS Code type: cookbook order: 8 --- -Every application reaches a point where it's necessary to understand failures, small to large. In this recipe, we explore a few workflows for VS Code users, who are using Chrome to test. +Every application reaches a point where it's necessary to understand failures, small to large. In this recipe, we explore a few workflows for VS Code users who would like to debug their application in the browser. -This recipe shows how to use the [Debugger for Chrome](https://github.com/Microsoft/VSCode-chrome-debug) extension with VS Code to debug Vue.js applications generated by the [Vue CLI](https://github.com/vuejs/vue-cli). +This recipe shows how to debug [Vue CLI](https://github.com/vuejs/vue-cli) applications in VS Code as they run in the browser. + +<p class="tip">Note: This recipe covers Chrome and Firefox. If you know how to setup VS Code debugging with other browsers, please consider sharing your insights (see bottom of the page).</p> ## Prerequisites -You must have Chrome and VS Code installed. Make sure to get the latest version of [Debugger for Chrome](https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome) extension installed in VS Code. +Make sure you have VS Code and the browser of your choice installed, and the latest version of the corresponding Debugger extension installed and enabled: + +* [Debugger for Chrome](https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome) +* [Debugger for Firefox](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-firefox-debug) -Install and create a project with the [vue-cli](https://github.com/vuejs/vue-cli), with the instructions for installation documented in the readme of the project. Change into the newly created application directory and open VS Code. +Install and create a project with the [vue-cli](https://github.com/vuejs/vue-cli), following the instructions in the [Vue CLI Guide](https://cli.vuejs.org/). Change into the newly created application directory and open VS Code. -### Showing Source Code in the Chrome Devtools +### Displaying Source Code in the Browser -Before you can debug your Vue components from VS Code you need to update the generated Webpack config to build sourcemaps. We do this so that our debugger has a way to map the code within a compressed file back to its position in the original file. This ensures that you can debug an application even after your assets have been optimized by Webpack. +Before you can debug your Vue components from VS Code, you need to update the generated Webpack config to build sourcemaps. We do this so that our debugger has a way to map the code within a compressed file back to its position in the original file. This ensures that you can debug an application even after your assets have been optimized by Webpack. -Go to `config/index.js` and find the `devtool` property. Update it to: +If you use Vue CLI 2, set or update the `devtool` property inside `config/index.js`: ```json devtool: 'source-map', ``` +If you use Vue CLI 3, set or update the `devtool` property inside `vue.config.js`: + +```js +module.exports = { + configureWebpack: { + devtool: 'source-map' + } +} +``` + ### Launching the Application from VS Code -Click on the Debugging icon in the Activity Bar to bring up the Debug view, then click on the gear icon to configure a launch.json file, selecting **Chrome** for the environment. Replace content of the generated launch.json with the following two configurations: +<p class="tip">We're assuming the port to be `8080` here. If it's not the case (for instance, if `8080` has been taken and Vue CLI automatically picks another port for you), just modify the configuration accordingly.</p> + +Click on the Debugging icon in the Activity Bar to bring up the Debug view, then click on the gear icon to configure a launch.json file, selecting **Chrome/Firefox: Launch** as the environment. Replace content of the generated launch.json with the corresponding configuration:  @@ -44,6 +61,14 @@ Click on the Debugging icon in the Activity Bar to bring up the Debug view, then "sourceMapPathOverrides": { "webpack:///src/*": "${webRoot}/*" } + }, + { + "type": "firefox", + "request": "launch", + "name": "vuejs: firefox", + "url": "http://localhost:8080", + "webRoot": "${workspaceFolder}/src", + "pathMappings": [{ "url": "webpack:///src/", "path": "${webRoot}/" }] } ] } @@ -53,40 +78,30 @@ Click on the Debugging icon in the Activity Bar to bring up the Debug view, then 1. Set a breakpoint in **src/components/HelloWorld.vue** on `line 90` where the `data` function returns a string. - +  2. Open your favorite terminal at the root folder and serve the app using Vue CLI: -``` -npm start -``` + ``` + npm run serve + ``` -3. Go to the Debug view, select the **'vuejs: chrome'** configuration, then press F5 or click the green play button. +3. Go to the Debug view, select the **'vuejs: chrome/firefox'** configuration, then press F5 or click the green play button. -4. Your breakpoint should now be hit as the new instance of Chrome opens `http://localhost:8080`. +4. Your breakpoint should now be hit as a new browser instance opens `http://localhost:8080`. - +  ## Alternative Patterns ### Vue Devtools -There are other methods of debugging, varying in complexity. The most popular and simple of which is to use the excellent [vue-devtools](https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd). Some of the benefits of working with the devtools are that they enable you to live-edit data properties and see the changes reflected immediately. The other major benefit is the ability to do time travel debugging for Vuex. +There are other methods of debugging, varying in complexity. The most popular and simple of which is to use the excellent Vue.js devtools [for Chrome](https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd) and [for Firefox](https://addons.mozilla.org/en-US/firefox/addon/vue-js-devtools/). Some of the benefits of working with the devtools are that they enable you to live-edit data properties and see the changes reflected immediately. The other major benefit is the ability to do time travel debugging for Vuex.  <p class="tip">Please note that if the page uses a production/minified build of Vue.js (such as the standard link from a CDN), devtools inspection is disabled by default so the Vue pane won't show up. If you switch to an unminified version, you may have to give the page a hard refresh to see them.</p> -### Vuetron - -[Vuetron](http://vuetron.io/) is a really nice project that extends some of the work that vue-devtools has done. In addition to the normal devtools workflow, you are able to: - -* Quickly view API Request/Response: if you're using the fetch API for requests, this event is displayed for any request sent. The expanded card displays the request data as well as the response data. -* Subscribe to specific parts of your application’s state for faster debugging -* Visualize component hierarchy, and an animation allows you to collapse or expand the tree for specific hierarchy views. - - - ### Simple Debugger Statement The example above has a great workflow. However, there is an alternative option where you can use the [native debugger statement](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/debugger) directly in your code. If you choose to work this way, it's important that you remember to remove the statements when you're done. diff --git a/src/v2/cookbook/dockerize-vuejs-app.md b/src/v2/cookbook/dockerize-vuejs-app.md new file mode 100644 index 0000000000..1fc4ed6299 --- /dev/null +++ b/src/v2/cookbook/dockerize-vuejs-app.md @@ -0,0 +1,134 @@ +--- +title: Dockerize Vue.js App +type: cookbook +order: 13 +--- + +## Simple Example + +So you built your first Vue.js app using the amazing [Vue.js webpack template](https://github.com/vuejs-templates/webpack) and now you really want to show off with your colleagues by demonstrating that you can also run it in a Docker container. + +Let's start by creating a `Dockerfile` in the root folder of our project: + +```docker +FROM node:lts-alpine + +# install simple http server for serving static content +RUN npm install -g http-server + +# make the 'app' folder the current working directory +WORKDIR /app + +# copy both 'package.json' and 'package-lock.json' (if available) +COPY package*.json ./ + +# install project dependencies +RUN npm install + +# copy project files and folders to the current working directory (i.e. 'app' folder) +COPY . . + +# build app for production with minification +RUN npm run build + +EXPOSE 8080 +CMD [ "http-server", "dist" ] +``` + +It may seem redundant to first copy `package.json` and `package-lock.json` and then all project files and folders in two separate steps but there is actually [a very good reason for that](http://bitjudo.com/blog/2014/03/13/building-efficient-dockerfiles-node-dot-js/) (spoiler: it allows us to take advantage of cached Docker layers). + +Now let's build the Docker image of our Vue.js app: + +```bash +docker build -t vuejs-cookbook/dockerize-vuejs-app . +``` + +Finally, let's run our Vue.js app in a Docker container: + +```bash +docker run -it -p 8080:8080 --rm --name dockerize-vuejs-app-1 vuejs-cookbook/dockerize-vuejs-app +``` + +We should be able to access our Vue.js app on `localhost:8080`. + +## Real-World Example + +In the previous example, we used a simple, zero-configuration command-line [http server](https://github.com/indexzero/http-server) to serve our Vue.js app which is perfectly ok for quick prototyping and _may_ even be ok for simple production scenarios. After all, the documentation says: + +> It is powerful enough for production usage, but it's simple and hackable enough to be used for testing, local development, and learning. + +Nevertheless, for realistically complex production use cases, it may be wiser to stand on the shoulders of some giant like [NGINX](https://www.nginx.com/) or [Apache](https://httpd.apache.org/) and that is exactly what we are going to do next: we are about to leverage NGINX to serve our Vue.js app because it is considered to be one of the most performant and battle-tested solutions out there. + +Let's refactor our `Dockerfile` to use NGINX: + + ```docker +# build stage +FROM node:lts-alpine as build-stage +WORKDIR /app +COPY package*.json ./ +RUN npm install +COPY . . +RUN npm run build + +# production stage +FROM nginx:stable-alpine as production-stage +COPY --from=build-stage /app/dist /usr/share/nginx/html +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"] +``` + +Ok, let's see what's going on here: +* we have split our original `Dockerfile` in multiple stages by leveraging the Docker [multi-stage builds](https://docs.docker.com/develop/develop-images/multistage-build/) feature; +* the first stage is responsible for building a production-ready artifact of our Vue.js app; +* the second stage is responsible for serving such artifact using NGINX. + +Now let's build the Docker image of our Vue.js app: + +```bash +docker build -t vuejs-cookbook/dockerize-vuejs-app . +``` + +Finally, let's run our Vue.js app in a Docker container: + +```bash +docker run -it -p 8080:80 --rm --name dockerize-vuejs-app-1 vuejs-cookbook/dockerize-vuejs-app +``` + +We should be able to access our Vue.js app on `localhost:8080`. + +## Additional Context + +If you are reading this cookbook, chances are you already know why you decided to dockerize your Vue.js app. But if you simply landed on this page after hitting the Google's `I'm feeling lucky` button, let me share with you a couple of good reasons for doing that. + +Today's modern trend is to build applications using the [Cloud-Native](https://pivotal.io/cloud-native) approach which revolves mainly around the following buzzwords: +* Microservices +* DevOps +* Continuous Delivery + +Let's see how these concepts actually affect our decision of dockerizing our Vue.js app. + +### Effects of Microservices + +By adopting the [microservices architectural style](https://martinfowler.com/microservices/), we end up building a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms. These services are built around business capabilities and independently deployable by fully automated deployment machinery. + +So, committing to this architectural approach most of the time implies developing and delivering our front-end as an independent service. + +### Effects of DevOps + +The adoption of [DevOps](https://martinfowler.com/bliki/DevOpsCulture.html) culture, tools and agile engineering practices has, among other things, the nice effect of increasing the collaboration between the roles of development and operations. One of the main problem of the past (but also today in some realities) is that the dev team tended to be uninterested in the operation and maintenance of a system once it was handed over to the ops team, while the latter tended to be not really aware of the system's business goals and, therefore, reluctant in satisfying the operational needs of the system (also referred to as "whims of developers"). + +So, delivering our Vue.js app as a Docker image helps reducing, if not removing entirely, the difference between running the service on a developer's laptop, the production environment or any environment we may think of. + +### Effects of Continuous Delivery + +By leveraging the [Continuous Delivery](https://martinfowler.com/bliki/ContinuousDelivery.html) discipline we build our software in a way that it can potentially be released to production at any time. Such engineering practice is enabled by means of what is normally called [continuous delivery pipeline](https://martinfowler.com/bliki/DeploymentPipeline.html). The purpose of a continuous delivery pipeline is to split our build into stages (e.g. compilation, unit tests, integration tests, performance tests, etc.) and let each stage verify our build artifact whenever our software changes. Ultimately, each stage increases our confidence in the production readiness of our build artifact and, therefore, reduces the risk of breaking things in production (or any other environment for that matter). + +So, creating a Docker image for our Vue.js app is a good choice here because that would represent our final build artifact, the same artifact that would be verified against our continuous delivery pipeline and that could potentially be released to production with confidence. + +## Alternative Patterns + +If your company is not into Docker and Kubernetes just yet or you simply want to get your MVP out the door, maybe dockerizing your Vue.js app is not what you need. + +Common alternatives are: +* leveraging an all-in-one platform like [Netlify](https://www.netlify.com/); +* hosting your SPA on [Amazon S3](https://aws.amazon.com/s3/) and serving it with [Amazon CloudFront](https://aws.amazon.com/cloudfront/) (see [this](https://serverless-stack.com/chapters/deploy-the-frontend.html) link for a detailed guide). diff --git a/src/v2/cookbook/editable-svg-icons.md b/src/v2/cookbook/editable-svg-icons.md index 033a7230ce..a1903f5533 100644 --- a/src/v2/cookbook/editable-svg-icons.md +++ b/src/v2/cookbook/editable-svg-icons.md @@ -35,7 +35,10 @@ We'll create a base icon (`IconBase.vue`) component that uses a slot. :aria-labelledby="iconName" role="presentation" > - <title :id="iconName" lang="en">{{iconName}} icon</title> + <title + :id="iconName" + lang="en" + >{{ iconName }} icon</title> <g :fill="iconColor"> <slot /> </g> @@ -83,11 +86,19 @@ Now, if we'd like to make many sizes for the icon, we can do so very easily: ```html <p> <!-- you can pass in a smaller `width` and `height` as props --> - <icon-base width="12" height="12" icon-name="write"><icon-write /></icon-base> + <icon-base + width="12" + height="12" + icon-name="write" + ><icon-write /></icon-base> <!-- or you can use the default, which is 18 --> <icon-base icon-name="write"><icon-write /></icon-base> <!-- or make it a little bigger too :) --> - <icon-base width="30" height="30" icon-name="write"><icon-write /></icon-base> + <icon-base + width="30" + height="30" + icon-name="write" + ><icon-write /></icon-base> </p> ``` @@ -99,16 +110,23 @@ Keeping icons in components comes in very handy when you'd like to animate them, ```html <template> - <svg @click="startScissors" + <svg + @click="startScissors" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100" aria-labelledby="scissors" role="presentation" - > - <title id="scissors" lang="en">Scissors Animated Icon</title> - <path id="bk" fill="#fff" d="M0 0h100v100H0z"/> + > + <title + id="scissors" + lang="en" + >Scissors Animated Icon</title> + <path + id="bk" + fill="#fff" + d="M0 0h100v100H0z"/> <g ref="leftscissor"> <path d="M..."/> ... @@ -157,7 +175,7 @@ Designers may change their minds. Product requirements change. Keeping the logic ## When To Avoid This Pattern -This type of SVG icon system is really useful when you have a number of icons that are used in different ways throughout your site. If you're repeating the same icon many times on one page (e.g. a giant table a delete icon in each row), it might make more sense to have all of the sprites compiled into a sprite sheet and use `<use>` tags to load them. +This type of SVG icon system is really useful when you have a number of icons that are used in different ways throughout your site. If you're repeating the same icon many times on one page (e.g. a giant table with a delete icon in each row), it might make more sense to have all of the sprites compiled into a sprite sheet and use `<use>` tags to load them. ## Alternative Patterns diff --git a/src/v2/cookbook/form-validation.md b/src/v2/cookbook/form-validation.md index c525dd5a81..0325ce601d 100644 --- a/src/v2/cookbook/form-validation.md +++ b/src/v2/cookbook/form-validation.md @@ -1,322 +1,440 @@ ---- -title: Form Validation -type: cookbook -order: 3 ---- - -## Base Example - -Form validation is natively supported by the browser, but sometimes different browsers will handle things in a manner which makes relying on it a bit tricky. Even when validation is supported perfectly, there may be times when custom validations are needed and a more manual, Vue-based solution may be more appropriate. Let's begin with a simple example. - -Given a form of three fields, make two required. Let's look at the HTML first: - -``` html -<form id="app" @submit="checkForm" action="https://vuejs.org/" method="post"> - - <p v-if="errors.length"> - <b>Please correct the following error(s):</b> - <ul> - <li v-for="error in errors">{{ error }}</li> - </ul> - </p> - - <p> - <label for="name">Name</label> - <input type="text" name="name" id="name" v-model="name"> - </p> - - <p> - <label for="age">Age</label> - <input type="number" name="age" id="age" v-model="age" min="0"> - </p> - - <p> - <label for="movie">Favorite Movie</label> - <select name="movie" id="movie" v-model="movie"> - <option>Star Wars</option> - <option>Vanilla Sky</option> - <option>Atomic Blonde</option> - </select> - </p> - - <p> - <input type="submit" value="Submit"> - </p> - -</form> -``` - -Let's cover it from the top. The `<form>` tag has an ID that we'll be using for the Vue component. There's a submit handler that you'll see in a bit, and the `action` is a temporary URL that would point to something real on a server someplace (where you have backup server-side validation of course). - -Beneath that there is a paragraph that shows or hides itself based on an error state. This will render a simple list of errors on top of the form. Also note we fire the validation on submit rather than as every field is modified. - -The final thing to note is that each of the three fields has a corresponding `v-model` to connect them to values we will work with in the JavaScript. Now let's look at that. - -``` js -const app = new Vue({ - el:'#app', - data:{ - errors:[], - name:null, - age:null, - movie:null - }, - methods:{ - checkForm:function(e) { - if(this.name && this.age) return true; - this.errors = []; - if(!this.name) this.errors.push("Name required."); - if(!this.age) this.errors.push("Age required."); - e.preventDefault(); - } - } -}) -``` - -Fairly short and simple. We define an array to hold errors and set `null` values for the three form fields. The `checkForm` logic (which is run on submit remember) checks for name and age only as movie is optional. If they are empty we check each and set a specific error for each. And that's really it. You can run the demo below. Don't forget that on a successful submission it's going to POST to a temporary URL. - -<p data-height="265" data-theme-id="0" data-slug-hash="GObpZM" data-default-tab="html,result" data-user="cfjedimaster" data-embed-version="2" data-pen-title="form validation 1" class="codepen">See the Pen <a href="https://codepen.io/cfjedimaster/pen/GObpZM/">form validation 1</a> by Raymond Camden (<a href="https://codepen.io/cfjedimaster">@cfjedimaster</a>) on <a href="https://codepen.io">CodePen</a>.</p> -<script async src="https://production-assets.codepen.io/assets/embed/ei.js"></script> - -## Using Custom Validation - -For the second example, the second text field (age) was switched to email which will be validated with a bit of custom logic. The code is taken from the StackOverflow question, [How to validate email address in JavaScript?](https://stackoverflow.com/questions/46155/how-to-validate-email-address-in-javascript). This is an awesome question because it makes your most intense Facebook political/religious argument look like a slight disagreement over who makes the best beer. Seriously - it's insane. Here is the HTML, even though it's really close to the first example. - -``` html -<form id="app" @submit="checkForm" action="https://vuejs.org/" method="post" novalidate="true"> - - <p v-if="errors.length"> - <b>Please correct the following error(s):</b> - <ul> - <li v-for="error in errors">{{ error }}</li> - </ul> - </p> - - <p> - <label for="name">Name</label> - <input type="text" name="name" id="name" v-model="name"> - </p> - - <p> - <label for="email">Email</label> - <input type="email" name="email" id="email" v-model="email"> - </p> - - <p> - <label for="movie">Favorite Movie</label> - <select name="movie" id="movie" v-model="movie"> - <option>Star Wars</option> - <option>Vanilla Sky</option> - <option>Atomic Blonde</option> - </select> - </p> - - <p> - <input type="submit" value="Submit"> - </p> - -</form> -``` - -While the change here is small, note the `novalidate="true"` on top. This is important because the browser will attempt to validate the email address in the field when `type="email"`. Frankly it may make more sense to trust the browser in this case, but as we wanted an example with custom validation, we're disabling it. Here's the updated JavaScript. - -``` js -const app = new Vue({ - el:'#app', - data:{ - errors:[], - name:null, - email:null, - movie:null - }, - methods:{ - checkForm:function(e) { - this.errors = []; - if(!this.name) this.errors.push("Name required."); - if(!this.email) { - this.errors.push("Email required."); - } else if(!this.validEmail(this.email)) { - this.errors.push("Valid email required."); - } - if(!this.errors.length) return true; - e.preventDefault(); - }, - validEmail:function(email) { - var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; - return re.test(email); - } - } -}) -``` - -As you can see, we've added `validEmail` as a new method and it is simply called from `checkForm`. You can play with this example here: - -<p data-height="265" data-theme-id="0" data-slug-hash="vWqNXZ" data-default-tab="html,result" data-user="cfjedimaster" data-embed-version="2" data-pen-title="form validation 2" class="codepen">See the Pen <a href="https://codepen.io/cfjedimaster/pen/vWqNXZ/">form validation 2</a> by Raymond Camden (<a href="https://codepen.io/cfjedimaster">@cfjedimaster</a>) on <a href="https://codepen.io">CodePen</a>.</p> -<script async src="https://production-assets.codepen.io/assets/embed/ei.js"></script> - -## Another Example of Custom Validation - -For the third example, we've built something you've probably seen in survey apps. The user is asked to spend a "budget" for a set of features for a new Star Destroyer model. The total must equal 100. First, the HTML. - -``` html -<form id="app" @submit="checkForm" action="https://vuejs.org/" method="post" novalidate="true"> - - <p v-if="errors.length"> - <b>Please correct the following error(s):</b> - <ul> - <li v-for="error in errors">{{ error }}</li> - </ul> - </p> - - <p> - Given a budget of 100 dollars, indicate how much - you would spend on the following features for the - next generation Star Destroyer. Your total must sum up to 100. - </p> - - <p> - <input type="number" name="weapons" v-model.number="weapons"> Weapons <br/> - <input type="number" name="shields" v-model.number="shields"> Shields <br/> - <input type="number" name="coffee" v-model.number="coffee"> Coffee <br/> - <input type="number" name="ac" v-model.number="ac"> Air Conditioning <br/> - <input type="number" name="mousedroids" v-model.number="mousedroids"> Mouse Droids <br/> - </p> - - <p> - Current Total: {{total}} - </p> - - <p> - <input type="submit" value="Submit"> - </p> - -</form> -``` - -Note the set of inputs covering the five different features. Note the addition of `.number` to the `v-model` attribute. This tells Vue to cast the value to a number when you use it. However, there is a bug with this feature such that when the value is blank, it turns back into a string. You'll see the workaround below. To make it a bit easier for the user, we also added a current total right below so they can see, in real time, what their total is. Now let's look at the JavaScript. - -``` js -const app = new Vue({ - el:'#app', - data:{ - errors:[], - weapons:0, - shields:0, - coffee:0, - ac:0, - mousedroids:0 - }, - computed:{ - total:function() { - // must parse cuz Vue turns empty value to string - return Number(this.weapons)+ - Number(this.shields)+ - Number(this.coffee)+ - Number(this.ac+this.mousedroids); - } - }, - methods:{ - checkForm:function(e) { - this.errors = []; - if(this.total != 100) this.errors.push("Total must be 100!"); - if(!this.errors.length) return true; - e.preventDefault(); - } - } -}) -``` - -We set up the total value as a computed value, and outside of that bug I ran into, it was simple enough to setup. My checkForm method now just needs to see if the total is 100 and that's it. You can play with this here: - -<p data-height="265" data-theme-id="0" data-slug-hash="vWqGoy" data-default-tab="html,result" data-user="cfjedimaster" data-embed-version="2" data-pen-title="form validation 3" class="codepen">See the Pen <a href="https://codepen.io/cfjedimaster/pen/vWqGoy/">form validation 3</a> by Raymond Camden (<a href="https://codepen.io/cfjedimaster">@cfjedimaster</a>) on <a href="https://codepen.io">CodePen</a>.</p> -<script async src="https://production-assets.codepen.io/assets/embed/ei.js"></script> - -## Server-side Validation - -In my final example, we built something that makes use of Ajax to validate at the server. The form will ask you to name a new product and will then check to ensure that the name is unique. We wrote a quick [OpenWhisk](http://openwhisk.apache.org/) serverless action to do the validation. While it isn't terribly important, here is the logic: - -``` js -function main(args) { - - return new Promise((resolve, reject) => { - - // bad product names: vista, empire, mbp - let badNames = ['vista','empire','mbp']; - if(badNames.includes(args.name)) reject({error:'Existing product'}); - resolve({status:'ok'}); - - }); - -} -``` - -Basically any name but "vista", "empire", and "mbp" are acceptable. Ok, so let's look at the form. - -``` html -<form id="app" @submit="checkForm" method="post"> - - <p v-if="errors.length"> - <b>Please correct the following error(s):</b> - <ul> - <li v-for="error in errors">{{ error }}</li> - </ul> - </p> - - <p> - <label for="name">New Product Name: </label> - <input type="text" name="name" id="name" v-model="name"> - </p> - - <p> - <input type="submit" value="Submit"> - </p> - -</form> -``` - -There isn't anything special here. So let's go on to the JavaScript. - -``` js -const apiUrl = 'https://openwhisk.ng.bluemix.net/api/v1/web/rcamden%40us.ibm.com_My%20Space/safeToDelete/productName.json?name='; - -const app = new Vue({ - el:'#app', - data:{ - errors:[], - name:'' - }, - methods:{ - checkForm:function(e) { - e.preventDefault(); - this.errors = []; - if(this.name === '') { - this.errors.push("Product name is required."); - } else { - fetch(apiUrl+encodeURIComponent(this.name)) - .then(res => res.json()) - .then(res => { - if(res.error) { - this.errors.push(res.error); - } else { - // redirect to a new URL, or do something on success - alert('ok!'); - } - }); - } - } - } -}) -``` - -We start off with a variable representing the URL of the API that is running on OpenWhisk. Now look at `checkForm`. In this version, we always prevent the form from submitting (which, by the way, could be done in the HTML with Vue as well). You can see a basic check on `this.name` being empty, and then we hit the API. If it's bad, we add an error as before. If it's good, right now we do nothing (just an alert), but you could navigate the user to a new page with the product name in the URL, or do other actions as well. You can run this demo below: - -<p data-height="265" data-theme-id="0" data-slug-hash="BmgzeM" data-default-tab="js,result" data-user="cfjedimaster" data-embed-version="2" data-pen-title="form validation 4" class="codepen">See the Pen <a href="https://codepen.io/cfjedimaster/pen/BmgzeM/">form validation 4</a> by Raymond Camden (<a href="https://codepen.io/cfjedimaster">@cfjedimaster</a>) on <a href="https://codepen.io">CodePen</a>.</p> -<script async src="https://production-assets.codepen.io/assets/embed/ei.js"></script> - -## Alternative Patterns - -While this cookbook entry focused on doing form validation "by hand", there are, of course, some great Vue libraries that will handle a lot of this for you. Switching to a prepackage library may impact the final size of your application, but the benefits could be tremendous. You have code that is (most likely) heavily tested and also updated on a regular basis. Some examples of form validation libraries for Vue include: - -* [vuelidate](https://github.com/monterail/vuelidate) -* [VeeValidate](http://vee-validate.logaretm.com/) - +--- +title: Form Validation +type: cookbook +order: 3 +--- + +## Base Example + +<div class="vueschool"><a href="https://vueschool.io/lessons/vuejs-form-validation-diy?friend=vuejs" target="_blank" rel="sponsored noopener" title="Free Vue.js Form Validation Lesson">Watch a free lesson on Vue School</a></div> + +Form validation is natively supported by the browser, but sometimes different browsers will handle things in a manner which makes relying on it a bit tricky. Even when validation is supported perfectly, there may be times when custom validations are needed and a more manual, Vue-based solution may be more appropriate. Let's begin with a simple example. + +Given a form of three fields, make two required. Let's look at the HTML first: + +``` html +<form + id="app" + @submit="checkForm" + action="https://vuejs.org/" + method="post" +> + + <p v-if="errors.length"> + <b>Please correct the following error(s):</b> + <ul> + <li v-for="error in errors">{{ error }}</li> + </ul> + </p> + + <p> + <label for="name">Name</label> + <input + id="name" + v-model="name" + type="text" + name="name" + > + </p> + + <p> + <label for="age">Age</label> + <input + id="age" + v-model="age" + type="number" + name="age" + min="0" + > + </p> + + <p> + <label for="movie">Favorite Movie</label> + <select + id="movie" + v-model="movie" + name="movie" + > + <option>Star Wars</option> + <option>Vanilla Sky</option> + <option>Atomic Blonde</option> + </select> + </p> + + <p> + <input + type="submit" + value="Submit" + > + </p> + +</form> +``` + +Let's cover it from the top. The `<form>` tag has an ID that we'll be using for the Vue component. There's a submit handler that you'll see in a bit, and the `action` is a temporary URL that would point to something real on a server someplace (where you have backup server-side validation of course). + +Beneath that there is a paragraph that shows or hides itself based on an error state. This will render a simple list of errors on top of the form. Also note we fire the validation on submit rather than as every field is modified. + +The final thing to note is that each of the three fields has a corresponding `v-model` to connect them to values we will work with in the JavaScript. Now let's look at that. + +``` js +const app = new Vue({ + el: '#app', + data: { + errors: [], + name: null, + age: null, + movie: null + }, + methods:{ + checkForm: function (e) { + if (this.name && this.age) { + return true; + } + + this.errors = []; + + if (!this.name) { + this.errors.push('Name required.'); + } + if (!this.age) { + this.errors.push('Age required.'); + } + + e.preventDefault(); + } + } +}) +``` + +Fairly short and simple. We define an array to hold errors and set `null` values for the three form fields. The `checkForm` logic (which is run on submit remember) checks for name and age only as movie is optional. If they are empty we check each and set a specific error for each. And that's really it. You can run the demo below. Don't forget that on a successful submission it's going to POST to a temporary URL. + +<p data-height="265" data-theme-id="0" data-slug-hash="GObpZM" data-default-tab="html,result" data-user="cfjedimaster" data-embed-version="2" data-pen-title="form validation 1" class="codepen">See the Pen <a href="https://codepen.io/cfjedimaster/pen/GObpZM/">form validation 1</a> by Raymond Camden (<a href="https://codepen.io/cfjedimaster">@cfjedimaster</a>) on <a href="https://codepen.io">CodePen</a>.</p> +<script async src="https://production-assets.codepen.io/assets/embed/ei.js"></script> + +## Using Custom Validation + +For the second example, the second text field (age) was switched to email which will be validated with a bit of custom logic. The code is taken from the StackOverflow question, [How to validate email address in JavaScript?](https://stackoverflow.com/questions/46155/how-to-validate-email-address-in-javascript). This is an awesome question because it makes your most intense Facebook political/religious argument look like a slight disagreement over who makes the best beer. Seriously - it's insane. Here is the HTML, even though it's really close to the first example. + +``` html +<form + id="app" + @submit="checkForm" + action="https://vuejs.org/" + method="post" + novalidate="true" +> + + <p v-if="errors.length"> + <b>Please correct the following error(s):</b> + <ul> + <li v-for="error in errors">{{ error }}</li> + </ul> + </p> + + <p> + <label for="name">Name</label> + <input + id="name" + v-model="name" + type="text" + name="name" + > + </p> + + <p> + <label for="email">Email</label> + <input + id="email" + v-model="email" + type="email" + name="email" + > + </p> + + <p> + <label for="movie">Favorite Movie</label> + <select + id="movie" + v-model="movie" + name="movie" + > + <option>Star Wars</option> + <option>Vanilla Sky</option> + <option>Atomic Blonde</option> + </select> + </p> + + <p> + <input + type="submit" + value="Submit" + > + </p> + +</form> +``` + +While the change here is small, note the `novalidate="true"` on top. This is important because the browser will attempt to validate the email address in the field when `type="email"`. Frankly it may make more sense to trust the browser in this case, but as we wanted an example with custom validation, we're disabling it. Here's the updated JavaScript. + +``` js +const app = new Vue({ + el: '#app', + data: { + errors: [], + name: null, + email: null, + movie: null + }, + methods: { + checkForm: function (e) { + this.errors = []; + + if (!this.name) { + this.errors.push("Name required."); + } + if (!this.email) { + this.errors.push('Email required.'); + } else if (!this.validEmail(this.email)) { + this.errors.push('Valid email required.'); + } + + if (!this.errors.length) { + return true; + } + + e.preventDefault(); + }, + validEmail: function (email) { + var re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + return re.test(email); + } + } +}) +``` + +As you can see, we've added `validEmail` as a new method and it is simply called from `checkForm`. You can play with this example here: + +<p data-height="265" data-theme-id="0" data-slug-hash="vWqNXZ" data-default-tab="html,result" data-user="cfjedimaster" data-embed-version="2" data-pen-title="form validation 2" class="codepen">See the Pen <a href="https://codepen.io/cfjedimaster/pen/vWqNXZ/">form validation 2</a> by Raymond Camden (<a href="https://codepen.io/cfjedimaster">@cfjedimaster</a>) on <a href="https://codepen.io">CodePen</a>.</p> +<script async src="https://production-assets.codepen.io/assets/embed/ei.js"></script> + +## Another Example of Custom Validation + +For the third example, we've built something you've probably seen in survey apps. The user is asked to spend a "budget" for a set of features for a new Star Destroyer model. The total must equal 100. First, the HTML. + +``` html +<form + id="app" + @submit="checkForm" + action="https://vuejs.org/" + method="post" + novalidate="true" +> + + <p v-if="errors.length"> + <b>Please correct the following error(s):</b> + <ul> + <li v-for="error in errors">{{ error }}</li> + </ul> + </p> + + <p> + Given a budget of 100 dollars, indicate how much + you would spend on the following features for the + next generation Star Destroyer. Your total must sum up to 100. + </p> + + <p> + <input + v-model.number="weapons" + type="number" + name="weapons" + > Weapons <br/> + <input + v-model.number="shields" + type="number" + name="shields" + > Shields <br/> + <input + v-model.number="coffee" + type="number" + name="coffee" + > Coffee <br/> + <input + v-model.number="ac" + type="number" + name="ac" + > Air Conditioning <br/> + <input + v-model.number="mousedroids" + type="number" + name="mousedroids" + > Mouse Droids <br/> + </p> + + <p> + Current Total: {{total}} + </p> + + <p> + <input + type="submit" + value="Submit" + > + </p> + +</form> +``` + +Note the set of inputs covering the five different features. Note the addition of `.number` to the `v-model` attribute. This tells Vue to cast the value to a number when you use it. However, there is a bug with this feature such that when the value is blank, it turns back into a string. You'll see the workaround below. To make it a bit easier for the user, we also added a current total right below so they can see, in real time, what their total is. Now let's look at the JavaScript. + +``` js +const app = new Vue({ + el: '#app', + data:{ + errors: [], + weapons: 0, + shields: 0, + coffee: 0, + ac: 0, + mousedroids: 0 + }, + computed: { + total: function () { + // must parse because Vue turns empty value to string + return Number(this.weapons) + + Number(this.shields) + + Number(this.coffee) + + Number(this.ac+this.mousedroids); + } + }, + methods:{ + checkForm: function (e) { + this.errors = []; + + if (this.total != 100) { + this.errors.push('Total must be 100!'); + } + + if (!this.errors.length) { + return true; + } + + e.preventDefault(); + } + } +}) +``` + +We set up the total value as a computed value, and outside of that bug I ran into, it was simple enough to setup. My checkForm method now just needs to see if the total is 100 and that's it. You can play with this here: + +<p data-height="265" data-theme-id="0" data-slug-hash="vWqGoy" data-default-tab="html,result" data-user="cfjedimaster" data-embed-version="2" data-pen-title="form validation 3" class="codepen">See the Pen <a href="https://codepen.io/cfjedimaster/pen/vWqGoy/">form validation 3</a> by Raymond Camden (<a href="https://codepen.io/cfjedimaster">@cfjedimaster</a>) on <a href="https://codepen.io">CodePen</a>.</p> +<script async src="https://production-assets.codepen.io/assets/embed/ei.js"></script> + +## Server-side Validation + +In my final example, we built something that makes use of Ajax to validate at the server. The form will ask you to name a new product and will then check to ensure that the name is unique. We wrote a quick [Netlify](https://netlify.com/) serverless action to do the validation. While it isn't terribly important, here is the logic: + +``` js +exports.handler = async (event, context) => { + + const badNames = ['vista', 'empire', 'mbp']; + const name = event.queryStringParameters.name; + + if (badNames.includes(name)) { + return { + statusCode: 400, + body: JSON.stringify({error: 'Invalid name passed.'}) + } + } + + return { + statusCode: 204 + } + +} + +``` + +Basically any name but "vista", "empire", and "mbp" are acceptable. Ok, so let's look at the form. + +``` html +<form + id="app" + @submit="checkForm" + method="post" +> + + <p v-if="errors.length"> + <b>Please correct the following error(s):</b> + <ul> + <li v-for="error in errors">{{ error }}</li> + </ul> + </p> + + <p> + <label for="name">New Product Name: </label> + <input + id="name" + v-model="name" + type="text" + name="name" + > + </p> + + <p> + <input + type="submit" + value="Submit" + > + </p> + +</form> +``` + +There isn't anything special here. So let's go on to the JavaScript. + +``` js +const apiUrl = 'https://vuecookbook.netlify.app/.netlify/functions/product-name?name='; + +const app = new Vue({ + el: '#app', + data: { + errors: [], + name: '' + }, + methods:{ + checkForm: function (e) { + e.preventDefault(); + + this.errors = []; + + if (this.name === '') { + this.errors.push('Product name is required.'); + } else { + fetch(apiUrl + encodeURIComponent(this.name)) + .then(async res => { + if (res.status === 204) { + alert('OK'); + } else if (res.status === 400) { + let errorResponse = await res.json(); + this.errors.push(errorResponse.error); + } + }); + } + } + } +}) +``` + +We start off with a variable representing the URL of the API that is running on OpenWhisk. Now look at `checkForm`. In this version, we always prevent the form from submitting (which, by the way, could be done in the HTML with Vue as well). You can see a basic check on `this.name` being empty, and then we hit the API. If it's bad, we add an error as before. If it's good, right now we do nothing (just an alert), but you could navigate the user to a new page with the product name in the URL, or do other actions as well. You can run this demo below: + +<p data-height="265" data-theme-id="0" data-slug-hash="BmgzeM" data-default-tab="js,result" data-user="cfjedimaster" data-embed-version="2" data-pen-title="form validation 4" class="codepen">See the Pen <a href="https://codepen.io/cfjedimaster/pen/BmgzeM/">form validation 4</a> by Raymond Camden (<a href="https://codepen.io/cfjedimaster">@cfjedimaster</a>) on <a href="https://codepen.io">CodePen</a>.</p> +<script async src="https://production-assets.codepen.io/assets/embed/ei.js"></script> + +## Alternative Patterns + +While this cookbook entry focused on doing form validation "by hand", there are, of course, some great Vue libraries that will handle a lot of this for you. Switching to a prepackage library may impact the final size of your application, but the benefits could be tremendous. You have code that is (most likely) heavily tested and also updated on a regular basis. Some examples of form validation libraries for Vue include: + +* [vuelidate](https://github.com/monterail/vuelidate) +* [VeeValidate](https://vee-validate.logaretm.com/v3/) diff --git a/src/v2/cookbook/index.md b/src/v2/cookbook/index.md index 1a0f0c24a9..54b401ed02 100644 --- a/src/v2/cookbook/index.md +++ b/src/v2/cookbook/index.md @@ -16,6 +16,8 @@ How is the cookbook different from the guide? Why is this necessary? * **Exploring the Ecosystem**: For advanced features, we assume some ecosystem knowledge. For example, if you want to use single-file components in Webpack, we don't explain how to configure the non-Vue parts of the Webpack config. In the cookbook, we have the space to explore these ecosystem libraries in more depth - at least to the extent that is universally useful for Vue developers. +<p class="tip">With all these differences, please note that the cookbook is still _not_ a step-by-step manual. For most of its content, you are expected to have a basic understanding of concepts like HTML, CSS, JavaScript, npm/yarn, etc.</p> + ## Cookbook Contributions ### What we're looking for diff --git a/src/v2/cookbook/packaging-sfc-for-npm.md b/src/v2/cookbook/packaging-sfc-for-npm.md new file mode 100644 index 0000000000..fd7c9ce485 --- /dev/null +++ b/src/v2/cookbook/packaging-sfc-for-npm.md @@ -0,0 +1,219 @@ +--- +title: Packaging Vue Components for npm +type: cookbook +order: 12 +--- + +## Base Example + +Vue components by nature are meant to be re-used. This is easy when the component is only used within a single application. But how can you write a component once and use it in multiple sites/applications? Perhaps the easiest solution is via npm. + +By packaging your component to be shared via npm, it can be imported/required into a build process for use in full-fledged web applications: + +```js +import MyComponent from 'my-component'; + +export default { + components: { + MyComponent, + }, + // rest of the component +} +``` + +Or even used via `<script>` tag in the browser directly: + +```html + <script src="https://unpkg.com/vue@2"></script> + <script src="https://unpkg.com/my-component"></script> + ... + <my-component></my-component> + ... +``` + +Not only does this help you avoid copy/pasting components around, but it also allows you to give back to the Vue community! + +## Can't I Just Share `.vue` Files Directly? + +Vue already allows components to be written as a single file. Because a Single File Component (SFC) is already just one file, you might ask: + +> "Why can't people use my `.vue` file directly? Isn't that the simplest way to share components?" + +It's true, you can share `.vue` files directly, and anyone using a [Vue build](/v2/guide/installation.html#Explanation-of-Different-Builds) containing the Vue compiler can consume it immediately. Also, the SSR build uses string concatenation as an optimization, so the `.vue` file might be preferred in this scenario (see [Packaging Components for npm > SSR Usage](#SSR-Usage) for details). However, this excludes anyone who wishes to use the component directly in a browser via `<script>` tag, anyone who uses a runtime-only build, or build processes which don't understand what to do with `.vue` files. + +Properly packaging your SFC for distribution via npm enables your component to be shared in a way which is ready to use everywhere! + +## Packaging Components for npm + +For the purposes of this section, assume the following file structure: + +``` +package.json +build/ + rollup.config.js +src/ + wrapper.js + my-component.vue +dist/ +``` + +<p class="tip">Throughout this document, references are made to the package.json file listed above. The file used in these examples was generated by hand, and will include the minimum configuration required for the discussion/task at hand. It is likely your own package.json file will contain a lot more than is listed here.</p> + +### How does npm know which version to serve to a browser/build process? + +The package.json file used by npm really only requires one version (`main`), but as it turns out, we aren't limited to that. We can address the most common use cases by specifying 2 additional versions (`module` and `unpkg`), and provide access to the `.vue` file itself using the `browser` field. A sample package.json would look like this: + +```json +{ + "name": "my-component", + "version": "1.2.3", + "main": "dist/my-component.umd.js", + "module": "dist/my-component.esm.js", + "unpkg": "dist/my-component.min.js", + "browser": { + "./sfc": "src/my-component.vue" + }, + ... +} +``` + +When webpack 2+, Rollup, or other modern build tools are used, they will pick up on the `module` build. Legacy applications would use the `main` build, and the `unpkg` build can be used directly in browsers. In fact, the [unpkg](https://unpkg.com) cdn automatically uses this when someone enters the URL for your module into their service! + +### SSR Usage + +You might have noticed something interesting - browsers aren't going to be using the `browser` version. That's because this field is actually intended to allow authors to provide [hints to bundlers](https://github.com/defunctzombie/package-browser-field-spec#spec) which in turn create their own packages for client side use. With a little creativity, this field allows us to map an alias to the `.vue` file itself. For example: + +```js +import MyComponent from 'my-component/sfc'; // Note the '/sfc' +``` + +Compatible bundlers see the `browser` definition in package.json and translate requests for `my-component/sfc` into `my-component/src/my-component.vue`, resulting in the original `.vue` file being used instead. Now the SSR process can use the string concatenation optimizations it needs to for a boost in performance. + +<p class="tip">Note: When using `.vue` components directly, pay attention to any type of pre-processing required by `script` and `style` tags. These dependencies will be passed on to users. Consider providing 'plain' SFCs to keep things as light as possible.</p> + +### How do I make multiple versions of my component? + +There is no need to write your module multiple times. It is possible to prepare all 3 versions of your module in one step, in a matter of seconds. The example here uses [Rollup](https://rollupjs.org) due to its minimal configuration, but similar configuration is possible with other build tools - more details on this decision can be found [here](https://medium.com/webpack/webpack-and-rollup-the-same-but-different-a41ad427058c). The package.json `scripts` section can be updated with a single entry for each build target, and a more generic `build` script that runs them all in one pass. The sample package.json file now looks like this: + +```json +{ + "name": "my-component", + "version": "1.2.3", + "main": "dist/my-component.umd.js", + "module": "dist/my-component.esm.js", + "unpkg": "dist/my-component.min.js", + "browser": { + "./sfc": "src/my-component.vue" + }, + "scripts": { + "build": "npm run build:umd & npm run build:es & npm run build:unpkg", + "build:umd": "rollup --config build/rollup.config.js --format umd --file dist/my-component.umd.js", + "build:es": "rollup --config build/rollup.config.js --format es --file dist/my-component.esm.js", + "build:unpkg": "rollup --config build/rollup.config.js --format iife --file dist/my-component.min.js" + }, + "devDependencies": { + "rollup": "^1.17.0", + "@rollup/plugin-buble": "^0.21.3", + "@rollup/plugin-commonjs": "^11.1.0", + "rollup-plugin-vue": "^5.0.1", + "vue": "^2.6.10", + "vue-template-compiler": "^2.6.10" + ... + }, + ... +} +``` + +<p class="tip">Remember, if you have an existing package.json file, it will likely contain a lot more than this one does. This merely illustrates a starting point. Also, the <i>packages</i> listed in devDependencies (not their versions) are the minimum requirements for rollup to create the three separate builds (umd, es, and unpkg) mentioned. As newer versions become available, they should be updated as necessary.</p> + +Our changes to package.json are complete. Next, we need a small wrapper to export/auto-install the actual SFC, plus a minimal Rollup configuration, and we're set! + +### What does my packaged component look like? + +Depending on how your component is being used, it needs to be exposed as either a [CommonJS/UMD](https://medium.freecodecamp.org/javascript-modules-a-beginner-s-guide-783f7d7a5fcc#c33a) javascript module, an [ES6 javascript](https://medium.freecodecamp.org/javascript-modules-a-beginner-s-guide-783f7d7a5fcc#4f5e) module, or in the case of a `<script>` tag, it will be automatically loaded into Vue via `Vue.use(...)` so it's immediately available to the page. This is accomplished by a simple wrapper.js file which handles the module export and auto-install. That wrapper, in its entirety, looks like this: + +```js +// Import vue component +import component from './my-component.vue'; + +// Declare install function executed by Vue.use() +export function install(Vue) { + if (install.installed) return; + install.installed = true; + Vue.component('MyComponent', component); +} + +// Create module definition for Vue.use() +const plugin = { + install, +}; + +// Auto-install when vue is found (eg. in browser via <script> tag) +let GlobalVue = null; +if (typeof window !== 'undefined') { + GlobalVue = window.Vue; +} else if (typeof global !== 'undefined') { + GlobalVue = global.Vue; +} +if (GlobalVue) { + GlobalVue.use(plugin); +} + +// To allow use as module (npm/webpack/etc.) export component +export default component; +``` + +Notice the first line directly imports your SFC, and the last line exports it unchanged. As indicated by the comments in the rest of the code, the wrapper provides an `install` function for Vue, then attempts to detect Vue and automatically install the component. With 90% of the work done, it's time to sprint to the finish! + +### How do I configure the Rollup build? + +With the package.json `scripts` section ready and the SFC wrapper in place, all that is left is to ensure Rollup is properly configured. Fortunately, this can be done with a small 16 line rollup.config.js file: + +```js +import commonjs from '@rollup/plugin-commonjs'; // Convert CommonJS modules to ES6 +import vue from 'rollup-plugin-vue'; // Handle .vue SFC files +import buble from '@rollup/plugin-buble'; // Transpile/polyfill with reasonable browser support +export default { + input: 'src/wrapper.js', // Path relative to package.json + output: { + name: 'MyComponent', + exports: 'named', + }, + plugins: [ + commonjs(), + vue({ + css: true, // Dynamically inject css as a <style> tag + compileTemplate: true, // Explicitly convert template to render function + }), + buble(), // Transpile to ES5 + ], +}; +``` + +This sample config file contains the minimum settings to package your SFC for npm. There is room for customization, such as extracting CSS to a separate file, using a CSS preprocessor, uglifying the JS output, etc. + +Also, it is worth noting the `name` given the component here. This is a PascalCase name that the component will be given, and should correspond with the kebab-case name used elsewhere throughout this recipe. + +### Will this replace my current development process? + +The configuration here is not meant to replace the development process that you currently use. If you currently have a webpack setup with hot module reloading (HMR), keep using it! If you're starting from scratch, feel free to install [Vue CLI 3](https://github.com/vuejs/vue-cli/), which will give you the whole HMR experience config free: + +```bash +vue serve --open src/my-component.vue +``` + +In other words, do all of your development in whatever way you are comfortable. The things outlined in this recipe are more like 'finishing touches' than a full dev process. + +## When to Avoid this Pattern + +Packaging SFCs in this manner might not be a good idea in certain scenarios. This recipe doesn't go into detail on how the components themselves are written. Some components might provide side effects like directives, or extend other libraries with additional functionality. In those cases, you will need to evaluate whether or not the changes required to this recipe are too extensive. + +In addition, pay attention to any dependencies that your SFC might have. For example, if you require a third party library for sorting or communication with an API, Rollup might roll those packages into the final code if not properly configured. To continue using this recipe, you would need to configure Rollup to exclude those files from the output, then update your documentation to inform your users about these dependencies. + +## Alternative Patterns + +At the time this recipe was written, Vue CLI 3 was itself in beta. This version of the CLI comes with a built-in `library` build mode, which creates CommonJS and UMD versions of a component. This might be adequate for your use cases, though you will still need to make sure your package.json file points to `main` and `unpkg` properly. Also, there will be no ES6 `module` output unless that capability is added to the CLI before its release or via plugin. + +## Acknowledgements + +This recipe is the result of a lightning talk given by [Mike Dodge](https://twitter.com/webdevdodge) at VueConf.us in March 2018. He has published a utility to npm which will quickly scaffold a sample SFC using this recipe. You can download the utility, [vue-sfc-rollup](https://www.npmjs.com/package/vue-sfc-rollup), from npm. You can also [clone the repo](https://github.com/team-innovation/vue-sfc-rollup) and customize it. diff --git a/src/v2/cookbook/practical-use-of-scoped-slots.md b/src/v2/cookbook/practical-use-of-scoped-slots.md new file mode 100644 index 0000000000..d2bea11194 --- /dev/null +++ b/src/v2/cookbook/practical-use-of-scoped-slots.md @@ -0,0 +1,387 @@ +--- +title: Practical use of scoped slots with GoogleMaps +type: cookbook +order: 14 +--- + +## Base Example + +There are situations when you want the template inside the slot to be able to access data from the child component that is responsible for rendering the slot content. This is particularly useful when you need freedom in creating custom templates that use the child component's data properties. That is a typical use case for scoped slots. + +Imagine a component that configures and prepares an external API to be used in another component, but is not tightly coupled with any specific template. Such a component could then be reused in multiple places rendering different templates but using the same base object with specific API. + +We'll create a component (`GoogleMapLoader.vue`) that: +1. Initializes the [Google Maps API](https://developers.google.com/maps/documentation/javascript/reference/) +2. Creates `google` and `map` objects +3. Exposes those objects to the parent component in which the `GoogleMapLoader` is used + +Below is an example of how this can be achieved. We will analyze the code piece-by-piece and see what is actually happening in the next section. + +Let’s first establish our `GoogleMapLoader.vue` template: + +```html +<template> + <div> + <div class="google-map" ref="googleMap"></div> + <template v-if="Boolean(this.google) && Boolean(this.map)"> + <slot + :google="google" + :map="map" + /> + </template> + </div> +</template> +``` + +Now, our script needs to pass some props to the component which allows us to set the [Google Maps API](https://developers.google.com/maps/documentation/javascript/reference/) and [Map object](https://developers.google.com/maps/documentation/javascript/reference/map#Map): + +```js +import GoogleMapsApiLoader from 'google-maps-api-loader' + +export default { + props: { + mapConfig: Object, + apiKey: String, + }, + + data() { + return { + google: null, + map: null + } + }, + + async mounted() { + const googleMapApi = await GoogleMapsApiLoader({ + apiKey: this.apiKey + }) + this.google = googleMapApi + this.initializeMap() + }, + + methods: { + initializeMap() { + const mapContainer = this.$refs.googleMap + this.map = new this.google.maps.Map( + mapContainer, this.mapConfig + ) + } + } +} +``` + +This is just part of a working example, you can find the whole example in the Codesandbox below. + +<iframe src="https://codesandbox.io/embed/1o45zvxk0q" style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"></iframe> + +## Real-World Example: Creating a Google Map Loader component + +### 1. Create a component that initializes our map + +`GoogleMapLoader.vue` + +In the template, we create a container for the map which will be used to mount the [Map](https://developers.google.com/maps/documentation/javascript/reference/map#Map) object extracted from the Google Maps API. + +```html +<template> + <div> + <div class="google-map" ref="googleMap"></div> + </div> +</template> +``` + +Next up, our script needs to receive props from the parent component which will allow us to set the Google Map. Those props consist of: + +- [mapConfig](https://developers.google.com/maps/documentation/javascript/reference/3/map#MapOptions): Google Maps config object +- [apiKey](https://developers.google.com/maps/documentation/javascript/get-api-key): Our personal api key required by Google Maps + +```js +import GoogleMapsApiLoader from 'google-maps-api-loader' + +export default { + props: { + mapConfig: Object, + apiKey: String, + }, +``` +Then, we set the initial values of google and map to null: + +```js + data() { + return { + google: null, + map: null + } + }, +``` + +On `mounted` hook we instantiate a `googleMapApi` and `Map` objects from the `GoogleMapsApi` and we set the values of `google` and `map` to the created instances: + +```js + async mounted() { + const googleMapApi = await GoogleMapsApiLoader({ + apiKey: this.apiKey + }) + this.google = googleMapApi + this.initializeMap() + }, + + methods: { + initializeMap() { + const mapContainer = this.$refs.googleMap + this.map = new this.google.maps.Map(mapContainer, this.mapConfig) + } + } +} +``` + +So far, so good. With all that done, we could continue adding the other objects to the map (Markers, Polylines, etc.) and use it as an ordinary map component. + +But, we want to use our `GoogleMapLoader` component only as a loader that prepares the map — we don’t want to render anything on it. + +To achieve that, we need to allow the parent component that will use our `GoogleMapLoader` to access `this.google` and `this.map` that are set inside the `GoogleMapLoader` component. That’s where [scoped slots](/v2/guide/components-slots.html#Scoped-Slots) really shine. Scoped slots allow us to expose the properties set in a child component to the parent component. It may sound like Inception, but bear with me one more minute as we break that down further. + +### 2. Create component that uses our initializer component. + +`TravelMap.vue` + +In the template, we render the `GoogleMapLoader` component and pass props that are required to initialize the map. + +```html +<template> + <GoogleMapLoader + :mapConfig="mapConfig" + apiKey="yourApiKey" + /> +</template> +``` + +Our script tag will look like this: + +```js +<script> +import GoogleMapLoader from './GoogleMapLoader' +import { mapSettings } from '@/constants/mapSettings' + +export default { + components: { + GoogleMapLoader + }, + + computed: { + mapConfig () { + return { + ...mapSettings, + center: { lat: 0, lng: 0 } + } + }, + }, +} +</script> +``` + +Still no scoped slots, so let's add one. + +### 3. Expose `google` and `map` properties to the parent component by adding a scoped slot. + +Finally, we can add a scoped slot that will do the job and allow us to access the child component props in the parent component. We do that by adding the `<slot>` tag in the child component and passing the props that we want to expose (using `v-bind` directive or `:propName` shorthand). It does not differ from passing the props down to the child component, but doing it in the `<slot>` tag will reverse the direction of data flow. + +`GoogleMapLoader.vue` + +```html +<template> + <div> + <div class="google-map" ref="googleMap"></div> + <template v-if="Boolean(this.google) && Boolean(this.map)"> + <slot + :google="google" + :map="map" + /> + </template> + </div> +</template> +``` + +Now, when we have the slot in the child component, we need to receive and consume the exposed props in the parent component. + +### 4. Receive exposed props in the parent component using `slot-scope` attribute. + +To receive the props in the parent component, we declare a template element and use the `slot-scope` attribute. This attribute has access to the object carrying all the props exposed from the child component. We can grab the whole object or we can [de-structure that object](/v2/guide/components-slots.html#Destructuring-slot-scope) and only what we need. + +Let’s de-structure this thing to get what we need. + +`TravelMap.vue` + +```html +<GoogleMapLoader + :mapConfig="mapConfig" + apiKey="yourApiKey" +> + <template slot-scope="{ google, map }"> + {{ map }} + {{ google }} + </template> +</GoogleMapLoader> +``` + +Even though the `google` and `map` props do not exist in the `TravelMap` scope, the component has access to them and we can use them in the template. + +You might wonder why would we do things like that and what is the use of all that? + +Scoped slots allow us to pass a template to the slot instead of a rendered element. It’s called a `scoped` slot because it will have access to certain child component data even though the template is rendered in the parent component scope. This gives us the freedom to fill the template with custom content from the parent component. + +### 5. Create factory components for Markers and Polylines + +Now when we have our map ready we will create two factory components that will be used to add elements to the `TravelMap`. + +`GoogleMapMarker.vue` + +```js +import { POINT_MARKER_ICON_CONFIG } from '@/constants/mapSettings' + +export default { + props: { + google: { + type: Object, + required: true + }, + map: { + type: Object, + required: true + }, + marker: { + type: Object, + required: true + } + }, + + mounted() { + new this.google.maps.Marker({ + position: this.marker.position, + marker: this.marker, + map: this.map, + icon: POINT_MARKER_ICON_CONFIG + }) + } +} +``` + +`GoogleMapLine.vue` + +```js +import { LINE_PATH_CONFIG } from '@/constants/mapSettings' + +export default { + props: { + google: { + type: Object, + required: true + }, + map: { + type: Object, + required: true + }, + path: { + type: Array, + required: true + } + }, + + mounted() { + new this.google.maps.Polyline({ + path: this.path, + map: this.map, + ...LINE_PATH_CONFIG + }) + } +} +``` + +Both of these receive `google` that we use to extract the required object (Marker or Polyline) as well as `map` which gives as a reference to the map on which we want to place our element. + +Each component also expects an extra prop to create a corresponding element. In this case, we have `marker` and `path`, respectively. + +On the mounted hook, we create an element (Marker/Polyline) and attach it to our map by passing the `map` property to the object constructor. + +There’s still one more step to go... + +### 6. Add elements to map + +Let’s use our factory components to add elements to our map. We must render the factory component and pass the `google` and `map` objects so data flows to the right places. + +We also need to provide the data that’s required by the element itself. In our case, that’s the `marker` object with the position of the marker and the `path` object with Polyline coordinates. + +Here we go, integrating the data points directly into the template: + +```html +<GoogleMapLoader + :mapConfig="mapConfig" + apiKey="yourApiKey" +> + <template slot-scope="{ google, map }"> + <GoogleMapMarker + v-for="marker in markers" + :key="marker.id" + :marker="marker" + :google="google" + :map="map" + /> + <GoogleMapLine + v-for="line in lines" + :key="line.id" + :path.sync="line.path" + :google="google" + :map="map" + /> + </template> +</GoogleMapLoader> +``` + +We need to import the required factory components in our script and set the data that will be passed to the markers and lines: + +```js +import { mapSettings } from '@/constants/mapSettings' + +export default { + components: { + GoogleMapLoader, + GoogleMapMarker, + GoogleMapLine + }, + + data () { + return { + markers: [ + { id: 'a', position: { lat: 3, lng: 101 } }, + { id: 'b', position: { lat: 5, lng: 99 } }, + { id: 'c', position: { lat: 6, lng: 97 } }, + ], + lines: [ + { id: '1', path: [{ lat: 3, lng: 101 }, { lat: 5, lng: 99 }] }, + { id: '2', path: [{ lat: 5, lng: 99 }, { lat: 6, lng: 97 }] } + ], + } + }, + + computed: { + mapConfig () { + return { + ...mapSettings, + center: this.mapCenter + } + }, + + mapCenter () { + return this.markers[1].position + } + }, +} +``` + +## When To Avoid This Pattern +It might be tempting to create a very complex solution based on the example, but at some point we can get to the situation where this abstraction becomes an independent part of the code living in our codebase. If we get to that point it might be worth considering extraction to an add-on. + +## Wrapping Up +That's it. With all those bits and pieces created we can now re-use the `GoogleMapLoader` component as a base for all our maps by passing different templates to each one of them. Imagine that you need to create another map with different Markers or just Markers without Polylines. By using the above pattern it becomes very easy as we just need to pass different content to the `GoogleMapLoader` component. + +This pattern is not strictly connected to Google Maps; it can be used with any library to set the base component and expose the library's API that might be then used in the component that summoned the base component. diff --git a/src/v2/cookbook/serverless-blog.md b/src/v2/cookbook/serverless-blog.md index 6044f46304..45dd6e3987 100644 --- a/src/v2/cookbook/serverless-blog.md +++ b/src/v2/cookbook/serverless-blog.md @@ -7,24 +7,30 @@ order: 5 So you've just launched your Vue.js website, congrats! Now you want to add a blog that quickly plugs into your website and you don't want to have to spin up a whole server just to host a Wordpress instance (or any DB-powered CMS for that matter). You want to just be able to add a few Vue.js blog components and some routes and have it all just work, right? What you're looking for is a blog that's powered entirely by API's you can consume directly from your Vue.js application. This tutorial will teach you how to do just that, let's dive in! We're going to quickly build a CMS-powered blog with Vue.js. It uses [ButterCMS](https://buttercms.com/), an API-first CMS that lets you manage content using the ButterCMS dashboard and integrate our content API into your Vue.js app. You can use ButterCMS for new or existing Vue.js projects. - +  ## Install Run this in your commandline: -`npm install buttercms --save` +```bash +npm install buttercms --save +``` -Butter can also be loaded using a CDN: +Butter can also be loaded using a CDN: -`<script src="https://cdnjs.buttercms.com/buttercms-1.1.0.min.js"></script>` +```html +<script src="https://cdnjs.buttercms.com/buttercms-1.1.0.min.js"></script> +``` ## Quickstart Set your API token: -`var butter = require('buttercms')('your_api_token');` +```javascript +var butter = require('buttercms')('your_api_token'); +``` Using ES6: @@ -33,7 +39,7 @@ import Butter from 'buttercms'; const butter = Butter('your_api_token'); ``` -Using CDN: +Using CDN: ```html <script src="https://cdnjs.buttercms.com/buttercms-1.1.0.min.js"></script> @@ -41,9 +47,9 @@ Using CDN: var butter = Butter('your_api_token'); </script> ``` - + Import this file into any component you want to use ButterCMS. Then from the console run: - + ```javascript butter.post.list({page: 1, page_size: 10}).then(function(response) { console.log(response) @@ -54,7 +60,7 @@ This API request fetches your blog posts. Your account comes with one example po ## Display posts -To display posts we create a `/blog` route (using Vue Router) in our app and fetch blog posts from the Butter API, as well as a `/blog/:slug` route to handle individual posts. +To display posts we create a `/blog` route (using Vue Router) in our app and fetch blog posts from the Butter API, as well as a `/blog/:slug` route to handle individual posts. See the ButterCMS [API reference](https://buttercms.com/docs/api/?javascript#blog-posts) for additional options such as filtering by category or author. The response also includes some metadata we'll use for pagination. @@ -103,7 +109,7 @@ Then create `components/BlogHome.vue` which will be your blog homepage that list butter.post.list({ page: 1, page_size: 10 - }).then((res) => { + }).then(res => { this.posts = res.data.data }) } @@ -118,14 +124,25 @@ Then create `components/BlogHome.vue` which will be your blog homepage that list <div id="blog-home"> <h1>{{ page_title }}</h1> <!-- Create `v-for` and apply a `key` for Vue. Here we are using a combination of the slug and index. --> - <div v-for="(post,index) in posts" :key="post.slug + '_' + index"> + <div + v-for="(post,index) in posts" + :key="post.slug + '_' + index" + > <router-link :to="'/blog/' + post.slug"> <article class="media"> <figure> <!-- Bind results using a `:` --> - <!-- Use a `v-if`/`else` if their is a `featured_image` --> - <img v-if="post.featured_image" :src="post.featured_image" alt=""> - <img v-else src="http://via.placeholder.com/250x250" alt=""> + <!-- Use a `v-if`/`else` if there is a `featured_image` --> + <img + v-if="post.featured_image" + :src="post.featured_image" + alt="" + > + <img + v-else + src="http://via.placeholder.com/250x250" + alt="" + > </figure> <h2>{{ post.title }}</h2> <p>{{ post.summary }}</p> @@ -155,9 +172,9 @@ Now create `components/BlogPost.vue` which will be your Blog Post page to list a methods: { getPost() { butter.post.retrieve(this.$route.params.slug) - .then((res) => { + .then(res => { this.post = res.data - }).catch((res) => { + }).catch(res => { console.log(res) }) } @@ -174,10 +191,18 @@ Now create `components/BlogPost.vue` which will be your Blog Post page to list a <h4>{{ post.data.author.first_name }} {{ post.data.author.last_name }}</h4> <div v-html="post.data.body"></div> - <router-link v-if="post.meta.previous_post" :to="/blog/ + post.meta.previous_post.slug" class="button"> + <router-link + v-if="post.meta.previous_post" + :to="/blog/ + post.meta.previous_post.slug" + class="button" + > {{ post.meta.previous_post.title }} </router-link> - <router-link v-if="post.meta.next_post" :to="/blog/ + post.meta.next_post.slug" class="button"> + <router-link + v-if="post.meta.next_post" + :to="/blog/ + post.meta.next_post.slug" + class="button" + > {{ post.meta.next_post.title }} </router-link> </div> @@ -190,7 +215,7 @@ Here's a preview: Now our app is pulling all blog posts and we can navigate to individual posts. However, our next/previous post buttons are not working. -One thing to note when using routes with params is that when the user navigates from `/blog/foo` to `/blog/bar`, the same component instance will be reused. Since both routes render the same component, this is more efficient than destroying the old instance and then creating a new one. +One thing to note when using routes with params is that when the user navigates from `/blog/foo` to `/blog/bar`, the same component instance will be reused. Since both routes render the same component, this is more efficient than destroying the old instance and then creating a new one. <p class="tip">Be aware, that using the component this way will mean that the lifecycle hooks of the component will not be called. Visit the Vue Router's docs to learn more about [Dynamic Route Matching](https://router.vuejs.org/en/essentials/dynamic-matching.html)</p> @@ -205,27 +230,26 @@ Updated `<script>` section in `components/BlogPost.vue`: name: 'blog-post', data() { return { - post: {} + post: null } }, methods: { getPost() { butter.post.retrieve(this.$route.params.slug) - .then((res) => { - // console.log(res.data) + .then(res => { this.post = res.data - }).catch((res) => { + }).catch(res => { console.log(res) }) } }, watch: { - $route(to, from) { - this.getPost() + $route: { + immediate: true, + handler(to, from) { + this.getPost() + } } - }, - created() { - this.getPost() } } </script> @@ -247,10 +271,10 @@ Here's an example of listing all categories and getting posts by category. Call ```javascript methods: { - ... + // ... getCategories() { butter.category.list() - .then((res) => { + .then(res => { console.log('List of Categories:') console.log(res.data.data) }) @@ -259,14 +283,14 @@ methods: { butter.category.retrieve('example-category', { include: 'recent_posts' }) - .then((res) => { + .then(res => { console.log('Posts with specific category:') console.log(res) }) } }, created() { - ... + // ... this.getCategories() this.getPostsByCategory() } @@ -274,7 +298,7 @@ created() { ## Alternative Patterns -An alternative pattern to consider, especially if you prefer writing only in Markdown, is using something like [Nuxtent](https://nuxtent.now.sh/guide/writing#async-components). Nuxtent allows you to use `Vue Component` inside of Markdown files. This approach would be akin to a static site approach (i.e. Jekyll) where you compose your blog posts in Markdown files. Nuxtent adds a nice integration between Vue.js and Markdown allowing you to live in a 100% Vue.js world. +An alternative pattern to consider, especially if you prefer writing only in Markdown, is using something like [Nuxtent](https://nuxtent-module.netlify.com/guide/writing/#async-components). Nuxtent allows you to use `Vue Component` inside of Markdown files. This approach would be akin to a static site approach (i.e. Jekyll) where you compose your blog posts in Markdown files. Nuxtent adds a nice integration between Vue.js and Markdown allowing you to live in a 100% Vue.js world. ## Wrap up diff --git a/src/v2/cookbook/unit-testing-vue-components.md b/src/v2/cookbook/unit-testing-vue-components.md index 95bea7fb02..e22e584bd7 100644 --- a/src/v2/cookbook/unit-testing-vue-components.md +++ b/src/v2/cookbook/unit-testing-vue-components.md @@ -14,7 +14,7 @@ This simple example tests whether some text is rendered: <template> <div> <input v-model="username"> - <div + <div v-if="error" class="error" > @@ -44,11 +44,12 @@ export default { ``` ```js -import { shallow } from '@vue/test-utils' +import { shallowMount } from '@vue/test-utils' +import Hello from './Hello.vue' -test('Foo', () => { +test('Hello', () => { // render the component - const wrapper = shallow(Hello) + const wrapper = shallowMount(Hello) // should not allow for `username` less than 7 characters, excludes whitespace wrapper.setData({ username: ' '.repeat(7) }) @@ -57,9 +58,7 @@ test('Foo', () => { expect(wrapper.find('.error').exists()).toBe(true) // update the name to be long enough - wrapper.setData({ - username: 'Lachlan' - }) + wrapper.setData({ username: 'Lachlan' }) // assert the error has gone away expect(wrapper.find('.error').exists()).toBe(false) @@ -82,7 +81,7 @@ Automated testing allows large teams of developers to maintain complex codebases #### Getting started -[Vue Test Utils](https://github.com/vuejs/vue-test-utils) is the official library for unit testing Vue components. The [vue-cli](https://github.com/vuejs/vue-cli) `webpack` template comes with either Karma or Jest, both well supported test runners, and there are some [guides](https://vue-test-utils.vuejs.org/en/guides/) in the Vue Test Utils documentation. +[Vue Test Utils](https://github.com/vuejs/vue-test-utils) is the official library for unit testing Vue components. The [vue-cli](https://github.com/vuejs/vue-cli) `webpack` template comes with either Karma or Jest, both well supported test runners, and there are some [guides](https://vue-test-utils.vuejs.org/guides/) in the Vue Test Utils documentation. ## Real-World Example @@ -107,7 +106,7 @@ Let's take a look at the component code first: {{ message }} </div> Enter your username: <input v-model="username"> - <div + <div v-if="error" class="error" > @@ -145,26 +144,29 @@ The things that we should test are: And our first attempt at test: ```js -import { shallow } from '@vue/test-utils' +import { shallowMount } from '@vue/test-utils' +import Foo from './Foo.vue' describe('Foo', () => { it('renders a message and responds correctly to user input', () => { - const wrapper = shallow(Foo, { - data: { - message: 'Hello World', - username: '' - } - }) - - // see if the message renders - expect(wrapper.find('.message').text()).toEqual('Hello World') - - // assert the error is rendered - expect(wrapper.find('.error').exists()).toBeTruthy() + const wrapper = shallowMount(Foo, { + data() { + return { + message: 'Hello World', + username: '' + } + } + }) + + // see if the message renders + expect(wrapper.find('.message').text()).toEqual('Hello World') + + // assert the error is rendered + expect(wrapper.find('.error').exists()).toBeTruthy() - // update the `username` and assert error is no longer rendered - wrapper.setData({ username: 'Lachlan' }) - expect(wrapper.find('.error').exists()).toBeFalsy() + // update the `username` and assert error is no longer rendered + wrapper.setData({ username: 'Lachlan' }) + expect(wrapper.find('.error').exists()).toBeFalsy() }) }) ``` @@ -183,12 +185,16 @@ The below example improves the test by: *Updated test*: ```js -import { shallow } from '@vue/test-utils' +import { shallowMount } from '@vue/test-utils' import Foo from './Foo' const factory = (values = {}) => { - return shallow(Foo, { - data: { ...values } + return shallowMount(Foo, { + data () { + return { + ...values + } + } }) } @@ -221,7 +227,7 @@ describe('Foo', () => { Points to note: -At the top, we declare the factory function which merges the `values` object into `data` and returns a new `wrapper` instance. This way, we don't need to duplicate `const wrapper = shallow(Foo)` in every test. Another great benefit to this is when more complex components with a method or computed property you might want to mock or stub in every test, you only need to declare it once. +At the top, we declare the factory function which merges the `values` object into `data` and returns a new `wrapper` instance. This way, we don't need to duplicate `const wrapper = shallowMount(Foo)` in every test. Another great benefit to this is when more complex components with a method or computed property you might want to mock or stub in every test, you only need to declare it once. ## Additional Context @@ -231,7 +237,7 @@ The above test is fairly simple, but in practice Vue components often have other - committing or dispatching mutations or actions with a `Vuex` store - testing interaction -There are more complete examples showing such tests in the Vue Test Utils [guides](https://vue-test-utils.vuejs.org/en/guides/). +There are more complete examples showing such tests in the Vue Test Utils [guides](https://vue-test-utils.vuejs.org/guides/). Vue Test Utils and the enormous JavaScript ecosystem provides plenty of tooling to facilitate almost 100% test coverage. Unit tests are only one part of the testing pyramid, though. Some other types of tests include e2e (end to end) tests, and snapshot tests. Unit tests are the smallest and most simple of tests - they make assertions on the smallest units of work, isolating each part of a single component. diff --git a/src/v2/cookbook/using-axios-to-consume-apis.md b/src/v2/cookbook/using-axios-to-consume-apis.md index 02ecbfdf7e..584478e368 100644 --- a/src/v2/cookbook/using-axios-to-consume-apis.md +++ b/src/v2/cookbook/using-axios-to-consume-apis.md @@ -61,7 +61,10 @@ This is a lot easier for us to display, so we can now update our HTML to display ```html <div id="app"> <h1>Bitcoin Price Index</h1> - <div v-for="currency in info" class="currency"> + <div + v-for="currency in info" + class="currency" + > {{ currency.description }}: <span class="lighten"> <span v-html="currency.symbol"></span>{{ currency.rate_float | currencydecimal }} @@ -141,7 +144,11 @@ new Vue({ <section v-else> <div v-if="loading">Loading...</div> - <div v-else v-for="currency in info" class="currency"> + <div + v-else + v-for="currency in info" + class="currency" + > {{ currency.description }}: <span class="lighten"> <span v-html="currency.symbol"></span>{{ currency.rate_float | currencydecimal }} diff --git a/src/v2/examples/commits.md b/src/v2/examples/commits.md index 7481498d3a..7acb346822 100644 --- a/src/v2/examples/commits.md +++ b/src/v2/examples/commits.md @@ -6,4 +6,4 @@ order: 1 > This example fetches latest Vue.js commits data from GitHub's API and displays them as a list. You can switch between the master and dev branches. -<iframe width="100%" height="500" src="https://jsfiddle.net/yyx990803/c5g8xnar/embedded/result,html,js,css" allowfullscreen="allowfullscreen" frameborder="0"></iframe> +<iframe src="https://codesandbox.io/embed/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-github-commits?codemirror=1&hidedevtools=1&hidenavigation=1&theme=light" style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;" title="vue-20-template-compilation" allow="geolocation; microphone; camera; midi; vr; accelerometer; gyroscope; payment; ambient-light-sensor; encrypted-media; usb" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"></iframe> diff --git a/src/v2/examples/deepstream.md b/src/v2/examples/deepstream.md index 382e3bd3b8..acae9a0be8 100644 --- a/src/v2/examples/deepstream.md +++ b/src/v2/examples/deepstream.md @@ -6,4 +6,4 @@ order: 9 > This example uses [deepstreamHub](https://deepstreamhub.com/) to synchronize realtime data, send events and make remote procedure calls between clients (you can try opening it in multiple browser windows). -<iframe width="100%" height="500" src="https://jsfiddle.net/yyx990803/ff0sp9hw/embedded/result,html,js,css" allowfullscreen="allowfullscreen" frameborder="0"></iframe> +<iframe src="https://codesandbox.io/embed/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-realtime-with-deepstreamhub?codemirror=1&hidedevtools=1&hidenavigation=1&theme=light" style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;" title="vue-20-template-compilation" allow="geolocation; microphone; camera; midi; vr; accelerometer; gyroscope; payment; ambient-light-sensor; encrypted-media; usb" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"></iframe> diff --git a/src/v2/examples/elastic-header.md b/src/v2/examples/elastic-header.md index 186ba37a92..0c16def661 100644 --- a/src/v2/examples/elastic-header.md +++ b/src/v2/examples/elastic-header.md @@ -4,4 +4,4 @@ type: examples order: 7 --- -<iframe width="100%" height="500" src="https://jsfiddle.net/yyx990803/y91wy85p/embedded/result,html,js,css" allowfullscreen="allowfullscreen" frameborder="0"></iframe> +<iframe src="https://codesandbox.io/embed/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-elastic-header?codemirror=1&hidedevtools=1&hidenavigation=1&theme=light" style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;" title="vue-20-template-compilation" allow="geolocation; microphone; camera; midi; vr; accelerometer; gyroscope; payment; ambient-light-sensor; encrypted-media; usb" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"></iframe> diff --git a/src/v2/examples/firebase.md b/src/v2/examples/firebase.md index e67c6c0f7c..944602ac1e 100644 --- a/src/v2/examples/firebase.md +++ b/src/v2/examples/firebase.md @@ -6,4 +6,4 @@ order: 10 > This example uses [Firebase](https://firebase.google.com/) as the data persistence backend and syncs between clients in real time (you can try opening it in multiple browser tabs). In addition, it performs instant validation using computed properties and triggers CSS transitions when adding/removing items. -<iframe width="100%" height="500" src="https://jsfiddle.net/chrisvfritz/pyLbpzzx/embedded/result,html,js,css" allowfullscreen="allowfullscreen" frameborder="0"></iframe> +<iframe src="https://codesandbox.io/embed/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-firebase-validation?codemirror=1&hidedevtools=1&hidenavigation=1&theme=light" style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;" title="vue-20-template-compilation" allow="geolocation; microphone; camera; midi; vr; accelerometer; gyroscope; payment; ambient-light-sensor; encrypted-media; usb" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"></iframe> diff --git a/src/v2/examples/grid-component.md b/src/v2/examples/grid-component.md index 19b339cb15..5d2825af8a 100644 --- a/src/v2/examples/grid-component.md +++ b/src/v2/examples/grid-component.md @@ -6,4 +6,4 @@ order: 3 > This is an example of creating a reusable grid component and using it with external data. -<iframe width="100%" height="500" src="https://jsfiddle.net/yyx990803/xkkbfL3L/embedded/result,html,js,css" allowfullscreen="allowfullscreen" frameborder="0"></iframe> +<iframe src="https://codesandbox.io/embed/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-grid-component?codemirror=1&hidedevtools=1&hidenavigation=1&theme=light" style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;" title="vue-20-template-compilation" allow="geolocation; microphone; camera; midi; vr; accelerometer; gyroscope; payment; ambient-light-sensor; encrypted-media; usb" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"></iframe> diff --git a/src/v2/examples/hackernews.md b/src/v2/examples/hackernews.md index 9f87349a16..32e9b60f38 100644 --- a/src/v2/examples/hackernews.md +++ b/src/v2/examples/hackernews.md @@ -8,13 +8,13 @@ order: 12 {% raw %} <div style="max-width: 600px;"> - <a href="https://github.com/vuejs/vue-hackernews-2.0" target="_blank"> + <a href="https://github.com/vuejs/vue-hackernews-2.0" target="_blank" rel="noopener noreferrer"> <img style="width: 100%;" src="../../images/hn.png"> </a> </div> {% endraw %} -> [Live Demo](https://vue-hn.now.sh/) +> [Live Demo](https://vue-hn.herokuapp.com/) > Note: the demo may need some spin up time if nobody has accessed it for a certain period. > > [[Source](https://github.com/vuejs/vue-hackernews-2.0)] diff --git a/src/v2/examples/index.md b/src/v2/examples/index.md index 5fdff15702..374ac9f384 100644 --- a/src/v2/examples/index.md +++ b/src/v2/examples/index.md @@ -6,4 +6,4 @@ order: 0 > Dead simple Markdown editor. -<iframe width="100%" height="500" src="https://jsfiddle.net/chrisvfritz/0dzvcf4d/embedded/result,html,js,css" allowfullscreen="allowfullscreen" frameborder="0"></iframe> +<iframe src="https://codesandbox.io/embed/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-markdown-editor?codemirror=1&hidedevtools=1&hidenavigation=1&theme=light" style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;" title="vue-20-template-compilation" allow="geolocation; microphone; camera; midi; vr; accelerometer; gyroscope; payment; ambient-light-sensor; encrypted-media; usb" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"></iframe> diff --git a/src/v2/examples/modal.md b/src/v2/examples/modal.md index fc1e0a9e3f..76ab7debd4 100644 --- a/src/v2/examples/modal.md +++ b/src/v2/examples/modal.md @@ -6,4 +6,4 @@ order: 6 > Features used: component, prop passing, content insertion, transitions. -<iframe width="100%" height="500" src="https://jsfiddle.net/yyx990803/mwLbw11k/embedded/result,html,js,css" allowfullscreen="allowfullscreen" frameborder="0"></iframe> +<iframe src="https://codesandbox.io/embed/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-modal-component?codemirror=1&hidedevtools=1&hidenavigation=1&theme=light" style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;" title="vue-20-template-compilation" allow="geolocation; microphone; camera; midi; vr; accelerometer; gyroscope; payment; ambient-light-sensor; encrypted-media; usb" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"></iframe> diff --git a/src/v2/examples/select2.md b/src/v2/examples/select2.md index 0731a39471..ca2d885c61 100644 --- a/src/v2/examples/select2.md +++ b/src/v2/examples/select2.md @@ -6,4 +6,4 @@ order: 8 > In this example we are integrating a 3rd party jQuery plugin (select2) by wrapping it inside a custom component. -<iframe width="100%" height="500" src="https://jsfiddle.net/chrisvfritz/d131Lebj/embedded/result,html,js,css" allowfullscreen="allowfullscreen" frameborder="0"></iframe> +<iframe src="https://codesandbox.io/embed/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-wrapper-component?codemirror=1&hidedevtools=1&hidenavigation=1&theme=light" style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;" title="vue-20-template-compilation" allow="geolocation; microphone; camera; midi; vr; accelerometer; gyroscope; payment; ambient-light-sensor; encrypted-media; usb" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"></iframe> diff --git a/src/v2/examples/svg.md b/src/v2/examples/svg.md index 38756f623e..f153b9db52 100644 --- a/src/v2/examples/svg.md +++ b/src/v2/examples/svg.md @@ -6,4 +6,4 @@ order: 5 > This example showcases a combination of custom component, computed property, two-way binding and SVG support. -<iframe width="100%" height="500" src="https://jsfiddle.net/yyx990803/mhrckqgq/embedded/result,html,js,css" allowfullscreen="allowfullscreen" frameborder="0"></iframe> +<iframe src="https://codesandbox.io/embed/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-svg-graph?codemirror=1&hidedevtools=1&hidenavigation=1&theme=light" style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;" title="vue-20-template-compilation" allow="geolocation; microphone; camera; midi; vr; accelerometer; gyroscope; payment; ambient-light-sensor; encrypted-media; usb" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"></iframe> diff --git a/src/v2/examples/todomvc.md b/src/v2/examples/todomvc.md index b3eee18d9a..362cf841c1 100644 --- a/src/v2/examples/todomvc.md +++ b/src/v2/examples/todomvc.md @@ -6,6 +6,6 @@ order: 11 > This is a fully spec-compliant TodoMVC implementation in under 120 effective lines of JavaScript (excluding comments and blank lines). -<p class="tip">Note that if your web browser is configured to block 3rd-party data/cookies, the example below will not work, as the `localStorage` data will fail to be saved from JSFiddle. You'll have to click on `Edit in JSFiddle` to see the live result.</p> +<p class="tip">Note that if your web browser is configured to block 3rd-party data/cookies, the example below will not work, as the `localStorage` data will fail to be saved. You'll have to click on `Open Sandbox` to see the live result.</p> -<iframe width="100%" height="500" src="https://jsfiddle.net/yyx990803/4dr2fLb7/embedded/result,html,js,css" allowfullscreen="allowfullscreen" frameborder="0"></iframe> +<iframe src="https://codesandbox.io/embed/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-todomvc?codemirror=1&hidedevtools=1&hidenavigation=1&theme=light" style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;" title="vue-20-template-compilation" allow="geolocation; microphone; camera; midi; vr; accelerometer; gyroscope; payment; ambient-light-sensor; encrypted-media; usb" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"></iframe> diff --git a/src/v2/examples/tree-view.md b/src/v2/examples/tree-view.md index f0d34bfe8d..4922224947 100644 --- a/src/v2/examples/tree-view.md +++ b/src/v2/examples/tree-view.md @@ -6,4 +6,4 @@ order: 4 > Example of a simple tree view implementation showcasing recursive usage of components. -<iframe width="100%" height="500" src="https://jsfiddle.net/chrisvfritz/pnqzspoe/embedded/result,html,js,css" allowfullscreen="allowfullscreen" frameborder="0"></iframe> +<iframe src="https://codesandbox.io/embed/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-tree-view?codemirror=1&hidedevtools=1&hidenavigation=1&theme=light" style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;" title="vue-20-template-compilation" allow="geolocation; microphone; camera; midi; vr; accelerometer; gyroscope; payment; ambient-light-sensor; encrypted-media; usb" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"></iframe> diff --git a/src/v2/examples/vue-10-two-way-currency-filter-v2/index.html b/src/v2/examples/vue-10-two-way-currency-filter-v2/index.html new file mode 100644 index 0000000000..caf5244f40 --- /dev/null +++ b/src/v2/examples/vue-10-two-way-currency-filter-v2/index.html @@ -0,0 +1,88 @@ +<!DOCTYPE html> +<html> + <head> + <title>Two-way Currency Filter</title> + <script src="https://unpkg.com/vue@1.0/dist/vue.js"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/accounting.js/0.4.1/accounting.min.js"></script> + </head> + <body> + <div id="app"> + <currency-input label="Price" v-bind:value.sync="price"></currency-input> + <currency-input + label="Shipping" + v-bind:value.sync="shipping" + ></currency-input> + <currency-input + label="Handling" + v-bind:value.sync="handling" + ></currency-input> + <currency-input + label="Discount" + v-bind:value.sync="discount" + ></currency-input> + + <p>Total: ${{ total }}</p> + </div> + + <script> + Vue.component("currency-input", { + template: + '\ + <div>\ + <label v-if="label">{{ label }}</label>\ + <input\ + v-model="value | currency"\ + v-on:focus="selectAll"\ + >\ + </div>\ + ', + props: { + value: { + type: Number, + default: 0, + twoWay: true + }, + label: { + type: String, + default: "" + } + }, + filters: { + currency: { + read: function(value) { + return "$" + value.toFixed(2); + }, + write: function(value) { + var number = +value.replace(/[^\d.]/g, ""); + return isNaN(number) ? 0 : number; + } + } + }, + methods: { + selectAll: function(event) { + // Workaround for Safari bug + // http://stackoverflow.com/questions/1269722/selecting-text-on-focus-using-jquery-not-working-in-safari-and-chrome + setTimeout(function() { + event.target.select(); + }, 0); + } + } + }); + + new Vue({ + el: "#app", + data: { + price: 0, + shipping: 0, + handling: 0, + discount: 0 + }, + computed: { + total: function() { + return this.price + this.shipping + this.handling - this.discount; + } + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-10-two-way-currency-filter-v2/package.json b/src/v2/examples/vue-10-two-way-currency-filter-v2/package.json new file mode 100644 index 0000000000..3dcc5dba3f --- /dev/null +++ b/src/v2/examples/vue-10-two-way-currency-filter-v2/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-10-two-way-currency-filter-v2", + "version": "1.0.0", + "description": "Showing how delayed state updates can cause strange behavior.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-10-two-way-currency-filter-v2/sandbox.config.json b/src/v2/examples/vue-10-two-way-currency-filter-v2/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-10-two-way-currency-filter-v2/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-10-two-way-currency-filter-v3/currency-validator.js b/src/v2/examples/vue-10-two-way-currency-filter-v3/currency-validator.js new file mode 100644 index 0000000000..80ab295e34 --- /dev/null +++ b/src/v2/examples/vue-10-two-way-currency-filter-v3/currency-validator.js @@ -0,0 +1,61 @@ +var currencyValidator = { + format: function(number) { + return (Math.trunc(number * 100) / 100).toFixed(2); + }, + parse: function(newString, oldNumber) { + var CleanParse = function(value) { + return { value: value }; + }; + var CurrencyWarning = function(warning, value) { + return { + warning: warning, + value: value, + attempt: newString + }; + }; + var NotAValidDollarAmountWarning = function(value) { + return new CurrencyWarning( + newString + " is not a valid dollar amount", + value + ); + }; + var AutomaticConversionWarning = function(value) { + return new CurrencyWarning( + newString + " was automatically converted to " + value, + value + ); + }; + + var newNumber = Number(newString); + var indexOfDot = newString.indexOf("."); + var indexOfE = newString.indexOf("e"); + + if (isNaN(newNumber)) { + if ( + indexOfDot === -1 && + indexOfE > 0 && + indexOfE === newString.length - 1 && + Number(newString.slice(0, indexOfE)) !== 0 + ) { + return new CleanParse(oldNumber); + } else { + return new NotAValidDollarAmountWarning(oldNumber); + } + } + + var newCurrencyString = currencyValidator.format(newNumber); + var newCurrencyNumber = Number(newCurrencyString); + + if (newCurrencyNumber === newNumber) { + if (indexOfE !== -1 && indexOfE === newString.length - 2) { + return new AutomaticConversionWarning(newNumber); + } else { + return new CleanParse(newNumber); + } + } else { + return new NotAValidDollarAmountWarning( + newNumber > newCurrencyNumber ? newCurrencyNumber : oldNumber + ); + } + } +}; diff --git a/src/v2/examples/vue-10-two-way-currency-filter-v3/index.html b/src/v2/examples/vue-10-two-way-currency-filter-v3/index.html new file mode 100644 index 0000000000..40d6041b2a --- /dev/null +++ b/src/v2/examples/vue-10-two-way-currency-filter-v3/index.html @@ -0,0 +1,97 @@ +<!DOCTYPE html> +<html> + <head> + <title>Two-way Currency Filter</title> + <script src="https://unpkg.com/vue@1.0/dist/vue.js"></script> + <script src="currency-validator.js"></script> + </head> + <body> + <div id="app"> + <currency-input label="Price" v-bind:value.sync="price"></currency-input> + <currency-input + label="Shipping" + v-bind:value.sync="shipping" + ></currency-input> + <currency-input + label="Handling" + v-bind:value.sync="handling" + ></currency-input> + <currency-input + label="Discount" + v-bind:value.sync="discount" + ></currency-input> + + <p>Total: ${{ total }}</p> + </div> + + <script> + Vue.component("currency-input", { + template: + '\ + <div>\ + <label v-if="label">{{ label }}</label>\ + $\ + <input\ + v-el:input\ + v-model="value | currency"\ + v-on:focus="selectAll"\ + >\ + </div>\ + ', + props: { + value: { + type: Number, + default: 0, + twoWay: true + }, + label: { + type: String, + default: "" + } + }, + filters: { + currency: { + read: currencyValidator.format, + write: function(newValue, oldValue) { + var result = currencyValidator.parse(newValue, Number(oldValue)); + if (result.warning) { + this.$els.input.value = result.value; + } + return result.value; + } + } + }, + methods: { + selectAll: function(event) { + // Workaround for Safari bug + // http://stackoverflow.com/questions/1269722/selecting-text-on-focus-using-jquery-not-working-in-safari-and-chrome + setTimeout(function() { + event.target.select(); + }, 0); + } + } + }); + + new Vue({ + el: "#app", + data: { + price: 0, + shipping: 0, + handling: 0, + discount: 0 + }, + computed: { + total: function() { + return ( + (this.price * 100 + + this.shipping * 100 + + this.handling * 100 - + this.discount * 100) / + 100 + ).toFixed(2); + } + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-10-two-way-currency-filter-v3/package.json b/src/v2/examples/vue-10-two-way-currency-filter-v3/package.json new file mode 100644 index 0000000000..082e912c93 --- /dev/null +++ b/src/v2/examples/vue-10-two-way-currency-filter-v3/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-10-two-way-currency-filter-v3", + "version": "1.0.0", + "description": "Showing how delayed state updates can cause strange behavior.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-10-two-way-currency-filter-v3/sandbox.config.json b/src/v2/examples/vue-10-two-way-currency-filter-v3/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-10-two-way-currency-filter-v3/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-10-two-way-currency-filter/index.html b/src/v2/examples/vue-10-two-way-currency-filter/index.html new file mode 100644 index 0000000000..e63f64f86b --- /dev/null +++ b/src/v2/examples/vue-10-two-way-currency-filter/index.html @@ -0,0 +1,56 @@ +<!DOCTYPE html> +<html> + <head> + <title>Two-way Currency Filter</title> + <script src="https://unpkg.com/vue@1.0/dist/vue.js"></script> + </head> + <body> + <div id="app"> + <div> + <label>Price</label> + <input v-model="price | currency" /> + </div> + <div> + <label>Shipping</label> + <input v-model="shipping | currency" /> + </div> + <div> + <label>Handling</label> + <input v-model="handling | currency" /> + </div> + <div> + <label>Discount</label> + <input v-model="discount | currency" /> + </div> + + <p>Total: ${{ total }}</p> + </div> + + <script> + Vue.filter("currency", { + read: function(value) { + return "$" + value.toFixed(2); + }, + write: function(value) { + var number = +value.replace(/[^\d.]/g, ""); + return isNaN(number) ? 0 : number; + } + }); + + new Vue({ + el: "#app", + data: { + price: 0, + shipping: 0, + handling: 0, + discount: 0 + }, + computed: { + total: function() { + return this.price + this.shipping + this.handling - this.discount; + } + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-10-two-way-currency-filter/package.json b/src/v2/examples/vue-10-two-way-currency-filter/package.json new file mode 100644 index 0000000000..ee92d5f0a8 --- /dev/null +++ b/src/v2/examples/vue-10-two-way-currency-filter/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-10-two-way-currency-filter", + "version": "1.0.0", + "description": "Showing how delayed state updates can cause strange behavior.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-10-two-way-currency-filter/sandbox.config.json b/src/v2/examples/vue-10-two-way-currency-filter/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-10-two-way-currency-filter/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-accessing-parent-component-instance/index.html b/src/v2/examples/vue-20-accessing-parent-component-instance/index.html new file mode 100644 index 0000000000..44606424db --- /dev/null +++ b/src/v2/examples/vue-20-accessing-parent-component-instance/index.html @@ -0,0 +1,91 @@ +<!DOCTYPE html> +<html> + <head> + <title>Dependency Injection Google Maps Demo</title> + <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAHbknPTCvUSgWwU0jJ68m4h6b7vpyP6hM"></script> + <script src="https://unpkg.com/vue@2"></script> + <style> + .map { + width: 100%; + height: 400px; + } + </style> + </head> + <body> + <div id="app"> + <google-map> + <google-map-marker v-bind:places="vueConfCities"></google-map-marker> + </google-map> + </div> + + <script> + Vue.component("google-map", { + data: function() { + return { + map: null + }; + }, + mounted: function() { + this.map = new google.maps.Map(this.$el, { + center: { lat: 0, lng: 0 }, + zoom: 1 + }); + }, + methods: { + getMap: function(found) { + var vm = this; + function checkForMap() { + if (vm.map) { + found(vm.map); + } else { + setTimeout(checkForMap, 50); + } + } + checkForMap(); + } + }, + template: '<div class="map"><slot></slot></div>' + }); + + Vue.component("google-map-marker", { + props: ["places"], + created: function() { + var vm = this; + vm.$parent.getMap(function(map) { + vm.places.forEach(function(place) { + new google.maps.Marker({ + position: place.position, + map: map + }); + }); + }); + }, + render(h) { + return null; + } + }); + + new Vue({ + el: "#app", + data: { + vueConfCities: [ + { + name: "Wrocław", + position: { + lat: 51.107885, + lng: 17.038538 + } + }, + { + name: "New Orleans", + position: { + lat: 29.951066, + lng: -90.071532 + } + } + ] + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-accessing-parent-component-instance/package.json b/src/v2/examples/vue-20-accessing-parent-component-instance/package.json new file mode 100644 index 0000000000..f01eaa982e --- /dev/null +++ b/src/v2/examples/vue-20-accessing-parent-component-instance/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-accessing-parent-component-instance", + "version": "1.0.0", + "description": "Vue.js example accessing Parent Component Instance using Google Maps.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-accessing-parent-component-instance/sandbox.config.json b/src/v2/examples/vue-20-accessing-parent-component-instance/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-accessing-parent-component-instance/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-component-blog-post-example/index.html b/src/v2/examples/vue-20-component-blog-post-example/index.html new file mode 100644 index 0000000000..5682f7ef64 --- /dev/null +++ b/src/v2/examples/vue-20-component-blog-post-example/index.html @@ -0,0 +1,43 @@ +<!DOCTYPE html> +<html> + <head> + <title>Component Blog Post Example</title> + <script src="https://unpkg.com/vue@2"></script> + </head> + <body> + <div id="blog-post-demo" class="demo"> + <blog-post + v-for="post in posts" + v-bind:key="post.id" + v-bind:title="post.title" + ></blog-post> + </div> + + <script> + Vue.component("blog-post", { + props: ["title"], + template: "<h3>{{ title }}</h3>" + }); + + new Vue({ + el: "#blog-post-demo", + data: { + posts: [] + }, + created: function() { + // Alias the component instance as `vm`, so that we + // can access it inside the promise function + var vm = this; + // Fetch our array of posts from an API + fetch("https://jsonplaceholder.typicode.com/posts") + .then(function(response) { + return response.json(); + }) + .then(function(data) { + vm.posts = data; + }); + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-component-blog-post-example/package.json b/src/v2/examples/vue-20-component-blog-post-example/package.json new file mode 100644 index 0000000000..65197ee445 --- /dev/null +++ b/src/v2/examples/vue-20-component-blog-post-example/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-component-blog-post-example", + "version": "1.0.0", + "description": "Dynamically passing props, like when fetching posts from an API.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-component-blog-post-example/sandbox.config.json b/src/v2/examples/vue-20-component-blog-post-example/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-component-blog-post-example/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-dependency-injection/index.html b/src/v2/examples/vue-20-dependency-injection/index.html new file mode 100644 index 0000000000..78f72a66f0 --- /dev/null +++ b/src/v2/examples/vue-20-dependency-injection/index.html @@ -0,0 +1,97 @@ +<!DOCTYPE html> +<html> + <head> + <title>Dependency Injection Google Maps Demo</title> + <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAHbknPTCvUSgWwU0jJ68m4h6b7vpyP6hM"></script> + <script src="https://unpkg.com/vue@2"></script> + <style> + .map { + width: 100%; + height: 400px; + } + </style> + </head> + <body> + <div id="app"> + <google-map> + <google-map-marker v-bind:places="vueConfCities"></google-map-marker> + </google-map> + </div> + + <script> + Vue.component("google-map", { + provide: function() { + return { + getMap: this.getMap + }; + }, + data: function() { + return { + map: null + }; + }, + mounted: function() { + this.map = new google.maps.Map(this.$el, { + center: { lat: 0, lng: 0 }, + zoom: 1 + }); + }, + methods: { + getMap: function(found) { + var vm = this; + function checkForMap() { + if (vm.map) { + found(vm.map); + } else { + setTimeout(checkForMap, 50); + } + } + checkForMap(); + } + }, + template: '<div class="map"><slot></slot></div>' + }); + + Vue.component("google-map-marker", { + inject: ["getMap"], + props: ["places"], + created: function() { + var vm = this; + vm.getMap(function(map) { + vm.places.forEach(function(place) { + new google.maps.Marker({ + position: place.position, + map: map + }); + }); + }); + }, + render(h) { + return null; + } + }); + + new Vue({ + el: "#app", + data: { + vueConfCities: [ + { + name: "Wrocław", + position: { + lat: 51.107885, + lng: 17.038538 + } + }, + { + name: "New Orleans", + position: { + lat: 29.951066, + lng: -90.071532 + } + } + ] + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-dependency-injection/package.json b/src/v2/examples/vue-20-dependency-injection/package.json new file mode 100644 index 0000000000..a4a7d58da3 --- /dev/null +++ b/src/v2/examples/vue-20-dependency-injection/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-dependency-injection", + "version": "1.0.0", + "description": "Vue.js Dependency Injection example using Google Maps.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-dependency-injection/sandbox.config.json b/src/v2/examples/vue-20-dependency-injection/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-dependency-injection/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-dynamic-components-with-binding/index.html b/src/v2/examples/vue-20-dynamic-components-with-binding/index.html new file mode 100644 index 0000000000..57ba72a4b0 --- /dev/null +++ b/src/v2/examples/vue-20-dynamic-components-with-binding/index.html @@ -0,0 +1,74 @@ +<!DOCTYPE html> +<html> + <head> + <title>Dynamic Components Example</title> + <script src="https://unpkg.com/vue@2"></script> + <style> + .tab-button { + padding: 6px 10px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; + border: 1px solid #ccc; + cursor: pointer; + background: #f0f0f0; + margin-bottom: -1px; + margin-right: -1px; + } + .tab-button:hover { + background: #e0e0e0; + } + .tab-button.active { + background: #e0e0e0; + } + .tab { + border: 1px solid #ccc; + padding: 10px; + } + </style> + </head> + <body> + <div id="dynamic-component-demo" class="demo"> + <button + v-for="tab in tabs" + v-bind:key="tab.name" + v-bind:class="['tab-button', { active: currentTab.name === tab.name }]" + v-on:click="currentTab = tab" + > + {{ tab.name }} + </button> + + <component v-bind:is="currentTab.component" class="tab"></component> + </div> + + <script> + var tabs = [ + { + name: "Home", + component: { + template: "<div>Home component</div>" + } + }, + { + name: "Posts", + component: { + template: "<div>Posts component</div>" + } + }, + { + name: "Archive", + component: { + template: "<div>Archive component</div>" + } + } + ]; + + new Vue({ + el: "#dynamic-component-demo", + data: { + tabs: tabs, + currentTab: tabs[0] + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-dynamic-components-with-binding/package.json b/src/v2/examples/vue-20-dynamic-components-with-binding/package.json new file mode 100644 index 0000000000..fdff914b68 --- /dev/null +++ b/src/v2/examples/vue-20-dynamic-components-with-binding/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-dynamic-components-with-binding", + "version": "1.0.0", + "description": "Showing binding to a component's options object.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-dynamic-components-with-binding/sandbox.config.json b/src/v2/examples/vue-20-dynamic-components-with-binding/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-dynamic-components-with-binding/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-dynamic-components/index.html b/src/v2/examples/vue-20-dynamic-components/index.html new file mode 100644 index 0000000000..6d627b7ccb --- /dev/null +++ b/src/v2/examples/vue-20-dynamic-components/index.html @@ -0,0 +1,68 @@ +<!DOCTYPE html> +<html> + <head> + <title>Dynamic Components Example</title> + <script src="https://unpkg.com/vue@2"></script> + <style> + .tab-button { + padding: 6px 10px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; + border: 1px solid #ccc; + cursor: pointer; + background: #f0f0f0; + margin-bottom: -1px; + margin-right: -1px; + } + .tab-button:hover { + background: #e0e0e0; + } + .tab-button.active { + background: #e0e0e0; + } + .tab { + border: 1px solid #ccc; + padding: 10px; + } + </style> + </head> + <body> + <div id="dynamic-component-demo" class="demo"> + <button + v-for="tab in tabs" + v-bind:key="tab" + v-bind:class="['tab-button', { active: currentTab === tab }]" + v-on:click="currentTab = tab" + > + {{ tab }} + </button> + + <component v-bind:is="currentTabComponent" class="tab"></component> + </div> + + <script> + Vue.component("tab-home", { + template: "<div>Home component</div>" + }); + Vue.component("tab-posts", { + template: "<div>Posts component</div>" + }); + Vue.component("tab-archive", { + template: "<div>Archive component</div>" + }); + + new Vue({ + el: "#dynamic-component-demo", + data: { + currentTab: "Home", + tabs: ["Home", "Posts", "Archive"] + }, + computed: { + currentTabComponent: function() { + return "tab-" + this.currentTab.toLowerCase(); + } + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-dynamic-components/package.json b/src/v2/examples/vue-20-dynamic-components/package.json new file mode 100644 index 0000000000..67cb7f7c07 --- /dev/null +++ b/src/v2/examples/vue-20-dynamic-components/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-dynamic-components", + "version": "1.0.0", + "description": "Used to dynamically switch between components, like in a tabbed interface.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-dynamic-components/sandbox.config.json b/src/v2/examples/vue-20-dynamic-components/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-dynamic-components/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-dynamic-state-transitions/index.html b/src/v2/examples/vue-20-dynamic-state-transitions/index.html new file mode 100644 index 0000000000..ff026bb789 --- /dev/null +++ b/src/v2/examples/vue-20-dynamic-state-transitions/index.html @@ -0,0 +1,129 @@ +<!DOCTYPE html> +<html> + <head> + <title>Dynamic State Transitions</title> + <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.18.5/TweenLite.min.js"></script> + <script src="https://unpkg.com/vue@2"></script> + <style> + svg { + display: block; + } + polygon { + fill: #41b883; + } + circle { + fill: transparent; + stroke: #35495e; + } + input[type="range"] { + display: block; + width: 100%; + margin-bottom: 15px; + } + </style> + </head> + <body> + <div id="app"> + <svg width="200" height="200"> + <polygon :points="points"></polygon> + <circle cx="100" cy="100" r="90"></circle> + </svg> + <label>Sides: {{ sides }}</label> + <input type="range" min="3" max="500" v-model.number="sides" /> + <label>Minimum Radius: {{ minRadius }}%</label> + <input type="range" min="0" max="90" v-model.number="minRadius" /> + <label>Update Interval: {{ updateInterval }} milliseconds</label> + <input type="range" min="10" max="2000" v-model.number="updateInterval" /> + </div> + + <script> + new Vue({ + el: "#app", + data: function() { + var defaultSides = 10; + var stats = Array.apply(null, { length: defaultSides }).map( + function() { + return 100; + } + ); + return { + stats: stats, + points: generatePoints(stats), + sides: defaultSides, + minRadius: 50, + interval: null, + updateInterval: 500 + }; + }, + watch: { + sides: function(newSides, oldSides) { + var sidesDifference = newSides - oldSides; + if (sidesDifference > 0) { + for (var i = 1; i <= sidesDifference; i++) { + this.stats.push(this.newRandomValue()); + } + } else { + var absoluteSidesDifference = Math.abs(sidesDifference); + for (var i = 1; i <= absoluteSidesDifference; i++) { + this.stats.shift(); + } + } + }, + stats: function(newStats) { + TweenLite.to(this.$data, this.updateInterval / 1000, { + points: generatePoints(newStats) + }); + }, + updateInterval: function() { + this.resetInterval(); + } + }, + mounted: function() { + this.resetInterval(); + }, + methods: { + randomizeStats: function() { + var vm = this; + this.stats = this.stats.map(function() { + return vm.newRandomValue(); + }); + }, + newRandomValue: function() { + return Math.ceil( + this.minRadius + Math.random() * (100 - this.minRadius) + ); + }, + resetInterval: function() { + var vm = this; + clearInterval(this.interval); + this.randomizeStats(); + this.interval = setInterval(function() { + vm.randomizeStats(); + }, this.updateInterval); + } + } + }); + + function valueToPoint(value, index, total) { + var x = 0; + var y = -value * 0.9; + var angle = ((Math.PI * 2) / total) * index; + var cos = Math.cos(angle); + var sin = Math.sin(angle); + var tx = x * cos - y * sin + 100; + var ty = x * sin + y * cos + 100; + return { x: tx, y: ty }; + } + + function generatePoints(stats) { + var total = stats.length; + return stats + .map(function(stat, index) { + var point = valueToPoint(stat, index, total); + return point.x + "," + point.y; + }) + .join(" "); + } + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-dynamic-state-transitions/package.json b/src/v2/examples/vue-20-dynamic-state-transitions/package.json new file mode 100644 index 0000000000..6880b42447 --- /dev/null +++ b/src/v2/examples/vue-20-dynamic-state-transitions/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-dynamic-state-transitions", + "version": "1.0.0", + "description": "Data backing state transitions can be updated in real time, like in this example.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-dynamic-state-transitions/sandbox.config.json b/src/v2/examples/vue-20-dynamic-state-transitions/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-dynamic-state-transitions/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-elastic-header/index.html b/src/v2/examples/vue-20-elastic-header/index.html new file mode 100644 index 0000000000..b14e193495 --- /dev/null +++ b/src/v2/examples/vue-20-elastic-header/index.html @@ -0,0 +1,115 @@ +<!DOCTYPE html> +<html> + <head> + <title>Elastic Header</title> + <script src="https://unpkg.com/vue@2"></script> + <script src="https://unpkg.com/dynamics.js@1.1.5/lib/dynamics.js"></script> + <link rel="stylesheet" type="text/css" href="/style.css" /> + <!-- template for the component --> + <script type="text/x-template" id="header-view-template"> + <div class="draggable-header-view" + @mousedown="startDrag" @touchstart="startDrag" + @mousemove="onDrag" @touchmove="onDrag" + @mouseup="stopDrag" @touchend="stopDrag" @mouseleave="stopDrag"> + <svg class="bg" width="320" height="560"> + <path :d="headerPath" fill="#3F51B5"></path> + </svg> + <div class="header"> + <slot name="header"></slot> + </div> + <div class="content" :style="contentPosition"> + <slot name="content"></slot> + </div> + </div> + </script> + </head> + <body> + <div id="app" @touchmove.prevent> + <draggable-header-view> + <template slot="header"> + <h1>Elastic Draggable SVG Header</h1> + <p> + with <a href="http://vuejs.org">Vue.js</a> + + <a href="http://dynamicsjs.com">dynamics.js</a> + </p> + </template> + <template slot="content"> + <p> + Note this is just an effect demo - there are of course many + additional details if you want to use this in production, e.g. + handling responsive sizes, reload threshold and content scrolling. + Those are out of scope for this quick little hack. However, the idea + is that you can hide them as internal details of a Vue.js component + and expose a simple Web-Component-like interface. + </p> + </template> + </draggable-header-view> + </div> + + <script> + Vue.component("draggable-header-view", { + template: "#header-view-template", + data: function() { + return { + dragging: false, + // quadratic bezier control point + c: { x: 160, y: 160 }, + // record drag start point + start: { x: 0, y: 0 } + }; + }, + computed: { + headerPath: function() { + return ( + "M0,0 L320,0 320,160" + "Q" + this.c.x + "," + this.c.y + " 0,160" + ); + }, + contentPosition: function() { + var dy = this.c.y - 160; + var dampen = dy > 0 ? 2 : 4; + return { + transform: "translate3d(0," + dy / dampen + "px,0)" + }; + } + }, + methods: { + startDrag: function(e) { + e = e.changedTouches ? e.changedTouches[0] : e; + this.dragging = true; + this.start.x = e.pageX; + this.start.y = e.pageY; + }, + onDrag: function(e) { + e = e.changedTouches ? e.changedTouches[0] : e; + if (this.dragging) { + this.c.x = 160 + (e.pageX - this.start.x); + // dampen vertical drag by a factor + var dy = e.pageY - this.start.y; + var dampen = dy > 0 ? 1.5 : 4; + this.c.y = 160 + dy / dampen; + } + }, + stopDrag: function() { + if (this.dragging) { + this.dragging = false; + dynamics.animate( + this.c, + { + x: 160, + y: 160 + }, + { + type: dynamics.spring, + duration: 700, + friction: 280 + } + ); + } + } + } + }); + + new Vue({ el: "#app" }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-elastic-header/package.json b/src/v2/examples/vue-20-elastic-header/package.json new file mode 100644 index 0000000000..6362227733 --- /dev/null +++ b/src/v2/examples/vue-20-elastic-header/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-elastic-header", + "version": "1.0.0", + "description": "Elastic Draggable SVG Header", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-elastic-header/sandbox.config.json b/src/v2/examples/vue-20-elastic-header/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-elastic-header/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-elastic-header/style.css b/src/v2/examples/vue-20-elastic-header/style.css new file mode 100644 index 0000000000..f3fc3f0b5c --- /dev/null +++ b/src/v2/examples/vue-20-elastic-header/style.css @@ -0,0 +1,45 @@ +h1 { + font-weight: 300; + font-size: 1.8em; + margin-top: 0; +} +a { + color: #fff; +} +.draggable-header-view { + background-color: #fff; + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15); + width: 320px; + height: 560px; + overflow: hidden; + margin: 30px auto; + position: relative; + font-family: "Roboto", Helvetica, Arial, sans-serif; + color: #fff; + font-size: 14px; + font-weight: 300; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.draggable-header-view .bg { + position: absolute; + top: 0; + left: 0; + z-index: 0; +} +.draggable-header-view .header, +.draggable-header-view .content { + position: relative; + z-index: 1; + padding: 30px; + box-sizing: border-box; +} +.draggable-header-view .header { + height: 160px; +} +.draggable-header-view .content { + color: #333; + line-height: 1.5em; +} diff --git a/src/v2/examples/vue-20-firebase-validation/index.html b/src/v2/examples/vue-20-firebase-validation/index.html new file mode 100644 index 0000000000..dcdcd7af02 --- /dev/null +++ b/src/v2/examples/vue-20-firebase-validation/index.html @@ -0,0 +1,96 @@ +<!DOCTYPE html> +<html> + <head> + <title>Firebase + Validation</title> + <script src="https://unpkg.com/vue@2"></script> + <script src="https://unpkg.com/vuefire@1.3.0/dist/vuefire.js"></script> + <script src="https://www.gstatic.com/firebasejs/3.4.0/firebase.js"></script> + <link rel="stylesheet" type="text/css" href="/style.css" /> + </head> + <body> + <!-- Using vuefire (the official Firebase binding) --> + <div id="app"> + <ul is="transition-group"> + <li v-for="user in users" class="user" :key="user['.key']"> + <span>{{user.name}} - {{user.email}}</span> + <button v-on:click="removeUser(user)">X</button> + </li> + </ul> + <form id="form" v-on:submit.prevent="addUser"> + <input type="text" v-model="newUser.name" placeholder="Username" /> + <input + type="email" + v-model="newUser.email" + placeholder="email@email.com" + /> + <input type="submit" value="Add User" /> + </form> + <ul class="errors"> + <li v-show="!validation.name">Name cannot be empty.</li> + <li v-show="!validation.email"> + Please provide a valid email address. + </li> + </ul> + </div> + + <script> + var emailRE = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + + // Setup Firebase + var config = { + apiKey: "AIzaSyAi_yuJciPXLFr_PYPeU3eTvtXf8jbJ8zw", + authDomain: "vue-demo-537e6.firebaseapp.com", + databaseURL: "https://vue-demo-537e6.firebaseio.com" + }; + firebase.initializeApp(config); + + var usersRef = firebase.database().ref("users"); + + // create Vue app + var app = new Vue({ + // element to mount to + el: "#app", + // initial data + data: { + newUser: { + name: "", + email: "" + } + }, + // firebase binding + // https://github.com/vuejs/vuefire + firebase: { + users: usersRef + }, + // computed property for form validation state + computed: { + validation: function() { + return { + name: !!this.newUser.name.trim(), + email: emailRE.test(this.newUser.email) + }; + }, + isValid: function() { + var validation = this.validation; + return Object.keys(validation).every(function(key) { + return validation[key]; + }); + } + }, + // methods + methods: { + addUser: function() { + if (this.isValid) { + usersRef.push(this.newUser); + this.newUser.name = ""; + this.newUser.email = ""; + } + }, + removeUser: function(user) { + usersRef.child(user[".key"]).remove(); + } + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-firebase-validation/package.json b/src/v2/examples/vue-20-firebase-validation/package.json new file mode 100644 index 0000000000..570fb291d7 --- /dev/null +++ b/src/v2/examples/vue-20-firebase-validation/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-firebase-validation", + "version": "1.0.0", + "description": "This example uses Firebase as the data persistence backend and syncs between clients in real time (you can try opening it in multiple browser tabs). In addition, it performs instant validation using computed properties and triggers CSS transitions when adding/removing items.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-firebase-validation/sandbox.config.json b/src/v2/examples/vue-20-firebase-validation/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-firebase-validation/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-firebase-validation/style.css b/src/v2/examples/vue-20-firebase-validation/style.css new file mode 100644 index 0000000000..761054c0c1 --- /dev/null +++ b/src/v2/examples/vue-20-firebase-validation/style.css @@ -0,0 +1,33 @@ +body { + font-family: Helvetica, Arial, sans-serif; +} + +ul { + padding: 0; +} + +.user { + height: 30px; + line-height: 30px; + padding: 10px; + border-top: 1px solid #eee; + overflow: hidden; + transition: all 0.25s ease; +} + +.user:last-child { + border-bottom: 1px solid #eee; +} + +.v-enter, +.v-leave-active { + height: 0; + padding-top: 0; + padding-bottom: 0; + border-top-width: 0; + border-bottom-width: 0; +} + +.errors { + color: #f00; +} diff --git a/src/v2/examples/vue-20-github-commits/index.html b/src/v2/examples/vue-20-github-commits/index.html new file mode 100644 index 0000000000..fcd5d00d68 --- /dev/null +++ b/src/v2/examples/vue-20-github-commits/index.html @@ -0,0 +1,91 @@ +<!DOCTYPE html> +<html> + <head> + <title>GitHub Commits</title> + <script src="https://unpkg.com/vue@2"></script> + <link rel="stylesheet" type="text/css" href="/style.css" /> + </head> + <body> + <div id="demo"> + <h1>Latest Vue.js Commits</h1> + <template v-for="branch in branches"> + <input + type="radio" + :id="branch" + :value="branch" + name="branch" + v-model="currentBranch" + /> + <label :for="branch">{{ branch }}</label> + </template> + <p>vuejs/vue@{{ currentBranch }}</p> + <ul> + <li v-for="record in commits"> + <a :href="record.html_url" target="_blank" class="commit" + >{{ record.sha.slice(0, 7) }}</a + > + - <span class="message">{{ record.commit.message | truncate }}</span + ><br /> + by + <span class="author" + ><a :href="record.author.html_url" target="_blank" + >{{ record.commit.author.name }}</a + ></span + > + at + <span class="date">{{ record.commit.author.date | formatDate }}</span> + </li> + </ul> + </div> + + <script> + var apiURL = + "https://api.github.com/repos/vuejs/vue/commits?per_page=3&sha="; + + /** + * Actual demo + */ + + var demo = new Vue({ + el: "#demo", + + data: { + branches: ["main", "dev"], + currentBranch: "main", + commits: null + }, + + created: function() { + this.fetchData(); + }, + + watch: { + currentBranch: "fetchData" + }, + + filters: { + truncate: function(v) { + var newline = v.indexOf("\n"); + return newline > 0 ? v.slice(0, newline) : v; + }, + formatDate: function(v) { + return v.replace(/T|Z/g, " "); + } + }, + + methods: { + fetchData: function() { + var xhr = new XMLHttpRequest(); + var self = this; + xhr.open("GET", apiURL + self.currentBranch); + xhr.onload = function() { + self.commits = JSON.parse(xhr.responseText); + console.log(self.commits[0].html_url); + }; + xhr.send(); + } + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-github-commits/package.json b/src/v2/examples/vue-20-github-commits/package.json new file mode 100644 index 0000000000..8afebc6358 --- /dev/null +++ b/src/v2/examples/vue-20-github-commits/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-github-commits", + "version": "1.0.0", + "description": "This example fetches latest Vue.js commits data from GitHub's API and displays them as a list. You can switch between the master and dev branches.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-github-commits/sandbox.config.json b/src/v2/examples/vue-20-github-commits/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-github-commits/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-github-commits/style.css b/src/v2/examples/vue-20-github-commits/style.css new file mode 100644 index 0000000000..c0e705b77b --- /dev/null +++ b/src/v2/examples/vue-20-github-commits/style.css @@ -0,0 +1,15 @@ +#demo { + font-family: "Helvetica", Arial, sans-serif; +} +a { + text-decoration: none; + color: #f66; +} +li { + line-height: 1.5em; + margin-bottom: 20px; +} +.author, +.date { + font-weight: bold; +} diff --git a/src/v2/examples/vue-20-grid-component/index.html b/src/v2/examples/vue-20-grid-component/index.html new file mode 100644 index 0000000000..40e8a947aa --- /dev/null +++ b/src/v2/examples/vue-20-grid-component/index.html @@ -0,0 +1,121 @@ +<!DOCTYPE html> +<html> + <head> + <title>Grid Component</title> + <script src="https://unpkg.com/vue@2"></script> + <link rel="stylesheet" type="text/css" href="/style.css" /> + + <!-- component template --> + <script type="text/x-template" id="grid-template"> + <table> + <thead> + <tr> + <th v-for="key in columns" + @click="sortBy(key)" + :class="{ active: sortKey == key }"> + {{ key | capitalize }} + <span class="arrow" :class="sortOrders[key] > 0 ? 'asc' : 'dsc'"> + </span> + </th> + </tr> + </thead> + <tbody> + <tr v-for="entry in filteredHeroes"> + <td v-for="key in columns"> + {{entry[key]}} + </td> + </tr> + </tbody> + </table> + </script> + </head> + <body> + <!-- demo root element --> + <div id="demo"> + <form id="search"> + Search <input name="query" v-model="searchQuery" /> + </form> + <demo-grid + :heroes="gridData" + :columns="gridColumns" + :filter-key="searchQuery" + > + </demo-grid> + </div> + + <script> + // register the grid component + Vue.component("demo-grid", { + template: "#grid-template", + props: { + heroes: Array, + columns: Array, + filterKey: String + }, + data: function() { + var sortOrders = {}; + this.columns.forEach(function(key) { + sortOrders[key] = 1; + }); + return { + sortKey: "", + sortOrders: sortOrders + }; + }, + computed: { + filteredHeroes: function() { + var sortKey = this.sortKey; + var filterKey = this.filterKey && this.filterKey.toLowerCase(); + var order = this.sortOrders[sortKey] || 1; + var heroes = this.heroes; + if (filterKey) { + heroes = heroes.filter(function(row) { + return Object.keys(row).some(function(key) { + return ( + String(row[key]) + .toLowerCase() + .indexOf(filterKey) > -1 + ); + }); + }); + } + if (sortKey) { + heroes = heroes.slice().sort(function(a, b) { + a = a[sortKey]; + b = b[sortKey]; + return (a === b ? 0 : a > b ? 1 : -1) * order; + }); + } + return heroes; + } + }, + filters: { + capitalize: function(str) { + return str.charAt(0).toUpperCase() + str.slice(1); + } + }, + methods: { + sortBy: function(key) { + this.sortKey = key; + this.sortOrders[key] = this.sortOrders[key] * -1; + } + } + }); + + // bootstrap the demo + var demo = new Vue({ + el: "#demo", + data: { + searchQuery: "", + gridColumns: ["name", "power"], + gridData: [ + { name: "Chuck Norris", power: Infinity }, + { name: "Bruce Lee", power: 9000 }, + { name: "Jackie Chan", power: 7000 }, + { name: "Jet Li", power: 8000 } + ] + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-grid-component/package.json b/src/v2/examples/vue-20-grid-component/package.json new file mode 100644 index 0000000000..1734610da9 --- /dev/null +++ b/src/v2/examples/vue-20-grid-component/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-grid-component", + "version": "1.0.0", + "description": "This is an example of creating a reusable grid component and using it with external data.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-grid-component/sandbox.config.json b/src/v2/examples/vue-20-grid-component/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-grid-component/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-grid-component/style.css b/src/v2/examples/vue-20-grid-component/style.css new file mode 100644 index 0000000000..f10002ab8f --- /dev/null +++ b/src/v2/examples/vue-20-grid-component/style.css @@ -0,0 +1,60 @@ +body { + font-family: Helvetica Neue, Arial, sans-serif; + font-size: 14px; + color: #444; +} + +table { + border: 2px solid #42b983; + border-radius: 3px; + background-color: #fff; +} + +th { + background-color: #42b983; + color: rgba(255, 255, 255, 0.66); + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +td { + background-color: #f9f9f9; +} + +th, +td { + min-width: 120px; + padding: 10px 20px; +} + +th.active { + color: #fff; +} + +th.active .arrow { + opacity: 1; +} + +.arrow { + display: inline-block; + vertical-align: middle; + width: 0; + height: 0; + margin-left: 5px; + opacity: 0.66; +} + +.arrow.asc { + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-bottom: 4px solid #fff; +} + +.arrow.dsc { + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid #fff; +} diff --git a/src/v2/examples/vue-20-hello-world/index.html b/src/v2/examples/vue-20-hello-world/index.html new file mode 100644 index 0000000000..95121199a6 --- /dev/null +++ b/src/v2/examples/vue-20-hello-world/index.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> +<head> + <title>My first Vue app</title> + <script src="https://unpkg.com/vue@2"></script> +</head> +<body> + <div id="app"> + {{ message }} + </div> + + <script> + var app = new Vue({ + el: '#app', + data: { + message: 'Hello Vue!' + } + }) + </script> +</body> +</html> diff --git a/src/v2/examples/vue-20-hello-world/package.json b/src/v2/examples/vue-20-hello-world/package.json new file mode 100644 index 0000000000..c02e41273c --- /dev/null +++ b/src/v2/examples/vue-20-hello-world/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-hello-world", + "version": "1.0.0", + "description": "The easiest way to try out Vue.js, edit this Hello World example", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-hello-world/sandbox.config.json b/src/v2/examples/vue-20-hello-world/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-hello-world/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-keep-alive-with-dynamic-components/index.html b/src/v2/examples/vue-20-keep-alive-with-dynamic-components/index.html new file mode 100644 index 0000000000..339d651065 --- /dev/null +++ b/src/v2/examples/vue-20-keep-alive-with-dynamic-components/index.html @@ -0,0 +1,97 @@ +<!DOCTYPE html> +<html> + <head> + <title>Vue Component Blog Post Example</title> + <script src="https://unpkg.com/vue@2"></script> + <link rel="stylesheet" type="text/css" href="/style.css" /> + </head> + <body> + <div id="dynamic-component-demo"> + <button + v-for="tab in tabs" + v-bind:key="tab" + v-bind:class="['tab-button', { active: currentTab === tab }]" + v-on:click="currentTab = tab" + > + {{ tab }} + </button> + + <keep-alive> + <component v-bind:is="currentTabComponent" class="tab"></component> + </keep-alive> + </div> + + <script> + Vue.component("tab-posts", { + data: function() { + return { + posts: [ + { + id: 1, + title: "Cat Ipsum", + content: + "<p>Dont wait for the storm to pass, dance in the rain kick up litter decide to want nothing to do with my owner today demand to be let outside at once, and expect owner to wait for me as i think about it cat cat moo moo lick ears lick paws so make meme, make cute face but lick the other cats. Kitty poochy chase imaginary bugs, but stand in front of the computer screen. Sweet beast cat dog hate mouse eat string barf pillow no baths hate everything stare at guinea pigs. My left donut is missing, as is my right loved it, hated it, loved it, hated it scoot butt on the rug cat not kitten around</p>" + }, + { + id: 2, + title: "Hipster Ipsum", + content: + "<p>Bushwick blue bottle scenester helvetica ugh, meh four loko. Put a bird on it lumbersexual franzen shabby chic, street art knausgaard trust fund shaman scenester live-edge mixtape taxidermy viral yuccie succulents. Keytar poke bicycle rights, crucifix street art neutra air plant PBR&B hoodie plaid venmo. Tilde swag art party fanny pack vinyl letterpress venmo jean shorts offal mumblecore. Vice blog gentrify mlkshk tattooed occupy snackwave, hoodie craft beer next level migas 8-bit chartreuse. Trust fund food truck drinking vinegar gochujang.</p>" + }, + { + id: 3, + title: "Cupcake Ipsum", + content: + "<p>Icing dessert soufflé lollipop chocolate bar sweet tart cake chupa chups. Soufflé marzipan jelly beans croissant toffee marzipan cupcake icing fruitcake. Muffin cake pudding soufflé wafer jelly bear claw sesame snaps marshmallow. Marzipan soufflé croissant lemon drops gingerbread sugar plum lemon drops apple pie gummies. Sweet roll donut oat cake toffee cake. Liquorice candy macaroon toffee cookie marzipan.</p>" + } + ], + selectedPost: null + }; + }, + template: ` + <div class="posts-tab"> + <ul class="posts-sidebar"> + <li + v-for="post in posts" + v-bind:key="post.id" + v-bind:class="{ selected: post === selectedPost }" + v-on:click="selectedPost = post" + > + {{ post.title }} + </li> + </ul> + <div class="selected-post-container"> + <div + v-if="selectedPost" + class="selected-post" + > + <h3>{{ selectedPost.title }}</h3> + <div v-html="selectedPost.content"></div> + </div> + <strong v-else> + Click on a blog title to the left to view it. + </strong> + </div> + </div> + ` + }); + + Vue.component("tab-archive", { + template: "<div>Archive component</div>" + }); + + new Vue({ + el: "#dynamic-component-demo", + data: { + currentTab: "Posts", + tabs: ["Posts", "Archive"] + }, + computed: { + currentTabComponent: function() { + return "tab-" + this.currentTab.toLowerCase(); + } + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-keep-alive-with-dynamic-components/package.json b/src/v2/examples/vue-20-keep-alive-with-dynamic-components/package.json new file mode 100644 index 0000000000..7bf11e28e3 --- /dev/null +++ b/src/v2/examples/vue-20-keep-alive-with-dynamic-components/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-keep-alive-with-dynamic-components", + "version": "1.0.0", + "description": "The Posts tab maintains its state (the selected post) even when it's not rendered.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-keep-alive-with-dynamic-components/sandbox.config.json b/src/v2/examples/vue-20-keep-alive-with-dynamic-components/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-keep-alive-with-dynamic-components/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-keep-alive-with-dynamic-components/style.css b/src/v2/examples/vue-20-keep-alive-with-dynamic-components/style.css new file mode 100644 index 0000000000..5681ac6cb3 --- /dev/null +++ b/src/v2/examples/vue-20-keep-alive-with-dynamic-components/style.css @@ -0,0 +1,49 @@ +.tab-button { + padding: 6px 10px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; + border: 1px solid #ccc; + cursor: pointer; + background: #f0f0f0; + margin-bottom: -1px; + margin-right: -1px; +} +.tab-button:hover { + background: #e0e0e0; +} +.tab-button.active { + background: #e0e0e0; +} +.tab { + border: 1px solid #ccc; + padding: 10px; +} +.posts-tab { + display: flex; +} +.posts-sidebar { + max-width: 40vw; + margin: 0; + padding: 0 10px 0 0; + list-style-type: none; + border-right: 1px solid #ccc; +} +.posts-sidebar li { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + cursor: pointer; +} +.posts-sidebar li:hover { + background: #eee; +} +.posts-sidebar li.selected { + background: lightblue; +} +.selected-post-container { + padding-left: 10px; +} +.selected-post > :first-child { + margin-top: 0; + padding-top: 0; +} diff --git a/src/v2/examples/vue-20-list-move-transitions/index.html b/src/v2/examples/vue-20-list-move-transitions/index.html new file mode 100644 index 0000000000..536a9ba25c --- /dev/null +++ b/src/v2/examples/vue-20-list-move-transitions/index.html @@ -0,0 +1,43 @@ +<!DOCTYPE html> +<html> + <head> + <title>List Move Transitions Sudoku Example</title> + <script src="https://unpkg.com/vue@2"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.14.1/lodash.min.js"></script> + <link rel="stylesheet" type="text/css" href="/style.css" /> + </head> + <body> + <div id="sudoku-demo" class="demo"> + <h1>Lazy Sudoku</h1> + <p>Keep hitting the shuffle button until you win.</p> + + <button @click="shuffle"> + Shuffle + </button> + <transition-group name="cell" tag="div" class="container"> + <div v-for="cell in cells" :key="cell.id" class="cell"> + {{ cell.number }} + </div> + </transition-group> + </div> + + <script> + new Vue({ + el: "#sudoku-demo", + data: { + cells: Array.apply(null, { length: 81 }).map(function(_, index) { + return { + id: index, + number: (index % 9) + 1 + }; + }) + }, + methods: { + shuffle: function() { + this.cells = _.shuffle(this.cells); + } + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-list-move-transitions/package.json b/src/v2/examples/vue-20-list-move-transitions/package.json new file mode 100644 index 0000000000..f18a53b340 --- /dev/null +++ b/src/v2/examples/vue-20-list-move-transitions/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-list-move-transitions", + "version": "1.0.0", + "description": "Example showing list entering/leaving transitions in Sudoku.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-list-move-transitions/sandbox.config.json b/src/v2/examples/vue-20-list-move-transitions/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-list-move-transitions/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-list-move-transitions/style.css b/src/v2/examples/vue-20-list-move-transitions/style.css new file mode 100644 index 0000000000..103973e3ca --- /dev/null +++ b/src/v2/examples/vue-20-list-move-transitions/style.css @@ -0,0 +1,25 @@ +.container { + display: flex; + flex-wrap: wrap; + width: 238px; + margin-top: 10px; +} +.cell { + display: flex; + justify-content: space-around; + align-items: center; + width: 25px; + height: 25px; + border: 1px solid #aaa; + margin-right: -1px; + margin-bottom: -1px; +} +.cell:nth-child(3n) { + margin-right: 0; +} +.cell:nth-child(27n) { + margin-bottom: 0; +} +.cell-move { + transition: transform 1s; +} diff --git a/src/v2/examples/vue-20-markdown-editor/index.html b/src/v2/examples/vue-20-markdown-editor/index.html new file mode 100644 index 0000000000..e740dfb816 --- /dev/null +++ b/src/v2/examples/vue-20-markdown-editor/index.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> + <head> + <title>Markdown Editor</title> + <script src="https://unpkg.com/vue@2"></script> + <script src="https://unpkg.com/marked@0.3.6"></script> + <script src="https://unpkg.com/lodash@4.16.0"></script> + <link rel="stylesheet" type="text/css" href="/style.css" /> + </head> + <body> + <div id="editor"> + <textarea :value="input" @input="update"></textarea> + <div v-html="compiledMarkdown"></div> + </div> + + <script> + new Vue({ + el: "#editor", + data: { + input: "# hello" + }, + computed: { + compiledMarkdown: function() { + return marked(this.input, { sanitize: true }); + } + }, + methods: { + update: _.debounce(function(e) { + this.input = e.target.value; + }, 300) + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-markdown-editor/package.json b/src/v2/examples/vue-20-markdown-editor/package.json new file mode 100644 index 0000000000..7866640c16 --- /dev/null +++ b/src/v2/examples/vue-20-markdown-editor/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-markdown-editor", + "version": "1.0.0", + "description": "Dead simple Markdown editor.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-markdown-editor/sandbox.config.json b/src/v2/examples/vue-20-markdown-editor/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-markdown-editor/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-markdown-editor/style.css b/src/v2/examples/vue-20-markdown-editor/style.css new file mode 100644 index 0000000000..01cacdc9d3 --- /dev/null +++ b/src/v2/examples/vue-20-markdown-editor/style.css @@ -0,0 +1,33 @@ +html, +body, +#editor { + margin: 0; + height: 100%; + font-family: "Helvetica Neue", Arial, sans-serif; + color: #333; +} + +textarea, +#editor div { + display: inline-block; + width: 49%; + height: 100%; + vertical-align: top; + box-sizing: border-box; + padding: 0 20px; +} + +textarea { + border: none; + border-right: 1px solid #ccc; + resize: none; + outline: none; + background-color: #f6f6f6; + font-size: 14px; + font-family: "Monaco", courier, monospace; + padding: 20px; +} + +code { + color: #f66; +} diff --git a/src/v2/examples/vue-20-modal-component/index.html b/src/v2/examples/vue-20-modal-component/index.html new file mode 100644 index 0000000000..60235e8e7e --- /dev/null +++ b/src/v2/examples/vue-20-modal-component/index.html @@ -0,0 +1,69 @@ +<!DOCTYPE html> +<html> + <head> + <title>Modal Component</title> + <script src="https://unpkg.com/vue@2"></script> + <link rel="stylesheet" type="text/css" href="/style.css" /> + <!-- template for the modal component --> + <script type="text/x-template" id="modal-template"> + <transition name="modal"> + <div class="modal-mask"> + <div class="modal-wrapper"> + <div class="modal-container"> + + <div class="modal-header"> + <slot name="header"> + default header + </slot> + </div> + + <div class="modal-body"> + <slot name="body"> + default body + </slot> + </div> + + <div class="modal-footer"> + <slot name="footer"> + default footer + <button class="modal-default-button" @click="$emit('close')"> + OK + </button> + </slot> + </div> + </div> + </div> + </div> + </transition> + </script> + </head> + <body> + <!-- app --> + <div id="app"> + <button id="show-modal" @click="showModal = true">Show Modal</button> + <!-- use the modal component, pass in the prop --> + <modal v-if="showModal" @close="showModal = false"> + <!-- + you can use custom content here to overwrite + default content + --> + <h3 slot="header">custom header</h3> + </modal> + </div> + + <script> + // register modal component + Vue.component("modal", { + template: "#modal-template" + }); + + // start app + new Vue({ + el: "#app", + data: { + showModal: false + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-modal-component/package.json b/src/v2/examples/vue-20-modal-component/package.json new file mode 100644 index 0000000000..6d64ba2432 --- /dev/null +++ b/src/v2/examples/vue-20-modal-component/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-modal-component", + "version": "1.0.0", + "description": "Features used: component, prop passing, content insertion, transitions.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-modal-component/sandbox.config.json b/src/v2/examples/vue-20-modal-component/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-modal-component/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-modal-component/style.css b/src/v2/examples/vue-20-modal-component/style.css new file mode 100644 index 0000000000..d36f166fb4 --- /dev/null +++ b/src/v2/examples/vue-20-modal-component/style.css @@ -0,0 +1,63 @@ +.modal-mask { + position: fixed; + z-index: 9998; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.5); + display: table; + transition: opacity 0.3s ease; +} + +.modal-wrapper { + display: table-cell; + vertical-align: middle; +} + +.modal-container { + width: 300px; + margin: 0px auto; + padding: 20px 30px; + background-color: #fff; + border-radius: 2px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.33); + transition: all 0.3s ease; + font-family: Helvetica, Arial, sans-serif; +} + +.modal-header h3 { + margin-top: 0; + color: #42b983; +} + +.modal-body { + margin: 20px 0; +} + +.modal-default-button { + float: right; +} + +/* + * The following styles are auto-applied to elements with + * transition="modal" when their visibility is toggled + * by Vue.js. + * + * You can easily play with the modal transition by editing + * these styles. + */ + +.modal-enter { + opacity: 0; +} + +.modal-leave-active { + opacity: 0; +} + +.modal-enter .modal-container, +.modal-leave-active .modal-container { + -webkit-transform: scale(1.1); + transform: scale(1.1); +} diff --git a/src/v2/examples/vue-20-priority-d-rules-correct-example/index.html b/src/v2/examples/vue-20-priority-d-rules-correct-example/index.html new file mode 100644 index 0000000000..50b2cba0e8 --- /dev/null +++ b/src/v2/examples/vue-20-priority-d-rules-correct-example/index.html @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<html> + <head> + <title>Priority D Rules Correct Example</title> + <script src="https://unpkg.com/vue@2"></script> + <style> + .v-enter-active, + .v-leave-active { + transition: all 1s; + } + .v-enter, + .v-leave-to { + opacity: 0; + transform: translateY(30px); + } + .v-leave-active { + position: absolute; + } + </style> + </head> + <body> + <div id="app"> + <transition> + <button v-if="isEditing" key="save" v-on:click="isEditing = false"> + Save + </button> + <button v-else key="edit" v-on:click="isEditing = true"> + Edit + </button> + </transition> + + <p> + With a unique <code>key</code> on each conditional element, the + transition is now applied. + </p> + </div> + + <script> + new Vue({ + el: "#app", + data: { + isEditing: false + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-priority-d-rules-correct-example/package.json b/src/v2/examples/vue-20-priority-d-rules-correct-example/package.json new file mode 100644 index 0000000000..7afc08c225 --- /dev/null +++ b/src/v2/examples/vue-20-priority-d-rules-correct-example/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-priority-d-rules-correct-example", + "version": "1.0.0", + "description": "A unique key on each conditional element so the transition is applied.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-priority-d-rules-correct-example/sandbox.config.json b/src/v2/examples/vue-20-priority-d-rules-correct-example/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-priority-d-rules-correct-example/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-priority-d-rules-unintended-consequences/index.html b/src/v2/examples/vue-20-priority-d-rules-unintended-consequences/index.html new file mode 100644 index 0000000000..81951e7667 --- /dev/null +++ b/src/v2/examples/vue-20-priority-d-rules-unintended-consequences/index.html @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html> + <head> + <title>Priority D Rules Unintended Consequences</title> + <script src="https://unpkg.com/vue@2"></script> + <style> + .v-enter-active, + .v-leave-active { + transition: all 1s; + } + .v-enter, + .v-leave-to { + opacity: 0; + transform: translateY(30px); + } + .v-leave-active { + position: absolute; + } + </style> + </head> + <body> + <div id="app"> + <transition> + <button v-if="isEditing" v-on:click="isEditing = false"> + Save + </button> + <button v-else v-on:click="isEditing = true"> + Edit + </button> + </transition> + + <p> + When clicking on the <code><button></code> above, the transition + is never applied because Vue is reusing the same element for render + efficiency. To force Vue to treat these as separate elements, a + <a + href="https://codesandbox.io/s/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-priority-d-rules-correct-example" + target="_blank" + >unique <code>key</code> must be added</a + > + to each conditional element. + </p> + </div> + + <script> + new Vue({ + el: "#app", + data: { + isEditing: false + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-priority-d-rules-unintended-consequences/package.json b/src/v2/examples/vue-20-priority-d-rules-unintended-consequences/package.json new file mode 100644 index 0000000000..43c1c3a9f2 --- /dev/null +++ b/src/v2/examples/vue-20-priority-d-rules-unintended-consequences/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-priority-d-rules-unintended-consequences", + "version": "1.0.0", + "description": "Lacking a unique key on each conditional element, the transition is never applied.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-priority-d-rules-unintended-consequences/sandbox.config.json b/src/v2/examples/vue-20-priority-d-rules-unintended-consequences/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-priority-d-rules-unintended-consequences/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-programmatic-event-listeners/index.html b/src/v2/examples/vue-20-programmatic-event-listeners/index.html new file mode 100644 index 0000000000..ba0503c97d --- /dev/null +++ b/src/v2/examples/vue-20-programmatic-event-listeners/index.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> + <head> + <title>Programmatic Event Listeners using Pikaday</title> + <script src="https://unpkg.com/pikaday@1.7.0"></script> + <script src="https://unpkg.com/vue@2"></script> + </head> + <body> + <div id="app"> + <input ref="dateInput" v-model="date" type="date" /> + </div> + + <script> + new Vue({ + el: "#app", + data: { + date: null + }, + mounted: function() { + var picker = new Pikaday({ + field: this.$refs.dateInput, + format: "YYYY-MM-DD" + }); + + this.$once("hook:beforeDestroy", function() { + picker.destroy(); + }); + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-programmatic-event-listeners/package.json b/src/v2/examples/vue-20-programmatic-event-listeners/package.json new file mode 100644 index 0000000000..42312caa1f --- /dev/null +++ b/src/v2/examples/vue-20-programmatic-event-listeners/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-programmatic-event-listeners", + "version": "1.0.0", + "description": "Vue.js Programmatic Event Listeners example using Pikaday", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-programmatic-event-listeners/sandbox.config.json b/src/v2/examples/vue-20-programmatic-event-listeners/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-programmatic-event-listeners/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-realtime-with-deepstreamhub/index.html b/src/v2/examples/vue-20-realtime-with-deepstreamhub/index.html new file mode 100644 index 0000000000..e9396f3868 --- /dev/null +++ b/src/v2/examples/vue-20-realtime-with-deepstreamhub/index.html @@ -0,0 +1,184 @@ +<!DOCTYPE html> +<html> + <head> + <title>Realtime with deepstreamHub</title> + <!-- this example requires a modern browser that supports ES2015 natively --> + <script src="https://cdnjs.cloudflare.com/ajax/libs/deepstream.io-client-js/2.1.1/deepstream.js"></script> + <script src="https://unpkg.com/vue@2"></script> + + <link rel="stylesheet" type="text/css" href="/style.css" /> + </head> + <body> + <div id="app"> + <div class="group connectionState"> + Connection-State is: <em id="connection-state">{{connectionState}}</em> + </div> + <my-record :ds="ds"></my-record> + <my-events :ds="ds"></my-events> + <my-rpc :ds="ds"></my-rpc> + </div> + + <template id="record-template"> + <div class="group realtimedb"> + <h2>Realtime Datastore</h2> + <div class="input-group half left"> + <label>Firstname</label> + <input + type="text" + v-model="firstname" + @input="handleFirstNameUpdate()" + /> + </div> + <div class="input-group half"> + <label>Lastname</label> + <input + type="text" + v-model="lastname" + @input="handleLastNameUpdate()" + /> + </div> + </div> + </template> + + <template id="events-template"> + <div class="group pubsub"> + <div class="half left"> + <h2>Publish</h2> + <button class="half left" id="send-event" @click="handleClick()"> + Send test-event with + </button> + <input type="text" class="half" id="event-data" v-model="value" /> + </div> + <div class="half"> + <h2>Subscribe</h2> + <ul id="events-received"> + <template v-for="event in eventsReceived"> + <li>{{event}}</li> + </template> + </ul> + </div> + </div> + </template> + + <template id="rpc-template"> + <div class="group reqres"> + <div class="half left"> + <h2>Request</h2> + <button class="half left" @click="handleClick()"> + Make multiply request + </button> + <div class="half"> + <input type="text" v-model="requestValue" class="half left" /> + <span class="response half item"> {{displayResponse}} </span> + </div> + </div> + <div class="half"> + <h2>Response</h2> + <div class="half left item">Multiply number with:</div> + <input type="text" class="half" v-model="responseValue" /> + </div> + </div> + </template> + + <script> + const Record = { + template: "#record-template", + props: ["ds"], + data() { + return { + firstname: "", + lastname: "" + }; + }, + created() { + this.record = this.ds.record.getRecord("test/johndoe"); + + this.record.subscribe(values => { + this.firstname = values.firstname; + this.lastname = values.lastname; + }); + }, + methods: { + handleFirstNameUpdate() { + this.record.set("firstname", this.firstname); + }, + handleLastNameUpdate() { + this.record.set("lastname", this.lastname); + } + } + }; + + const Events = { + template: "#events-template", + props: ["ds"], + data() { + return { + eventsReceived: [], + value: "" + }; + }, + created() { + this.event = this.ds.event; + this.event.subscribe("test-event", value => { + this.eventsReceived.push(value); + }); + }, + methods: { + handleClick() { + this.event.emit("test-event", this.value); + } + } + }; + + const RPC = { + template: "#rpc-template", + props: ["ds"], + data() { + return { + responseValue: "7", + requestValue: "3", + displayResponse: "-" + }; + }, + created() { + this.rpc = this.ds.rpc; + this.rpc.provide("multiply-number", (data, response) => { + response.send(data.value * parseFloat(this.responseValue)); + }); + }, + methods: { + handleClick() { + const data = { + value: parseFloat(this.requestValue) + }; + + this.rpc.make("multiply-number", data, (err, resp) => { + this.displayResponse = resp || err.toString(); + }); + } + } + }; + + new Vue({ + el: "#app", + components: { + "my-record": Record, + "my-events": Events, + "my-rpc": RPC + }, + data: { + connectionState: "INITIAL" + }, + created() { + this.ds = deepstream( + "wss://154.deepstreamhub.com?apiKey=97a397bd-ccd2-498f-a520-aacc9f67373c" + ) + .login() + .on("connectionStateChanged", connectionState => { + this.$data.connectionState = connectionState; + }); + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-realtime-with-deepstreamhub/package.json b/src/v2/examples/vue-20-realtime-with-deepstreamhub/package.json new file mode 100644 index 0000000000..abf1458b23 --- /dev/null +++ b/src/v2/examples/vue-20-realtime-with-deepstreamhub/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-realtime-with-deepstreamhub", + "version": "1.0.0", + "description": "This example uses deepstreamHub to synchronize realtime data, send events and make remote procedure calls between clients (you can try opening it in multiple browser windows).", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-realtime-with-deepstreamhub/sandbox.config.json b/src/v2/examples/vue-20-realtime-with-deepstreamhub/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-realtime-with-deepstreamhub/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-realtime-with-deepstreamhub/style.css b/src/v2/examples/vue-20-realtime-with-deepstreamhub/style.css new file mode 100644 index 0000000000..b643051dfb --- /dev/null +++ b/src/v2/examples/vue-20-realtime-with-deepstreamhub/style.css @@ -0,0 +1,122 @@ +* { + margin: 0; + padding: 0; + list-style-type: none; + font-family: RobotoCondensed, sans-serif; + font-size: 14px; + color: #333; + box-sizing: border-box; + outline: none; + transition: all 200ms ease; +} + +body { + background-color: #fff; +} + +.group { + width: 80%; + max-width: 800px; + margin: 40px auto; + padding: 20px; + position: relative; + overflow: hidden; +} + +.group.connectionState { + margin: 10px auto 0; + padding: 0 20px; +} + +h2 { + font-size: 20px; + border-bottom: 1px solid #ccc; + padding-bottom: 4px; + margin-bottom: 10px; + position: relative; +} + +h2 small { + position: absolute; + right: 0; +} + +h2 small * { + display: inline-block; + vertical-align: middle; + font-weight: normal; + color: #333; + font-size: 12px; + cursor: pointer; +} + +button, +input, +.item { + height: 32px; + padding: 6px; +} + +button { + border: none; + background: #7185ec; + color: #fff; + font-weight: 500; + border-radius: 4px; + cursor: pointer; + text-align: center; + cursor: pointer; + font-weight: bold; + box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.2); +} + +button:hover { + background-color: #586cd8; +} + +button:active { + position: relative; + top: 1px; + left: 1px; + box-shadow: none; +} + +.half { + width: 48%; + float: left; + position: relative; +} + +.half.left { + margin-right: 4%; +} + +label { + font-size: 11px; + font-style: italic; +} + +input { + border-radius: 4px; + border: 1px solid #ccc; +} + +input:focus { + border-color: #7185ec; +} + +.input-group input { + width: 100%; +} + +span.response { + display: inline-block; + background-color: #dddddd; +} + +@media screen and (max-width: 900px) { + .half { + width: 100%; + margin: 0 0 10px !important; + } +} diff --git a/src/v2/examples/vue-20-single-file-components/Hello.vue b/src/v2/examples/vue-20-single-file-components/Hello.vue new file mode 100644 index 0000000000..9ca04cbb4c --- /dev/null +++ b/src/v2/examples/vue-20-single-file-components/Hello.vue @@ -0,0 +1,20 @@ +<template> + <p>{{ greeting }} World!</p> +</template> + +<script> +module.exports = { + data: function() { + return { + greeting: "Hello" + }; + } +}; +</script> + +<style scoped> +p { + font-size: 2em; + text-align: center; +} +</style> \ No newline at end of file diff --git a/src/v2/examples/vue-20-single-file-components/index.html b/src/v2/examples/vue-20-single-file-components/index.html new file mode 100644 index 0000000000..865e670f40 --- /dev/null +++ b/src/v2/examples/vue-20-single-file-components/index.html @@ -0,0 +1 @@ +<div id="app"></div> \ No newline at end of file diff --git a/src/v2/examples/vue-20-single-file-components/index.js b/src/v2/examples/vue-20-single-file-components/index.js new file mode 100644 index 0000000000..4cd7af61fb --- /dev/null +++ b/src/v2/examples/vue-20-single-file-components/index.js @@ -0,0 +1,10 @@ +import Vue from "vue"; +import App from "./Hello"; + +Vue.config.productionTip = false; + +new Vue({ + el: "#app", + template: "<App/>", + components: { App } +}); diff --git a/src/v2/examples/vue-20-single-file-components/package.json b/src/v2/examples/vue-20-single-file-components/package.json new file mode 100644 index 0000000000..36dd9df6e4 --- /dev/null +++ b/src/v2/examples/vue-20-single-file-components/package.json @@ -0,0 +1,17 @@ +{ + "name": "vue-20-single-file-components", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint" + }, + "dependencies": { + "vue": "^2.6.11" + }, + "devDependencies": {}, + "browserslist": ["> 1%", "last 2 versions", "not ie <= 8"], + "keywords": [], + "description": "Hello.vue single-file components example using a .vue extension." +} diff --git a/src/v2/examples/vue-20-svg-graph/index.html b/src/v2/examples/vue-20-svg-graph/index.html new file mode 100644 index 0000000000..885a3fbbef --- /dev/null +++ b/src/v2/examples/vue-20-svg-graph/index.html @@ -0,0 +1,142 @@ +<!DOCTYPE html> +<html> + <head> + <title>SVG Graph</title> + <script src="https://unpkg.com/vue@2"></script> + <link rel="stylesheet" type="text/css" href="/style.css" /> + + <!-- template for the polygraph component. --> + <script type="text/x-template" id="polygraph-template"> + <g> + <polygon :points="points"></polygon> + <circle cx="100" cy="100" r="80"></circle> + <axis-label + v-for="(stat, index) in stats" + :stat="stat" + :index="index" + :total="stats.length"> + </axis-label> + </g> + </script> + + <!-- template for the axis label component. --> + <script type="text/x-template" id="axis-label-template"> + <text :x="point.x" :y="point.y">{{stat.label}}</text> + </script> + </head> + <body> + <!-- demo root element --> + <div id="demo"> + <!-- Use the component --> + <svg width="200" height="200"> + <polygraph :stats="stats"></polygraph> + </svg> + <!-- controls --> + <div v-for="stat in stats"> + <label>{{stat.label}}</label> + <input type="range" v-model="stat.value" min="0" max="100" /> + <span>{{stat.value}}</span> + <button @click="remove(stat)" class="remove">X</button> + </div> + <form id="add"> + <input name="newlabel" v-model="newLabel" /> + <button @click="add">Add a Stat</button> + </form> + <pre id="raw">{{ stats }}</pre> + </div> + + <p style="font-size:12px">* input[type="range"] requires IE10 or above.</p> + + <script> + // The raw data to observe + var stats = [ + { label: "A", value: 100 }, + { label: "B", value: 100 }, + { label: "C", value: 100 }, + { label: "D", value: 100 }, + { label: "E", value: 100 }, + { label: "F", value: 100 } + ]; + + // A resusable polygon graph component + Vue.component("polygraph", { + props: ["stats"], + template: "#polygraph-template", + computed: { + // a computed property for the polygon's points + points: function() { + var total = this.stats.length; + return this.stats + .map(function(stat, i) { + var point = valueToPoint(stat.value, i, total); + return point.x + "," + point.y; + }) + .join(" "); + } + }, + components: { + // a sub component for the labels + "axis-label": { + props: { + stat: Object, + index: Number, + total: Number + }, + template: "#axis-label-template", + computed: { + point: function() { + return valueToPoint( + +this.stat.value + 10, + this.index, + this.total + ); + } + } + } + } + }); + + // math helper... + function valueToPoint(value, index, total) { + var x = 0; + var y = -value * 0.8; + var angle = ((Math.PI * 2) / total) * index; + var cos = Math.cos(angle); + var sin = Math.sin(angle); + var tx = x * cos - y * sin + 100; + var ty = x * sin + y * cos + 100; + return { + x: tx, + y: ty + }; + } + + // bootstrap the demo + new Vue({ + el: "#demo", + data: { + newLabel: "", + stats: stats + }, + methods: { + add: function(e) { + e.preventDefault(); + if (!this.newLabel) return; + this.stats.push({ + label: this.newLabel, + value: 100 + }); + this.newLabel = ""; + }, + remove: function(stat) { + if (this.stats.length > 3) { + this.stats.splice(this.stats.indexOf(stat), 1); + } else { + alert("Can't delete more!"); + } + } + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-svg-graph/package.json b/src/v2/examples/vue-20-svg-graph/package.json new file mode 100644 index 0000000000..afbe362f77 --- /dev/null +++ b/src/v2/examples/vue-20-svg-graph/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-svg-graph", + "version": "1.0.0", + "description": "This example showcases a combination of custom component, computed property, two-way binding and SVG support.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-svg-graph/sandbox.config.json b/src/v2/examples/vue-20-svg-graph/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-svg-graph/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-svg-graph/style.css b/src/v2/examples/vue-20-svg-graph/style.css new file mode 100644 index 0000000000..b533e006a6 --- /dev/null +++ b/src/v2/examples/vue-20-svg-graph/style.css @@ -0,0 +1,31 @@ +body { + font-family: Helvetica Neue, Arial, sans-serif; +} + +polygon { + fill: #42b983; + opacity: 0.75; +} + +circle { + fill: transparent; + stroke: #999; +} + +text { + font-family: Helvetica Neue, Arial, sans-serif; + font-size: 10px; + fill: #666; +} + +label { + display: inline-block; + margin-left: 10px; + width: 20px; +} + +#raw { + position: absolute; + top: 0; + left: 300px; +} diff --git a/src/v2/examples/vue-20-template-compilation/index.html b/src/v2/examples/vue-20-template-compilation/index.html new file mode 100644 index 0000000000..1582c6ea42 --- /dev/null +++ b/src/v2/examples/vue-20-template-compilation/index.html @@ -0,0 +1,83 @@ +<!DOCTYPE html> +<html> + <head> + <title>Template Compilation</title> + <script src="https://unpkg.com/vue@2"></script> + <link rel="stylesheet" type="text/css" href="/style.css" /> + </head> + <body> + <div id="app"> + <textarea v-model="templateText" rows="7"></textarea> + <div v-if="typeof result === 'object'"> + <label>render:</label> + <pre><code>{{ result.render }}</code></pre> + <label>staticRenderFns:</label> + <pre + v-for="(fn, index) in result.staticRenderFns" + ><code>_m({{ index }}): {{ fn }}</code></pre> + <pre + v-if="!result.staticRenderFns.length" + ><code>{{ result.staticRenderFns }}</code></pre> + </div> + <div v-else> + <label>Compilation Error:</label> + <pre><code>{{ result }}</code></pre> + </div> + </div> + + <script type="text/template" id="defaultTemplateText"> + <div> + <header> + <h1>I'm a template!</h1> + </header> + <p v-if="message">{{ message }}</p> + <p v-else>No message.</p> + </div> + </script> + + <script> + new Vue({ + el: "#app", + + data: function() { + return { + templateText: document + .querySelector("#defaultTemplateText") + .innerHTML.trim() + }; + }, + + computed: { + result: function() { + if (!this.templateText) { + return "Enter a valid template above"; + } + + try { + var result = Vue.compile( + this.templateText.replace(/\s{2,}/g, "") + ); + + return { + render: this.formatFunction(result.render), + staticRenderFns: result.staticRenderFns.map(this.formatFunction) + }; + } catch (error) { + return error.message; + } + } + }, + + methods: { + formatFunction: function(fn) { + return fn.toString().replace(/(\{\n)(\S)/, "$1 $2"); + } + } + }); + + console.error = function(error) { + throw new Error(error); + }; + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-template-compilation/package.json b/src/v2/examples/vue-20-template-compilation/package.json new file mode 100644 index 0000000000..c802e56604 --- /dev/null +++ b/src/v2/examples/vue-20-template-compilation/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-template-compilation", + "version": "1.0.0", + "description": "A demo using Vue.compile to live-compile a template string.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-template-compilation/sandbox.config.json b/src/v2/examples/vue-20-template-compilation/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-template-compilation/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-template-compilation/style.css b/src/v2/examples/vue-20-template-compilation/style.css new file mode 100644 index 0000000000..02a88e4503 --- /dev/null +++ b/src/v2/examples/vue-20-template-compilation/style.css @@ -0,0 +1,45 @@ +*, +*::before, +*::after { + box-sizing: border-box; +} + +body { + font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif; + -webkit-user-select: inherit; + user-select: inherit; + font-size: 14px; + color: #34495e; +} + +pre { + padding: 10px; + overflow-x: auto; + background: #f2f2f2; +} + +code { + white-space: pre; + padding: 0; +} + +code, +pre, +textarea { + font-family: "Roboto Mono", Monaco, courier, monospace; +} + +textarea { + width: 100%; + font-size: 14px; + margin-bottom: 8px; + border-color: #bbb; + padding: 8px; + border-bottom-width: 2px; + outline: none; + color: #34495e; +} + +textarea:focus { + background: lightyellow; +} diff --git a/src/v2/examples/vue-20-todomvc/index.html b/src/v2/examples/vue-20-todomvc/index.html new file mode 100644 index 0000000000..04463a3b7c --- /dev/null +++ b/src/v2/examples/vue-20-todomvc/index.html @@ -0,0 +1,258 @@ +<!DOCTYPE html> +<html> + <head> + <title>TodoMVC</title> + <script src="https://unpkg.com/vue@2"></script> + <link + rel="stylesheet" + type="text/css" + href="https://unpkg.com/todomvc-app-css@2.2.0/index.css" + /> + <style> + [v-cloak] { + display: none; + } + </style> + </head> + <body> + <section class="todoapp"> + <header class="header"> + <h1>todos</h1> + <input + class="new-todo" + autofocus + autocomplete="off" + placeholder="What needs to be done?" + v-model="newTodo" + @keyup.enter="addTodo" + /> + </header> + <section class="main" v-show="todos.length" v-cloak> + <input + id="toggle-all" + class="toggle-all" + type="checkbox" + v-model="allDone" + /> + <label for="toggle-all"></label> + <ul class="todo-list"> + <li + v-for="todo in filteredTodos" + class="todo" + :key="todo.id" + :class="{ completed: todo.completed, editing: todo == editedTodo }" + > + <div class="view"> + <input class="toggle" type="checkbox" v-model="todo.completed" /> + <label @dblclick="editTodo(todo)">{{ todo.title }}</label> + <button class="destroy" @click="removeTodo(todo)"></button> + </div> + <input + class="edit" + type="text" + v-model="todo.title" + v-todo-focus="todo == editedTodo" + @blur="doneEdit(todo)" + @keyup.enter="doneEdit(todo)" + @keyup.esc="cancelEdit(todo)" + /> + </li> + </ul> + </section> + <footer class="footer" v-show="todos.length" v-cloak> + <span class="todo-count"> + <strong>{{ remaining }}</strong> {{ remaining | pluralize }} left + </span> + <ul class="filters"> + <li> + <a href="#/all" :class="{ selected: visibility == 'all' }">All</a> + </li> + <li> + <a href="#/active" :class="{ selected: visibility == 'active' }" + >Active</a + > + </li> + <li> + <a + href="#/completed" + :class="{ selected: visibility == 'completed' }" + >Completed</a + > + </li> + </ul> + <button + class="clear-completed" + @click="removeCompleted" + v-show="todos.length > remaining" + > + Clear completed + </button> + </footer> + </section> + <footer class="info"> + <p>Double-click to edit a todo</p> + <p>Written by <a href="http://evanyou.me">Evan You</a></p> + <p>Part of <a href="http://todomvc.com">TodoMVC</a></p> + </footer> + + <script> + // Full spec-compliant TodoMVC with localStorage persistence + // and hash-based routing in ~120 effective lines of JavaScript. + + // localStorage persistence + var STORAGE_KEY = "todos-vuejs-2.0"; + var todoStorage = { + fetch: function() { + var todos = JSON.parse(localStorage.getItem(STORAGE_KEY) || "[]"); + todos.forEach(function(todo, index) { + todo.id = index; + }); + todoStorage.uid = todos.length; + return todos; + }, + save: function(todos) { + localStorage.setItem(STORAGE_KEY, JSON.stringify(todos)); + } + }; + + // visibility filters + var filters = { + all: function(todos) { + return todos; + }, + active: function(todos) { + return todos.filter(function(todo) { + return !todo.completed; + }); + }, + completed: function(todos) { + return todos.filter(function(todo) { + return todo.completed; + }); + } + }; + + // app Vue instance + var app = new Vue({ + // app initial state + data: { + todos: todoStorage.fetch(), + newTodo: "", + editedTodo: null, + visibility: "all" + }, + + // watch todos change for localStorage persistence + watch: { + todos: { + handler: function(todos) { + todoStorage.save(todos); + }, + deep: true + } + }, + + // computed properties + // http://v2.vuejs.org/guide/computed.html + computed: { + filteredTodos: function() { + return filters[this.visibility](this.todos); + }, + remaining: function() { + return filters.active(this.todos).length; + }, + allDone: { + get: function() { + return this.remaining === 0; + }, + set: function(value) { + this.todos.forEach(function(todo) { + todo.completed = value; + }); + } + } + }, + + filters: { + pluralize: function(n) { + return n === 1 ? "item" : "items"; + } + }, + + // methods that implement data logic. + // note there's no DOM manipulation here at all. + methods: { + addTodo: function() { + var value = this.newTodo && this.newTodo.trim(); + if (!value) { + return; + } + this.todos.push({ + id: todoStorage.uid++, + title: value, + completed: false + }); + this.newTodo = ""; + }, + + removeTodo: function(todo) { + this.todos.splice(this.todos.indexOf(todo), 1); + }, + + editTodo: function(todo) { + this.beforeEditCache = todo.title; + this.editedTodo = todo; + }, + + doneEdit: function(todo) { + if (!this.editedTodo) { + return; + } + this.editedTodo = null; + todo.title = todo.title.trim(); + if (!todo.title) { + this.removeTodo(todo); + } + }, + + cancelEdit: function(todo) { + this.editedTodo = null; + todo.title = this.beforeEditCache; + }, + + removeCompleted: function() { + this.todos = filters.active(this.todos); + } + }, + + // a custom directive to wait for the DOM to be updated + // before focusing on the input field. + // http://v2.vuejs.org/guide/custom-directive.html + directives: { + "todo-focus": function(el, binding) { + if (binding.value) { + el.focus(); + } + } + } + }); + + // handle routing + function onHashChange() { + var visibility = window.location.hash.replace(/#\/?/, ""); + if (filters[visibility]) { + app.visibility = visibility; + } else { + window.location.hash = ""; + app.visibility = "all"; + } + } + + window.addEventListener("hashchange", onHashChange); + onHashChange(); + + // mount + app.$mount(".todoapp"); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-todomvc/package.json b/src/v2/examples/vue-20-todomvc/package.json new file mode 100644 index 0000000000..8fb7dbe6d5 --- /dev/null +++ b/src/v2/examples/vue-20-todomvc/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-todomvc", + "version": "1.0.0", + "description": "This is a fully spec-compliant TodoMVC implementation in under 120 effective lines of JavaScript (excluding comments and blank lines).", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-todomvc/sandbox.config.json b/src/v2/examples/vue-20-todomvc/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-todomvc/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-tree-view/index.html b/src/v2/examples/vue-20-tree-view/index.html new file mode 100644 index 0000000000..63476085e2 --- /dev/null +++ b/src/v2/examples/vue-20-tree-view/index.html @@ -0,0 +1,121 @@ +<!DOCTYPE html> +<html> + <head> + <title>Tree View</title> + <script src="https://unpkg.com/vue@2"></script> + <link rel="stylesheet" type="text/css" href="/style.css" /> + + <!-- item template --> + <script type="text/x-template" id="item-template"> + <li> + <div + :class="{bold: isFolder}" + @click="toggle" + @dblclick="makeFolder"> + {{ item.name }} + <span v-if="isFolder">[{{ isOpen ? '-' : '+' }}]</span> + </div> + <ul v-show="isOpen" v-if="isFolder"> + <tree-item + class="item" + v-for="(child, index) in item.children" + :key="index" + :item="child" + @make-folder="$emit('make-folder', $event)" + @add-item="$emit('add-item', $event)" + ></tree-item> + <li class="add" @click="$emit('add-item', item)">+</li> + </ul> + </li> + </script> + </head> + <body> + <p>(You can double click on an item to turn it into a folder.)</p> + + <!-- the demo root element --> + <ul id="demo"> + <tree-item + class="item" + :item="treeData" + @make-folder="makeFolder" + @add-item="addItem" + ></tree-item> + </ul> + + <script> + // demo data + var treeData = { + name: "My Tree", + children: [ + { name: "hello" }, + { name: "wat" }, + { + name: "child folder", + children: [ + { + name: "child folder", + children: [{ name: "hello" }, { name: "wat" }] + }, + { name: "hello" }, + { name: "wat" }, + { + name: "child folder", + children: [{ name: "hello" }, { name: "wat" }] + } + ] + } + ] + }; + + // define the tree-item component + Vue.component("tree-item", { + template: "#item-template", + props: { + item: Object + }, + data: function() { + return { + isOpen: false + }; + }, + computed: { + isFolder: function() { + return this.item.children && this.item.children.length; + } + }, + methods: { + toggle: function() { + if (this.isFolder) { + this.isOpen = !this.isOpen; + } + }, + makeFolder: function() { + if (!this.isFolder) { + this.$emit("make-folder", this.item); + this.isOpen = true; + } + } + } + }); + + // boot up the demo + var demo = new Vue({ + el: "#demo", + data: { + treeData: treeData + }, + methods: { + makeFolder: function(item) { + Vue.set(item, "children", []); + this.addItem(item); + }, + addItem: function(item) { + item.children.push({ + name: "new stuff" + }); + } + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-tree-view/package.json b/src/v2/examples/vue-20-tree-view/package.json new file mode 100644 index 0000000000..911f9e37e4 --- /dev/null +++ b/src/v2/examples/vue-20-tree-view/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-tree-view", + "version": "1.0.0", + "description": "Example of a simple tree view implementation showcasing recursive usage of components.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-tree-view/sandbox.config.json b/src/v2/examples/vue-20-tree-view/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-tree-view/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-tree-view/style.css b/src/v2/examples/vue-20-tree-view/style.css new file mode 100644 index 0000000000..39c9133b8c --- /dev/null +++ b/src/v2/examples/vue-20-tree-view/style.css @@ -0,0 +1,15 @@ +body { + font-family: Menlo, Consolas, monospace; + color: #444; +} +.item { + cursor: pointer; +} +.bold { + font-weight: bold; +} +ul { + padding-left: 1em; + line-height: 1.5em; + list-style-type: dot; +} diff --git a/src/v2/examples/vue-20-two-way-currency-filter/currency-validator.js b/src/v2/examples/vue-20-two-way-currency-filter/currency-validator.js new file mode 100644 index 0000000000..80ab295e34 --- /dev/null +++ b/src/v2/examples/vue-20-two-way-currency-filter/currency-validator.js @@ -0,0 +1,61 @@ +var currencyValidator = { + format: function(number) { + return (Math.trunc(number * 100) / 100).toFixed(2); + }, + parse: function(newString, oldNumber) { + var CleanParse = function(value) { + return { value: value }; + }; + var CurrencyWarning = function(warning, value) { + return { + warning: warning, + value: value, + attempt: newString + }; + }; + var NotAValidDollarAmountWarning = function(value) { + return new CurrencyWarning( + newString + " is not a valid dollar amount", + value + ); + }; + var AutomaticConversionWarning = function(value) { + return new CurrencyWarning( + newString + " was automatically converted to " + value, + value + ); + }; + + var newNumber = Number(newString); + var indexOfDot = newString.indexOf("."); + var indexOfE = newString.indexOf("e"); + + if (isNaN(newNumber)) { + if ( + indexOfDot === -1 && + indexOfE > 0 && + indexOfE === newString.length - 1 && + Number(newString.slice(0, indexOfE)) !== 0 + ) { + return new CleanParse(oldNumber); + } else { + return new NotAValidDollarAmountWarning(oldNumber); + } + } + + var newCurrencyString = currencyValidator.format(newNumber); + var newCurrencyNumber = Number(newCurrencyString); + + if (newCurrencyNumber === newNumber) { + if (indexOfE !== -1 && indexOfE === newString.length - 2) { + return new AutomaticConversionWarning(newNumber); + } else { + return new CleanParse(newNumber); + } + } else { + return new NotAValidDollarAmountWarning( + newNumber > newCurrencyNumber ? newCurrencyNumber : oldNumber + ); + } + } +}; diff --git a/src/v2/examples/vue-20-two-way-currency-filter/index.html b/src/v2/examples/vue-20-two-way-currency-filter/index.html new file mode 100644 index 0000000000..c3fd6e2550 --- /dev/null +++ b/src/v2/examples/vue-20-two-way-currency-filter/index.html @@ -0,0 +1,90 @@ +<!DOCTYPE html> +<html> + <head> + <title>Two-way Currency Filter</title> + <script src="https://unpkg.com/vue@2"></script> + <script src="currency-validator.js"></script> + </head> + <body> + <div id="app"> + <currency-input label="Price" v-model="price"></currency-input> + <currency-input label="Shipping" v-model="shipping"></currency-input> + <currency-input label="Handling" v-model="handling"></currency-input> + <currency-input label="Discount" v-model="discount"></currency-input> + + <p>Total: ${{ total }}</p> + </div> + + <script> + Vue.component("currency-input", { + template: + '\ + <div>\ + <label v-if="label">{{ label }}</label>\ + $\ + <input\ + ref="input"\ + v-bind:value="value"\ + v-on:input="updateValue($event.target.value)"\ + v-on:focus="selectAll"\ + v-on:blur="formatValue"\ + >\ + </div>\ + ', + props: { + value: { + type: Number, + default: 0 + }, + label: { + type: String, + default: "" + } + }, + mounted: function() { + this.formatValue(); + }, + methods: { + updateValue: function(value) { + var result = currencyValidator.parse(value, this.value); + if (result.warning) { + this.$refs.input.value = result.value; + } + this.$emit("input", result.value); + }, + formatValue: function() { + this.$refs.input.value = currencyValidator.format(this.value); + }, + selectAll: function(event) { + // Workaround for Safari bug + // http://stackoverflow.com/questions/1269722/selecting-text-on-focus-using-jquery-not-working-in-safari-and-chrome + setTimeout(function() { + event.target.select(); + }, 0); + } + } + }); + + new Vue({ + el: "#app", + data: { + price: 0, + shipping: 0, + handling: 0, + discount: 0 + }, + computed: { + total: function() { + return ( + (this.price * 100 + + this.shipping * 100 + + this.handling * 100 - + this.discount * 100) / + 100 + ).toFixed(2); + } + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-two-way-currency-filter/package.json b/src/v2/examples/vue-20-two-way-currency-filter/package.json new file mode 100644 index 0000000000..ef67bd57a8 --- /dev/null +++ b/src/v2/examples/vue-20-two-way-currency-filter/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-two-way-currency-filter", + "version": "1.0.0", + "description": "Using lifecycle hooks and DOM events in place of the hidden behavior of two-way filters", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} diff --git a/src/v2/examples/vue-20-two-way-currency-filter/sandbox.config.json b/src/v2/examples/vue-20-two-way-currency-filter/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-two-way-currency-filter/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/examples/vue-20-wrapper-component/index.html b/src/v2/examples/vue-20-wrapper-component/index.html new file mode 100644 index 0000000000..7ee7577af8 --- /dev/null +++ b/src/v2/examples/vue-20-wrapper-component/index.html @@ -0,0 +1,90 @@ +<!DOCTYPE html> +<html> + <head> + <title>Wrapper Component</title> + <script src="https://unpkg.com/vue@2"></script> + <script src="https://unpkg.com/jquery@3.1.1/dist/jquery.js"></script> + <script src="https://unpkg.com/select2@4.0.3/dist/js/select2.js"></script> + + <link + rel="stylesheet" + type="text/css" + href="https://unpkg.com/select2@4.0.3/dist/css/select2.min.css" + /> + <style> + html, + body { + font: 13px/18px sans-serif; + } + select { + min-width: 300px; + } + </style> + </head> + <body> + <div id="el"></div> + + <!-- using string template here to work around HTML <option> placement restriction --> + <script type="text/x-template" id="demo-template"> + <div> + <p>Selected: {{ selected }}</p> + <select2 :options="options" v-model="selected"> + <option disabled value="0">Select one</option> + </select2> + </div> + </script> + + <script type="text/x-template" id="select2-template"> + <select> + <slot></slot> + </select> + </script> + + <script> + Vue.component("select2", { + props: ["options", "value"], + template: "#select2-template", + mounted: function() { + var vm = this; + $(this.$el) + // init select2 + .select2({ data: this.options }) + .val(this.value) + .trigger("change") + // emit event on change. + .on("change", function() { + vm.$emit("input", this.value); + }); + }, + watch: { + value: function(value) { + // update value + $(this.$el) + .val(value) + .trigger("change"); + }, + options: function(options) { + // update options + $(this.$el) + .empty() + .select2({ data: options }); + } + }, + destroyed: function() { + $(this.$el) + .off() + .select2("destroy"); + } + }); + + var vm = new Vue({ + el: "#el", + template: "#demo-template", + data: { + selected: 2, + options: [{ id: 1, text: "Hello" }, { id: 2, text: "World" }] + } + }); + </script> + </body> +</html> diff --git a/src/v2/examples/vue-20-wrapper-component/package.json b/src/v2/examples/vue-20-wrapper-component/package.json new file mode 100644 index 0000000000..92fe02c5c7 --- /dev/null +++ b/src/v2/examples/vue-20-wrapper-component/package.json @@ -0,0 +1,14 @@ +{ + "name": "vue-20-wrapper-component", + "version": "1.0.0", + "description": "In this example we are integrating a 3rd party jQuery plugin (select2) by wrapping it inside a custom component.", + "main": "index.html", + "scripts": { + "start": "serve" + }, + "keywords": [], + "license": "MIT", + "devDependencies": { + "serve": "^11.2.0" + } +} \ No newline at end of file diff --git a/src/v2/examples/vue-20-wrapper-component/sandbox.config.json b/src/v2/examples/vue-20-wrapper-component/sandbox.config.json new file mode 100644 index 0000000000..5866ed7445 --- /dev/null +++ b/src/v2/examples/vue-20-wrapper-component/sandbox.config.json @@ -0,0 +1,3 @@ +{ + "template": "static" +} diff --git a/src/v2/guide/class-and-style.md b/src/v2/guide/class-and-style.md index 5db43bbab3..60171d440b 100644 --- a/src/v2/guide/class-and-style.md +++ b/src/v2/guide/class-and-style.md @@ -7,6 +7,7 @@ order: 6 A common need for data binding is manipulating an element's class list and its inline styles. Since they are both attributes, we can use `v-bind` to handle them: we only need to calculate a final string with our expressions. However, meddling with string concatenation is annoying and error-prone. For this reason, Vue provides special enhancements when `v-bind` is used with `class` and `style`. In addition to strings, the expressions can also evaluate to objects or arrays. ## Binding HTML Classes +<div class="vueschool"><a href="https://vueschool.io/lessons/vuejs-dynamic-classes?friend=vuejs" target="_blank" rel="sponsored noopener" title="Free Vue.js Dynamic Classes Lesson">Watch a free video lesson on Vue School</a></div> ### Object Syntax @@ -21,9 +22,10 @@ The above syntax means the presence of the `active` class will be determined by You can have multiple classes toggled by having more fields in the object. In addition, the `v-bind:class` directive can also co-exist with the plain `class` attribute. So given the following template: ``` html -<div class="static" - v-bind:class="{ active: isActive, 'text-danger': hasError }"> -</div> +<div + class="static" + v-bind:class="{ active: isActive, 'text-danger': hasError }" +></div> ``` And the following data: diff --git a/src/v2/guide/comparison.md b/src/v2/guide/comparison.md index e940d312ee..c4b87ffd4d 100644 --- a/src/v2/guide/comparison.md +++ b/src/v2/guide/comparison.md @@ -8,7 +8,7 @@ This is definitely the most difficult page in the guide to write, but we do feel We also try very hard to avoid bias. As the core team, we obviously like Vue a lot. There are some problems we think it solves better than anything else out there. If we didn't believe that, we wouldn't be working on it. We do want to be fair and accurate though. Where other libraries offer significant advantages, such as React's vast ecosystem of alternative renderers or Knockout's browser support back to IE6, we try to list these as well. -We'd also like **your** help keeping this document up-to-date because the JavaScript world moves fast! If you notice an inaccuracy or something that doesn't seem quite right, please let us know by [opening an issue](https://github.com/vuejs/vuejs.org/issues/new?title=Inaccuracy+in+comparisons+guide). +We'd also like **your** help keeping this document up-to-date because the JavaScript world moves fast! If you notice an inaccuracy or something that doesn't seem quite right, please let us know by [opening an issue](https://github.com/vuejs/v2.vuejs.org/issues/new?title=Inaccuracy+in+comparisons+guide). ## React @@ -22,11 +22,11 @@ Being so similar in scope, we've put more time into fine-tuning this comparison With that said, it's inevitable that the comparison would appear biased towards Vue to some React users, as many of the subjects explored are to some extent subjective. We acknowledge the existence of varying technical taste, and this comparison primarily aims to outline the reasons why Vue could potentially be a better fit if your preferences happen to coincide with ours. -The React community [has been instrumental](https://github.com/vuejs/vuejs.org/issues/364) in helping us achieve this balance, with special thanks to Dan Abramov from the React team. He was extremely generous with his time and considerable expertise to help us refine this document until we were [both happy](https://github.com/vuejs/vuejs.org/issues/364#issuecomment-244575740) with the final result. +Some of the sections below may also be slightly outdated due to recent updates in React 16+, and we are planning to work with the React community to revamp this section in the near future. ### Runtime Performance -Both React and Vue are exceptionally and similarly fast, so speed is unlikely to be a deciding factor in choosing between them. For specific metrics though, check out this [3rd party benchmark](http://www.stefankrause.net/js-frameworks-benchmark7/table.html), which focuses on raw render/update performance with very simple component trees. +Both React and Vue are exceptionally and similarly fast, so speed is unlikely to be a deciding factor in choosing between them. For specific metrics though, check out this [3rd party benchmark](https://stefankrause.net/js-frameworks-benchmark8/table.html), which focuses on raw render/update performance with very simple component trees. #### Optimization Efforts @@ -68,7 +68,7 @@ On a higher level, we can divide components into two categories: presentational #### Component-Scoped CSS -Unless you spread components out over multiple files (for example with [CSS Modules](https://github.com/gajus/react-css-modules)), scoping CSS in React is often done via CSS-in-JS solutions (e.g. [styled-components](https://github.com/styled-components/styled-components), [glamorous](https://github.com/paypal/glamorous), and [emotion](https://github.com/emotion-js/emotion)). This introduces a new component-oriented styling paradigm that is different from the normal CSS authoring process. Additionally, although there is support for extracting CSS into a single stylesheet at build time, it is still common that a runtime will need to be included in the bundle for styling to work properly. While you gain access to the dynamism of JavaScript while constructing your styles, the tradeoff is often increased bundle size and runtime cost. +Unless you spread components out over multiple files (for example with [CSS Modules](https://github.com/gajus/react-css-modules)), scoping CSS in React is often done via CSS-in-JS solutions (e.g. [styled-components](https://github.com/styled-components/styled-components) and [emotion](https://github.com/emotion-js/emotion)). This introduces a new component-oriented styling paradigm that is different from the normal CSS authoring process. Additionally, although there is support for extracting CSS into a single stylesheet at build time, it is still common that a runtime will need to be included in the bundle for styling to work properly. While you gain access to the dynamism of JavaScript while constructing your styles, the tradeoff is often increased bundle size and runtime cost. If you are a fan of CSS-in-JS, many of the popular CSS-in-JS libraries support Vue (e.g. [styled-components-vue](https://github.com/styled-components/vue-styled-components) and [vue-emotion](https://github.com/egoist/vue-emotion)). The main difference between React and Vue here is that the default method of styling in Vue is through more familiar `style` tags in [single-file components](single-file-components.html). @@ -86,21 +86,21 @@ If you are a fan of CSS-in-JS, many of the popular CSS-in-JS libraries support V The optional `scoped` attribute automatically scopes this CSS to your component by adding a unique attribute (such as `data-v-21e5b78`) to elements and compiling `.list-container:hover` to something like `.list-container[data-v-21e5b78]:hover`. -Lastly, the styling in Vue's single-file component's is very flexible. Through [vue-loader](https://github.com/vuejs/vue-loader), you can use any preprocessor, post-processor, and even deep integration with [CSS Modules](https://vue-loader.vuejs.org/en/features/css-modules.html) -- all within the `<style>` element. +Lastly, the styling in Vue's single-file components is very flexible. Through [vue-loader](https://github.com/vuejs/vue-loader), you can use any preprocessor, post-processor, and even deep integration with [CSS Modules](https://vue-loader.vuejs.org/en/features/css-modules.html) -- all within the `<style>` element. ### Scale #### Scaling Up -For large applications, both Vue and React offer robust routing solutions. The React community has also been very innovative in terms of state management solutions (e.g. Flux/Redux). These state management patterns and [even Redux itself](https://github.com/egoist/revue) can be easily integrated into Vue applications. In fact, Vue has even taken this model a step further with [Vuex](https://github.com/vuejs/vuex), an Elm-inspired state management solution that integrates deeply into Vue that we think offers a superior development experience. +For large applications, both Vue and React offer robust routing solutions. The React community has also been very innovative in terms of state management solutions (e.g. Flux/Redux). These state management patterns and [even Redux itself](https://yarnpkg.com/en/packages?q=redux%20vue&p=1) can be easily integrated into Vue applications. In fact, Vue has even taken this model a step further with [Vuex](https://github.com/vuejs/vuex), an Elm-inspired state management solution that integrates deeply into Vue that we think offers a superior development experience. Another important difference between these offerings is that Vue's companion libraries for state management and routing (among [other concerns](https://github.com/vuejs)) are all officially supported and kept up-to-date with the core library. React instead chooses to leave these concerns to the community, creating a more fragmented ecosystem. Being more popular though, React's ecosystem is considerably richer than Vue's. -Finally, Vue offers a [CLI project generator](https://github.com/vuejs/vue-cli) that makes it trivially easy to start a new project using your choice of build system, including [webpack](https://github.com/vuejs-templates/webpack), [Browserify](https://github.com/vuejs-templates/browserify), or even [no build system](https://github.com/vuejs-templates/simple). React is also making strides in this area with [create-react-app](https://github.com/facebookincubator/create-react-app), but it currently has a few limitations: +Finally, Vue offers a [CLI project generator](https://github.com/vuejs/vue-cli) that makes it trivially easy to start a new project by featuring an interactive project scaffolding wizard. You can even use it for [instantly prototyping](https://cli.vuejs.org/guide/prototyping.html#instant-prototyping) a component. React is also making strides in this area with [create-react-app](https://github.com/facebookincubator/create-react-app), but it currently has a few limitations: -- It does not allow any configuration during project generation, while Vue's project templates allow [Yeoman](http://yeoman.io/)-like customization. -- It only offers a single template that assumes you're building a single-page application, while Vue offers a wide variety of templates for various purposes and build systems. -- It cannot generate projects from user-built templates, which can be especially useful for enterprise environments with pre-established conventions. +- It does not allow any configuration during project generation, while Vue CLI runs on top of an upgradeable runtime dependency that can be extended via [plugins](https://cli.vuejs.org/guide/plugins-and-presets.html#plugins). +- It only offers a single template that assumes you're building a single-page application, while Vue offers a wide variety of default options for various purposes and build systems. +- It cannot generate projects from user-built [presets](https://cli.vuejs.org/guide/plugins-and-presets.html#presets), which can be especially useful for enterprise environments with pre-established conventions. It's important to note that many of these limitations are intentional design decisions made by the create-react-app team and they do have their advantages. For example, as long as your project's needs are very simple and you never need to "eject" to customize your build process, you'll be able to update it as a dependency. You can read more about the [differing philosophy here](https://github.com/facebookincubator/create-react-app#philosophy). @@ -108,10 +108,10 @@ It's important to note that many of these limitations are intentional design dec React is renowned for its steep learning curve. Before you can really get started, you need to know about JSX and probably ES2015+, since many examples use React's class syntax. You also have to learn about build systems, because although you could technically use Babel Standalone to live-compile your code in the browser, it's absolutely not suitable for production. -While Vue scales up just as well as, if not better than React, it also scales down just as well as jQuery. That's right - all you have to do is drop a single script tag into a page: +While Vue scales up just as well as React, it also scales down just as well as jQuery. That's right - to get started, all you have to do is drop a single script tag into the page: ``` html -<script src="https://cdn.jsdelivr.net/npm/vue"></script> +<script src="https://cdn.jsdelivr.net/npm/vue@2"></script> ``` Then you can start writing Vue code and even ship the minified version to production without feeling guilty or having to worry about performance problems. @@ -124,12 +124,16 @@ React Native enables you to write native-rendered apps for iOS and Android using At this moment, Weex is still in active development and is not as mature and battle-tested as React Native, but its development is driven by the production needs of the largest e-commerce business in the world, and the Vue team will also actively collaborate with the Weex team to ensure a smooth experience for Vue developers. -Another option Vue developers will soon have is [NativeScript](https://www.nativescript.org/), via a [community-driven plugin](https://github.com/rigor789/nativescript-vue). +Another option is [NativeScript-Vue](https://nativescript-vue.org/), a [NativeScript](https://www.nativescript.org/) plugin for building truly native applications using Vue.js. ### With MobX MobX has become quite popular in the React community and it actually uses a nearly identical reactivity system to Vue. To a limited extent, the React + MobX workflow can be thought of as a more verbose Vue, so if you're using that combination and are enjoying it, jumping into Vue is probably the next logical step. +### Preact and Other React-Like Libraries + +React-like libraries usually try to share as much of their API and ecosystem with React as is feasible. For that reason, the vast majority of comparisons above will also apply to them. The main difference will typically be a reduced ecosystem, often significantly, compared to React. Since these libraries cannot be 100% compatible with everything in the React ecosystem, some tooling and companion libraries may not be usable. Or, even if they appear to work, they could break at any time unless your specific React-like library is officially supported on par with React. + ## AngularJS (Angular 1) Some of Vue's syntax will look very similar to AngularJS (e.g. `v-if` vs `ng-if`). This is because there were a lot of things that AngularJS got right and these were an inspiration for Vue very early in its development. There are also many pains that come with AngularJS however, where Vue has attempted to offer a significant improvement. @@ -142,7 +146,7 @@ Vue is much simpler than AngularJS, both in terms of API and design. Learning en AngularJS has strong opinions about how your applications should be structured, while Vue is a more flexible, modular solution. While this makes Vue more adaptable to a wide variety of projects, we also recognize that sometimes it's useful to have some decisions made for you, so that you can just start coding. -That's why we offer a [webpack template](https://github.com/vuejs-templates/webpack) that can set you up within minutes, while also granting you access to advanced features such as hot module reloading, linting, CSS extraction, and much more. +That's why we offer a full system for rapid Vue.js development. [Vue CLI](https://github.com/vuejs/vue-cli) aims to be the standard tooling baseline for the Vue ecosystem. It ensures the various build tools work smoothly together with sensible defaults so you can focus on writing your app instead of spending hours wrangling with configurations. At the same time, it still offers the flexibility to tweak the configuration of each tool to specific needs. ### Data binding @@ -174,11 +178,11 @@ Finally, although not as deeply integrated with TypeScript as Angular is, Vue al ### Runtime Performance -Both frameworks are exceptionally fast, with very similar metrics on benchmarks. You can [browse specific metrics](http://www.stefankrause.net/js-frameworks-benchmark7/table.html) for a more granular comparison, but speed is unlikely to be a deciding factor. +Both frameworks are exceptionally fast, with very similar metrics on benchmarks. You can [browse specific metrics](https://stefankrause.net/js-frameworks-benchmark8/table.html) for a more granular comparison, but speed is unlikely to be a deciding factor. ### Size -Recent versions of Angular, with [AOT compilation](https://en.wikipedia.org/wiki/Ahead-of-time_compilation) and [tree-shaking](https://en.wikipedia.org/wiki/Tree_shaking), have been able to get its size down considerably. However, a full-featured Vue 2 project with Vuex + Vue Router included (~30KB gzipped) is still significantly lighter than an out-of-the-box, AOT-compiled application generated by `angular-cli` (~130KB gzipped). +Recent versions of Angular, with [AOT compilation](https://en.wikipedia.org/wiki/Ahead-of-time_compilation) and [tree-shaking](https://en.wikipedia.org/wiki/Tree_shaking), have been able to get its size down considerably. However, a full-featured Vue 2 project with Vuex + Vue Router included (~30KB gzipped) is still significantly lighter than an out-of-the-box, AOT-compiled application generated by `angular-cli` (~65KB gzipped). ### Flexibility @@ -200,7 +204,7 @@ That said, it would probably make a better comparison between Vue core and Ember - Vue's template syntax harnesses the full power of JavaScript expressions, while Handlebars' expression and helper syntax is intentionally quite limited in comparison. -- Performance-wise, Vue outperforms Ember [by a fair margin](http://www.stefankrause.net/js-frameworks-benchmark7/table.html), even after the latest Glimmer engine update in Ember 2.x. Vue automatically batches updates, while in Ember you need to manually manage run loops in performance-critical situations. +- Performance-wise, Vue outperforms Ember [by a fair margin](https://stefankrause.net/js-frameworks-benchmark8/table.html), even after the latest Glimmer engine update in Ember 3.x. Vue automatically batches updates, while in Ember you need to manually manage run loops in performance-critical situations. ## Knockout @@ -212,19 +216,13 @@ There also seem to be philosophical differences in the API design which if you'r ## Polymer -Polymer is yet another Google-sponsored project and in fact was a source of inspiration for Vue as well. Vue's components can be loosely compared to Polymer's custom elements and both provide a very similar development style. The biggest difference is that Polymer is built upon the latest Web Components features and requires non-trivial polyfills to work (with degraded performance) in browsers that don't support those features natively. In contrast, Vue works without any dependencies or polyfills down to IE9. - -In Polymer 1.0, the team has also made its data-binding system very limited in order to compensate for the performance. For example, the only expressions supported in Polymer templates are boolean negation and single method calls. Its computed property implementation is also not very flexible. - -Polymer custom elements are authored in HTML files, which limits you to plain JavaScript/CSS (and language features supported by today's browsers). In comparison, Vue's single file components allows you to easily use ES2015+ and any CSS preprocessors you want. - -When deploying to production, Polymer recommends loading everything on-the-fly with HTML Imports, which assumes browsers implementing the spec, and HTTP/2 support on both server and client. This may or may not be feasible depending on your target audience and deployment environment. In cases where this is not desirable, you will have to use a special tool called Vulcanizer to bundle your Polymer elements. On this front, Vue can combine its async component feature with webpack's code-splitting feature to easily split out parts of the application bundle to be lazy-loaded. This ensures compatibility with older browsers while retaining great app loading performance. +Polymer is another Google-sponsored project and in fact was a source of inspiration for Vue as well. Vue's components can be loosely compared to Polymer's custom elements and both provide a very similar development style. The biggest difference is that Polymer is built upon the latest Web Components features and requires non-trivial polyfills to work (with degraded performance) in browsers that don't support those features natively. In contrast, Vue works without any dependencies or polyfills down to IE9. -It is also totally feasible to offer deeper integration between Vue with Web Component specs such as Custom Elements and Shadow DOM style encapsulation - however at this moment we are still waiting for the specs to mature and be widely implemented in all mainstream browsers before making any serious commitments. +In Polymer, the team has also made its data-binding system very limited in order to compensate for the performance. For example, the only expressions supported in Polymer templates are boolean negation and single method calls. Its computed property implementation is also not very flexible. ## Riot Riot 3.0 provides a similar component-based development model (which is called a "tag" in Riot), with a minimal and beautifully designed API. Riot and Vue probably share a lot in design philosophies. However, despite being a bit heavier than Riot, Vue does offer some significant advantages: -- Better performance. Riot [traverses a DOM tree](http://riotjs.com/compare/#virtual-dom-vs-expressions-binding) rather than using a virtual DOM, so suffers from the same performance issues as AngularJS. +- Better performance. Riot [traverses a DOM tree](https://v3.riotjs.now.sh/compare/#virtual-dom-vs-expressions-binding) rather than using a virtual DOM, so suffers from the same performance issues as AngularJS. - More mature tooling support. Vue provides official support for [webpack](https://github.com/vuejs/vue-loader) and [Browserify](https://github.com/vuejs/vueify), while Riot relies on community support for build system integration. diff --git a/src/v2/guide/components-custom-events.md b/src/v2/guide/components-custom-events.md index c44ab10fbe..1df316204a 100644 --- a/src/v2/guide/components-custom-events.md +++ b/src/v2/guide/components-custom-events.md @@ -6,6 +6,8 @@ order: 103 > This page assumes you've already read the [Components Basics](components.html). Read that first if you are new to components. +<div class="vueschool"><a href="https://vueschool.io/lessons/communication-between-components?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how to work with custom events on Vue School">Learn how to work with custom events in a free Vue School lesson</a></div> + ## Event Names Unlike components and props, event names don't provide any automatic case transformation. Instead, the name of an emitted event must exactly match the name used to listen to that event. For example, if emitting a camelCased event name: @@ -17,6 +19,7 @@ this.$emit('myEvent') Listening to the kebab-cased version will have no effect: ```html +<!-- Won't work --> <my-component v-on:my-event="doSomething"></my-component> ``` @@ -51,13 +54,13 @@ Vue.component('base-checkbox', { Now when using `v-model` on this component: -```js +```html <base-checkbox v-model="lovingVue"></base-checkbox> ``` the value of `lovingVue` will be passed to the `checked` prop. The `lovingVue` property will then be updated when `<base-checkbox>` emits a `change` event with a new value. -<p class="tip">Note that you still have to declare the <code>checked</code> prop in component's <code>props</code> option.</p> +<p class="tip">Note that you still have to declare the <code>checked</code> prop in the component's <code>props</code> option.</p> ## Binding Native Events to Components @@ -128,7 +131,7 @@ Vue.component('base-input', { }) ``` -Now the `<base-input>` component is a **fully transparent wrapper**, meaning it can be used exactly like a normal `<input>` element: all the same attributes and listeners will work. +Now the `<base-input>` component is a **fully transparent wrapper**, meaning it can be used exactly like a normal `<input>` element: all the same attributes and listeners will work, without the `.native` modifier. ## `.sync` Modifier @@ -136,7 +139,7 @@ Now the `<base-input>` component is a **fully transparent wrapper**, meaning it In some cases, we may need "two-way binding" for a prop. Unfortunately, true two-way binding can create maintenance issues, because child components can mutate the parent without the source of that mutation being obvious in both the parent and the child. -That's why instead, we recommend emitting events in the pattern of `update:my-prop-name`. For example, in a hypothetical component with a `title` prop, we could communicate the intent of assigning a new value with: +That's why instead, we recommend emitting events in the pattern of `update:myPropName`. For example, in a hypothetical component with a `title` prop, we could communicate the intent of assigning a new value with: ```js this.$emit('update:title', newTitle) @@ -157,6 +160,8 @@ For convenience, we offer a shorthand for this pattern with the `.sync` modifier <text-document v-bind:title.sync="doc.title"></text-document> ``` +<p class="tip">Note that <code>v-bind</code> with the <code>.sync</code> modifier does <strong>not</strong> work with expressions (e.g. <code>v-bind:title.sync="doc.title + '!'"</code> is invalid). Instead, you must only provide the name of the property you want to bind, similar to <code>v-model</code>.</p> + The `.sync` modifier can also be used with `v-bind` when using an object to set multiple props at once: ```html diff --git a/src/v2/guide/components-dynamic-async.md b/src/v2/guide/components-dynamic-async.md index 988e130b48..2a159364de 100644 --- a/src/v2/guide/components-dynamic-async.md +++ b/src/v2/guide/components-dynamic-async.md @@ -4,15 +4,21 @@ type: guide order: 105 --- +<script> +const __pageRedirects = { + '#Async-Components': '/guide/components/async.html' +} +</script> + > This page assumes you've already read the [Components Basics](components.html). Read that first if you are new to components. ## `keep-alive` with Dynamic Components Earlier, we used the `is` attribute to switch between components in a tabbed interface: -```html +{% codeblock lang:html %} <component v-bind:is="currentTabComponent"></component> -``` +{% endcodeblock %} When switching between these components though, you'll sometimes want to maintain their state or avoid re-rendering for performance reasons. For example, when expanding our tabbed interface a little: @@ -106,6 +112,7 @@ new Vue({ background: #f0f0f0; margin-bottom: -1px; margin-right: -1px; + overflow-anchor: none; } .dynamic-component-demo-tab-button:hover { background: #e0e0e0; @@ -193,7 +200,7 @@ new Vue({ </script> {% endraw %} -Now the _Posts_ tab maintains its state (the selected post) even when it's not rendered. See [this fiddle](https://jsfiddle.net/chrisvfritz/Lp20op9o/) for the complete code. +Now the _Posts_ tab maintains its state (the selected post) even when it's not rendered. See [this example](https://codesandbox.io/s/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-keep-alive-with-dynamic-components) for the complete code. <p class="tip">Note that `<keep-alive>` requires the components being switched between to all have names, either using the `name` option on a component, or through local/global registration.</p> @@ -201,6 +208,8 @@ Check out more details on `<keep-alive>` in the [API reference](../api/#keep-ali ## Async Components +<div class="vueschool"><a href="https://vueschool.io/lessons/dynamically-load-components?friend=vuejs" target="_blank" rel="sponsored noopener" title="Free Vue.js Async Components lesson">Watch a free video lesson on Vue School</a></div> + In large applications, we may need to divide the app into smaller chunks and only load a component from the server when it's needed. To make that easier, Vue allows you to define your component as a factory function that asynchronously resolves your component definition. Vue will only trigger the factory function when the component needs to be rendered and will cache the result for future re-renders. For example: ``` js @@ -225,17 +234,17 @@ Vue.component('async-webpack-example', function (resolve) { }) ``` -You can also return a `Promise` in the factory function, so with Webpack 2 and ES2015 syntax you can do: +You can also return a `Promise` in the factory function, so with Webpack 2 and ES2015 syntax you can make use of dynamic imports: ``` js Vue.component( 'async-webpack-example', - // The `import` function returns a Promise. + // A dynamic import returns a Promise. () => import('./my-async-component') ) ``` -When using [local registration](components.html#Local-Registration), you can also directly provide a function that returns a `Promise`: +When using [local registration](components-registration.html#Local-Registration), you can also directly provide a function that returns a `Promise`: ``` js new Vue({ @@ -246,7 +255,7 @@ new Vue({ }) ``` -<p class="tip">If you're a <strong>Browserify</strong> user that would like to use async components, its creator has unfortunately [made it clear](https://github.com/substack/node-browserify/issues/58#issuecomment-21978224) that async loading "is not something that Browserify will ever support." Officially, at least. The Browserify community has found [some workarounds](https://github.com/vuejs/vuejs.org/issues/620), which may be helpful for existing and complex applications. For all other scenarios, we recommend using Webpack for built-in, first-class async support.</p> +<p class="tip">If you're a <strong>Browserify</strong> user that would like to use async components, its creator has unfortunately [made it clear](https://github.com/substack/node-browserify/issues/58#issuecomment-21978224) that async loading "is not something that Browserify will ever support." Officially, at least. The Browserify community has found [some workarounds](https://github.com/vuejs/v2.vuejs.org/issues/620), which may be helpful for existing and complex applications. For all other scenarios, we recommend using Webpack for built-in, first-class async support.</p> ### Handling Loading State diff --git a/src/v2/guide/components-edge-cases.md b/src/v2/guide/components-edge-cases.md index 88b8458224..ce67f1b0e5 100644 --- a/src/v2/guide/components-edge-cases.md +++ b/src/v2/guide/components-edge-cases.md @@ -24,7 +24,7 @@ new Vue({ }, computed: { bar: function () { /* ... */ } - } + }, methods: { baz: function () { /* ... */ } } @@ -63,7 +63,7 @@ There are cases however, particularly shared component libraries, when this _mig </google-map> ``` -The `<google-map>` component might define a `map` property that all subcomponents need access to. In this case `<google-map-markers>` might want to access that map with something like `this.$parent.getMap`, in order to add a set of markers to it. You can see this pattern [in action here](https://jsfiddle.net/chrisvfritz/ttzutdxh/). +The `<google-map>` component might define a `map` property that all subcomponents need access to. In this case `<google-map-markers>` might want to access that map with something like `this.$parent.getMap`, in order to add a set of markers to it. You can see this pattern [in action here](https://codesandbox.io/s/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-accessing-parent-component-instance). Keep in mind, however, that components built with this pattern are still inherently fragile. For example, imagine we add a new `<google-map-region>` component and when `<google-map-markers>` appears within that, it should only render markers that fall within that region: @@ -81,7 +81,7 @@ Then inside `<google-map-markers>` you might find yourself reaching for a hack l var map = this.$parent.map || this.$parent.$parent.map ``` -This has quickly gotten out of hand. That's why to provide context information to descendent components arbitrarily deep, we instead recommend [dependency injection](#Dependency-Injection). +This has quickly gotten out of hand. That's why to provide context information to descendant components arbitrarily deep, we instead recommend [dependency injection](#Dependency-Injection). ### Accessing Child Component Instances & Child Elements @@ -138,7 +138,7 @@ Earlier, when we described [Accessing the Parent Component Instance](#Accessing- In this component, all descendants of `<google-map>` needed access to a `getMap` method, in order to know which map to interact with. Unfortunately, using the `$parent` property didn't scale well to more deeply nested components. That's where dependency injection can be useful, using two new instance options: `provide` and `inject`. -The `provide` options allows us to specify the data/methods we want to **provide** to descendent components. In this case, that's the `getMap` method inside `<google-map>`: +The `provide` options allows us to specify the data/methods we want to **provide** to descendant components. In this case, that's the `getMap` method inside `<google-map>`: ```js provide: function () { @@ -154,16 +154,16 @@ Then in any descendants, we can use the `inject` option to receive specific prop inject: ['getMap'] ``` -You can see the [full example here](https://jsfiddle.net/chrisvfritz/tdv8dt3s/). The advantage over using `$parent` is that we can access `getMap` in _any_ descendant component, without exposing the entire instance of `<google-map>`. This allows us to more safely keep developing that component, without fear that we might change/remove something that a child component is relying on. The interface between these components remains clearly defined, just as with `props`. +You can see the [full example here](https://codesandbox.io/s/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-dependency-injection). The advantage over using `$parent` is that we can access `getMap` in _any_ descendant component, without exposing the entire instance of `<google-map>`. This allows us to more safely keep developing that component, without fear that we might change/remove something that a child component is relying on. The interface between these components remains clearly defined, just as with `props`. In fact, you can think of dependency injection as sort of "long-range props", except: * ancestor components don't need to know which descendants use the properties it provides -* descendant components don't know need to know where injected properties are coming from +* descendant components don't need to know where injected properties are coming from <p class="tip">However, there are downsides to dependency injection. It couples components in your application to the way they're currently organized, making refactoring more difficult. Provided properties are also not reactive. This is by design, because using them to create a central data store scales just as poorly as <a href="#Accessing-the-Root-Instance">using <code>$root</code></a> for the same purpose. If the properties you want to share are specific to your app, rather than generic, or if you ever want to update provided data inside ancestors, then that's a good sign that you probably need a real state management solution like <a href="https://github.com/vuejs/vuex">Vuex</a> instead.</p> -Learn more about dependency injection in [the API doc](https://vuejs.org/v2/api/#provide-inject). +Learn more about dependency injection in [the API doc](/v2/api/#provide-inject). ## Programmatic Event Listeners @@ -233,9 +233,9 @@ methods: { } ``` -See [this fiddle](https://jsfiddle.net/chrisvfritz/1Leb7up8/) for the full code. Note, however, that if you find yourself having to do a lot of setup and cleanup within a single component, the best solution will usually be to create more modular components. In this case, we'd recommend creating a reusable `<input-datepicker>` component. +See [this example](https://codesandbox.io/s/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-programmatic-event-listeners) for the full code. Note, however, that if you find yourself having to do a lot of setup and cleanup within a single component, the best solution will usually be to create more modular components. In this case, we'd recommend creating a reusable `<input-datepicker>` component. -To learn more about programmatic listeners, check out the API for [Events Instance Methods](https://vuejs.org/v2/api/#Instance-Methods-Events). +To learn more about programmatic listeners, check out the API for [Events Instance Methods](/v2/api/#Instance-Methods-Events). <p class="tip">Note that Vue's event system is different from the browser's <a href="https://developer.mozilla.org/en-US/docs/Web/API/EventTarget">EventTarget API</a>. Though they work similarly, <code>$emit</code>, <code>$on</code>, and <code>$off</code> are <strong>not</strong> aliases for <code>dispatchEvent</code>, <code>addEventListener</code>, and <code>removeEventListener</code>.</p> @@ -288,7 +288,7 @@ Then a `tree-folder-contents` component with this template: </ul> ``` -When you look closely, you'll see that these components will actually be each other's descendent _and_ ancestor in the render tree - a paradox! When registering components globally with `Vue.component`, this paradox is resolved for you automatically. If that's you, you can stop reading here. +When you look closely, you'll see that these components will actually be each other's descendant _and_ ancestor in the render tree - a paradox! When registering components globally with `Vue.component`, this paradox is resolved for you automatically. If that's you, you can stop reading here. However, if you're requiring/importing components using a __module system__, e.g. via Webpack or Browserify, you'll get an error: @@ -331,6 +331,8 @@ When the `inline-template` special attribute is present on a child component, th </my-component> ``` +Your inline template needs to be defined inside the DOM element to which Vue is attached. + <p class="tip">However, <code>inline-template</code> makes the scope of your templates harder to reason about. As a best practice, prefer defining templates inside the component using the <code>template</code> option or in a <code><template></code> element in a <code>.vue</code> file.</p> ### X-Templates @@ -349,6 +351,8 @@ Vue.component('hello-world', { }) ``` +Your x-template needs to be defined outside the DOM element to which Vue is attached. + <p class="tip">These can be useful for demos with large templates or in extremely small applications, but should otherwise be avoided, because they separate templates from the rest of the component definition.</p> ## Controlling Updates @@ -359,7 +363,7 @@ Thanks to Vue's Reactivity system, it always knows when to update (if you use it <p class="tip">If you find yourself needing to force an update in Vue, in 99.99% of cases, you've made a mistake somewhere.</p> -You may not have accounted for change detection caveats [with arrays](https://vuejs.org/v2/guide/list.html#Caveats) or [objects](https://vuejs.org/v2/guide/list.html#Object-Change-Detection-Caveats), or you may be relying on state that isn't tracked by Vue's reactivity system, e.g. with `data`. +You may not have accounted for change detection caveats [with arrays](/v2/guide/list.html#Caveats) or [objects](/v2/guide/list.html#Object-Change-Detection-Caveats), or you may be relying on state that isn't tracked by Vue's reactivity system, e.g. with `data`. However, if you've ruled out the above and find yourself in this extremely rare situation of having to manually force an update, you can do so with [`$forceUpdate`](../api/#vm-forceUpdate). diff --git a/src/v2/guide/components-props.md b/src/v2/guide/components-props.md index 2f27cdbb46..1f274c595a 100644 --- a/src/v2/guide/components-props.md +++ b/src/v2/guide/components-props.md @@ -4,8 +4,16 @@ type: guide order: 102 --- +<script> +const __pageRedirects = { + '#Non-Prop-Attributes': '/guide/components/attrs.html' +} +</script> + > This page assumes you've already read the [Components Basics](components.html). Read that first if you are new to components. +<div class="vueschool"><a href="https://vueschool.io/lessons/reusable-components-with-props?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how component props work with Vue School">Learn how component props work with a free lesson on Vue School</a></div> + ## Prop Casing (camelCase vs kebab-case) HTML attribute names are case-insensitive, so browsers will interpret any uppercase characters as lowercase. That means when you're using in-DOM templates, camelCased prop names need to use their kebab-cased (hyphen-delimited) equivalents: @@ -25,7 +33,31 @@ Vue.component('blog-post', { Again, if you're using string templates, this limitation does not apply. -## Static and Dynamic Props +## Prop Types + +So far, we've only seen props listed as an array of strings: + +```js +props: ['title', 'likes', 'isPublished', 'commentIds', 'author'] +``` + +Usually though, you'll want every prop to be a specific type of value. In these cases, you can list props as an object, where the properties' names and values contain the prop names and types, respectively: + +```js +props: { + title: String, + likes: Number, + isPublished: Boolean, + commentIds: Array, + author: Object, + callback: Function, + contactsPromise: Promise // or any other constructor +} +``` + +This not only documents your component, but will also warn users in the browser's JavaScript console if they pass the wrong type. You'll learn much more about [type checks and other prop validations](#Prop-Validation) further down this page. + +## Passing Static or Dynamic Props So far, you've seen props passed a static value, like in: @@ -36,7 +68,13 @@ So far, you've seen props passed a static value, like in: You've also seen props assigned dynamically with `v-bind`, such as in: ```html +<!-- Dynamically assign the value of a variable --> <blog-post v-bind:title="post.title"></blog-post> + +<!-- Dynamically assign the value of a complex expression --> +<blog-post + v-bind:title="post.title + ' by ' + post.author.name" +></blog-post> ``` In the two examples above, we happen to pass string values, but _any_ type of value can actually be passed to a prop. @@ -56,14 +94,14 @@ In the two examples above, we happen to pass string values, but _any_ type of va ```html <!-- Including the prop with no value will imply `true`. --> -<blog-post favorited></blog-post> +<blog-post is-published></blog-post> <!-- Even though `false` is static, we need v-bind to tell Vue that --> <!-- this is a JavaScript expression rather than a string. --> -<base-input v-bind:favorited="false"> +<blog-post v-bind:is-published="false"></blog-post> <!-- Dynamically assign to the value of a variable. --> -<base-input v-bind:favorited="post.currentUserFavorited"> +<blog-post v-bind:is-published="post.isPublished"></blog-post> ``` ### Passing an Array @@ -82,10 +120,15 @@ In the two examples above, we happen to pass string values, but _any_ type of va ```html <!-- Even though the object is static, we need v-bind to tell Vue that --> <!-- this is a JavaScript expression rather than a string. --> -<blog-post v-bind:comments="{ id: 1, title: 'My Journey with Vue' }"></blog-post> +<blog-post + v-bind:author="{ + name: 'Veronica', + company: 'Veridian Dynamics' + }" +></blog-post> <!-- Dynamically assign to the value of a variable. --> -<blog-post v-bind:post="post"></blog-post> +<blog-post v-bind:author="post.author"></blog-post> ``` ### Passing the Properties of an Object @@ -148,14 +191,14 @@ There are usually two cases where it's tempting to mutate a prop: ## Prop Validation -Components can specify requirements for its props. If a requirement isn't met, Vue will warn you in the browser's JavaScript console. This is especially useful when developing a component that's intended to be used by others. +Components can specify requirements for their props, such as the types you've already seen. If a requirement isn't met, Vue will warn you in the browser's JavaScript console. This is especially useful when developing a component that's intended to be used by others. To specify prop validations, you can provide an object with validation requirements to the value of `props`, instead of an array of strings. For example: ``` js Vue.component('my-component', { props: { - // Basic type check (`null` matches any type) + // Basic type check (`null` and `undefined` values will pass any type validation) propA: Number, // Multiple possible types propB: [String, Number], @@ -182,7 +225,7 @@ Vue.component('my-component', { propF: { validator: function (value) { // The value must match one of these strings - return ['success', 'warning', 'danger'].indexOf(value) !== -1 + return ['success', 'warning', 'danger'].includes(value) } } } @@ -200,9 +243,10 @@ The `type` can be one of the following native constructors: - String - Number - Boolean -- Function -- Object - Array +- Object +- Date +- Function - Symbol In addition, `type` can also be a custom constructor function and the assertion will be made with an `instanceof` check. For example, given the following constructor function exists: @@ -279,7 +323,7 @@ This can be especially useful in combination with the `$attrs` instance property ```js { - class: 'username-input', + required: true, placeholder: 'Enter your username' } ``` @@ -303,12 +347,15 @@ Vue.component('base-input', { }) ``` +<p class="tip">Note that `inheritAttrs: false` option does **not** affect `style` and `class` bindings.</p> + This pattern allows you to use base components more like raw HTML elements, without having to care about which element is actually at its root: ```html <base-input + label="Username:" v-model="username" - class="username-input" + required placeholder="Enter your username" ></base-input> ``` diff --git a/src/v2/guide/components-registration.md b/src/v2/guide/components-registration.md index 1fd04ec1c4..9d4c027fc3 100644 --- a/src/v2/guide/components-registration.md +++ b/src/v2/guide/components-registration.md @@ -6,6 +6,8 @@ order: 101 > This page assumes you've already read the [Components Basics](components.html). Read that first if you are new to components. +<div class="vueschool"><a href="https://vueschool.io/lessons/global-vs-local-components?friend=vuejs" target="_blank" rel="sponsored noopener" title="Free Vue.js Component Registration lesson">Watch a free video lesson on Vue School</a></div> + ## Component Names When registering a component, it will always be given a name. For example, in the global registration we've seen so far: @@ -16,7 +18,7 @@ Vue.component('my-component-name', { /* ... */ }) The component's name is the first argument of `Vue.component`. -The name you give a component may depend on where you intend to use it. When using a component directly in the DOM (as opposed to in a string template or [single-file component](single-file-components.html)), we strongly recommend following the [W3C rules](https://www.w3.org/TR/custom-elements/#concepts) for custom tag names (all-lowercase, must contain a hyphen). This helps you avoid conflicts with current and future HTML elements. +The name you give a component may depend on where you intend to use it. When using a component directly in the DOM (as opposed to in a string template or [single-file component](single-file-components.html)), we strongly recommend following the [W3C rules](https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name) for custom tag names (all-lowercase, must contain a hyphen). This helps you avoid conflicts with current and future HTML elements. You can see other recommendations for component names in the [Style Guide](../style-guide/#Base-component-names-strongly-recommended). @@ -86,7 +88,7 @@ Then define the components you'd like to use in a `components` option: ```js new Vue({ - el: '#app' + el: '#app', components: { 'component-a': ComponentA, 'component-b': ComponentB @@ -207,11 +209,15 @@ requireComponent.keys().forEach(fileName => { // Get PascalCase name of component const componentName = upperFirst( camelCase( - // Strip the leading `'./` and extension from the filename - fileName.replace(/^\.\/(.*)\.\w+$/, '$1') + // Gets the file name regardless of folder depth + fileName + .split('/') + .pop() + .replace(/\.\w+$/, '') ) ) + // Register component globally Vue.component( componentName, diff --git a/src/v2/guide/components-slots.md b/src/v2/guide/components-slots.md index f90cf8e6ef..6ba9bc2710 100644 --- a/src/v2/guide/components-slots.md +++ b/src/v2/guide/components-slots.md @@ -6,9 +6,11 @@ order: 104 > This page assumes you've already read the [Components Basics](components.html). Read that first if you are new to components. +> In 2.6.0, we introduced a new unified syntax (the `v-slot` directive) for named and scoped slots. It replaces the `slot` and `slot-scope` attributes, which are now deprecated, but have _not_ been removed and are still documented [here](#Deprecated-Syntax). The rationale for introducing the new syntax is described in this [RFC](https://github.com/vuejs/rfcs/blob/master/active-rfcs/0001-new-slot-syntax.md). + ## Slot Content -Vue implements a content distribution API that's modeled after the current [Web Components spec draft](https://github.com/w3c/webcomponents/blob/gh-pages/proposals/Slots-Proposal.md), using the `<slot>` element to serve as distribution outlets for content. +Vue implements a content distribution API inspired by the [Web Components spec draft](https://github.com/w3c/webcomponents/blob/gh-pages/proposals/Slots-Proposal.md), using the `<slot>` element to serve as distribution outlets for content. This allows you to compose components like this: @@ -29,7 +31,7 @@ Then in the template for `<navigation-link>`, you might have: </a> ``` -When the component renders, the `<slot>` element will be replaced by "Your Profile". Slots can contain any template code, including HTML: +When the component renders, `<slot></slot>` will be replaced by "Your Profile". Slots can contain any template code, including HTML: ``` html <navigation-link url="/profile"> @@ -49,11 +51,88 @@ Or even other components: </navigation-link> ``` -If `<navigation-link>` did **not** contain a `<slot>` element, any content passed to it would simply be discarded. +If `<navigation-link>`'s template did **not** contain a `<slot>` element, any content provided between its opening and closing tag would be discarded. + +## Compilation Scope + +When you want to use data inside a slot, such as in: + +``` html +<navigation-link url="/profile"> + Logged in as {{ user.name }} +</navigation-link> +``` + +That slot has access to the same instance properties (i.e. the same "scope") as the rest of the template. The slot does **not** have access to `<navigation-link>`'s scope. For example, trying to access `url` would not work: + +``` html +<navigation-link url="/profile"> + Clicking here will send you to: {{ url }} + <!-- + The `url` will be undefined, because this content is passed + _to_ <navigation-link>, rather than defined _inside_ the + <navigation-link> component. + --> +</navigation-link> +``` + +As a rule, remember that: + +> Everything in the parent template is compiled in parent scope; everything in the child template is compiled in the child scope. + +## Fallback Content + +There are cases when it's useful to specify fallback (i.e. default) content for a slot, to be rendered only when no content is provided. For example, in a `<submit-button>` component: + +```html +<button type="submit"> + <slot></slot> +</button> +``` + +We might want the text "Submit" to be rendered inside the `<button>` most of the time. To make "Submit" the fallback content, we can place it in between the `<slot>` tags: + +```html +<button type="submit"> + <slot>Submit</slot> +</button> +``` + +Now when we use `<submit-button>` in a parent component, providing no content for the slot: + +```html +<submit-button></submit-button> +``` + +will render the fallback content, "Submit": + +```html +<button type="submit"> + Submit +</button> +``` + +But if we provide content: + +```html +<submit-button> + Save +</submit-button> +``` + +Then the provided content will be rendered instead: + +```html +<button type="submit"> + Save +</button> +``` ## Named Slots -There are times when it's useful to have multiple slots. For example, in a hypothetical `base-layout` component with the following template: +> Updated in 2.6.0+. [See here](#Deprecated-Syntax) for the deprecated syntax using the `slot` attribute. + +There are times when it's useful to have multiple slots. For example, in a `<base-layout>` component with the following template: ``` html <div class="container"> @@ -85,37 +164,47 @@ For these cases, the `<slot>` element has a special attribute, `name`, which can </div> ``` -To provide content to named slots, we can use the `slot` attribute on a `<template>` element in the parent: +A `<slot>` outlet without `name` implicitly has the name "default". + +To provide content to named slots, we can use the `v-slot` directive on a `<template>`, providing the name of the slot as `v-slot`'s argument: ```html <base-layout> - <template slot="header"> + <template v-slot:header> <h1>Here might be a page title</h1> </template> <p>A paragraph for the main content.</p> <p>And another one.</p> - <template slot="footer"> + <template v-slot:footer> <p>Here's some contact info</p> </template> </base-layout> ``` -Or, the `slot` attribute can also be used directly on a normal element: +Now everything inside the `<template>` elements will be passed to the corresponding slots. Any content not wrapped in a `<template>` using `v-slot` is assumed to be for the default slot. -``` html +However, you can still wrap default slot content in a `<template>` if you wish to be explicit: + +```html <base-layout> - <h1 slot="header">Here might be a page title</h1> + <template v-slot:header> + <h1>Here might be a page title</h1> + </template> - <p>A paragraph for the main content.</p> - <p>And another one.</p> + <template v-slot:default> + <p>A paragraph for the main content.</p> + <p>And another one.</p> + </template> - <p slot="footer">Here's some contact info</p> + <template v-slot:footer> + <p>Here's some contact info</p> + </template> </base-layout> ``` -There can still be one unnamed slot, which is the **default slot** that serves as a catch-all outlet for any unmatched content. In both examples above, the rendered HTML would be: +Either way, the rendered HTML will be: ``` html <div class="container"> @@ -132,44 +221,192 @@ There can still be one unnamed slot, which is the **default slot** that serves a </div> ``` -## Default Slot Content +Note that **`v-slot` can only be added to a `<template>`** (with [one exception](#Abbreviated-Syntax-for-Lone-Default-Slots)), unlike the deprecated [`slot` attribute](#Deprecated-Syntax). + +## Scoped Slots -There are cases when it's useful to provide a slot with default content. For example, a `<submit-button>` component might want the content of the button to be "Submit" by default, but also allow users to override with "Save", "Upload", or anything else. +> Updated in 2.6.0+. [See here](#Deprecated-Syntax) for the deprecated syntax using the `slot-scope` attribute. -To achieve this, specify the default content in between the `<slot>` tags. +Sometimes, it's useful for slot content to have access to data only available in the child component. For example, imagine a `<current-user>` component with the following template: ```html -<button type="submit"> - <slot>Submit</slot> -</button> +<span> + <slot>{{ user.lastName }}</slot> +</span> ``` -If the slot is provided content by the parent, it will replace the default content. +We might want to replace this fallback content to display the user's first name, instead of last, like this: -## Compilation Scope +``` html +<current-user> + {{ user.firstName }} +</current-user> +``` -When you want to use data inside a slot, such as in: +That won't work, however, because only the `<current-user>` component has access to the `user` and the content we're providing is rendered in the parent. + +To make `user` available to the slot content in the parent, we can bind `user` as an attribute to the `<slot>` element: ``` html -<navigation-link url="/profile"> - Logged in as {{ user.name }} -</navigation-link> +<span> + <slot v-bind:user="user"> + {{ user.lastName }} + </slot> +</span> ``` -That slot has access to the same instance properties (i.e. the same "scope") as the rest of the template. The slot does **not** have access to `<navigation-link>`'s scope. For example, trying to access `url` would not work. As a rule, remember that: +Attributes bound to a `<slot>` element are called **slot props**. Now, in the parent scope, we can use `v-slot` with a value to define a name for the slot props we've been provided: -> Everything in the parent template is compiled in parent scope; everything in the child template is compiled in the child scope. +``` html +<current-user> + <template v-slot:default="slotProps"> + {{ slotProps.user.firstName }} + </template> +</current-user> +``` -## Scoped Slots +In this example, we've chosen to name the object containing all our slot props `slotProps`, but you can use any name you like. + +### Abbreviated Syntax for Lone Default Slots + +In cases like above, when _only_ the default slot is provided content, the component's tags can be used as the slot's template. This allows us to use `v-slot` directly on the component: + +``` html +<current-user v-slot:default="slotProps"> + {{ slotProps.user.firstName }} +</current-user> +``` + +This can be shortened even further. Just as non-specified content is assumed to be for the default slot, `v-slot` without an argument is assumed to refer to the default slot: + +``` html +<current-user v-slot="slotProps"> + {{ slotProps.user.firstName }} +</current-user> +``` + +Note that the abbreviated syntax for default slot **cannot** be mixed with named slots, as it would lead to scope ambiguity: + +``` html +<!-- INVALID, will result in warning --> +<current-user v-slot="slotProps"> + {{ slotProps.user.firstName }} + <template v-slot:other="otherSlotProps"> + slotProps is NOT available here + </template> +</current-user> +``` + +Whenever there are multiple slots, use the full `<template>` based syntax for _all_ slots: + +``` html +<current-user> + <template v-slot:default="slotProps"> + {{ slotProps.user.firstName }} + </template> + + <template v-slot:other="otherSlotProps"> + ... + </template> +</current-user> +``` + +### Destructuring Slot Props + +Internally, scoped slots work by wrapping your slot content in a function passed a single argument: + +```js +function (slotProps) { + // ... slot content ... +} +``` + +That means the value of `v-slot` can actually accept any valid JavaScript expression that can appear in the argument position of a function definition. So in supported environments ([single-file components](single-file-components.html) or [modern browsers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Browser_compatibility)), you can also use [ES2015 destructuring](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Object_destructuring) to pull out specific slot props, like so: + +``` html +<current-user v-slot="{ user }"> + {{ user.firstName }} +</current-user> +``` + +This can make the template much cleaner, especially when the slot provides many props. It also opens other possibilities, such as renaming props, e.g. `user` to `person`: + +``` html +<current-user v-slot="{ user: person }"> + {{ person.firstName }} +</current-user> +``` + +You can even define fallbacks, to be used in case a slot prop is undefined: + +``` html +<current-user v-slot="{ user = { firstName: 'Guest' } }"> + {{ user.firstName }} +</current-user> +``` + +## Dynamic Slot Names + +> New in 2.6.0+ + +[Dynamic directive arguments](syntax.html#Dynamic-Arguments) also work on `v-slot`, allowing the definition of dynamic slot names: + +``` html +<base-layout> + <template v-slot:[dynamicSlotName]> + ... + </template> +</base-layout> +``` + +## Named Slots Shorthand + +> New in 2.6.0+ + +Similar to `v-on` and `v-bind`, `v-slot` also has a shorthand, replacing everything before the argument (`v-slot:`) with the special symbol `#`. For example, `v-slot:header` can be rewritten as `#header`: + +```html +<base-layout> + <template #header> + <h1>Here might be a page title</h1> + </template> + + <p>A paragraph for the main content.</p> + <p>And another one.</p> -> New in 2.1.0+ + <template #footer> + <p>Here's some contact info</p> + </template> +</base-layout> +``` + +However, just as with other directives, the shorthand is only available when an argument is provided. That means the following syntax is invalid: + +``` html +<!-- This will trigger a warning --> +<current-user #="{ user }"> + {{ user.firstName }} +</current-user> +``` -Sometimes you'll want to provide a component with a reusable slot that can access data from the child component. For example, a simple `<todo-list>` component may contain the following in its template: +Instead, you must always specify the name of the slot if you wish to use the shorthand: + +``` html +<current-user #default="{ user }"> + {{ user.firstName }} +</current-user> +``` + +## Other Examples + +**Slot props allow us to turn slots into reusable templates that can render different content based on input props.** This is most useful when you are designing a reusable component that encapsulates data logic while allowing the consuming parent component to customize part of its layout. + +For example, we are implementing a `<todo-list>` component that contains the layout and filtering logic for a list: ```html <ul> <li - v-for="todo in todos" + v-for="todo in filteredTodos" v-bind:key="todo.id" > {{ todo.text }} @@ -177,19 +414,19 @@ Sometimes you'll want to provide a component with a reusable slot that can acces </ul> ``` -But in some parts of our app, we want the individual todo items to render something different than just the `todo.text`. This is where scoped slots come in. - -To make the feature possible, all we have to do is wrap the todo item content in a `<slot>` element, then pass the slot any data relevant to its context: in this case, the `todo` object: +Instead of hard-coding the content for each todo, we can let the parent component take control by making every todo a slot, then binding `todo` as a slot prop: ```html <ul> <li - v-for="todo in todos" + v-for="todo in filteredTodos" v-bind:key="todo.id" > - <!-- We have a slot for each todo, passing it the --> - <!-- `todo` object as a slot prop. --> - <slot v-bind:todo="todo"> + <!-- + We have a slot for each todo, passing it the + `todo` object as a slot prop. + --> + <slot name="todo" v-bind:todo="todo"> <!-- Fallback content --> {{ todo.text }} </slot> @@ -197,33 +434,127 @@ To make the feature possible, all we have to do is wrap the todo item content in </ul> ``` -Now when we use the `<todo-list>` component, we can optionally define an alternative `<template>` for todo items, but with access to data from the child via the `slot-scope` attribute: +Now when we use the `<todo-list>` component, we can optionally define an alternative `<template>` for todo items, but with access to data from the child: ```html <todo-list v-bind:todos="todos"> - <!-- Define `slotProps` as the name of our slot scope --> - <template slot-scope="slotProps"> - <!-- Define a custom template for todo items, using --> - <!-- `slotProps` to customize each todo. --> - <span v-if="slotProps.todo.isComplete">✓</span> - {{ slotProps.todo.text }} + <template v-slot:todo="{ todo }"> + <span v-if="todo.isComplete">✓</span> + {{ todo.text }} </template> </todo-list> ``` -> In 2.5.0+, `slot-scope` is no longer limited to the `<template>` element, but can instead be used on any element or component in the slot. +However, even this barely scratches the surface of what scoped slots are capable of. For real-life, powerful examples of scoped slot usage, we recommend browsing libraries such as [Vue Virtual Scroller](https://github.com/Akryum/vue-virtual-scroller), [Vue Promised](https://github.com/posva/vue-promised), and [Portal Vue](https://github.com/LinusBorg/portal-vue). + +## Deprecated Syntax -### Destructuring `slot-scope` +> The `v-slot` directive was introduced in Vue 2.6.0, offering an improved, alternative API to the still-supported `slot` and `slot-scope` attributes. The full rationale for introducing `v-slot` is described in this [RFC](https://github.com/vuejs/rfcs/blob/master/active-rfcs/0001-new-slot-syntax.md). The `slot` and `slot-scope` attributes will continue to be supported in all future 2.x releases, but are officially deprecated and will eventually be removed in Vue 3. -The value of `slot-scope` can actually accept any valid JavaScript expression that can appear in the argument position of a function definition. This means in supported environments ([single-file components](single-file-components.html) or [modern browsers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Browser_compatibility)) you can also use [ES2015 destructuring](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Object_destructuring) in the expression, like so: +### Named Slots with the `slot` Attribute + +> <abbr title="Still supported in all 2.x versions of Vue, but no longer recommended.">Deprecated</abbr> in 2.6.0+. See [here](#Named-Slots) for the new, recommended syntax. + +To pass content to named slots from the parent, use the special `slot` attribute on `<template>` (using the `<base-layout>` component described [here](#Named-Slots) as example): ```html +<base-layout> + <template slot="header"> + <h1>Here might be a page title</h1> + </template> + + <p>A paragraph for the main content.</p> + <p>And another one.</p> + + <template slot="footer"> + <p>Here's some contact info</p> + </template> +</base-layout> +``` + +Or, the `slot` attribute can also be used directly on a normal element: + +``` html +<base-layout> + <h1 slot="header">Here might be a page title</h1> + + <p>A paragraph for the main content.</p> + <p>And another one.</p> + + <p slot="footer">Here's some contact info</p> +</base-layout> +``` + +There can still be one unnamed slot, which is the **default slot** that serves as a catch-all for any unmatched content. In both examples above, the rendered HTML would be: + +``` html +<div class="container"> + <header> + <h1>Here might be a page title</h1> + </header> + <main> + <p>A paragraph for the main content.</p> + <p>And another one.</p> + </main> + <footer> + <p>Here's some contact info</p> + </footer> +</div> +``` + +### Scoped Slots with the `slot-scope` Attribute + +> <abbr title="Still supported in all 2.x versions of Vue, but no longer recommended.">Deprecated</abbr> in 2.6.0+. See [here](#Scoped-Slots) for the new, recommended syntax. + +To receive props passed to a slot, the parent component can use `<template>` with the `slot-scope` attribute (using the `<slot-example>` described [here](#Scoped-Slots) as example): + +``` html +<slot-example> + <template slot="default" slot-scope="slotProps"> + {{ slotProps.msg }} + </template> +</slot-example> +``` + +Here, `slot-scope` declares the received props object as the `slotProps` variable, and makes it available inside the `<template>` scope. You can name `slotProps` anything you like similar to naming function arguments in JavaScript. + +Here `slot="default"` can be omitted as it is implied: + +``` html +<slot-example> + <template slot-scope="slotProps"> + {{ slotProps.msg }} + </template> +</slot-example> +``` + +The `slot-scope` attribute can also be used directly on a non-`<template>` element (including components): + +``` html +<slot-example> + <span slot-scope="slotProps"> + {{ slotProps.msg }} + </span> +</slot-example> +``` + +The value of `slot-scope` can accept any valid JavaScript expression that can appear in the argument position of a function definition. This means in supported environments ([single-file components](single-file-components.html) or [modern browsers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Browser_compatibility)) you can also use [ES2015 destructuring](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Object_destructuring) in the expression, like so: + +``` html +<slot-example> + <span slot-scope="{ msg }"> + {{ msg }} + </span> +</slot-example> +``` + +Using the `<todo-list>` described [here](#Other-Examples) as an example, here's the equivalent usage using `slot-scope`: + +``` html <todo-list v-bind:todos="todos"> - <template slot-scope="{ todo }"> + <template slot="todo" slot-scope="{ todo }"> <span v-if="todo.isComplete">✓</span> {{ todo.text }} </template> </todo-list> ``` - -This is a great way to make scoped slots a little cleaner. diff --git a/src/v2/guide/components.md b/src/v2/guide/components.md index ad5a4a9a0b..6a49d9a6fe 100644 --- a/src/v2/guide/components.md +++ b/src/v2/guide/components.md @@ -4,6 +4,8 @@ type: guide order: 11 --- +<div class="vueschool"><a href="https://vueschool.io/courses/vuejs-components-fundamentals?friend=vuejs" target="_blank" rel="sponsored noopener" title="Free Vue.js Components Fundamentals Course">Watch a free video course on Vue School</a></div> + ## Base Example Here's an example of a Vue component: @@ -28,9 +30,9 @@ Components are reusable Vue instances with a name: in this case, `<button-counte </div> ``` -```js +{% codeblock lang:js %} new Vue({ el: '#components-demo' }) -``` +{% endcodeblock %} {% raw %} <div id="components-demo" class="demo"> @@ -185,7 +187,7 @@ new Vue({ posts: [ { id: 1, title: 'My journey with Vue' }, { id: 2, title: 'Blogging with Vue' }, - { id: 3, title: 'Why Vue is so fun' }, + { id: 3, title: 'Why Vue is so fun' } ] } }) @@ -201,7 +203,7 @@ Then want to render a component for each one: ></blog-post> ``` -Above, you'll see that we can use `v-bind` to dynamically pass props. This is especially useful when you don't know the exact content you're going to render ahead of time, like when [fetching posts from an API](https://jsfiddle.net/chrisvfritz/sbLgr0ad). +Above, you'll see that we can use `v-bind` to dynamically pass props. This is especially useful when you don't know the exact content you're going to render ahead of time, like when [fetching posts from an API](https://codesandbox.io/s/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-component-blog-post-example). That's all you need to know about props for now, but once you've finished reading this page and feel comfortable with its content, we recommend coming back later to read the full guide on [Props](components-props.html). @@ -210,26 +212,65 @@ That's all you need to know about props for now, but once you've finished readin When building out a `<blog-post>` component, your template will eventually contain more than just the title: ```html -<h3>{{ post.title }}</h3> +<h3>{{ title }}</h3> ``` At the very least, you'll want to include the post's content: ```html -<h3>{{ post.title }}</h3> -<div v-html="post.content"></div> +<h3>{{ title }}</h3> +<div v-html="content"></div> ``` -If you try this in your template however, Vue will show an error, explaining that **every component must have a single root element**. You can fix this error by wrapping the template in a parent element, such as: +If you try this in your template, however, Vue will show an error, explaining that **every component must have a single root element**. You can fix this error by wrapping the template in a parent element, such as: ```html <div class="blog-post"> - <h3>{{ post.title }}</h3> - <div v-html="post.content"></div> + <h3>{{ title }}</h3> + <div v-html="content"></div> </div> ``` -## Sending Messages to Parents with Events +As our component grows, it's likely we'll not only need the title and content of a post, but also the published date, comments, and more. Defining a prop for each related piece of information could become very annoying: + +```html +<blog-post + v-for="post in posts" + v-bind:key="post.id" + v-bind:title="post.title" + v-bind:content="post.content" + v-bind:publishedAt="post.publishedAt" + v-bind:comments="post.comments" +></blog-post> +``` + +So this might be a good time to refactor the `<blog-post>` component to accept a single `post` prop instead: + +```html +<blog-post + v-for="post in posts" + v-bind:key="post.id" + v-bind:post="post" +></blog-post> +``` + +```js +Vue.component('blog-post', { + props: ['post'], + template: ` + <div class="blog-post"> + <h3>{{ post.title }}</h3> + <div v-html="post.content"></div> + </div> + ` +}) +``` + +<p class="tip">The above example and some future ones use JavaScript's [template literal](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals) to make multi-line templates more readable. These are not supported by Internet Explorer (IE), so if you must support IE and are not transpiling (e.g. with Babel or TypeScript), use [newline escapes](https://css-tricks.com/snippets/javascript/multiline-string-variables-in-javascript/) instead.</p> + +Now, whenever a new property is added to `post` objects, it will automatically be available inside `<blog-post>`. + +## Listening to Child Components Events As we develop our `<blog-post>` component, some features may require communicating back up to the parent. For example, we may decide to include an accessibility feature to enlarge the text of blog posts, while leaving the rest of the page its default size: @@ -276,8 +317,6 @@ Vue.component('blog-post', { }) ``` -<p class="tip">The above example and some future ones use JavaScript's [template literal](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals) to make multi-line templates more readable. These are not supported by Internet Explorer (IE), so if you must support IE and are not transpiling (e.g. with Babel or TypeScript), use [newline escapes](https://css-tricks.com/snippets/javascript/multiline-string-variables-in-javascript/) instead.</p> - The problem is, this button doesn't do anything: ```html @@ -286,15 +325,7 @@ The problem is, this button doesn't do anything: </button> ``` -When we click on the button, we need to communicate to the parent that it should enlarge the text of all posts. Fortunately, Vue instances provide a custom events system to solve this problem. To emit an event to the parent, we can call the built-in [**`$emit`** method](../api/#Instance-Methods-Events), passing the name of the event: - -```html -<button v-on:click="$emit('enlarge-text')"> - Enlarge text -</button> -``` - -Then on our blog post, we can listen for this event with `v-on`, just as we would with a native DOM event: +When we click on the button, we need to communicate to the parent that it should enlarge the text of all posts. Fortunately, Vue instances provide a custom events system to solve this problem. The parent can choose to listen to any event on the child component instance with `v-on`, just as we would with a native DOM event: ```html <blog-post @@ -303,6 +334,16 @@ Then on our blog post, we can listen for this event with `v-on`, just as we woul ></blog-post> ``` +Then the child component can emit an event on itself by calling the built-in [**`$emit`** method](../api/#vm-emit), passing the name of the event: + +```html +<button v-on:click="$emit('enlarge-text')"> + Enlarge text +</button> +``` + +Thanks to the `v-on:enlarge-text="postFontSize += 0.1"` listener, the parent will receive the event and update `postFontSize` value. + {% raw %} <div id="blog-posts-events-demo" class="demo"> <div :style="{ fontSize: postFontSize + 'em' }"> @@ -560,7 +601,9 @@ In the example above, `currentTabComponent` can contain either: - the name of a registered component, or - a component's options object -See [this fiddle](https://jsfiddle.net/chrisvfritz/o3nycadu/) to experiment with the full code, or [this version](https://jsfiddle.net/chrisvfritz/b2qj69o1/) for an example binding to a component's options object, instead of its registered name. +See [this example](https://codesandbox.io/s/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-dynamic-components) to experiment with the full code, or [this version](https://codesandbox.io/s/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-dynamic-components-with-binding) for an example binding to a component's options object, instead of its registered name. + +Keep in mind that this attribute can be used with regular HTML elements, however they will be treated as components, which means all attributes **will be bound as DOM attributes**. For some properties such as `value` to work as you would expect, you will need to bind them using the [`.prop` modifier](../api/#v-bind). That's all you need to know about dynamic components for now, but once you've finished reading this page and feel comfortable with its content, we recommend coming back later to read the full guide on [Dynamic & Async Components](components-dynamic-async.html). @@ -590,6 +633,6 @@ It should be noted that **this limitation does _not_ apply if you are using stri - [Single-file (`.vue`) components](single-file-components.html) - [`<script type="text/x-template">`](components-edge-cases.html#X-Templates) -That's all you need to know about dynamic components for now -- and actually, the end of Vue's _Essentials_. Congratulations! There's still more to learn, but first, we recommend taking a break to play with Vue yourself and build something fun. +That's all you need to know about DOM template parsing caveats for now -- and actually, the end of Vue's _Essentials_. Congratulations! There's still more to learn, but first, we recommend taking a break to play with Vue yourself and build something fun. Once you feel comfortable with the knowledge you've just digested, we recommend coming back to read the full guide on [Dynamic & Async Components](components-dynamic-async.html), as well as the other pages in the Components In-Depth section of the sidebar. diff --git a/src/v2/guide/computed.md b/src/v2/guide/computed.md index fdf9fdcc62..290e89e046 100644 --- a/src/v2/guide/computed.md +++ b/src/v2/guide/computed.md @@ -4,8 +4,16 @@ type: guide order: 5 --- +<script> +const __pageRedirects = { + '#Watchers': '/guide/essentials/watchers.html' +} +</script> + ## Computed Properties +<div class="vueschool"><a href="https://vueschool.io/lessons/vuejs-computed-properties?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how computed properties work with Vue School">Learn how computed properties work with a free lesson on Vue School</a></div> + In-template expressions are very convenient, but they are meant for simple operations. Putting too much logic in your templates can make them bloated and hard to maintain. For example: ``` html @@ -94,7 +102,7 @@ methods: { } ``` -Instead of a computed property, we can define the same function as a method instead. For the end result, the two approaches are indeed exactly the same. However, the difference is that **computed properties are cached based on their dependencies.** A computed property will only re-evaluate when some of its dependencies have changed. This means as long as `message` has not changed, multiple access to the `reversedMessage` computed property will immediately return the previously computed result without having to run the function again. +Instead of a computed property, we can define the same function as a method. For the end result, the two approaches are indeed exactly the same. However, the difference is that **computed properties are cached based on their reactive dependencies.** A computed property will only re-evaluate when some of its reactive dependencies have changed. This means as long as `message` has not changed, multiple access to the `reversedMessage` computed property will immediately return the previously computed result without having to run the function again. This also means the following computed property will never update, because `Date.now()` is not a reactive dependency: @@ -201,7 +209,7 @@ For example: <!-- Since there is already a rich ecosystem of ajax libraries --> <!-- and collections of general-purpose utility methods, Vue core --> <!-- is able to remain small by not reinventing them. This also --> -<!-- gives you the freedom to use what you're familiar with. --> +<!-- gives you the freedom to use what you're familiar with. --> <script src="https://cdn.jsdelivr.net/npm/axios@0.12.0/dist/axios.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/lodash@4.13.1/lodash.min.js"></script> <script> @@ -215,10 +223,10 @@ var watchExampleVM = new Vue({ // whenever question changes, this function will run question: function (newQuestion, oldQuestion) { this.answer = 'Waiting for you to stop typing...' - this.getAnswer() + this.debouncedGetAnswer() } }, - methods: { + created: function () { // _.debounce is a function provided by lodash to limit how // often a particularly expensive operation can be run. // In this case, we want to limit how often we access @@ -226,26 +234,24 @@ var watchExampleVM = new Vue({ // finished typing before making the ajax request. To learn // more about the _.debounce function (and its cousin // _.throttle), visit: https://lodash.com/docs#debounce - getAnswer: _.debounce( - function () { - if (this.question.indexOf('?') === -1) { - this.answer = 'Questions usually contain a question mark. ;-)' - return - } - this.answer = 'Thinking...' - var vm = this - axios.get('https://yesno.wtf/api') - .then(function (response) { - vm.answer = _.capitalize(response.data.answer) - }) - .catch(function (error) { - vm.answer = 'Error! Could not reach the API. ' + error - }) - }, - // This is the number of milliseconds we wait for the - // user to stop typing. - 500 - ) + this.debouncedGetAnswer = _.debounce(this.getAnswer, 500) + }, + methods: { + getAnswer: function () { + if (this.question.indexOf('?') === -1) { + this.answer = 'Questions usually contain a question mark. ;-)' + return + } + this.answer = 'Thinking...' + var vm = this + axios.get('https://yesno.wtf/api') + .then(function (response) { + vm.answer = _.capitalize(response.data.answer) + }) + .catch(function (error) { + vm.answer = 'Error! Could not reach the API. ' + error + }) + } } }) </script> @@ -273,28 +279,28 @@ var watchExampleVM = new Vue({ watch: { question: function (newQuestion, oldQuestion) { this.answer = 'Waiting for you to stop typing...' - this.getAnswer() + this.debouncedGetAnswer() } }, + created: function () { + this.debouncedGetAnswer = _.debounce(this.getAnswer, 500) + }, methods: { - getAnswer: _.debounce( - function () { - var vm = this - if (this.question.indexOf('?') === -1) { - vm.answer = 'Questions usually contain a question mark. ;-)' - return - } - vm.answer = 'Thinking...' - axios.get('https://yesno.wtf/api') - .then(function (response) { - vm.answer = _.capitalize(response.data.answer) - }) - .catch(function (error) { - vm.answer = 'Error! Could not reach the API. ' + error - }) - }, - 500 - ) + getAnswer: function () { + if (this.question.indexOf('?') === -1) { + this.answer = 'Questions usually contain a question mark. ;-)' + return + } + this.answer = 'Thinking...' + var vm = this + axios.get('https://yesno.wtf/api') + .then(function (response) { + vm.answer = _.capitalize(response.data.answer) + }) + .catch(function (error) { + vm.answer = 'Error! Could not reach the API. ' + error + }) + } } }) </script> diff --git a/src/v2/guide/conditional.md b/src/v2/guide/conditional.md index 18d9459f87..d667ae5d73 100644 --- a/src/v2/guide/conditional.md +++ b/src/v2/guide/conditional.md @@ -4,28 +4,21 @@ type: guide order: 7 --- -## `v-if` - -In string templates, for example Handlebars, we would write a conditional block like this: +<div class="vueschool"><a href="https://vueschool.io/lessons/vuejs-conditionals?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how conditional rendering works with Vue School">Learn how conditional rendering works with a free lesson on Vue School</a></div> -``` html -<!-- Handlebars template --> -{{#if ok}} - <h1>Yes</h1> -{{/if}} -``` +## `v-if` -In Vue, we use the `v-if` directive to achieve the same: +The directive `v-if` is used to conditionally render a block. The block will only be rendered if the directive's expression returns a truthy value. ``` html -<h1 v-if="ok">Yes</h1> +<h1 v-if="awesome">Vue is awesome!</h1> ``` It is also possible to add an "else block" with `v-else`: ``` html -<h1 v-if="ok">Yes</h1> -<h1 v-else>No</h1> +<h1 v-if="awesome">Vue is awesome!</h1> +<h1 v-else>Oh no 😢</h1> ``` ### Conditional Groups with `v-if` on `<template>` @@ -196,4 +189,6 @@ Generally speaking, `v-if` has higher toggle costs while `v-show` has higher ini ## `v-if` with `v-for` -When used together with `v-if`, `v-for` has a higher priority than `v-if`. See the <a href="../guide/list.html#V-for-and-v-if">list rendering guide</a> for details. +<p class="tip">Using `v-if` and `v-for` together is **not recommended**. See the [style guide](/v2/style-guide/#Avoid-v-if-with-v-for-essential) for further information.</p> + +When used together with `v-if`, `v-for` has a higher priority than `v-if`. See the <a href="../guide/list.html#v-for-with-v-if">list rendering guide</a> for details. diff --git a/src/v2/guide/custom-directive.md b/src/v2/guide/custom-directive.md index f950449d82..5951f163f9 100644 --- a/src/v2/guide/custom-directive.md +++ b/src/v2/guide/custom-directive.md @@ -6,6 +6,8 @@ order: 302 ## Intro +<div class="vueschool"><a href="https://vueschool.io/lessons/create-vuejs-directive?friend=vuejs" target="_blank" rel="sponsored noopener" title="Free Vue.js Custom Directives lesson">Watch a free video lesson on Vue School</a></div> + In addition to the default set of directives shipped in core (`v-model` and `v-show`), Vue also allows you to register your own custom directives. Note that in Vue 2.0, the primary form of code reuse and abstraction is components - however there may be cases where you need some low-level DOM access on plain elements, and this is where custom directives would still be useful. An example would be focusing on an input element, like this one: {% raw %} @@ -66,6 +68,8 @@ A directive definition object can provide several hook functions (all optional): - `update`: called after the containing component's VNode has updated, __but possibly before its children have updated__. The directive's value may or may not have changed, but you can skip unnecessary updates by comparing the binding's current and old values (see below on hook arguments). +<p class="tip">We'll cover VNodes in more detail [later](./render-function.html#The-Virtual-DOM), when we discuss [render functions](./render-function.html).</p> + - `componentUpdated`: called after the containing component's VNode __and the VNodes of its children__ have updated. - `unbind`: called only once, when the directive is unbound from the element. @@ -141,6 +145,72 @@ new Vue({ </script> {% endraw %} +### Dynamic Directive Arguments + +Directive arguments can be dynamic. For example, in `v-mydirective:[argument]="value"`, the `argument` can be updated based on data properties in our component instance! This makes our custom directives flexible for use throughout our application. + +Let's say you want to make a custom directive that allows you to pin elements to your page using fixed positioning. We could create a custom directive where the value updates the vertical positioning in pixels, like this: + +```html +<div id="baseexample"> + <p>Scroll down the page</p> + <p v-pin="200">Stick me 200px from the top of the page</p> +</div> +``` + +```js +Vue.directive('pin', { + bind: function (el, binding, vnode) { + el.style.position = 'fixed' + el.style.top = binding.value + 'px' + } +}) + +new Vue({ + el: '#baseexample' +}) +``` + +This would pin the element 200px from the top of the page. But what happens if we run into a scenario when we need to pin the element from the left, instead of the top? Here's where a dynamic argument that can be updated per component instance comes in very handy: + + +```html +<div id="dynamicexample"> + <h3>Scroll down inside this section ↓</h3> + <p v-pin:[direction]="200">I am pinned onto the page at 200px to the left.</p> +</div> +``` + +```js +Vue.directive('pin', { + bind: function (el, binding, vnode) { + el.style.position = 'fixed' + var s = (binding.arg == 'left' ? 'left' : 'top') + el.style[s] = binding.value + 'px' + } +}) + +new Vue({ + el: '#dynamicexample', + data: function () { + return { + direction: 'left' + } + } +}) +``` + +Result: + +{% raw %} +<iframe height="200" style="width: 100%;" class="demo" scrolling="no" title="Dynamic Directive Arguments" src="//codepen.io/team/Vue/embed/rgLLzb/?height=300&theme-id=32763&default-tab=result" frameborder="no" allowtransparency="true" allowfullscreen="true"> + See the Pen <a href='https://codepen.io/team/Vue/pen/rgLLzb/'>Dynamic Directive Arguments</a> by Vue + (<a href='https://codepen.io/Vue'>@Vue</a>) on <a href='https://codepen.io'>CodePen</a>. +</iframe> +{% endraw %} + +Our custom directive is now flexible enough to support a few different use cases. + ## Function Shorthand In many cases, you may want the same behavior on `bind` and `update`, but don't care about the other hooks. For example: diff --git a/src/v2/guide/deployment.md b/src/v2/guide/deployment.md index e6dc44bdca..b863cf65ba 100644 --- a/src/v2/guide/deployment.md +++ b/src/v2/guide/deployment.md @@ -1,9 +1,11 @@ --- title: Production Deployment type: guide -order: 401 +order: 404 --- +> Most of the tips below are enabled by default if you are using [Vue CLI](https://cli.vuejs.org). This section is only relevant if you are using a custom build setup. + ## Turn on Production Mode During development, Vue provides a lot of warnings to help you with common errors and pitfalls. However, these warning strings become useless in production and bloat your app's payload size. In addition, some of these warning checks have small runtime costs that can be avoided in production mode. @@ -18,7 +20,15 @@ When using a build tool like Webpack or Browserify, the production mode will be #### Webpack -Use Webpack's [DefinePlugin](https://webpack.js.org/plugins/define-plugin/) to indicate a production environment, so that warning blocks can be automatically dropped by UglifyJS during minification. Example config: +In Webpack 4+, you can use the `mode` option: + +``` js +module.exports = { + mode: 'production' +} +``` + +But in Webpack 3 and earlier, you'll need to use [DefinePlugin](https://webpack.js.org/plugins/define-plugin/): ``` js var webpack = require('webpack') @@ -28,9 +38,7 @@ module.exports = { plugins: [ // ... new webpack.DefinePlugin({ - 'process.env': { - NODE_ENV: '"production"' - } + 'process.env.NODE_ENV': JSON.stringify('production') }) ] } @@ -61,13 +69,13 @@ module.exports = { ) .bundle() ``` - + - Or, using [envify](https://github.com/hughsk/envify) with Grunt and [grunt-browserify](https://github.com/jmreidy/grunt-browserify): ``` js // Use the envify custom module to specify environment variables var envify = require('envify/custom') - + browserify: { dist: { options: { @@ -87,10 +95,10 @@ module.exports = { #### Rollup -Use [rollup-plugin-replace](https://github.com/rollup/rollup-plugin-replace): +Use [@rollup/plugin-replace](https://github.com/rollup/plugins/tree/master/packages/replace): ``` js -const replace = require('rollup-plugin-replace') +const replace = require('@rollup/plugin-replace') rollup({ // ... diff --git a/src/v2/guide/events.md b/src/v2/guide/events.md index 7496843626..ede0254df2 100644 --- a/src/v2/guide/events.md +++ b/src/v2/guide/events.md @@ -4,6 +4,8 @@ type: guide order: 9 --- +<div class="vueschool"><a href="https://vueschool.io/lessons/vuejs-user-events?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how to handle events on Vue School">Learn how to handle events in a free Vue School lesson</a></div> + ## Listening to Events We can use the `v-on` directive to listen to DOM events and run some JavaScript when they're triggered. @@ -154,7 +156,9 @@ Sometimes we also need to access the original DOM event in an inline statement h methods: { warn: function (message, event) { // now we have access to the native event - if (event) event.preventDefault() + if (event) { + event.preventDefault() + } alert(message) } } @@ -204,7 +208,7 @@ To address this problem, Vue provides **event modifiers** for `v-on`. Recall tha <a v-on:click.once="doThis"></a> ``` -Unlike the other modifiers, which are exclusive to native DOM events, the `.once` modifier can also be used on [component events](components.html#Using-v-on-with-Custom-Events). If you haven't read about components yet, don't worry about this for now. +Unlike the other modifiers, which are exclusive to native DOM events, the `.once` modifier can also be used on [component events](components-custom-events.html). If you haven't read about components yet, don't worry about this for now. > New in 2.3.0+ @@ -223,24 +227,32 @@ The `.passive` modifier is especially useful for improving performance on mobile ## Key Modifiers -When listening for keyboard events, we often need to check for common key codes. Vue also allows adding key modifiers for `v-on` when listening for key events: +When listening for keyboard events, we often need to check for specific keys. Vue allows adding key modifiers for `v-on` when listening for key events: ``` html -<!-- only call `vm.submit()` when the `keyCode` is 13 --> -<input v-on:keyup.13="submit"> +<!-- only call `vm.submit()` when the `key` is `Enter` --> +<input v-on:keyup.enter="submit"> ``` -Remembering all the `keyCode`s is a hassle, so Vue provides aliases for the most commonly used keys: +You can directly use any valid key names exposed via [`KeyboardEvent.key`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values) as modifiers by converting them to kebab-case. ``` html -<!-- same as above --> -<input v-on:keyup.enter="submit"> +<input v-on:keyup.page-down="onPageDown"> +``` -<!-- also works for shorthand --> -<input @keyup.enter="submit"> +In the above example, the handler will only be called if `$event.key` is equal to `'PageDown'`. + +### Key Codes + +<p class="tip">The use of `keyCode` events [is deprecated](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode) and may not be supported in new browsers.</p> + +Using `keyCode` attributes is also permitted: + +``` html +<input v-on:keyup.13="submit"> ``` -Here's the full list of key modifier aliases: +Vue provides aliases for the most commonly used key codes when necessary for legacy browser support: - `.enter` - `.tab` @@ -252,6 +264,8 @@ Here's the full list of key modifier aliases: - `.left` - `.right` +<p class="tip">A few keys (`.esc` and all arrow keys) have inconsistent `key` values in IE9, so these built-in aliases should be preferred if you need to support IE9.</p> + You can also [define custom key modifier aliases](../api/#keyCodes) via the global `config.keyCodes` object: ``` js @@ -259,20 +273,6 @@ You can also [define custom key modifier aliases](../api/#keyCodes) via the glob Vue.config.keyCodes.f1 = 112 ``` -### Automatic Key Modifiers - -> New in 2.5.0+ - -You can also directly use any valid key names exposed via [`KeyboardEvent.key`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values) as modifiers by converting them to kebab-case: - -``` html -<input @keyup.page-down="onPageDown"> -``` - -In the above example, the handler will only be called if `$event.key === 'PageDown'`. - -<p class="tip">A few keys (`.esc` and all arrow keys) have inconsistent `key` values in IE9, their built-in aliases should be preferred if you need to support IE9.</p> - ## System Modifier Keys > New in 2.1.0+ @@ -284,16 +284,16 @@ You can use the following modifiers to trigger mouse or keyboard event listeners - `.shift` - `.meta` -> Note: On Macintosh keyboards, meta is the command key (⌘). On Windows keyboards, meta is the windows key (⊞). On Sun Microsystems keyboards, meta is marked as a solid diamond (◆). On certain keyboards, specifically MIT and Lisp machine keyboards and successors, such as the Knight keyboard, space-cadet keyboard, meta is labeled “META”. On Symbolics keyboards, meta is labeled “META” or “Meta”. +> Note: On Macintosh keyboards, meta is the command key (⌘). On Windows keyboards, meta is the Windows key (⊞). On Sun Microsystems keyboards, meta is marked as a solid diamond (◆). On certain keyboards, specifically MIT and Lisp machine keyboards and successors, such as the Knight keyboard, space-cadet keyboard, meta is labeled “META”. On Symbolics keyboards, meta is labeled “META” or “Meta”. For example: ```html <!-- Alt + C --> -<input @keyup.alt.67="clear"> +<input v-on:keyup.alt.67="clear"> <!-- Ctrl + Click --> -<div @click.ctrl="doSomething">Do something</div> +<div v-on:click.ctrl="doSomething">Do something</div> ``` <p class="tip">Note that modifier keys are different from regular keys and when used with `keyup` events, they have to be pressed when the event is emitted. In other words, `keyup.ctrl` will only trigger if you release a key while holding down `ctrl`. It won't trigger if you release the `ctrl` key alone. If you do want such behaviour, use the `keyCode` for `ctrl` instead: `keyup.17`.</p> @@ -306,13 +306,13 @@ The `.exact` modifier allows control of the exact combination of system modifier ``` html <!-- this will fire even if Alt or Shift is also pressed --> -<button @click.ctrl="onClick">A</button> +<button v-on:click.ctrl="onClick">A</button> <!-- this will only fire when Ctrl and no other keys are pressed --> -<button @click.ctrl.exact="onCtrlClick">A</button> +<button v-on:click.ctrl.exact="onCtrlClick">A</button> <!-- this will only fire when no system modifiers are pressed --> -<button @click.exact="onClick">A</button> +<button v-on:click.exact="onClick">A</button> ``` ### Mouse Button Modifiers diff --git a/src/v2/guide/filters.md b/src/v2/guide/filters.md index 4a6eecdbf2..c86d48f52a 100644 --- a/src/v2/guide/filters.md +++ b/src/v2/guide/filters.md @@ -40,6 +40,8 @@ new Vue({ }) ``` +When the global filter has the same name as the local filter, the local filter will be preferred. + Below is an example of our `capitalize` filter being used: {% raw %} diff --git a/src/v2/guide/forms.md b/src/v2/guide/forms.md index 49c36dd1a3..c0a4296635 100644 --- a/src/v2/guide/forms.md +++ b/src/v2/guide/forms.md @@ -6,11 +6,16 @@ order: 10 ## Basic Usage -You can use the `v-model` directive to create two-way data bindings on form input and textarea elements. It automatically picks the correct way to update the element based on the input type. Although a bit magical, `v-model` is essentially syntax sugar for updating data on user input events, plus special care for some edge cases. +You can use the `v-model` directive to create two-way data bindings on form input, textarea, and select elements. It automatically picks the correct way to update the element based on the input type. Although a bit magical, `v-model` is essentially syntax sugar for updating data on user input events, plus special care for some edge cases. -<p class="tip">`v-model` will ignore the initial `value`, `checked` or `selected` attributes found on any form elements. It will always treat the Vue instance data as the source of truth. You should declare the initial value on the JavaScript side, inside the `data` option of your component.</p> +<p class="tip">`v-model` will ignore the initial `value`, `checked`, or `selected` attributes found on any form elements. It will always treat the Vue instance data as the source of truth. You should declare the initial value on the JavaScript side, inside the `data` option of your component.</p> -<p class="tip" id="vmodel-ime-tip">For languages that require an [IME](https://en.wikipedia.org/wiki/Input_method) (Chinese, Japanese, Korean etc.), you'll notice that `v-model` doesn't get updated during IME composition. If you want to cater for these updates as well, use `input` event instead.</p> +`v-model` internally uses different properties and emits different events for different input elements: +- text and textarea elements use `value` property and `input` event; +- checkboxes and radiobuttons use `checked` property and `change` event; +- select fields use `value` as a prop and `change` as an event. + +<p class="tip" id="vmodel-ime-tip">For languages that require an [IME](https://en.wikipedia.org/wiki/Input_method) (Chinese, Japanese, Korean, etc.), you'll notice that `v-model` doesn't get updated during IME composition. If you want to cater to these updates as well, use the `input` event instead.</p> ### Text @@ -90,21 +95,19 @@ new Vue({ Multiple checkboxes, bound to the same Array: ``` html -<div id='example-3'> - <input type="checkbox" id="jack" value="Jack" v-model="checkedNames"> - <label for="jack">Jack</label> - <input type="checkbox" id="john" value="John" v-model="checkedNames"> - <label for="john">John</label> - <input type="checkbox" id="mike" value="Mike" v-model="checkedNames"> - <label for="mike">Mike</label> - <br> - <span>Checked names: {{ checkedNames }}</span> -</div> +<input type="checkbox" id="jack" value="Jack" v-model="checkedNames"> +<label for="jack">Jack</label> +<input type="checkbox" id="john" value="John" v-model="checkedNames"> +<label for="john">John</label> +<input type="checkbox" id="mike" value="Mike" v-model="checkedNames"> +<label for="mike">Mike</label> +<br> +<span>Checked names: {{ checkedNames }}</span> ``` ``` js new Vue({ - el: '#example-3', + el: '...', data: { checkedNames: [] } @@ -204,7 +207,7 @@ new Vue({ </script> {% endraw %} -<p class="tip">If the initial value of your `v-model` expression does not match any of the options, the `<select>` element will render in an "unselected" state. On iOS this will cause the user not being able to select the first item because iOS does not fire a change event in this case. It is therefore recommended to provide a disabled option with an empty value, as demonstrated in the example above.</p> +<p class="tip">If the initial value of your `v-model` expression does not match any of the options, the `<select>` element will render in an "unselected" state. On iOS, this will prevent the user from being able to select the first item, because iOS does not fire a `change` event in this case. It is therefore recommended to provide a `disabled` option with an empty value, as demonstrated in the example above.</p> Multiple select (bound to Array): @@ -286,7 +289,7 @@ new Vue({ ## Value Bindings -For radio, checkbox and select options, the `v-model` binding values are usually static strings (or booleans for checkbox): +For radio, checkbox and select options, the `v-model` binding values are usually static strings (or booleans for checkboxes): ``` html <!-- `picked` is a string "a" when checked --> @@ -301,7 +304,7 @@ For radio, checkbox and select options, the `v-model` binding values are usually </select> ``` -But sometimes we may want to bind the value to a dynamic property on the Vue instance. We can use `v-bind` to achieve that. In addition, using `v-bind` allows us to bind the input value to non-string values. +But sometimes, we may want to bind the value to a dynamic property on the Vue instance. We can use `v-bind` to achieve that. In addition, using `v-bind` allows us to bind the input value to non-string values. ### Checkbox @@ -321,7 +324,7 @@ vm.toggle === 'yes' vm.toggle === 'no' ``` -<p class="tip">The `true-value` and `false-value` attributes don't affect the input's `value` attribute, because browsers don't include unchecked boxes in form submissions. To guarantee that one of two values is submitted in a form (e.g. "yes" or "no"), use radio inputs instead.</p> +<p class="tip">The `true-value` and `false-value` attributes don't affect the input's `value` attribute, because browsers don't include unchecked boxes in form submissions. To guarantee that one of two values is submitted in a form (i.e. "yes" or "no"), use radio inputs instead.</p> ### Radio @@ -353,26 +356,26 @@ vm.selected.number // => 123 ### `.lazy` -By default, `v-model` syncs the input with the data after each `input` event (with the exception of IME composition as [stated above](#vmodel-ime-tip)). You can add the `lazy` modifier to instead sync after `change` events: +By default, `v-model` syncs the input with the data after each `input` event (with the exception of IME composition, as [stated above](#vmodel-ime-tip)). You can add the `lazy` modifier to instead sync _after_ `change` events: ``` html <!-- synced after "change" instead of "input" --> -<input v-model.lazy="msg" > +<input v-model.lazy="msg"> ``` ### `.number` -If you want user input to be automatically typecast as a number, you can add the `number` modifier to your `v-model` managed inputs: +If you want user input to be automatically typecast as a Number, you can add the `number` modifier to your `v-model` managed inputs: ``` html <input v-model.number="age" type="number"> ``` -This is often useful, because even with `type="number"`, the value of HTML input elements always returns a string. +This is often useful, because even with `type="number"`, the value of HTML input elements always returns a string. If the value cannot be parsed with `parseFloat()`, then the original value is returned. ### `.trim` -If you want user input to be trimmed automatically, you can add the `trim` modifier to your `v-model` managed inputs: +If you want whitespace from user input to be trimmed automatically, you can add the `trim` modifier to your `v-model`-managed inputs: ```html <input v-model.trim="msg"> @@ -382,4 +385,6 @@ If you want user input to be trimmed automatically, you can add the `trim` modif > If you're not yet familiar with Vue's components, you can skip this for now. -HTML's built-in input types won't always meet your needs. Fortunately, Vue components allow you to build reusable inputs with completely customized behavior. These inputs even work with `v-model`! To learn more, read about [custom inputs](components.html#Form-Input-Components-using-Custom-Events) in the Components guide. +HTML's built-in input types won't always meet your needs. Fortunately, Vue components allow you to build reusable inputs with completely customized behavior. These inputs even work with `v-model`! + +To learn more, read about [custom inputs](components.html#Using-v-model-on-Components) in the Components guide. diff --git a/src/v2/guide/index.md b/src/v2/guide/index.md index 98415eceb7..047220f0e1 100644 --- a/src/v2/guide/index.md +++ b/src/v2/guide/index.md @@ -12,28 +12,36 @@ If you’d like to learn more about Vue before diving in, we <a id="modal-player If you are an experienced frontend developer and want to know how Vue compares to other libraries/frameworks, check out the [Comparison with Other Frameworks](comparison.html). +<div class="vue-mastery"><a href="https://www.vuemastery.com/courses/intro-to-vue-js/vue-instance/" target="_blank" rel="sponsored noopener" title="Free Vue.js Course">Watch a free video course on Vue Mastery</a></div> + ## Getting Started +<a class="button" href="installation.html">Installation</a> + <p class="tip">The official guide assumes intermediate level knowledge of HTML, CSS, and JavaScript. If you are totally new to frontend development, it might not be the best idea to jump right into a framework as your first step - grasp the basics then come back! Prior experience with other frameworks helps, but is not required.</p> -The easiest way to try out Vue.js is using the [JSFiddle Hello World example](https://jsfiddle.net/chrisvfritz/50wL7mdz/). Feel free to open it in another tab and follow along as we go through some basic examples. Or, you can <a href="https://gist.githubusercontent.com/chrisvfritz/7f8d7d63000b48493c336e48b3db3e52/raw/ed60c4e5d5c6fec48b0921edaed0cb60be30e87c/index.html" target="_blank" download="index.html">create an <code>index.html</code> file</a> and include Vue with: +The easiest way to try out Vue.js is using the [Hello World example](https://codesandbox.io/s/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-hello-world). Feel free to open it in another tab and follow along as we go through some basic examples. Or, you can <a href="https://github.com/vuejs/v2.vuejs.org/blob/master/src/v2/examples/vue-20-hello-world/index.html" target="_blank" download="index.html" rel="noopener noreferrer">create an <code>index.html</code> file</a> and include Vue with: ``` html <!-- development version, includes helpful console warnings --> -<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> +<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script> ``` or: ``` html <!-- production version, optimized for size and speed --> -<script src="https://cdn.jsdelivr.net/npm/vue"></script> +<script src="https://cdn.jsdelivr.net/npm/vue@2"></script> ``` The [Installation](installation.html) page provides more options of installing Vue. Note: We **do not** recommend that beginners start with `vue-cli`, especially if you are not yet familiar with Node.js-based build tools. +If you prefer something more interactive, you can also check out [this tutorial series on Scrimba](https://scrimba.com/g/gvuedocs), which gives you a mix of screencast and code playground that you can pause and play around with anytime. + ## Declarative Rendering +<div class="scrimba"><a href="https://scrimba.com/p/pXKqta/cQ3QVcr" target="_blank" rel="noopener noreferrer">Try this lesson on Scrimba</a></div> + At the core of Vue.js is a system that enables us to declaratively render data to the DOM using straightforward template syntax: ``` html @@ -65,6 +73,8 @@ var app = new Vue({ We have already created our very first Vue app! This looks pretty similar to rendering a string template, but Vue has done a lot of work under the hood. The data and the DOM are now linked, and everything is now **reactive**. How do we know? Open your browser's JavaScript console (right now, on this page) and set `app.message` to a different value. You should see the rendered example above update accordingly. +Note that we no longer have to interact with the HTML directly. A Vue app attaches itself to a single DOM element (`#app` in our case) then fully controls it. The HTML is our entry point, but everything else happens within the newly created Vue instance. + In addition to text interpolation, we can also bind element attributes like this: ``` html @@ -105,6 +115,8 @@ If you open up your JavaScript console again and enter `app2.message = 'some new ## Conditionals and Loops +<div class="scrimba"><a href="https://scrimba.com/p/pXKqta/cEQe4SJ" target="_blank" rel="noopener noreferrer">Try this lesson on Scrimba</a></div> + It's easy to toggle the presence of an element, too: ``` html @@ -189,6 +201,8 @@ In the console, enter `app4.todos.push({ text: 'New item' })`. You should see a ## Handling User Input +<div class="scrimba"><a href="https://scrimba.com/p/pXKqta/czPNaUr" target="_blank" rel="noopener noreferrer">Try this lesson on Scrimba</a></div> + To let users interact with your app, we can use the `v-on` directive to attach event listeners that invoke methods on our Vue instances: ``` html @@ -265,6 +279,8 @@ var app6 = new Vue({ ## Composing with Components +<div class="scrimba"><a href="https://scrimba.com/p/pXKqta/cEQVkA3" target="_blank" rel="noopener noreferrer">Try this lesson on Scrimba</a></div> + The component system is another important concept in Vue, because it's an abstraction that allows us to build large-scale applications composed of small, self-contained, and often reusable components. If we think about it, almost any type of application interface can be abstracted into a tree of components:  @@ -276,6 +292,8 @@ In Vue, a component is essentially a Vue instance with pre-defined options. Regi Vue.component('todo-item', { template: '<li>This is a todo</li>' }) + +var app = new Vue(...) ``` Now you can compose it in another component's template: @@ -313,8 +331,8 @@ Now we can pass the todo into each repeated component using `v-bind`: <todo-item v-for="item in groceryList" v-bind:todo="item" - v-bind:key="item.id"> - </todo-item> + v-bind:key="item.id" + ></todo-item> </ol> </div> ``` @@ -377,12 +395,14 @@ In a large application, it is necessary to divide the whole app into components You may have noticed that Vue components are very similar to **Custom Elements**, which are part of the [Web Components Spec](https://www.w3.org/wiki/WebComponents/). That's because Vue's component syntax is loosely modeled after the spec. For example, Vue components implement the [Slot API](https://github.com/w3c/webcomponents/blob/gh-pages/proposals/Slots-Proposal.md) and the `is` special attribute. However, there are a few key differences: -1. The Web Components Spec is still in draft status, and is not natively implemented in every browser. In comparison, Vue components don't require any polyfills and work consistently in all supported browsers (IE9 and above). When needed, Vue components can also be wrapped inside a native custom element. +1. The Web Components Spec has been finalized, but is not natively implemented in every browser. Safari 10.1+, Chrome 54+ and Firefox 63+ natively support web components. In comparison, Vue components don't require any polyfills and work consistently in all supported browsers (IE9 and above). When needed, Vue components can also be wrapped inside a native custom element. 2. Vue components provide important features that are not available in plain custom elements, most notably cross-component data flow, custom event communication and build tool integrations. +Although Vue doesn't use custom elements internally, it has [great interoperability](https://custom-elements-everywhere.com/#vue) when it comes to consuming or distributing as custom elements. Vue CLI also supports building Vue components that register themselves as native custom elements. + ## Ready for More? We've briefly introduced the most basic features of Vue.js core - the rest of this guide will cover them and other advanced features with much finer details, so make sure to read through it all! -<div id="video-modal" class="modal"><div class="video-space" style="padding: 56.25% 0 0 0; position: relative;"><iframe src="https://player.vimeo.com/video/247494684" style="height: 100%; left: 0; position: absolute; top: 0; width: 100%; margin: 0" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div><script src="https://player.vimeo.com/api/player.js"></script></div> +<div id="video-modal" class="modal"><div class="video-space" style="padding: 56.25% 0 0 0; position: relative;"><iframe src="https://player.vimeo.com/video/247494684?dnt=1" style="height: 100%; left: 0; position: absolute; top: 0; width: 100%; margin: 0" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div><script src="https://player.vimeo.com/api/player.js"></script><p class="modal-text">Video by <a href="https://www.vuemastery.com" target="_blank" rel="sponsored noopener" title="Vue.js Courses on Vue Mastery">Vue Mastery</a>. Watch Vue Mastery’s free <a href="https://www.vuemastery.com/courses/intro-to-vue-js/vue-instance/" target="_blank" rel="sponsored noopener" title="Vue.js Courses on Vue Mastery">Intro to Vue course</a>.</div> diff --git a/src/v2/guide/installation.md b/src/v2/guide/installation.md index a87cab4622..23abed94c0 100644 --- a/src/v2/guide/installation.md +++ b/src/v2/guide/installation.md @@ -2,14 +2,18 @@ title: Installation type: guide order: 1 -vue_version: 2.5.13 -gz_size: "30.67" +vue_version: 2.7.14 +gz_size: "37.51" --- ### Compatibility Note Vue does **not** support IE8 and below, because it uses ECMAScript 5 features that are un-shimmable in IE8. However it supports all [ECMAScript 5 compliant browsers](https://caniuse.com/#feat=es5). +### Semantic Versioning + +Vue follows [Semantic Versioning](https://semver.org/) in all its official projects for documented features and behavior. For undocumented behavior or exposed internals, changes are described in [release notes](https://github.com/vuejs/vue/releases). + ### Release Notes Latest stable version: {{vue_version}} @@ -27,17 +31,31 @@ Simply download and include with a script tag. `Vue` will be registered as a glo <p class="tip">Don't use the minified version during development. You will miss out on all the nice warnings for common mistakes!</p> <div id="downloads"> -<a class="button" href="/js/vue.js" download>Development Version</a><span class="light info">With full warnings and debug mode</span> + <a class="button" href="/js/vue.js" download>Development Version</a><span class="light info">With full warnings and debug mode</span> -<a class="button" href="/js/vue.min.js" download>Production Version</a><span class="light info">Warnings stripped, {{gz_size}}KB min+gzip</span> + <a class="button" href="/js/vue.min.js" download>Production Version</a><span class="light info">Warnings stripped, {{gz_size}}KB min+gzip</span> </div> ### CDN -We recommend linking to a specific version number that you can update manually: +For prototyping or learning purposes, you can use the latest version with: + +``` html +<script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script> +``` + +For production, we recommend linking to a specific version number and build to avoid unexpected breakage from newer versions: + +``` html +<script src="https://cdn.jsdelivr.net/npm/vue@2.7.14"></script> +``` + +If you are using native ES Modules, there is also an ES Modules compatible build: ``` html -<script src="https://cdn.jsdelivr.net/npm/vue@2.5.13/dist/vue.js"></script> +<script type="module"> + import Vue from 'https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.esm.browser.js' +</script> ``` You can browse the source of the NPM package at [cdn.jsdelivr.net/npm/vue](https://cdn.jsdelivr.net/npm/vue/). @@ -53,49 +71,45 @@ NPM is the recommended installation method when building large scale application ``` bash # latest stable -$ npm install vue +$ npm install vue@^2 ``` ## CLI -Vue.js provides an [official CLI](https://github.com/vuejs/vue-cli) for quickly scaffolding ambitious Single Page Applications. It provides batteries-included build setups for a modern frontend workflow. It takes only a few minutes to get up and running with hot-reload, lint-on-save, and production-ready builds: - -``` bash -# install vue-cli -$ npm install --global vue-cli -# create a new project using the "webpack" template -$ vue init webpack my-project -# install dependencies and go! -$ cd my-project -$ npm run dev -``` +Vue provides an [official CLI](https://github.com/vuejs/vue-cli) for quickly scaffolding ambitious Single Page Applications. It provides batteries-included build setups for a modern frontend workflow. It takes only a few minutes to get up and running with hot-reload, lint-on-save, and production-ready builds. See [the Vue CLI docs](https://cli.vuejs.org) for more details. <p class="tip">The CLI assumes prior knowledge of Node.js and the associated build tools. If you are new to Vue or front-end build tools, we strongly suggest going through <a href="./">the guide</a> without any build tools before using the CLI.</p> +<div class="vue-mastery"><a href="https://www.vuemastery.com/courses/real-world-vue-js/vue-cli" target="_blank" rel="sponsored noopener" title="Vue CLI">Watch a video explanation on Vue Mastery</a></div> + ## Explanation of Different Builds -In the [`dist/` directory of the NPM package](https://cdn.jsdelivr.net/npm/vue/dist/) you will find many different builds of Vue.js. Here's an overview of the difference between them: +In the [`dist/` directory of the NPM package](https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/) you will find many different builds of Vue.js. Here's an overview of the difference between them: -| | UMD | CommonJS | ES Module | -| --- | --- | --- | --- | -| **Full** | vue.js | vue.common.js | vue.esm.js | -| **Runtime-only** | vue.runtime.js | vue.runtime.common.js | vue.runtime.esm.js | -| **Full (production)** | vue.min.js | - | - | -| **Runtime-only (production)** | vue.runtime.min.js | - | - | +| | UMD | CommonJS | ES Module (for bundlers) | ES Module (for browsers) | +| --- | --- | --- | --- | --- | +| **Full** | vue.js | vue.common.js | vue.esm.js | vue.esm.browser.js | +| **Runtime-only** | vue.runtime.js | vue.runtime.common.js | vue.runtime.esm.js | - | +| **Full (production)** | vue.min.js | - | - | vue.esm.browser.min.js | +| **Runtime-only (production)** | vue.runtime.min.js | - | - | - | ### Terms -- **Full**: builds that contains both the compiler and the runtime. +- **Full**: builds that contain both the compiler and the runtime. - **Compiler**: code that is responsible for compiling template strings into JavaScript render functions. - **Runtime**: code that is responsible for creating Vue instances, rendering and patching virtual DOM, etc. Basically everything minus the compiler. -- **[UMD](https://github.com/umdjs/umd)**: UMD builds can be used directly in the browser via a `<script>` tag. The default file from jsDelivr CDN at [https://cdn.jsdelivr.net/npm/vue](https://cdn.jsdelivr.net/npm/vue) is the Runtime + Compiler UMD build (`vue.js`). +- **[UMD](https://github.com/umdjs/umd)**: UMD builds can be used directly in the browser via a `<script>` tag. The default file from jsDelivr CDN at [https://cdn.jsdelivr.net/npm/vue@2.7.14](https://cdn.jsdelivr.net/npm/vue@2.7.14) is the Runtime + Compiler UMD build (`vue.js`). - **[CommonJS](http://wiki.commonjs.org/wiki/Modules/1.1)**: CommonJS builds are intended for use with older bundlers like [browserify](http://browserify.org/) or [webpack 1](https://webpack.github.io). The default file for these bundlers (`pkg.main`) is the Runtime only CommonJS build (`vue.runtime.common.js`). -- **[ES Module](http://exploringjs.com/es6/ch_modules.html)**: ES module builds are intended for use with modern bundlers like [webpack 2](https://webpack.js.org) or [rollup](https://rollupjs.org/). The default file for these bundlers (`pkg.module`) is the Runtime only ES Module build (`vue.runtime.esm.js`). +- **[ES Module](http://exploringjs.com/es6/ch_modules.html)**: starting in 2.6 Vue provides two ES Modules (ESM) builds: + + - ESM for bundlers: intended for use with modern bundlers like [webpack 2](https://webpack.js.org) or [Rollup](https://rollupjs.org/). ESM format is designed to be statically analyzable so the bundlers can take advantage of that to perform "tree-shaking" and eliminate unused code from your final bundle. The default file for these bundlers (`pkg.module`) is the Runtime only ES Module build (`vue.runtime.esm.js`). + + - ESM for browsers (2.6+ only): intended for direct imports in modern browsers via `<script type="module">`. ### Runtime + Compiler vs. Runtime-only @@ -141,7 +155,7 @@ rollup({ // ... plugins: [ alias({ - 'vue': 'vue/dist/vue.esm.js' + 'vue': require.resolve('vue/dist/vue.esm.js') }) ] }) @@ -160,6 +174,19 @@ Add to your project's `package.json`: } ``` +#### Parcel + +Add to your project's `package.json`: + +``` js +{ + // ... + "alias": { + "vue" : "./node_modules/vue/dist/vue.common.js" + } +} +``` + ### Development vs. Production Mode Development/production modes are hard-coded for the UMD builds: the un-minified files are for development, and the minified files are for production. @@ -170,7 +197,15 @@ CommonJS and ES Module builds also preserve raw checks for `process.env.NODE_ENV #### Webpack -Use Webpack's [DefinePlugin](https://webpack.js.org/plugins/define-plugin/): +In Webpack 4+, you can use the `mode` option: + +``` js +module.exports = { + mode: 'production' +} +``` + +But in Webpack 3 and earlier, you'll need to use [DefinePlugin](https://webpack.js.org/plugins/define-plugin/): ``` js var webpack = require('webpack') diff --git a/src/v2/guide/instance.md b/src/v2/guide/instance.md index 826aa97d9c..5e5e284bd3 100644 --- a/src/v2/guide/instance.md +++ b/src/v2/guide/instance.md @@ -4,6 +4,14 @@ type: guide order: 3 --- +<script> +const __pageRedirects = { + '#Data-and-Methods': '/guide/essentials/reactivity-fundamentals.html', + '#Instance-Lifecycle-Hooks': '/guide/essentials/lifecycle.html', + '#Lifecycle-Diagram': '/guide/essentials/lifecycle.html#lifecycle-diagram' +} +</script> + ## Creating a Vue Instance Every Vue application starts by creating a new **Vue instance** with the `Vue` function: @@ -24,10 +32,10 @@ A Vue application consists of a **root Vue instance** created with `new Vue`, op Root Instance └─ TodoList ├─ TodoItem - │ ├─ DeleteTodoButton - │ └─ EditTodoButton + │ ├─ TodoButtonDelete + │ └─ TodoButtonEdit └─ TodoListFooter - ├─ ClearTodosButton + ├─ TodosButtonClear └─ TodoListStatistics ``` @@ -123,6 +131,8 @@ In the future, you can consult the [API reference](../api/#Instance-Properties) ## Instance Lifecycle Hooks +<div class="vueschool"><a href="https://vueschool.io/lessons/understanding-the-vuejs-lifecycle-hooks?friend=vuejs" target="_blank" rel="sponsored noopener" title="Free Vue.js Lifecycle Hooks Lesson">Watch a free lesson on Vue School</a></div> + Each Vue instance goes through a series of initialization steps when it's created - for example, it needs to set up data observation, compile the template, mount the instance to the DOM, and update the DOM when data changes. Along the way, it also runs functions called **lifecycle hooks**, giving users the opportunity to add their own code at specific stages. For example, the [`created`](../api/#created) hook can be used to run code after an instance is created: @@ -142,7 +152,7 @@ new Vue({ There are also other hooks which will be called at different stages of the instance's lifecycle, such as [`mounted`](../api/#mounted), [`updated`](../api/#updated), and [`destroyed`](../api/#destroyed). All lifecycle hooks are called with their `this` context pointing to the Vue instance invoking it. -<p class="tip">Don't use [arrow functions](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions) on an options property or callback, such as `created: () => console.log(this.a)` or `vm.$watch('a', newValue => this.myMethod())`. Since arrow functions are bound to the parent context, `this` will not be the Vue instance as you'd expect, often resulting in errors such as `Uncaught TypeError: Cannot read property of undefined` or `Uncaught TypeError: this.myMethod is not a function`.</p> +<p class="tip">Don't use [arrow functions](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions) on an options property or callback, such as `created: () => console.log(this.a)` or `vm.$watch('a', newValue => this.myMethod())`. Since an arrow function doesn't have a `this`, `this` will be treated as any other variable and lexically looked up through parent scopes until found, often resulting in errors such as `Uncaught TypeError: Cannot read property of undefined` or `Uncaught TypeError: this.myMethod is not a function`.</p> ## Lifecycle Diagram diff --git a/src/v2/guide/join.md b/src/v2/guide/join.md index 1c4dbbb008..c87118f707 100644 --- a/src/v2/guide/join.md +++ b/src/v2/guide/join.md @@ -8,12 +8,17 @@ Vue's community is growing incredibly fast and if you're reading this, there's a Now we'll answer both what the community can do for you and what you can do for the community. -## Resources You'll Enjoy +## Resources + +### Code of Conduct + +Our [Code of Conduct](/coc) is a guide to make it easier to enrich all of us and the technical communities in which we participate. ### Get Support - [Forum](https://forum.vuejs.org/): The best place to ask questions and get answers about Vue and its ecosystem. - [Chat](https://chat.vuejs.org/): A place for Vue devs to meet and chat in real time. +- [Meetups](https://events.vuejs.org/meetups): Want to find local Vue.js enthusiasts like yourself? Interested in becoming a community leader? We have the help and support you need right here! - [GitHub](https://github.com/vuejs): If you have a bug to report or feature to request, that's what the GitHub issues are for. We also welcome pull requests! ### Explore the Ecosystem @@ -44,8 +49,18 @@ Apart from answering questions and sharing resources in the forum and chat, ther ### Translate Docs -Vue has already spread across the globe, with even the core team in at least half a dozen timezones. [The forum](https://forum.vuejs.org/) includes 7 languages and counting and many of our docs have [actively-maintained translations](https://github.com/vuejs?utf8=%E2%9C%93&query=vuejs.org). We're very proud of Vue's international reach, but we can do even better. +Vue has already spread across the globe, with even the core team in at least half a dozen timezones. [The forum](https://forum.vuejs.org/) includes 7 languages and counting and many of our docs have [actively-maintained translations](https://github.com/vuejs?utf8=%E2%9C%93&q=vuejs.org). We're very proud of Vue's international reach, but we can do even better. I hope that right now, you're reading this sentence in your preferred language. If not, would you like to help us get there? -If so, please feel free to fork the repo for [these docs](https://github.com/vuejs/vuejs.org/) or for any other officially maintained documentation, then start translating. Once you've made some progress, open an issue or pull request in the main repo and we'll put out a call for more contributors to help you out. +If so, please feel free to fork the repo for [these docs](https://github.com/vuejs/v2.vuejs.org/) or for any other officially maintained documentation, then start translating. Once you've made some progress, open an issue or pull request in the main repo and we'll put out a call for more contributors to help you out. + +### Become a Community Leader + +There's a lot you can do to help Vue grow in your community: + +- **Present at your local meetup.** Whether it's giving a talk or running a workshop, you can bring a lot of value to your community by helping both new and experienced Vue developers continue to grow. +- **Start your own meetup.** If there's not already a Vue meetup in your area, you can start your own! Use the [resources at events.vuejs.org](https://events.vuejs.org/resources/#getting-started) to help you succeed! +- **Help meetup organizers.** There can never be too much help when it comes to running an event, so offer a hand to help out local organizers to help make every event a success. + +If you have any questions on how you can get more involved with your local Vue community, reach out at [@Vuejs_Events](https://www.twitter.com/vuejs_events)! diff --git a/src/v2/guide/list.md b/src/v2/guide/list.md index 60acc81328..7701645894 100644 --- a/src/v2/guide/list.md +++ b/src/v2/guide/list.md @@ -4,13 +4,16 @@ type: guide order: 8 --- +<div class="vueschool"><a href="https://vueschool.io/lessons/vuejs-loops?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how to render lists on Vue School">Learn how to render list with a free Vue School lesson</a></div> + + ## Mapping an Array to Elements with `v-for` We can use the `v-for` directive to render a list of items based on an array. The `v-for` directive requires a special syntax in the form of `item in items`, where `items` is the source data array and `item` is an **alias** for the array element being iterated on: ``` html <ul id="example-1"> - <li v-for="item in items"> + <li v-for="item in items" :key="item.message"> {{ item.message }} </li> </ul> @@ -32,7 +35,7 @@ Result: {% raw %} <ul id="example-1" class="demo"> - <li v-for="item in items"> + <li v-for="item in items" :key="item.message"> {{item.message}} </li> </ul> @@ -44,11 +47,6 @@ var example1 = new Vue({ { message: 'Foo' }, { message: 'Bar' } ] - }, - watch: { - items: function () { - smoothScroll.animateScroll(document.querySelector('#example-1')) - } } }) </script> @@ -94,11 +92,6 @@ var example2 = new Vue({ { message: 'Foo' }, { message: 'Bar' } ] - }, - watch: { - items: function () { - smoothScroll.animateScroll(document.querySelector('#example-2')) - } } }) </script> @@ -127,9 +120,9 @@ new Vue({ el: '#v-for-object', data: { object: { - firstName: 'John', - lastName: 'Doe', - age: 30 + title: 'How to do lists in Vue', + author: 'Jane Doe', + publishedAt: '2016-04-10' } } }) @@ -148,37 +141,37 @@ new Vue({ el: '#v-for-object', data: { object: { - firstName: 'John', - lastName: 'Doe', - age: 30 + title: 'How to do lists in Vue', + author: 'Jane Doe', + publishedAt: '2016-04-10' } } }) </script> {% endraw %} -You can also provide a second argument for the key: +You can also provide a second argument for the property's name (a.k.a. key): ``` html -<div v-for="(value, key) in object"> - {{ key }}: {{ value }} +<div v-for="(value, name) in object"> + {{ name }}: {{ value }} </div> ``` {% raw %} -<div id="v-for-object-value-key" class="demo"> - <div v-for="(value, key) in object"> - {{ key }}: {{ value }} +<div id="v-for-object-value-name" class="demo"> + <div v-for="(value, name) in object"> + {{ name }}: {{ value }} </div> </div> <script> new Vue({ - el: '#v-for-object-value-key', + el: '#v-for-object-value-name', data: { object: { - firstName: 'John', - lastName: 'Doe', - age: 30 + title: 'How to do lists in Vue', + author: 'Jane Doe', + publishedAt: '2016-04-10' } } }) @@ -188,51 +181,55 @@ new Vue({ And another for the index: ``` html -<div v-for="(value, key, index) in object"> - {{ index }}. {{ key }}: {{ value }} +<div v-for="(value, name, index) in object"> + {{ index }}. {{ name }}: {{ value }} </div> ``` {% raw %} -<div id="v-for-object-value-key-index" class="demo"> - <div v-for="(value, key, index) in object"> - {{ index }}. {{ key }}: {{ value }} +<div id="v-for-object-value-name-index" class="demo"> + <div v-for="(value, name, index) in object"> + {{ index }}. {{ name }}: {{ value }} </div> </div> <script> new Vue({ - el: '#v-for-object-value-key-index', + el: '#v-for-object-value-name-index', data: { object: { - firstName: 'John', - lastName: 'Doe', - age: 30 + title: 'How to do lists in Vue', + author: 'Jane Doe', + publishedAt: '2016-04-10' } } }) </script> {% endraw %} -<p class="tip">When iterating over an object, the order is based on the key enumeration order of `Object.keys()`, which is **not** guaranteed to be consistent across JavaScript engine implementations.</p> +<p class="tip">When iterating over an object, the order is based on the enumeration order of `Object.keys()`, which is **not** guaranteed to be consistent across JavaScript engine implementations.</p> -## `key` +## Maintaining State When Vue is updating a list of elements rendered with `v-for`, by default it uses an "in-place patch" strategy. If the order of the data items has changed, instead of moving the DOM elements to match the order of the items, Vue will patch each element in-place and make sure it reflects what should be rendered at that particular index. This is similar to the behavior of `track-by="$index"` in Vue 1.x. -This default mode is efficient, but only suitable **when your list render output does not rely on child component state or temporary DOM state (e.g. form input values)**. +This default mode is efficient, but **only suitable when your list render output does not rely on child component state or temporary DOM state (e.g. form input values)**. -To give Vue a hint so that it can track each node's identity, and thus reuse and reorder existing elements, you need to provide a unique `key` attribute for each item. An ideal value for `key` would be the unique id of each item. This special attribute is a rough equivalent to `track-by` in 1.x, but it works like an attribute, so you need to use `v-bind` to bind it to dynamic values (using shorthand here): +To give Vue a hint so that it can track each node's identity, and thus reuse and reorder existing elements, you need to provide a unique `key` attribute for each item: ``` html -<div v-for="item in items" :key="item.id"> +<div v-for="item in items" v-bind:key="item.id"> <!-- content --> </div> ``` -It is recommended to provide a `key` with `v-for` whenever possible, unless the iterated DOM content is simple, or you are intentionally relying on the default behavior for performance gains. +It is recommended to provide a `key` attribute with `v-for` whenever possible, unless the iterated DOM content is simple, or you are intentionally relying on the default behavior for performance gains. Since it's a generic mechanism for Vue to identify nodes, the `key` also has other uses that are not specifically tied to `v-for`, as we will see later in the guide. +<p class="tip">Don't use non-primitive values like objects and arrays as `v-for` keys. Use string or numeric values instead.</p> + +For detailed usage of the `key` attribute, please see the [`key` API documentation](/v2/api/#key). + ## Array Change Detection ### Mutation Methods @@ -263,103 +260,7 @@ You might think this will cause Vue to throw away the existing DOM and re-render ### Caveats -Due to limitations in JavaScript, Vue **cannot** detect the following changes to an array: - -1. When you directly set an item with the index, e.g. `vm.items[indexOfItem] = newValue` -2. When you modify the length of the array, e.g. `vm.items.length = newLength` - -For example: - -``` js -var vm = new Vue({ - data: { - items: ['a', 'b', 'c'] - } -}) -vm.items[1] = 'x' // is NOT reactive -vm.items.length = 2 // is NOT reactive -``` - -To overcome caveat 1, both of the following will accomplish the same as `vm.items[indexOfItem] = newValue`, but will also trigger state updates in the reactivity system: - -``` js -// Vue.set -Vue.set(vm.items, indexOfItem, newValue) -``` -``` js -// Array.prototype.splice -vm.items.splice(indexOfItem, 1, newValue) -``` - -You can also use the [`vm.$set`](https://vuejs.org/v2/api/#vm-set) instance method, which is an alias for the global `Vue.set`: - -``` js -vm.$set(vm.items, indexOfItem, newValue) -``` - -To deal with caveat 2, you can use `splice`: - -``` js -vm.items.splice(newLength) -``` - -## Object Change Detection Caveats - -Again due to limitations of modern JavaScript, **Vue cannot detect property addition or deletion**. For example: - -``` js -var vm = new Vue({ - data: { - a: 1 - } -}) -// `vm.a` is now reactive - -vm.b = 2 -// `vm.b` is NOT reactive -``` - -Vue does not allow dynamically adding new root-level reactive properties to an already created instance. However, it's possible to add reactive properties to a nested object using the `Vue.set(object, key, value)` method. For example, given: - -``` js -var vm = new Vue({ - data: { - userProfile: { - name: 'Anika' - } - } -}) -``` - -You could add a new `age` property to the nested `userProfile` object with: - -``` js -Vue.set(vm.userProfile, 'age', 27) -``` - -You can also use the `vm.$set` instance method, which is an alias for the global `Vue.set`: - -``` js -vm.$set(vm.userProfile, 'age', 27) -``` - -Sometimes you may want to assign a number of new properties to an existing object, for example using `Object.assign()` or `_.extend()`. In such cases, you should create a fresh object with properties from both objects. So instead of: - -``` js -Object.assign(vm.userProfile, { - age: 27, - favoriteColor: 'Vue Green' -}) -``` - -You would add new, reactive properties with: - -``` js -vm.userProfile = Object.assign({}, vm.userProfile, { - age: 27, - favoriteColor: 'Vue Green' -}) -``` +Due to limitations in JavaScript, there are types of changes that Vue **cannot detect** with arrays and objects. These are discussed in the [reactivity](reactivity.html#Change-Detection-Caveats) section. ## Displaying Filtered/Sorted Results @@ -386,13 +287,15 @@ computed: { In situations where computed properties are not feasible (e.g. inside nested `v-for` loops), you can use a method: -``` html -<li v-for="n in even(numbers)">{{ n }}</li> +```html +<ul v-for="set in sets"> + <li v-for="n in even(set)">{{ n }}</li> +</ul> ``` -``` js +```js data: { - numbers: [ 1, 2, 3, 4, 5 ] + sets: [[ 1, 2, 3, 4, 5 ], [6, 7, 8, 9, 10]] }, methods: { even: function (numbers) { @@ -432,13 +335,15 @@ Similar to template `v-if`, you can also use a `<template>` tag with `v-for` to <ul> <template v-for="item in items"> <li>{{ item.msg }}</li> - <li class="divider"></li> + <li class="divider" role="presentation"></li> </template> </ul> ``` ## `v-for` with `v-if` +<p class="tip">Note that it's **not** recommended to use `v-if` and `v-for` together. Refer to [style guide](/v2/style-guide/#Avoid-v-if-with-v-for-essential) for details.</p> + When they exist on the same node, `v-for` has a higher priority than `v-if`. That means the `v-if` will be run on each iteration of the loop separately. This can be useful when you want to render nodes for only _some_ items, like below: ``` html @@ -489,11 +394,15 @@ Here's a complete example of a simple todo list: ``` html <div id="todo-list-example"> - <input - v-model="newTodoText" - v-on:keyup.enter="addNewTodo" - placeholder="Add a todo" - > + <form v-on:submit.prevent="addNewTodo"> + <label for="new-todo">Add a todo</label> + <input + v-model="newTodoText" + id="new-todo" + placeholder="E.g. Feed the cat" + > + <button>Add</button> + </form> <ul> <li is="todo-item" @@ -513,7 +422,7 @@ Vue.component('todo-item', { template: '\ <li>\ {{ title }}\ - <button v-on:click="$emit(\'remove\')">X</button>\ + <button v-on:click="$emit(\'remove\')">Remove</button>\ </li>\ ', props: ['title'] @@ -553,11 +462,15 @@ new Vue({ {% raw %} <div id="todo-list-example" class="demo"> - <input - v-model="newTodoText" - v-on:keyup.enter="addNewTodo" - placeholder="Add a todo" - > + <form v-on:submit.prevent="addNewTodo"> + <label for="new-todo">Add a todo</label> + <input + v-model="newTodoText" + id="new-todo" + placeholder="E.g. Feed the cat" + > + <button>Add</button> + </form> <ul> <li is="todo-item" @@ -573,7 +486,7 @@ Vue.component('todo-item', { template: '\ <li>\ {{ title }}\ - <button v-on:click="$emit(\'remove\')">X</button>\ + <button v-on:click="$emit(\'remove\')">Remove</button>\ </li>\ ', props: ['title'] diff --git a/src/v2/guide/migration-vue-2-7.md b/src/v2/guide/migration-vue-2-7.md new file mode 100644 index 0000000000..9ab267bd29 --- /dev/null +++ b/src/v2/guide/migration-vue-2-7.md @@ -0,0 +1,120 @@ +--- +title: Migration to Vue 2.7 +type: guide +order: 704 +--- + +Vue 2.7 is the latest minor version of Vue 2. It provides built-in support for the [Composition API](https://vuejs.org/guide/extras/composition-api-faq.html#composition-api-faq). + +Despite Vue 3 now being the default version, we understand that there are still many users who have to stay on Vue 2 due to dependency compatibility, browser support requirements, or simply not enough bandwidth to upgrade. In Vue 2.7, we have backported some of the most important features from Vue 3 so that Vue 2 users can benefit from them as well. + +## Backported Features + +- [Composition API](https://vuejs.org/guide/extras/composition-api-faq.html) +- SFC [`<script setup>`](https://vuejs.org/api/sfc-script-setup.html) +- SFC [CSS v-bind](https://vuejs.org/api/sfc-css-features.html#v-bind-in-css) + +In addition, the following APIs are also supported: + +- `defineComponent()` with improved type inference (compared to `Vue.extend`) +- `h()`, `useSlot()`, `useAttrs()`, `useCssModules()` +- `set()`, `del()` and `nextTick()` are also provided as named exports in ESM builds. +- The `emits` option is also supported, but only for type-checking purposes (does not affect runtime behavior) + + 2.7 also supports using ESNext syntax in template expressions. When using a build system, the compiled template render function will go through the same loaders / plugins configured for normal JavaScript. This means if you have configured Babel for `.js` files, it will also apply to the expressions in your SFC templates. + +### Notes on API exposure + +- In ESM builds, these APIs are provided as named exports (and named exports only): + + ```js + import Vue, { ref } from "vue"; + + Vue.ref; // undefined, use named export instead + ``` + +- In UMD and CJS builds, these APIs are exposed as properties on the global `Vue` object. + +- When bundling with CJS builds externalized, bundlers should be able to handle ESM interop when externalizing CJS builds. + +### Behavior Differences from Vue 3 + +The Composition API is backported using Vue 2's getter/setter-based reactivity system to ensure browser compatibility. This means there are some important behavior differences from Vue 3's proxy-based system: + +- All [Vue 2 change detection caveats](https://v2.vuejs.org/v2/guide/reactivity.html#Change-Detection-Caveats) still apply. + +- `reactive()`, `ref()`, and `shallowReactive()` will directly convert original objects instead of creating proxies. This means: + + ```js + // true in 2.7, false in 3.x + reactive(foo) === foo; + ``` + +- `readonly()` **does** create a separate object, but it won't track newly added properties and does not work on arrays. + +- Avoid using arrays as root values in `reactive()` because without property access the array's mutation won't be tracked (this will result in a warning). + +- Reactivity APIs ignore properties with symbol keys. + +In addition, the following features are explicitly **NOT** ported: + +- ❌ `createApp()` (Vue 2 doesn't have isolated app scope) +- ❌ Top-level `await` in `<script setup>` (Vue 2 does not support async component initialization) +- ❌ TypeScript syntax in template expressions (incompatible w/ Vue 2 parser) +- ❌ Reactivity transform (still experimental) +- ❌ `expose` option is not supported for options components (but `defineExpose()` is supported in `<script setup>`). + +## Upgrade Guide + +### Vue CLI / webpack + +1. Upgrade local `@vue/cli-xxx` dependencies the latest version in your major version range (if applicable): + + - `~4.5.18` for v4 + - `~5.0.6` for v5 + +2. Upgrade `vue` to `^2.7.0`. You can also remove `vue-template-compiler` from the dependencies - it is no longer needed in 2.7. + + Note: if you are using `@vue/test-utils`, you will need to keep `vue-template-compiler` in the dependencies because test utils rely on some APIs only exposed in this package. + +3. Check your package manager lockfile to ensure the following dependencies meet the version requirements. They may be transitive dependencies not listed in `package.json`. + + - `vue-loader`: `^15.10.0` + - `vue-demi`: `^0.13.1` + + If not, you will need to remove `node_modules` and the lockfile and perform a fresh install to ensure they are bumped to the latest version. + +4. If you were previously using [`@vue/composition-api`](https://github.com/vuejs/composition-api), update imports from it to `vue` instead. Note that some APIs exported by the plugin, e.g. `createApp`, are not ported in 2.7. + +5. Update `eslint-plugin-vue` to latest version (9+) if you run into unused variable lint errors when using `<script setup>`. + +6. The SFC compiler for 2.7 now uses PostCSS 8 (upgraded from 7). PostCSS 8 should be backwards compatible with most plugins, but the upgrade **may** cause issues if you were previously using a custom PostCSS plugin that can only work with PostCSS 7. In such cases, you will need to upgrade the relevant plugins to their PostCSS 8 compatible versions. + +### Vite + +2.7 support for Vite is provided via a new plugin: [@vitejs/plugin-vue2](https://github.com/vitejs/vite-plugin-vue2). This new plugin requires Vue 2.7 or above and supersedes the existing [vite-plugin-vue2](https://github.com/underfin/vite-plugin-vue2). + +Note that the new plugin does not handle Vue-specific JSX / TSX transform, which is intentional. Vue 2 JSX / TSX transform for Vite is handled in a separate, dedicated plugin: [@vitejs/plugin-vue2-jsx](https://github.com/vitejs/vite-plugin-vue2-jsx). + +### Volar Compatibility + +2.7 ships improved type definitions so it is no longer necessary to install `@vue/runtime-dom` just for Volar template type inference support. All you need now is the following config in `tsconfig.json`: + +```json +{ + // ... + "vueCompilerOptions": { + "target": 2.7 + } +} +``` + +### Devtools Support + +Vue Devtools 6.2.0 has added support for inspecting 2.7 Composition API state, but the extensions may still need a few days to go through review on respective publishing platforms. + +## Implications of the 2.7 Release + +As stated before, 2.7 is the final minor release of Vue 2.x. After this release, Vue 2 has entered LTS (long-term support) which lasts for 18 months from now, and will no longer receive new features. + +This means **Vue 2 will reach End of Life on December 31st, 2023**. We believe this should provide plenty of time for most of the ecosystem to migrate over to Vue 3. However, we also understand that there could be teams or projects that cannot upgrade by this timeline while still need to fullfil security and compliance requirements. If your team expects to be using Vue 2 beyond end of 2023, make sure to plan head and understand your options: learn more about [Vue 2 LTS and Extended Support](/lts/). diff --git a/src/v2/guide/migration-vue-router.md b/src/v2/guide/migration-vue-router.md index f107c95538..c8d4568967 100644 --- a/src/v2/guide/migration-vue-router.md +++ b/src/v2/guide/migration-vue-router.md @@ -73,7 +73,7 @@ var router = new VueRouter({ }) ``` -The array syntax allows more predictable route matching, since iterating over an object is not guaranteed to use the same key order across browsers. +The array syntax allows more predictable route matching, since iterating over an object is not guaranteed to use the same property order across browsers. {% raw %} <div class="upgrade-path"> @@ -211,9 +211,9 @@ to a definition like below in your `routes` configuration: If you need multiple aliases, you can also use an array syntax: -``` js +{% codeblock lang:js %} alias: ['/manage', '/administer', '/administrate'] -``` +{% endcodeblock %} {% raw %} <div class="upgrade-path"> @@ -487,7 +487,7 @@ Use [`beforeRouteEnter`](https://router.vuejs.org/en/advanced/navigation-guards. {% raw %} <div class="upgrade-path"> <h4>Upgrade Path</h4> - <p>Run the <a href="https://github.com/vuejs/vue-migration-helper">migration helper</a> on your codebase to find examples of the <code>beforeRouteEnter</code> hook.</p> + <p>Run the <a href="https://github.com/vuejs/vue-migration-helper">migration helper</a> on your codebase to find examples of the <code>activate</code> hook.</p> </div> {% endraw %} diff --git a/src/v2/guide/migration.md b/src/v2/guide/migration.md index 60c4ba7e8f..7ee8e95046 100644 --- a/src/v2/guide/migration.md +++ b/src/v2/guide/migration.md @@ -186,7 +186,7 @@ When including an `index`, the argument order for arrays used to be `(index, val ### `v-for` Argument Order for Objects <sup>changed</sup> -When including a `key`, the argument order for objects used to be `(key, value)`. It is now `(value, key)` to be more consistent with common object iterators such as lodash's. +When including a property name/key, the argument order for objects used to be `(name, value)`. It is now `(value, name)` to be more consistent with common object iterators such as lodash's. {% raw %} <div class="upgrade-path"> @@ -210,15 +210,15 @@ The implicitly assigned `$index` and `$key` variables have been removed in favor `track-by` has been replaced with `key`, which works like any other attribute: without the `v-bind:` or `:` prefix, it is treated as a literal string. In most cases, you'd want to use a dynamic binding which expects a full expression instead of a key. For example, in place of: -``` html +{% codeblock lang:html %} <div v-for="item in items" track-by="id"> -``` +{% endcodeblock %} You would now write: -``` html +{% codeblock lang:html %} <div v-for="item in items" v-bind:key="item.id"> -``` +{% endcodeblock %} {% raw %} <div class="upgrade-path"> @@ -364,7 +364,7 @@ computed: { Or with component methods: ``` js -template: '<p>message: {{ getTimeMessage }}</p>', +template: '<p>message: {{ getTimeMessage() }}</p>', methods: { getTimeMessage: function () { return Date.now() + this.message @@ -400,9 +400,9 @@ For enumerated attributes, in addition to the falsy values above, the string `"f When used on a component, `v-on` now only listens to custom events `$emit`ted by that component. To listen for a native DOM event on the root element, you can use the `.native` modifier. For example: -``` html +{% codeblock lang:html %} <my-component v-on:click.native="doSomething"></my-component> -``` +{% endcodeblock %} {% raw %} <div class="upgrade-path"> @@ -602,9 +602,9 @@ As you can see, `v-model`'s two-way binding doesn't make sense here. Setting `st Instead, you should use an array of __objects__ so that `v-model` can update the field on the object. For example: -``` html +{% codeblock lang:html %} <input v-for="obj in objects" v-model="obj.str"> -``` +{% endcodeblock %} {% raw %} <div class="upgrade-path"> @@ -644,7 +644,7 @@ Since `v-ref` is no longer a directive, but a special attribute, it can also be <p v-for="item in items" v-bind:ref="'item' + item.id"></p> ``` -Previously, `v-el`/`v-ref` combined with `v-for` would produce an array of elements/components, because there was no way to give each item a unique name. You can still achieve this behavior by given each item the same `ref`: +Previously, `v-el`/`v-ref` combined with `v-for` would produce an array of elements/components, because there was no way to give each item a unique name. You can still achieve this behavior by giving each item the same `ref`: ``` html <p v-for="item in items" ref="items"></p> @@ -709,7 +709,7 @@ The `.literal` modifier has been removed, as the same can be easily achieved by For example, you can update: -``` js +``` html <p v-my-directive.literal="foo bar baz"></p> ``` @@ -786,7 +786,7 @@ Vue.config.keyCodes.f1 = 112 `$dispatch` and `$broadcast` have been removed in favor of more explicitly cross-component communication and more maintainable state management solutions, such as [Vuex](https://github.com/vuejs/vuex). -The problem is event flows that depend on a component's tree structure can be hard to reason about and very brittle when the tree becomes large. It doesn't scale well and we don't want to set you up for pain later. `$dispatch` and `$broadcast` also do not solve communication between sibling components. +The problem is event flows that depend on a component's tree structure can be hard to reason about and are very brittle when the tree becomes large. They don't scale well and only set you up for pain later. `$dispatch` and `$broadcast` also do not solve communication between sibling components. One of the most common uses for these methods is to communicate between a parent and its direct children. In these cases, you can actually [listen to an `$emit` from a child with `v-on`](components.html#Form-Input-Components-using-Custom-Events). This allows you to keep the convenience of events with added explicitness. @@ -990,9 +990,9 @@ computed: { You can even order by multiple columns: -``` js +{% codeblock lang:js %} _.orderBy(this.users, ['name', 'last_login'], ['asc', 'desc']) -``` +{% endcodeblock %} {% raw %} <div class="upgrade-path"> @@ -1070,9 +1070,9 @@ function pluralizeKnife (count) { For a very naive implementation, you could do something like this: -``` js +{% codeblock lang:js %} '$' + price.toFixed(2) -``` +{% endcodeblock %} In many cases though, you'll still run into strange behavior (e.g. `0.035.toFixed(2)` rounds up to `0.04`, but `0.045` rounds down to `0.04`). To work around these issues, you can use the [`accounting`](http://openexchangerates.github.io/accounting.js/) library to more reliably format currencies. @@ -1089,17 +1089,17 @@ Some users have enjoyed using two-way filters with `v-model` to create interesti As an example, we'll now walk the migration of a two-way currency filter: -<iframe width="100%" height="300" src="https://jsfiddle.net/chrisvfritz/6744xnjk/embedded/js,html,result" allowfullscreen="allowfullscreen" frameborder="0"></iframe> +<iframe src="https://codesandbox.io/embed/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-10-two-way-currency-filter?codemirror=1&hidedevtools=1&hidenavigation=1&theme=light" style="width:100%; height:300px; border:0; border-radius: 4px; overflow:hidden;" title="vue-20-template-compilation" allow="geolocation; microphone; camera; midi; vr; accelerometer; gyroscope; payment; ambient-light-sensor; encrypted-media; usb" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"></iframe> -It mostly works well, but the delayed state updates can cause strange behavior. For example, click on the `Result` tab and try entering `9.999` into one of those inputs. When the input loses focus, its value will update to `$10.00`. When looking at the calculated total however, you'll see that `9.999` is what's stored in our data. The version of reality that the user sees is out of sync! +It mostly works well, but the delayed state updates can cause strange behavior. For example, try entering `9.999` into one of those inputs. When the input loses focus, its value will update to `$10.00`. When looking at the calculated total however, you'll see that `9.999` is what's stored in our data. The version of reality that the user sees is out of sync! To start transitioning towards a more robust solution using Vue 2.0, let's first wrap this filter in a new `<currency-input>` component: -<iframe width="100%" height="300" src="https://jsfiddle.net/chrisvfritz/943zfbsh/embedded/js,html,result" allowfullscreen="allowfullscreen" frameborder="0"></iframe> +<iframe src="https://codesandbox.io/embed/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-10-two-way-currency-filter-v2?codemirror=1&hidedevtools=1&hidenavigation=1&theme=light" style="width:100%; height:300px; border:0; border-radius: 4px; overflow:hidden;" title="vue-20-template-compilation" allow="geolocation; microphone; camera; midi; vr; accelerometer; gyroscope; payment; ambient-light-sensor; encrypted-media; usb" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"></iframe> This allows us add behavior that a filter alone couldn't encapsulate, such as selecting the content of an input on focus. Now the next step will be to extract the business logic from the filter. Below, we pull everything out into an external [`currencyValidator` object](https://gist.github.com/chrisvfritz/5f0a639590d6e648933416f90ba7ae4e): -<iframe width="100%" height="300" src="https://jsfiddle.net/chrisvfritz/9c32kev2/embedded/js,html,result" allowfullscreen="allowfullscreen" frameborder="0"></iframe> +<iframe src="https://codesandbox.io/embed/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-10-two-way-currency-filter-v3?codemirror=1&hidedevtools=1&hidenavigation=1&theme=light" style="width:100%; height:300px; border:0; border-radius: 4px; overflow:hidden;" title="vue-20-template-compilation" allow="geolocation; microphone; camera; midi; vr; accelerometer; gyroscope; payment; ambient-light-sensor; encrypted-media; usb" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"></iframe> This increased modularity not only makes it easier to migrate to Vue 2, but also allows currency parsing and formatting to be: @@ -1110,7 +1110,7 @@ Having this validator extracted out, we've also more comfortably built it up int We're still limited however, by filters and by Vue 1.0 in general, so let's complete the upgrade to Vue 2.0: -<iframe width="100%" height="300" src="https://jsfiddle.net/chrisvfritz/1oqjojjx/embedded/js,html,result" allowfullscreen="allowfullscreen" frameborder="0"></iframe> +<iframe src="https://codesandbox.io/embed/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-two-way-currency-filter?codemirror=1&hidedevtools=1&hidenavigation=1&theme=light" style="width:100%; height:300px; border:0; border-radius: 4px; overflow:hidden;" title="vue-20-template-compilation" allow="geolocation; microphone; camera; midi; vr; accelerometer; gyroscope; payment; ambient-light-sensor; encrypted-media; usb" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"></iframe> You may notice that: @@ -1365,9 +1365,9 @@ Instead, retrieve reactive data directly. Use the native DOM API: -``` js +{% codeblock lang:js %} myElement.appendChild(vm.$el) -``` +{% endcodeblock %} {% raw %} <div class="upgrade-path"> @@ -1380,9 +1380,9 @@ myElement.appendChild(vm.$el) Use the native DOM API: -``` js +{% codeblock lang:js %} myElement.parentNode.insertBefore(vm.$el, myElement) -``` +{% endcodeblock %} {% raw %} <div class="upgrade-path"> @@ -1395,15 +1395,15 @@ myElement.parentNode.insertBefore(vm.$el, myElement) Use the native DOM API: -``` js +{% codeblock lang:js %} myElement.parentNode.insertBefore(vm.$el, myElement.nextSibling) -``` +{% endcodeblock %} Or if `myElement` is the last child: -``` js +{% codeblock lang:js %} myElement.parentNode.appendChild(vm.$el) -``` +{% endcodeblock %} {% raw %} <div class="upgrade-path"> @@ -1416,9 +1416,9 @@ myElement.parentNode.appendChild(vm.$el) Use the native DOM API: -``` js +{% codeblock lang:js %} vm.$el.remove() -``` +{% endcodeblock %} {% raw %} <div class="upgrade-path"> diff --git a/src/v2/guide/mixins.md b/src/v2/guide/mixins.md index e18a9c8f70..624feb827c 100644 --- a/src/v2/guide/mixins.md +++ b/src/v2/guide/mixins.md @@ -8,6 +8,8 @@ order: 301 Mixins are a flexible way to distribute reusable functionalities for Vue components. A mixin object can contain any component options. When a component uses a mixin, all options in the mixin will be "mixed" into the component's own options. +<div class="vue-mastery"><a href="https://www.vuemastery.com/courses/next-level-vue/mixins" target="_blank" rel="noopener" title="Mixins Tutorial">Watch a video explanation on Vue Mastery</a></div> + Example: ``` js @@ -35,7 +37,7 @@ var component = new Component() // => "hello from mixin!" When a mixin and the component itself contain overlapping options, they will be "merged" using appropriate strategies. -For example, data objects undergo a shallow merge (one property deep), with the component's data taking priority in cases of conflicts. +For example, data objects undergo a recursive merge, with the component's data taking priority in cases of conflicts. ``` js var mixin = { diff --git a/src/v2/guide/plugins.md b/src/v2/guide/plugins.md index 13c6dd1ebb..2a2dbfcd19 100644 --- a/src/v2/guide/plugins.md +++ b/src/v2/guide/plugins.md @@ -4,9 +4,7 @@ type: guide order: 304 --- -## Writing a Plugin - -Plugins usually add global-level functionality to Vue. There is no strictly defined scope for a plugin - there are typically several types of plugins you can write: +Plugins usually add global-level functionality to Vue. There is no strictly defined scope for a plugin - there are typically several types of plugins: 1. Add some global methods or properties. e.g. [vue-custom-element](https://github.com/karol-f/vue-custom-element) @@ -18,45 +16,17 @@ Plugins usually add global-level functionality to Vue. There is no strictly defi 5. A library that provides an API of its own, while at the same time injecting some combination of the above. e.g. [vue-router](https://github.com/vuejs/vue-router) -A Vue.js plugin should expose an `install` method. The method will be called with the `Vue` constructor as the first argument, along with possible options: - -``` js -MyPlugin.install = function (Vue, options) { - // 1. add global method or property - Vue.myGlobalMethod = function () { - // something logic ... - } - - // 2. add a global asset - Vue.directive('my-directive', { - bind (el, binding, vnode, oldVnode) { - // something logic ... - } - ... - }) - - // 3. inject some component options - Vue.mixin({ - created: function () { - // something logic ... - } - ... - }) - - // 4. add an instance method - Vue.prototype.$myMethod = function (methodOptions) { - // something logic ... - } -} -``` - ## Using a Plugin -Use plugins by calling the `Vue.use()` global method: +Use plugins by calling the `Vue.use()` global method. This has to be done before you start your app by calling `new Vue()`: ``` js // calls `MyPlugin.install(Vue)` Vue.use(MyPlugin) + +new Vue({ + //... options +}) ``` You can optionally pass in some options: @@ -79,3 +49,37 @@ Vue.use(VueRouter) ``` Checkout [awesome-vue](https://github.com/vuejs/awesome-vue#components--libraries) for a huge collection of community-contributed plugins and libraries. + +## Writing a Plugin + +A Vue.js plugin should expose an `install` method. The method will be called with the `Vue` constructor as the first argument, along with possible options: + +``` js +MyPlugin.install = function (Vue, options) { + // 1. add global method or property + Vue.myGlobalMethod = function () { + // some logic ... + } + + // 2. add a global asset + Vue.directive('my-directive', { + bind (el, binding, vnode, oldVnode) { + // some logic ... + } + ... + }) + + // 3. inject some component options + Vue.mixin({ + created: function () { + // some logic ... + } + ... + }) + + // 4. add an instance method + Vue.prototype.$myMethod = function (methodOptions) { + // some logic ... + } +} +``` diff --git a/src/v2/guide/reactivity.md b/src/v2/guide/reactivity.md index 6c31cbb893..efeea0cb10 100644 --- a/src/v2/guide/reactivity.md +++ b/src/v2/guide/reactivity.md @@ -6,9 +6,11 @@ order: 601 Now it's time to take a deep dive! One of Vue's most distinct features is the unobtrusive reactivity system. Models are just plain JavaScript objects. When you modify them, the view updates. It makes state management simple and intuitive, but it's also important to understand how it works to avoid some common gotchas. In this section, we are going to dig into some of the lower-level details of Vue's reactivity system. +<div class="vue-mastery"><a href="https://www.vuemastery.com/courses/advanced-components/build-a-reactivity-system" target="_blank" rel="sponsored noopener" title="Vue Reactivity">Watch a video explanation on Vue Mastery</a></div> + ## How Changes Are Tracked -When you pass a plain JavaScript object to a Vue instance as its `data` option, Vue will walk through all of its properties and convert them to getter/setters using [Object.defineProperty](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty). This is an ES5-only and un-shimmable feature, which is why Vue doesn't support IE8 and below. +When you pass a plain JavaScript object to a Vue instance as its `data` option, Vue will walk through all of its properties and convert them to [getter/setters](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects#Defining_getters_and_setters) using [`Object.defineProperty`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty). This is an ES5-only and un-shimmable feature, which is why Vue doesn't support IE8 and below. The getter/setters are invisible to the user, but under the hood they enable Vue to perform dependency-tracking and change-notification when properties are accessed or modified. One caveat is that browser consoles format getter/setters differently when converted data objects are logged, so you may want to install [vue-devtools](https://github.com/vuejs/vue-devtools) for a more inspection-friendly interface. @@ -18,7 +20,11 @@ Every component instance has a corresponding **watcher** instance, which records ## Change Detection Caveats -Due to the limitations of modern JavaScript (and the abandonment of `Object.observe`), Vue **cannot detect property addition or deletion**. Since Vue performs the getter/setter conversion process during instance initialization, a property must be present in the `data` object in order for Vue to convert it and make it reactive. For example: +Due to limitations in JavaScript, there are types of changes that Vue **cannot detect**. However, there are ways to circumvent them to preserve reactivity. + +### For Objects + +Vue cannot detect property addition or deletion. Since Vue performs the getter/setter conversion process during instance initialization, a property must be present in the `data` object in order for Vue to convert it and make it reactive. For example: ``` js var vm = new Vue({ @@ -32,7 +38,7 @@ vm.b = 2 // `vm.b` is NOT reactive ``` -Vue does not allow dynamically adding new root-level reactive properties to an already created instance. However, it's possible to add reactive properties to a nested object using the `Vue.set(object, key, value)` method: +Vue does not allow dynamically adding new root-level reactive properties to an already created instance. However, it's possible to add reactive properties to a nested object using the `Vue.set(object, propertyName, value)` method: ``` js Vue.set(vm.someObject, 'b', 2) @@ -51,7 +57,47 @@ Sometimes you may want to assign a number of properties to an existing object, f this.someObject = Object.assign({}, this.someObject, { a: 1, b: 2 }) ``` -There are also a few array-related caveats, which were discussed earlier in the [list rendering section](list.html#Caveats). +### For Arrays + +Vue cannot detect the following changes to an array: + +1. When you directly set an item with the index, e.g. `vm.items[indexOfItem] = newValue` +2. When you modify the length of the array, e.g. `vm.items.length = newLength` + +For example: + +``` js +var vm = new Vue({ + data: { + items: ['a', 'b', 'c'] + } +}) +vm.items[1] = 'x' // is NOT reactive +vm.items.length = 2 // is NOT reactive +``` + +To overcome caveat 1, both of the following will accomplish the same as `vm.items[indexOfItem] = newValue`, but will also trigger state updates in the reactivity system: + +``` js +// Vue.set +Vue.set(vm.items, indexOfItem, newValue) +``` +``` js +// Array.prototype.splice +vm.items.splice(indexOfItem, 1, newValue) +``` + +You can also use the [`vm.$set`](/v2/api/#vm-set) instance method, which is an alias for the global `Vue.set`: + +``` js +vm.$set(vm.items, indexOfItem, newValue) +``` + +To deal with caveat 2, you can use `splice`: + +``` js +vm.items.splice(newLength) +``` ## Declaring Reactive Properties @@ -75,7 +121,7 @@ There are technical reasons behind this restriction - it eliminates a class of e ## Async Update Queue -In case you haven't noticed yet, Vue performs DOM updates **asynchronously**. Whenever a data change is observed, it will open a queue and buffer all the data changes that happen in the same event loop. If the same watcher is triggered multiple times, it will be pushed into the queue only once. This buffered de-duplication is important in avoiding unnecessary calculations and DOM manipulations. Then, in the next event loop "tick", Vue flushes the queue and performs the actual (already de-duped) work. Internally Vue tries native `Promise.then` and `MessageChannel` for the asynchronous queuing and falls back to `setTimeout(fn, 0)`. +In case you haven't noticed yet, Vue performs DOM updates **asynchronously**. Whenever a data change is observed, it will open a queue and buffer all the data changes that happen in the same event loop. If the same watcher is triggered multiple times, it will be pushed into the queue only once. This buffered de-duplication is important in avoiding unnecessary calculations and DOM manipulations. Then, in the next event loop "tick", Vue flushes the queue and performs the actual (already de-duped) work. Internally Vue tries native `Promise.then`, `MutationObserver`, and `setImmediate` for the asynchronous queuing and falls back to `setTimeout(fn, 0)`. For example, when you set `vm.someData = 'new value'`, the component will not re-render immediately. It will update in the next "tick", when the queue is flushed. Most of the time we don't need to care about this, but it can be tricky when you want to do something that depends on the post-update DOM state. Although Vue.js generally encourages developers to think in a "data-driven" fashion and avoid touching the DOM directly, sometimes it might be necessary to get your hands dirty. In order to wait until Vue.js has finished updating the DOM after a data change, you can use `Vue.nextTick(callback)` immediately after the data is changed. The callback will be called after the DOM has been updated. For example: @@ -118,3 +164,16 @@ Vue.component('example', { } }) ``` + +Since `$nextTick()` returns a promise, you can achieve the same as the above using the new [ES2017 async/await](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function) syntax: + +``` js + methods: { + updateMessage: async function () { + this.message = 'updated' + console.log(this.$el.textContent) // => 'not updated' + await this.$nextTick() + console.log(this.$el.textContent) // => 'updated' + } + } +``` diff --git a/src/v2/guide/render-function.md b/src/v2/guide/render-function.md index 723ac5d6e6..770bb2833a 100644 --- a/src/v2/guide/render-function.md +++ b/src/v2/guide/render-function.md @@ -82,7 +82,7 @@ Vue.component('anchored-heading', { }) ``` -Much simpler! Sort of. The code is shorter, but also requires greater familiarity with Vue instance properties. In this case, you have to know that when you pass children without a `slot` attribute into a component, like the `Hello world!` inside of `anchored-heading`, those children are stored on the component instance at `$slots.default`. If you haven't already, **it's recommended to read through the [instance properties API](../api/#Instance-Properties) before diving into render functions.** +Much simpler! Sort of. The code is shorter, but also requires greater familiarity with Vue instance properties. In this case, you have to know that when you pass children without a `v-slot` directive into a component, like the `Hello world!` inside of `anchored-heading`, those children are stored on the component instance at `$slots.default`. If you haven't already, **it's recommended to read through the [instance properties API](../api/#Instance-Properties) before diving into render functions.** ## Nodes, Trees, and the Virtual DOM @@ -170,12 +170,14 @@ One thing to note: similar to how `v-bind:class` and `v-bind:style` have special ``` js { - // Same API as `v-bind:class` + // Same API as `v-bind:class`, accepting either + // a string, object, or array of strings and objects. class: { foo: true, bar: false }, - // Same API as `v-bind:style` + // Same API as `v-bind:style`, accepting either + // a string, object, or array of objects. style: { color: 'red', fontSize: '14px' @@ -229,7 +231,11 @@ One thing to note: similar to how `v-bind:class` and `v-bind:style` have special slot: 'name-of-slot', // Other special top-level properties key: 'myKey', - ref: 'myRef' + ref: 'myRef', + // If you are applying the same ref name to multiple + // elements in the render function. This will make `$refs.myRef` become an + // array + refInFor: true } ``` @@ -248,11 +254,11 @@ var getChildrenTextContent = function (children) { Vue.component('anchored-heading', { render: function (createElement) { - // create kebabCase id + // create kebab-case id var headingId = getChildrenTextContent(this.$slots.default) .toLowerCase() .replace(/\W+/g, '-') - .replace(/(^\-|\-$)/g, '') + .replace(/(^-|-$)/g, '') return createElement( 'h' + this.level, @@ -435,6 +441,7 @@ To pass scoped slots to a child component using render functions, use the `scope ``` js render: function (createElement) { + // `<div><child v-slot="props"><span>{{ props.text }}</span></child></div>` return createElement('div', [ createElement('child', { // pass `scopedSlots` in the data object @@ -474,7 +481,7 @@ Especially when the template version is so simple in comparison: </anchored-heading> ``` -That's why there's a [Babel plugin](https://github.com/vuejs/babel-plugin-transform-vue-jsx) to use JSX with Vue, getting us back to a syntax that's closer to templates: +That's why there's a [Babel plugin](https://github.com/vuejs/jsx) to use JSX with Vue, getting us back to a syntax that's closer to templates: ``` js import AnchoredHeading from './AnchoredHeading.vue' @@ -491,9 +498,9 @@ new Vue({ }) ``` -<p class="tip">Aliasing `createElement` to `h` is a common convention you'll see in the Vue ecosystem and is actually required for JSX. If `h` is not available in the scope, your app will throw an error.</p> +<p class="tip">Aliasing `createElement` to `h` is a common convention you'll see in the Vue ecosystem and is actually required for JSX. Starting with [version 3.4.0](https://github.com/vuejs/babel-plugin-transform-vue-jsx#h-auto-injection) of the Babel plugin for Vue, we automatically inject `const h = this.$createElement` in any method and getter (not functions or arrow functions), declared in ES2015 syntax that has JSX, so you can drop the `(h)` parameter. With prior versions of the plugin, your app would throw an error if `h` was not available in the scope.</p> -For more on how JSX maps to JavaScript, see the [usage docs](https://github.com/vuejs/babel-plugin-transform-vue-jsx#usage). +For more on how JSX maps to JavaScript, see the [usage docs](https://github.com/vuejs/jsx#installation). ## Functional Components @@ -517,6 +524,8 @@ Vue.component('my-component', { ``` > Note: in versions before 2.3.0, the `props` option is required if you wish to accept props in a functional component. In 2.3.0+ you can omit the `props` option and all attributes found on the component node will be implicitly extracted as props. +> +> The reference will be HTMLElement when used with functional components because they’re stateless and instanceless. In 2.5.0+, if you are using [single-file components](single-file-components.html), template-based functional components can be declared with: @@ -530,6 +539,7 @@ Everything the component needs is passed through `context`, which is an object c - `props`: An object of the provided props - `children`: An array of the VNode children - `slots`: A function returning a slots object +- `scopedSlots`: (2.6.0+) An object that exposes passed-in scoped slots. Also exposes normal slots as functions. - `data`: The entire [data object](#The-Data-Object-In-Depth), passed to the component as the 2nd argument of `createElement` - `parent`: A reference to the parent component - `listeners`: (2.3.0+) An object containing parent-registered event listeners. This is an alias to `data.on` @@ -537,7 +547,7 @@ Everything the component needs is passed through `context`, which is an object c After adding `functional: true`, updating the render function of our anchored heading component would require adding the `context` argument, updating `this.$slots.default` to `context.children`, then updating `this.level` to `context.props.level`. -Since functional components are just functions, they're much cheaper to render. However, the lack of a persistent instance means they won't show up in the [Vue devtools](https://github.com/vuejs/vue-devtools) component tree. +Since functional components are just functions, they're much cheaper to render. They're also very useful as wrapper components. For example, when you need to: @@ -619,7 +629,7 @@ You may wonder why we need both `slots()` and `children`. Wouldn't `slots().defa ``` html <my-functional-component> - <p slot="foo"> + <p v-slot:foo> first </p> <p>second</p> @@ -632,81 +642,4 @@ For this component, `children` will give you both paragraphs, `slots().default` You may be interested to know that Vue's templates actually compile to render functions. This is an implementation detail you usually don't need to know about, but if you'd like to see how specific template features are compiled, you may find it interesting. Below is a little demo using `Vue.compile` to live-compile a template string: -{% raw %} -<div id="vue-compile-demo" class="demo"> - <textarea v-model="templateText" rows="10"></textarea> - <div v-if="typeof result === 'object'"> - <label>render:</label> - <pre><code>{{ result.render }}</code></pre> - <label>staticRenderFns:</label> - <pre v-for="(fn, index) in result.staticRenderFns"><code>_m({{ index }}): {{ fn }}</code></pre> - <pre v-if="!result.staticRenderFns.length"><code>{{ result.staticRenderFns }}</code></pre> - </div> - <div v-else> - <label>Compilation Error:</label> - <pre><code>{{ result }}</code></pre> - </div> -</div> -<script> -new Vue({ - el: '#vue-compile-demo', - data: { - templateText: '\ -<div>\n\ - <header>\n\ - <h1>I\'m a template!</h1>\n\ - </header>\n\ - <p v-if="message">\n\ - {{ message }}\n\ - </p>\n\ - <p v-else>\n\ - No message.\n\ - </p>\n\ -</div>\ - ', - }, - computed: { - result: function () { - if (!this.templateText) { - return 'Enter a valid template above' - } - try { - var result = Vue.compile(this.templateText.replace(/\s{2,}/g, '')) - return { - render: this.formatFunction(result.render), - staticRenderFns: result.staticRenderFns.map(this.formatFunction) - } - } catch (error) { - return error.message - } - } - }, - methods: { - formatFunction: function (fn) { - return fn.toString().replace(/(\{\n)(\S)/, '$1 $2') - } - } -}) -console.error = function (error) { - throw new Error(error) -} -</script> -<style> -#vue-compile-demo { - -webkit-user-select: inherit; - user-select: inherit; -} -#vue-compile-demo pre { - padding: 10px; - overflow-x: auto; -} -#vue-compile-demo code { - white-space: pre; - padding: 0 -} -#vue-compile-demo textarea { - width: 100%; - font-family: monospace; -} -</style> -{% endraw %} +<iframe src="https://codesandbox.io/embed/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-template-compilation?codemirror=1&hidedevtools=1&hidenavigation=1&theme=light&view=preview" style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;" title="vue-20-template-compilation" allow="geolocation; microphone; camera; midi; vr; accelerometer; gyroscope; payment; ambient-light-sensor; encrypted-media; usb" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"></iframe> diff --git a/src/v2/guide/security.md b/src/v2/guide/security.md new file mode 100644 index 0000000000..f0877d106c --- /dev/null +++ b/src/v2/guide/security.md @@ -0,0 +1,185 @@ +--- +title: Security +type: guide +order: 504 +--- + +## Reporting Vulnerabilities + +When a vulnerability is reported, it immediately becomes our top concern, with a full-time contributor dropping everything to work on it. To report a vulnerability, please email [security@vuejs.org](mailto:security@vuejs.org). + +While the discovery of new vulnerabilities is rare, we also recommend always using the latest versions of Vue and its official companion libraries to ensure your application remains as secure as possible. + +## Rule No.1: Never Use Non-trusted Templates + +The most fundamental security rule when using Vue is **never use non-trusted content as your component template**. Doing so is equivalent to allowing arbitrary JavaScript execution in your application - and worse, could lead to server breaches if the code is executed during server-side rendering. An example of such usage: + +``` js +new Vue({ + el: '#app', + template: `<div>` + userProvidedString + `</div>` // NEVER DO THIS +}) +``` + +Vue templates are compiled into JavaScript, and expressions inside templates will be executed as part of the rendering process. Although the expressions are evaluated against a specific rendering context, due to the complexity of potential global execution environments, it is impractical for a framework like Vue to completely shield you from potential malicious code execution without incurring unrealistic performance overhead. The most straightforward way to avoid this category of problems altogether is to make sure the contents of your Vue templates are always trusted and entirely controlled by you. + +## What Vue Does to Protect You + +### HTML content + +Whether using templates or render functions, content is automatically escaped. That means in this template: + +```html +<h1>{{ userProvidedString }}</h1> +``` + +if `userProvidedString` contained: + +```js +'<script>alert("hi")</script>' +``` + +then it would be escaped to the following HTML: + +```html +<script>alert("hi")</script> +``` + +thus preventing the script injection. This escaping is done using native browser APIs, like `textContent`, so a vulnerability can only exist if the browser itself is vulnerable. + +### Attribute bindings + +Similarly, dynamic attribute bindings are also automatically escaped. That means in this template: + +```html +<h1 v-bind:title="userProvidedString"> + hello +</h1> +``` + +if `userProvidedString` contained: + +```js +'" onclick="alert(\'hi\')' +``` + +then it would be escaped to the following HTML: + +```html +" onclick="alert('hi') +``` + +thus preventing the close of the `title` attribute to inject new, arbitrary HTML. This escaping is done using native browser APIs, like `setAttribute`, so a vulnerability can only exist if the browser itself is vulnerable. + +## Potential Dangers + +In any web application, allowing unsanitized, user-provided content to be executed as HTML, CSS, or JavaScript is potentially dangerous, so should be avoided wherever possible. There are times when some risk be acceptable though. + +For example, services like CodePen and JSFiddle allow user-provided content to be executed, but it's in a context where this is expected and sandboxed to some extent inside iframes. In the cases when an important feature inherently requires some level of vulnerability, it's up to your team to weigh the importance of the feature against the worst-case scenarios the vulnerability enables. + +### Injecting HTML + +As you learned earlier, Vue automatically escapes HTML content, preventing you from accidentally injecting executable HTML into your application. However, in cases where you know the HTML is safe, you can explicitly render HTML content: + +- Using a template: + ```html + <div v-html="userProvidedHtml"></div> + ``` + +- Using a render function: + ```js + h('div', { + domProps: { + innerHTML: this.userProvidedHtml + } + }) + ``` + +- Using a render function with JSX: + ```jsx + <div domPropsInnerHTML={this.userProvidedHtml}></div> + ``` + +<p class="tip">Note that user-provided HTML can never be considered 100% safe unless it's in a sandboxed iframe or in a part of the app where only the user who wrote that HTML can ever be exposed to it. Additionally, allowing users to write their own Vue templates brings similar dangers.</p> + +### Injecting URLs + +In a URL like this: + +```html +<a v-bind:href="userProvidedUrl"> + click me +</a> +``` + +There's a potential security issue if the URL has not been "sanitized" to prevent JavaScript execution using `javascript:`. There are libraries such as [sanitize-url](https://www.npmjs.com/package/@braintree/sanitize-url) to help with this, but note: + +<p class="tip">If you're ever doing URL sanitization on the frontend, you already have a security issue. User-provided URLs should always be sanitized by your backend before even being saved to a database. Then the problem is avoided for _every_ client connecting to your API, including native mobile apps. Also note that even with sanitized URLs, Vue cannot help you guarantee that they lead to safe destinations.</p> + +### Injecting Styles + +Looking at this example: + +```html +<a + v-bind:href="sanitizedUrl" + v-bind:style="userProvidedStyles" +> + click me +</a> +``` + +let's assume that `sanitizedUrl` has been sanitized, so that it's definitely a real URL and not JavaScript. With the `userProvidedStyles`, malicious users could still provide CSS to "click jack", e.g. styling the link into a transparent box over the "Log in" button. Then if `https://user-controlled-website.com/` is built to resemble the login page of your application, they might have just captured a user's real login information. + +You may be able to imagine how allowing user-provided content for a `<style>` element would create an even greater vulnerability, giving that user full control over how to style the entire page. That's why Vue prevents rendering of style tags inside templates, such as: + +```html +<style>{{ userProvidedStyles }}</style> +``` + +To keep your users fully safe from click jacking, we recommend only allowing full control over CSS inside a sandboxed iframe. Alternatively, when providing user control through a style binding, we recommend using its [object syntax](class-and-style.html#Object-Syntax-1) and only allowing users to provide values for specific properties it's safe for them to control, like this: + +```html +<a + v-bind:href="sanitizedUrl" + v-bind:style="{ + color: userProvidedColor, + background: userProvidedBackground + }" +> + click me +</a> +``` + +### Injecting JavaScript + +We strongly discourage ever rendering a `<script>` element with Vue, since templates and render functions should never have side effects. However, this isn't the only way to include strings that would be evaluated as JavaScript at runtime. + +Every HTML element has attributes with values accepting strings of JavaScript, such as `onclick`, `onfocus`, and `onmouseenter`. Binding user-provided JavaScript to any of these event attributes is a potential security risk, so should be avoided. + +<p class="tip">Note that user-provided JavaScript can never be considered 100% safe unless it's in a sandboxed iframe or in a part of the app where only the user who wrote that JavaScript can ever be exposed to it.</p> + +Sometimes we receive vulnerability reports on how it's possible to do cross-site scripting (XSS) in Vue templates. In general, we do not consider such cases to be actual vulnerabilities, because there's no practical way to protect developers from the two scenarios that would allow XSS: + +1. The developer is explicitly asking Vue to render user-provided, unsanitized content as Vue templates. This is inherently unsafe and there's no way for Vue to know the origin. + +2. The developer is mounting Vue to an entire HTML page which happens to contain server-rendered and user-provided content. This is fundamentally the same problem as \#1, but sometimes devs may do it without realizing. This can lead to possible vulnerabilities where the attacker provides HTML which is safe as plain HTML but unsafe as a Vue template. The best practice is to never mount Vue on nodes that may contain server-rendered and user-provided content. + +## Best Practices + +The general rule is that if you allow unsanitized, user-provided content to be executed (as either HTML, JavaScript, or even CSS), you might be opening yourself up to attacks. This advice actually holds true whether using Vue, another framework, or even no framework. + +Beyond the recommendations made above for [Potential Dangers](#Potential-Dangers), we also recommend familiarizing yourself with these resources: + +- [HTML5 Security Cheat Sheet](https://html5sec.org/) +- [OWASP's Cross Site Scripting (XSS) Prevention Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html) + +Then use what you learn to also review the source code of your dependencies for potentially dangerous patterns, if any of them include 3rd-party components or otherwise influence what's rendered to the DOM. + +## Backend Coordination + +HTTP security vulnerabilities, such as cross-site request forgery (CSRF/XSRF) and cross-site script inclusion (XSSI), are primarily addressed on the backend, so aren't a concern of Vue's. However, it's still a good idea to communicate with your backend team to learn how to best interact with their API, e.g. by submitting CSRF tokens with form submissions. + +## Server-Side Rendering (SSR) + +There are some additional security concerns when using SSR, so make sure to follow the best practices outlined throughout [our SSR documentation](https://v2.ssr.vuejs.org/) to avoid vulnerabilities. diff --git a/src/v2/guide/single-file-components.md b/src/v2/guide/single-file-components.md index 7c2ca16d4f..0789a378fa 100644 --- a/src/v2/guide/single-file-components.md +++ b/src/v2/guide/single-file-components.md @@ -1,11 +1,13 @@ --- title: Single File Components type: guide -order: 402 +order: 401 --- ## Introduction +<div class="vueschool"><a href="https://vueschool.io/lessons/introduction-to-single-file-components?friend=vuejs" target="_blank" rel="sponsored noopener" title="Free Vue.js Single File Components lesson">Watch a free video lesson on Vue School</a></div> + In many Vue projects, global components will be defined using `Vue.component`, followed by `new Vue({ el: '#container' })` to target a container element in the body of every page. This can work very well for small to medium-sized projects, where JavaScript is only used to enhance certain views. In more complex projects however, or when your frontend is entirely driven by JavaScript, these disadvantages become apparent: @@ -19,7 +21,7 @@ All of these are solved by **single-file components** with a `.vue` extension, m Here's an example of a file we'll call `Hello.vue`: -<img src="/images/vue-component.png" style="display: block; margin: 30px auto;"> +<a href="https://codesandbox.io/s/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-single-file-components" target="_blank" rel="noopener noreferrer"><img src="/images/vue-component.png" alt="Single-file component example (click for code as text)" style="display: block; margin: 30px auto;"></a> Now we get: @@ -29,7 +31,7 @@ Now we get: As promised, we can also use preprocessors such as Pug, Babel (with ES2015 modules), and Stylus for cleaner and more feature-rich components. -<img src="/images/vue-component-with-preprocessors.png" style="display: block; margin: 30px auto;"> +<a href="https://gist.github.com/chrisvfritz/1c9f2daea9bc078dcb47e9a82e5f7587" target="_blank" rel="noopener noreferrer"><img src="/images/vue-component-with-preprocessors.png" alt="Single-file component example with preprocessors (click for code as text)" style="display: block; margin: 30px auto;"></a> These specific languages are only examples. You could as easily use Bublé, TypeScript, SCSS, PostCSS - or whatever other preprocessors that help you be productive. If using Webpack with `vue-loader`, it also has first-class support for CSS Modules. @@ -58,14 +60,14 @@ If you want to dive right in and start playing with single-file components, chec With `.vue` components, we're entering the realm of advanced JavaScript applications. That means learning to use a few additional tools if you haven't already: -- **Node Package Manager (NPM)**: Read the [Getting Started guide](https://docs.npmjs.com/getting-started/what-is-npm) through section _10: Uninstalling global packages_. +- **Node Package Manager (NPM)**: Read the [Getting Started guide](https://docs.npmjs.com/packages-and-modules/getting-packages-from-the-registry) section about how to get packages from the registry. - **Modern JavaScript with ES2015/16**: Read through Babel's [Learn ES2015 guide](https://babeljs.io/docs/learn-es2015/). You don't have to memorize every feature right now, but keep this page as a reference you can come back to. -After you've taken a day to dive into these resources, we recommend checking out the [webpack](https://vuejs-templates.github.io/webpack) template. Follow the instructions and you should have a Vue project with `.vue` components, ES2015, and hot-reloading in no time! - -To learn more about Webpack itself, check out [their official docs](https://webpack.js.org/configuration/) and [Webpack Academy](https://webpack.academy/p/the-core-concepts). In Webpack, each file can be transformed by a "loader" before being included in the bundle, and Vue offers the [vue-loader](https://vue-loader.vuejs.org) plugin to translate single-file (`.vue`) components. +After you've taken a day to dive into these resources, we recommend checking out [Vue CLI 3](https://cli.vuejs.org/). Follow the instructions and you should have a Vue project with `.vue` components, ES2015, Webpack and hot-reloading in no time! ### For Advanced Users -Whether you prefer Webpack or Browserify, we have documented templates for both simple and more complex projects. We recommend browsing [github.com/vuejs-templates](https://github.com/vuejs-templates), picking a template that's right for you, then following the instructions in the README to generate a new project with [vue-cli](https://github.com/vuejs/vue-cli). +The CLI takes care of most of the tooling configurations for you, but also allows fine-grained customization through its own [config options](https://cli.vuejs.org/config/). + +In case you prefer setting up your own build setup from scratch, you will need to manually configure webpack with [vue-loader](https://vue-loader.vuejs.org). To learn more about webpack itself, check out [their official docs](https://webpack.js.org/configuration/) and [Webpack Academy](https://webpack-academy.teachable.com/p/the-core-concepts). diff --git a/src/v2/guide/ssr.md b/src/v2/guide/ssr.md index 45f68271b1..864b9afd5e 100644 --- a/src/v2/guide/ssr.md +++ b/src/v2/guide/ssr.md @@ -6,8 +6,12 @@ order: 503 ## The Complete SSR Guide -We have created a standalone guide for creating server-rendered Vue applications. This is a very in-depth guide for those who are already familiar with client-side Vue development, server-side Node.js development and webpack. Check it out at [ssr.vuejs.org](https://ssr.vuejs.org/). +We have created a standalone guide for creating server-rendered Vue applications. This is a very in-depth guide for those who are already familiar with client-side Vue development, server-side Node.js development and webpack. Check it out at [v2.ssr.vuejs.org](https://v2.ssr.vuejs.org/). ## Nuxt.js Properly configuring all the discussed aspects of a production-ready server-rendered app can be a daunting task. Luckily, there is an excellent community project that aims to make all of this easier: [Nuxt.js](https://nuxtjs.org/). Nuxt.js is a higher-level framework built on top of the Vue ecosystem which provides an extremely streamlined development experience for writing universal Vue applications. Better yet, you can even use it as a static site generator (with pages authored as single-file Vue components)! We highly recommend giving it a try. + +## Quasar Framework SSR + PWA + +[Quasar Framework](https://quasar.dev) will generate an SSR app (with optional PWA handoff) that leverages its best-in-class build system, sensible configuration and developer extensibility to make designing and building your idea a breeze. With over one hundred specific "Material Design 2.0"-compliant components, you can decide which ones to execute on the server, which are available in the browser - and even manage the `<meta>` tags of your site. Quasar is a node.js and webpack based development environment that supercharges and streamlines rapid development of SPA, PWA, SSR, Electron, Capacitor and Cordova apps - all from one codebase. diff --git a/src/v2/guide/state-management.md b/src/v2/guide/state-management.md index 9550fcab1a..102b14be99 100644 --- a/src/v2/guide/state-management.md +++ b/src/v2/guide/state-management.md @@ -6,24 +6,26 @@ order: 502 ## Official Flux-Like Implementation -Large applications can often grow in complexity, due to multiple pieces of state scattered across many components and the interactions between them. To solve this problem, Vue offers [vuex](https://github.com/vuejs/vuex): our own Elm-inspired state management library. It even integrates into [vue-devtools](https://github.com/vuejs/vue-devtools), providing zero-setup access to [time travel debugging](https://raw.githubusercontent.com/vuejs/vue-devtools/master/media/demo.gif). +Large applications can often grow in complexity, due to multiple pieces of state scattered across many components and the interactions between them. To solve this problem, Vue offers [vuex](https://github.com/vuejs/vuex): our own Elm-inspired state management library. It even integrates into [vue-devtools](https://github.com/vuejs/vue-devtools), providing zero-setup access to [time travel debugging](https://raw.githubusercontent.com/vuejs/v2.vuejs.org/master/src/images/devtools-timetravel.gif). + +<div class="vue-mastery"><a href="https://www.vuemastery.com/courses/mastering-vuex/intro-to-vuex/" target="_blank" rel="sponsored noopener" title="Vuex Tutorial">Watch a video explanation on Vue Mastery</a></div> ### Information for React Developers -If you're coming from React, you may be wondering how vuex compares to [redux](https://github.com/reactjs/redux), the most popular Flux implementation in that ecosystem. Redux is actually view-layer agnostic, so it can easily be used with Vue via [simple bindings](https://yarnpkg.com/en/packages?q=redux%20vue&p=1). Vuex is different in that it _knows_ it's in a Vue app. This allows it to better integrate with Vue, offering a more intuitive API and improved development experience. +If you're coming from React, you may be wondering how vuex compares to [redux](https://github.com/reactjs/redux), the most popular Flux implementation in that ecosystem. Redux is actually view-layer agnostic, so it can easily be used with Vue via [simple bindings](https://classic.yarnpkg.com/en/packages?q=redux%20vue&p=1). Vuex is different in that it _knows_ it's in a Vue app. This allows it to better integrate with Vue, offering a more intuitive API and improved development experience. ## Simple State Management from Scratch It is often overlooked that the source of truth in Vue applications is the raw `data` object - a Vue instance only proxies access to it. Therefore, if you have a piece of state that should be shared by multiple instances, you can share it by identity: ``` js -const sourceOfTruth = {} +var sourceOfTruth = {} -const vmA = new Vue({ +var vmA = new Vue({ data: sourceOfTruth }) -const vmB = new Vue({ +var vmB = new Vue({ data: sourceOfTruth }) ``` @@ -49,7 +51,7 @@ var store = { } ``` -Notice all actions that mutate the store's state are put inside the store itself. This type of centralized state management makes it easier to understand what type of mutations could happen and how are they triggered. Now when something goes wrong, we'll also have a log of what happened leading up to the bug. +Notice all actions that mutate the store's state are put inside the store itself. This type of centralized state management makes it easier to understand what type of mutations could happen and how they are triggered. Now when something goes wrong, we'll also have a log of what happened leading up to the bug. In addition, each instance/component can still own and manage its own private state: diff --git a/src/v2/guide/syntax.md b/src/v2/guide/syntax.md index c67a0be17e..95b8db44da 100644 --- a/src/v2/guide/syntax.md +++ b/src/v2/guide/syntax.md @@ -30,7 +30,7 @@ You can also perform one-time interpolations that do not update on data change b ### Raw HTML -The double mustaches interprets the data as plain text, not HTML. In order to output real HTML, you will need to use the `v-html` directive: +The double mustaches interprets the data as plain text, not HTML. In order to output real HTML, you will need to use the [`v-html` directive](../api/#v-html): ``` html <p>Using mustaches: {{ rawHtml }}</p> @@ -46,9 +46,9 @@ The double mustaches interprets the data as plain text, not HTML. In order to ou new Vue({ el: '#example1', data: function () { - return { - rawHtml: '<span style="color: red">This should be red.</span>' - } + return { + rawHtml: '<span style="color: red">This should be red.</span>' + } } }) </script> @@ -60,13 +60,13 @@ The contents of the `span` will be replaced with the value of the `rawHtml` prop ### Attributes -Mustaches cannot be used inside HTML attributes. Instead, use a [v-bind directive](../api/#v-bind): +Mustaches cannot be used inside HTML attributes. Instead, use a [`v-bind` directive](../api/#v-bind): ``` html <div v-bind:id="dynamicId"></div> ``` -In the case of boolean attributes, where their mere existence implies `true`, `v-bind` works a little differently. In this example: +In the case of boolean attributes, where their mere existence implies `true`, `v-bind` works a little differently. In this example: ``` html <button v-bind:disabled="isButtonDisabled">Button</button> @@ -98,11 +98,11 @@ These expressions will be evaluated as JavaScript in the data scope of the owner {{ if (ok) { return message } }} ``` -<p class="tip">Template expressions are sandboxed and only have access to a whitelist of globals such as `Math` and `Date`. You should not attempt to access user defined globals in template expressions.</p> +<p class="tip">Template expressions are sandboxed and only have access to a [whitelist of globals](https://github.com/vuejs/vue/blob/v2.6.10/src/core/instance/proxy.js#L9) such as `Math` and `Date`. You should not attempt to access user-defined globals in template expressions.</p> ## Directives -Directives are special attributes with the `v-` prefix. Directive attribute values are expected to be **a single JavaScript expression** (with the exception for `v-for`, which will be discussed later). A directive's job is to reactively apply side effects to the DOM when the value of its expression changes. Let's review the example we saw in the introduction: +Directives are special attributes with the `v-` prefix. Directive attribute values are expected to be **a single JavaScript expression** (with the exception of `v-for`, which will be discussed later). A directive's job is to reactively apply side effects to the DOM when the value of its expression changes. Let's review the example we saw in the introduction: ``` html <p v-if="seen">Now you see me</p> @@ -128,6 +128,55 @@ Another example is the `v-on` directive, which listens to DOM events: Here the argument is the event name to listen to. We will talk about event handling in more detail too. +### Dynamic Arguments + +> New in 2.6.0+ + +Starting in version 2.6.0, it is also possible to use a JavaScript expression in a directive argument by wrapping it with square brackets: + +``` html +<!-- +Note that there are some constraints to the argument expression, as explained +in the "Dynamic Argument Expression Constraints" section below. +--> +<a v-bind:[attributeName]="url"> ... </a> +``` + +Here `attributeName` will be dynamically evaluated as a JavaScript expression, and its evaluated value will be used as the final value for the argument. For example, if your Vue instance has a data property, `attributeName`, whose value is `"href"`, then this binding will be equivalent to `v-bind:href`. + +Similarly, you can use dynamic arguments to bind a handler to a dynamic event name: + +``` html +<a v-on:[eventName]="doSomething"> ... </a> +``` + +In this example, when `eventName`'s value is `"focus"`, `v-on:[eventName]` will be equivalent to `v-on:focus`. + +#### Dynamic Argument Value Constraints + +Dynamic arguments are expected to evaluate to a string, with the exception of `null`. The special value `null` can be used to explicitly remove the binding. Any other non-string value will trigger a warning. + +#### Dynamic Argument Expression Constraints + +Dynamic argument expressions have some syntax constraints because certain characters, such as spaces and quotes, are invalid inside HTML attribute names. For example, the following is invalid: + +``` html +<!-- This will trigger a compiler warning. --> +<a v-bind:['foo' + bar]="value"> ... </a> +``` + +The workaround is to either use expressions without spaces or quotes, or replace the complex expression with a computed property. + +When using in-DOM templates (i.e., templates written directly in an HTML file), you should also avoid naming keys with uppercase characters, as browsers will coerce attribute names into lowercase: + +``` html +<!-- +This will be converted to v-bind:[someattr] in in-DOM templates. +Unless you have a "someattr" property in your instance, your code won't work. +--> +<a v-bind:[someAttr]="value"> ... </a> +``` + ### Modifiers Modifiers are special postfixes denoted by a dot, which indicate that a directive should be bound in some special way. For example, the `.prevent` modifier tells the `v-on` directive to call `event.preventDefault()` on the triggered event: @@ -140,7 +189,7 @@ You'll see other examples of modifiers later, [for `v-on`](events.html#Event-Mod ## Shorthands -The `v-` prefix serves as a visual cue for identifying Vue-specific attributes in your templates. This is useful when you are using Vue.js to apply dynamic behavior to some existing markup, but can feel verbose for some frequently used directives. At the same time, the need for the `v-` prefix becomes less important when you are building a [SPA](https://en.wikipedia.org/wiki/Single-page_application) where Vue.js manages every template. Therefore, Vue.js provides special shorthands for two of the most often used directives, `v-bind` and `v-on`: +The `v-` prefix serves as a visual cue for identifying Vue-specific attributes in your templates. This is useful when you are using Vue.js to apply dynamic behavior to some existing markup, but can feel verbose for some frequently used directives. At the same time, the need for the `v-` prefix becomes less important when you are building a [SPA](https://en.wikipedia.org/wiki/Single-page_application), where Vue manages every template. Therefore, Vue provides special shorthands for two of the most often used directives, `v-bind` and `v-on`: ### `v-bind` Shorthand @@ -150,6 +199,9 @@ The `v-` prefix serves as a visual cue for identifying Vue-specific attributes i <!-- shorthand --> <a :href="url"> ... </a> + +<!-- shorthand with dynamic argument (2.6.0+) --> +<a :[key]="url"> ... </a> ``` ### `v-on` Shorthand @@ -160,6 +212,9 @@ The `v-` prefix serves as a visual cue for identifying Vue-specific attributes i <!-- shorthand --> <a @click="doSomething"> ... </a> + +<!-- shorthand with dynamic argument (2.6.0+) --> +<a @[event]="doSomething"> ... </a> ``` -They may look a bit different from normal HTML, but `:` and `@` are valid chars for attribute names and all Vue.js supported browsers can parse it correctly. In addition, they do not appear in the final rendered markup. The shorthand syntax is totally optional, but you will likely appreciate it when you learn more about its usage later. +They may look a bit different from normal HTML, but `:` and `@` are valid characters for attribute names and all Vue-supported browsers can parse it correctly. In addition, they do not appear in the final rendered markup. The shorthand syntax is totally optional, but you will likely appreciate it when you learn more about its usage later. diff --git a/src/v2/guide/team.md b/src/v2/guide/team.md index 9282cdae78..f866fd1b8b 100644 --- a/src/v2/guide/team.md +++ b/src/v2/guide/team.md @@ -5,12 +5,19 @@ order: 803 --- {% raw %} + <script id="vuer-profile-template" type="text/template"> <div class="vuer"> <div class="avatar"> - <img v-if="profile.github" + <img v-if="profile.imageUrl" + :src="profile.imageUrl" + :alt="profile.name" width=80 height=80> + <img v-else-if="profile.github" :src="'https://github.com/' + profile.github + '.png'" :alt="profile.name" width=80 height=80> + <img v-else-if="profile.twitter" + :src="'https://avatars.io/twitter/' + profile.twitter" + :alt="profile.name" width=80 height=80> </div> <div class="profile"> <h3 :data-official-title="profile.title"> @@ -23,7 +30,7 @@ order: 803 <dd> <ul> <li v-for="repo in profile.reposOfficial"> - <a :href="githubUrl('vuejs', repo)" target=_blank>{{ repo.name || repo }}</a> + <a :href="githubUrl('vuejs', repo)" target=_blank rel="noopener noreferrer">{{ repo.name || repo }}</a> </li> </ul> </dd> @@ -33,7 +40,7 @@ order: 803 <dd> <ul> <li v-for="repo in profile.reposPersonal"> - <a :href="githubUrl(profile.github, repo)" target=_blank>{{ repo.name || repo }}</a> + <a :href="githubUrl(profile.github, repo)" target=_blank rel="noopener noreferrer">{{ repo.name || repo }}</a> </li> </ul> </dd> @@ -103,6 +110,10 @@ order: 803 <i class="fa fa-codepen"></i> <span class="sr-only">CodePen</span> </a> + <a class=linkedin v-if="profile.linkedin" :href="'https://www.linkedin.com/in/' + profile.linkedin"> + <i class="fa fa-linkedin"></i> + <span class="sr-only">LinkedIn</span> + </a> </footer> </dl> </div> @@ -112,8 +123,8 @@ order: 803 <div id="team-members"> <div class="team"> - <h2 id="the-core-team"> - The Core Team + <h2 id="active-core-team-members"> + Active Core Team Members <button v-if="geolocationSupported && !userPosition" @click="getUserPosition" @@ -145,10 +156,29 @@ order: 803 <vuer-profile v-for="profile in sortedTeam" - :key="profile.github" + :key="profile.name" + :profile="profile" + :title-visible="titleVisible" + ></vuer-profile> + + </div> + + <div class="team"> + <h2 id="core-team-emeriti"> + Core Team Emeriti + </h2> + + <p> + Here we honor some no-longer-active core team members who have made valuable contributions in the past. + </p> + + <vuer-profile + v-for="profile in teamEmeriti" + :key="profile.name" :profile="profile" :title-visible="titleVisible" ></vuer-profile> + </div> <div class="team"> @@ -185,10 +215,11 @@ order: 803 <vuer-profile v-for="profile in sortedPartners" - :key="profile.github" + :key="profile.name" :profile="profile" :title-visible="titleVisible" ></vuer-profile> + </div> </div> @@ -197,6 +228,8 @@ order: 803 var cityCoordsFor = { 'Annecy, France': [45.899247, 6.129384], 'Alicante, Spain' : [38.346543, -0.483838], + 'Amsterdam, Netherlands': [4.895168, 52.370216], + 'Atlanta, GA, USA': [33.749051, -84.387858], 'Bangalore, India': [12.971599, 77.594563], 'Beijing, China': [39.904200, 116.407396], 'Bordeaux, France': [44.837789, -0.579180], @@ -204,8 +237,10 @@ order: 803 'Chengdu, China': [30.572815, 104.066801], 'Chongqing, China': [29.431586, 106.912251], 'Denver, CO, USA': [39.739236, -104.990251], + 'Dublin, Ireland': [53.349918, -6.260174], 'Dubna, Russia': [56.732020, 37.166897], 'East Lansing, MI, USA': [42.736979, -84.483865], + 'Fort Worth, TX, USA': [32.755331, -97.325735], 'Hangzhou, China': [30.274084, 120.155070], 'Jersey City, NJ, USA': [40.728157, -74.558716], 'Kingston, Jamaica': [18.017874, -76.809904], @@ -221,15 +256,24 @@ order: 803 'Poznań, Poland': [52.4006553, 16.761583], 'Seoul, South Korea': [37.566535, 126.977969], 'Shanghai, China': [31.230390, 121.473702], + 'Singapore': [1.352083, 103.819839], + 'Sydney, Australia': [-33.868820, 151.209290], 'Taquaritinga, Brazil': [-21.430094, -48.515285], 'Tehran, Iran': [35.689197, 51.388974], 'Thessaloniki, Greece': [40.640063, 22.944419], 'Tokyo, Japan': [35.689487, 139.691706], 'Toronto, Canada': [43.653226, -79.383184], - 'Wrocław, Poland': [51.107885, 17.038538] + 'Wrocław, Poland': [51.107885, 17.038538], + 'Boston, MA, USA': [42.360081, -71.058884], + 'Kyiv, Ukraine': [50.450100, 30.523399], + 'Washington, DC, USA': [38.8935755,-77.0846156,12], + 'Kraków, Poland': [50.064650, 19.936579], + 'Oslo, Norway': [59.911491, 10.757933], + 'Kanagawa, Japan': [35.44778, 139.6425] } var languageNameFor = { en: 'English', + nl: 'Nederlands', zh: '中文', vi: 'Tiếng Việt', pl: 'Polski', @@ -243,7 +287,9 @@ order: 803 hi: 'हिंदी', fa: 'فارسی', ko: '한국어', - ro: 'Română' + ro: 'Română', + uk: 'Українська', + no: 'Norwegian' } var team = [{ @@ -266,26 +312,6 @@ order: 803 }] team = team.concat(shuffle([ - { - name: 'Chris Fritz', - title: 'Good Word Putter-Togetherer', - city: 'Lansing, MI, USA', - languages: ['en', 'de'], - github: 'chrisvfritz', - twitter: 'chrisvfritz', - work: { - role: 'Educator & Consultant' - }, - reposOfficial: [ - 'vuejs.org', 'vue-migration-helper' - ], - reposPersonal: [ - 'vue-2.0-simple-routing-example', 'vue-ssr-demo-simple' - ], - links: [ - 'https://www.patreon.com/chrisvuefritz' - ] - }, { name: 'Eduardo', title: 'Real-Time Rerouter', @@ -294,65 +320,71 @@ order: 803 github: 'posva', twitter: 'posva', work: { - role: 'Lead Instructor', - org: 'IronHack', - orgUrl: 'https://www.ironhack.com/' + role: 'Freelance Developer & Consultant', }, reposOfficial: [ 'vuefire', 'vue-router' ], reposPersonal: [ - 'vuexfire', 'vue-mdc', 'vue-motion' + 'vuex-mock-store', 'vue-promised', 'vue-motion' ], links: [ - 'https://www.codementor.io/posva' + 'https://www.patreon.com/posva' ] }, { - name: 'Jinjiang', - title: 'Mobile Extrapolator', + name: 'Sodatea', city: 'Hangzhou, China', languages: ['zh', 'en'], - github: 'jinjiang', - twitter: 'zhaojinjiang', + github: 'sodatea', + twitter: 'haoqunjiang', + reposOfficial: [ + 'vue-cli', 'vue-loader' + ] + }, + { + name: 'Pine Wu', + city: 'Shanghai, China', + languages: ['zh', 'en', 'jp'], + github: 'octref', + twitter: 'octref', work: { - org: 'Alibaba', - orgUrl: 'https://www.alibaba.com/' + role: 'Nomad' }, reposOfficial: [ - 'cn.vuejs.org' - ], - reposPersonal: [ - 'apache/incubator-weex' + 'vetur' ] }, { - name: 'EGOIST', - title: 'Build Tool Simplificator', - city: 'Chengdu, China', + name: 'Jinjiang', + city: 'Singapore', languages: ['zh', 'en'], - github: 'egoist', - twitter: '_egoistlily', + github: 'jinjiang', + twitter: 'zhaojinjiang', reposOfficial: [ - 'vue-cli' + 'cn.vuejs.org', 'vue-docs-zh-cn' ], reposPersonal: [ - 'poi', 'ream', 'vue-play' + 'vue-a11y-utils', 'vue-mark-display', 'mark2slides', 'vue-keyboard-over' ] }, { name: 'Katashin', title: 'One of a Type State Manager', - city: 'Tokyo, Japan', + city: 'Singapore', languages: ['jp', 'en'], work: { - org: 'oRo Co., Ltd.', - orgUrl: 'https://www.oro.com' + role: 'Software Engineer', + org: 'ClassDo', + orgUrl: 'https://classdo.com' }, github: 'ktsn', twitter: 'ktsn', reposOfficial: [ 'vuex', 'vue-class-component' + ], + reposPersonal: [ + 'vue-designer' ] }, { @@ -363,16 +395,18 @@ order: 803 github: 'kazupon', twitter: 'kazu_pon', work: { - role: 'CTO & Full Stack Developer' + role: 'Engineer', + org: 'PLAID, Inc.', + orgUrl: 'https://plaid.co.jp' }, reposOfficial: [ 'vuejs.org', 'jp.vuejs.org' ], reposPersonal: [ - 'vue-i18n', 'vue-i18n-loader', 'vue-i18n-extensions' + 'vue-i18n', 'vue-cli-plugin-i18n', 'vue-i18n-loader', 'eslint-plugin-vue-i18n', 'vue-i18n-extensions', 'vue-cli-plugin-p11n' ], links: [ - 'https://cuusoo.com', 'http://frapwings.jp' + 'https://www.patreon.com/kazupon' ] }, { @@ -382,8 +416,8 @@ order: 803 languages: ['hi', 'en'], work: { role: 'Software Engineer', - org: 'Myntra', - orgUrl: 'https://www.myntra.com/' + org: 'Grammarly', + orgUrl: 'https://grammarly.com/' }, github: 'znck', twitter: 'znck0', @@ -391,61 +425,10 @@ order: 803 'rollup-plugin-vue', 'vue-issue-helper' ], reposPersonal: [ - 'vue-keynote', 'bootstrap-for-vue', 'vue-interop' + 'vue-developer-experience', 'prop-types', 'grammarly' ], links: [ - 'https://znck.me', 'https://www.codementor.io/znck' - ] - }, - { - name: 'Alan Song', - title: 'Regent of Routing', - city: 'Hangzhou, China', - languages: ['zh', 'en'], - work: { - role: 'Cofounder', - org: 'Futurenda', - orgUrl: 'https://www.futurenda.com/' - }, - github: 'fnlctrl', - reposOfficial: [ - 'vue-router' - ] - }, - { - name: 'Blake Newman', - title: 'Performance Specializer & Code Deleter', - city: 'London, UK', - languages: ['en'], - work: { - role: 'Software Engineer', - org: 'Attest', - orgUrl: 'https://www.askattest.com/' - }, - github: 'blake-newman', - twitter: 'blakenewman', - reposOfficial: [ - 'vuex', 'vue-router', 'vue-loader' - ] - }, - { - name: 'Phan An', - title: 'Backend Designer & Process Poet', - city: 'Munich, Germany', - languages: ['vi', 'en'], - github: 'phanan', - twitter: 'notphanan', - reposOfficial: [ - 'vuejs.org', { - name: 'vi.vuejs.org', - url: 'https://github.com/vuejs-vn/vuejs.org' - } - ], - reposPersonal: [ - 'vuequery', 'vue-google-signin-button' - ], - links: [ - 'https://phanan.net/' + 'https://znck.me' ] }, { @@ -456,7 +439,7 @@ order: 803 github: 'LinusBorg', twitter: 'Linus_Borg', reposOfficial: [ - 'vuejs/*', 'vuejs-templates/*', 'vue-touch' + 'vuejs/*' ], reposPersonal: [ 'portal-vue' @@ -465,25 +448,6 @@ order: 803 'https://forum.vuejs.org/' ] }, - { - name: 'Denis Karabaza', - title: 'Director of Directives (Emoji-Human Hybrid)', - city: 'Dubna, Russia', - languages: ['ru', 'en'], - github: 'simplesmiler', - twitter: 'simplesmiler', - work: { - role: 'Software Engineer', - org: 'Neolant', - orgUrl: 'http://neolant.ru/' - }, - reposPersonal: [ - 'vue-focus', 'vue-clickaway' - ], - links: [ - 'mailto:denis.karabaza@gmail.com' - ] - }, { name: 'Guillaume Chau', title: 'Client-Server Astronaut', @@ -503,107 +467,236 @@ order: 803 ], reposPersonal: [ 'vue-apollo', 'vue-meteor', 'vue-virtual-scroller', 'v-tooltip' + ], + links: [ + 'http://patreon.com/akryum' ] }, { - name: 'Edd Yerburgh', - title: 'Testatron Alpha 9000', - city: 'London, UK', - languages: ['en'], - github: 'eddyerburgh', - twitter: 'EddYerburgh', + name: 'Damian Dulisz', + title: 'Dark Mage of Plugins, News, and Confs', + city: 'Wrocław, Poland', + languages: ['pl', 'en'], + github: 'shentao', + twitter: 'DamianDulisz', work: { - role: 'Full Stack Developer' + role: 'Consultant' }, reposOfficial: [ - 'vue-test-utils' + 'news.vuejs.org' ], reposPersonal: [ - 'avoriaz' + 'shentao/vue-multiselect', + 'shentao/vue-global-events' + ] + }, + { + name: 'Michał Sajnóg', + city: 'Poznań, Poland', + languages: ['pl', 'en'], + github: 'michalsnik', + twitter: 'michalsnik', + work: { + role: 'Senior Frontend Developer / Team Leader', + org: 'Netguru', + orgUrl: 'https://netguru.co/' + }, + reposOfficial: [ + 'eslint-plugin-vue', + 'vue-devtools' ], - links: [ - 'https://www.eddyerburgh.me' + reposPersonal: [ + 'vue-computed-helpers', 'vue-content-placeholders' ] }, { - name: 'defcc', - title: 'Details Deity & Bug Surgeon', - city: 'Chongqing, China', + name: 'GU Yiling', + city: 'Shanghai, China', languages: ['zh', 'en'], - github: 'defcc', work: { - org: 'zbj.com', - orgUrl: 'http://www.zbj.com/' + role: 'Senior web developer', + org: 'Baidu, inc.', + orgUrl: 'https://www.baidu.com/' }, + github: 'Justineo', + twitter: '_justineo', reposOfficial: [ - 'vue', 'vuejs.org', 'cn.vuejs.org' + 'vue', 'cn.vuejs.org' ], reposPersonal: [ - 'weexteam/weex-vue-framework', 'into-vue' + 'Justineo/vue-awesome', 'ecomfe/vue-echarts', 'ecomfe/veui' ] }, { - name: 'gebilaoxiong', - title: 'Issue Annihilator', - city: 'Chongqing, China', + name: 'ULIVZ', + city: 'Hangzhou, China', languages: ['zh', 'en'], - github: 'gebilaoxiong', work: { - org: 'zbj.com', - orgUrl: 'http://www.zbj.com/' + role: 'Senior Frontend Developer', + org: 'AntFinancial', + orgUrl: 'https://www.antfin.com' }, + github: 'ulivz', + twitter: '_ulivz', reposOfficial: [ - 'vue' + 'vuepress' ] }, { - name: 'Andrew Tomaka', - title: 'The Server Server', - city: 'East Lansing, MI, USA', - languages: ['en'], - github: 'atomaka', - twitter: 'atomaka', + name: 'Phan An', + title: 'Backend Designer & Process Poet', + city: 'Munich, Germany', + languages: ['vi', 'en'], + github: 'phanan', + twitter: 'notphanan', + work: { + role: 'Engineering Team Lead', + org: 'InterNations', + orgUrl: 'https://www.internations.org/' + }, reposOfficial: [ - 'vuejs/*' + 'vuejs.org' + ], + reposPersonal: [ + 'vuequery', 'vue-google-signin-button' + ], + links: [ + 'https://vi.vuejs.org', + 'https://phanan.net/' + ] + }, + { + name: 'Natalia Tepluhina', + title: 'Fox Tech Guru', + city: 'Kyiv, Ukraine', + languages: ['uk', 'ru', 'en'], + reposOfficial: [ + 'vuejs.org', + 'vue-cli' ], work: { - org: 'Michigan State University', - orgUrl: 'https://msu.edu/' + role: 'Senior Frontend Engineer', + org: 'GitLab', + orgUrl: 'https://gitlab.com/' + }, + github: 'NataliaTepluhina', + twitter: 'N_Tepluhina', + }, + { + name: 'Yosuke Ota', + city: 'Kanagawa, Japan', + languages: ['jp'], + github: 'ota-meshi', + twitter: 'omoteota', + work: { + role: 'Lead Web Engineer', + org: 'Future Corporation', + orgUrl: 'https://www.future.co.jp/' }, + reposOfficial: [ + 'eslint-plugin-vue' + ], + }, + { + name: 'Ben Hong', + city: 'Washington, DC, USA', + languages: ['en', 'zh'], + work: { + role: 'Developer Experience (DX) Engineer', + org: 'Cypress.io', + }, + reposOfficial: [ + 'vuejs.org', + 'vuepress', + 'vuejs/events' + ], + github: 'bencodezen', + twitter: 'bencodezen', links: [ - 'https://atomaka.com/' + 'https://bencodezen.io/' ] }, + { + name: 'Kia King Ishii', + title: 'The optimist web designer/developer', + city: 'Kanagawa, Japan', + languages: ['en', 'jp'], + work: { + role: 'Tech Talent', + org: 'Global Brain', + orgUrl: 'https://globalbrains.com/' + }, + github: 'kiaking', + twitter: 'KiaKing85', + reposOfficial: [ + 'vuex' + ], + reposPersonal: [ + 'vuex-orm/*' + ] + }, + { + name: 'Anthony Fu', + city: 'Taipei, Taiwan', + languages: ['zh', 'en'], + github: 'antfu', + twitter: 'antfu7', + reposOfficial: ['composition-api'], + reposPersonal: ['vueuse', 'vue-demi', 'vue-reactivity/*'], + links: ['https://antfu.me/'] + } + ])) + + var emeriti = shuffle([ { name: 'Sarah Drasner', city: 'Denver, CO, USA', languages: ['en'], work: { - role: 'Senior Cloud Developer Advocate', - org: 'Microsoft', - orgUrl: 'https://www.microsoft.com/' + role: 'Director of Engineering, Core Developer Web', + org: 'Google', + orgUrl: 'https://www.google.com/' }, github: 'sdras', twitter: 'sarah_edo', codepen: 'sdras', + reposOfficial: [ + 'vuejs.org' + ], reposPersonal: [ - 'intro-to-vue', 'vue-vscode-snippets', 'vue-sublime-snippets', 'nuxt-type', 'animating-vue-workshop', 'cda-locale', 'vue-weather-notifier' + 'intro-to-vue', 'vue-vscode-snippets', 'vue-vscode-extensionpack', 'sample-vue-shop' + ], + links: [ + 'https://sarah.dev/' ] }, - { - name: 'Damian Dulisz', - title: 'Dark Mage of Plugins, News, and Confs', - city: 'Wrocław, Poland', - languages: ['pl', 'en'], - github: 'shentao', - twitter: 'DamianDulisz', + { + name: 'Chris Fritz', + title: 'Good Word Putter-Togetherer', + city: 'Durham, NC, USA', + languages: ['en', 'de'], + github: 'chrisvfritz', + twitter: 'chrisvfritz', work: { - role: 'Consultant' + role: 'Educator & Consultant' }, reposPersonal: [ - 'shentao/vue-multiselect' + 'vue-enterprise-boilerplate' ] }, + { + name: 'Blake Newman', + title: 'Performance Specializer & Code Deleter', + city: 'London, UK', + languages: ['en'], + work: { + role: 'Software Engineer', + org: 'Attest', + orgUrl: 'https://www.askattest.com/' + }, + github: 'blake-newman', + twitter: 'blakenewman' + }, { name: 'kingwl', title: 'New Bee', @@ -620,57 +713,202 @@ order: 803 ] }, { - name: 'Alex Kyriakidis', - title: 'Vueducator Extraordinaire', - city: 'Thessaloniki, Greece', - languages: ['el', 'en'], - github: 'hootlex', - twitter: 'hootlex', + name: 'Alan Song', + title: 'Regent of Routing', + city: 'Hangzhou, China', + languages: ['zh', 'en'], work: { - role: 'Consultant / Author' + role: 'Cofounder', + org: 'Futurenda', + orgUrl: 'https://www.futurenda.com/' }, - reposPersonal: [ - 'vuejs-paginator', 'vuedo/vuedo', 'the-majesty-of-vuejs-2' - ], - links: [ - 'https://vuejsfeed.com/', 'https://vueschool.io/' + github: 'fnlctrl', + reposOfficial: [ + 'vue-router' ] }, { - name: 'Michał Sajnóg', - city: 'Poznań, Poland', - languages: ['pl', 'en'], - github: 'michalsnik', - twitter: 'michalsnik', + name: 'defcc', + title: 'Details Deity & Bug Surgeon', + city: 'Chongqing, China', + languages: ['zh', 'en'], + github: 'defcc', work: { - role: 'Senior Frontend Developer / Team Leader', - org: 'Netguru', - orgUrl: 'https://netguru.co/' + org: 'zbj.com', + orgUrl: 'http://www.zbj.com/' + } + }, + { + name: 'gebilaoxiong', + title: 'Issue Annihilator', + city: 'Chongqing, China', + languages: ['zh', 'en'], + github: 'gebilaoxiong', + work: { + org: 'zbj.com', + orgUrl: 'http://www.zbj.com/' + } + }, + { + name: 'Denis Karabaza', + title: 'Director of Directives (Emoji-Human Hybrid)', + city: 'Dubna, Russia', + languages: ['ru', 'en'], + github: 'simplesmiler', + twitter: 'simplesmiler', + work: { + role: 'Software Engineer', + org: 'Neolant', + orgUrl: 'http://neolant.ru/' + } + }, + { + name: 'Edd Yerburgh', + title: 'Testatron Alpha 9000', + city: 'London, UK', + languages: ['en'], + github: 'eddyerburgh', + twitter: 'EddYerburgh', + work: { + role: 'Full Stack Developer' }, reposOfficial: [ - 'eslint-plugin-vue', - 'vue-devtools' + 'vue-test-utils' ], reposPersonal: [ - 'vue-computed-helpers', 'vue-content-placeholders' + 'avoriaz' + ], + links: [ + 'https://www.eddyerburgh.me' ] } - ])) + ]) var partners = [ + { + name: 'Maria Lamardo', + title: 'Front End Engineer at Pendo', + city: 'Raleigh, NC, USA', + languages: ['en', 'es'], + work: { + role: 'Front End Engineer', + org: 'Pendo' + }, + github: 'mlama007', + twitter: 'MariaLamardo', + reposPersonal: [ + 'vuejs/events' + ] + }, + { + name: 'Pratik Patel', + title: 'Organizer of VueConf US', + city: 'Atlanta, GA, USA', + languages: ['en'], + work: { + role: 'Organizer', + org: 'VueConf US' + }, + imageUrl:'https://pbs.twimg.com/profile_images/1541624512/profile-pic-09-11-2011_400x400.png', + twitter: 'prpatel', + links: [ + 'https://us.vuejs.org/' + ] + }, + { + name: 'Vincent Mayers', + title: 'Organizer of VueConf US', + city: 'Atlanta, GA, USA', + languages: ['en'], + work: { + role: 'Organizer', + org: 'VueConf US' + }, + imageUrl:'https://pbs.twimg.com/profile_images/916531463905992706/MNvTkO5K_400x400.jpg', + twitter: 'vincentmayers', + links: [ + 'https://us.vuejs.org/' + ] + }, + { + name: 'Luke Thomas', + title: 'Creator of Vue.js Amsterdam', + city: 'Amsterdam, Netherlands', + languages: ['nl', 'en', 'de'], + work: { + role: 'Creator', + org: 'Vue.js Amsterdam' + }, + imageUrl: 'https://pbs.twimg.com/profile_images/1123492769299877888/aviXE_M5_400x400.jpg', + twitter: 'lukevscostas', + linkedin: 'luke-kenneth-thomas-578b3916a', + links: [ + 'https://vuejs.amsterdam' + ] + }, + { + name: 'Jos Gerards', + title: 'Organizer and Host of Vue.js Amsterdam & Frontend Love', + city: 'Amsterdam, Netherlands', + languages: ['nl', 'en', 'de'], + work: { + role: 'Event Manager', + org: 'Vue.js Amsterdam' + }, + imageUrl:'https://pbs.twimg.com/profile_images/1110510517951627269/LDzDyd4N_400x400.jpg', + twitter: 'josgerards88', + linkedin: 'josgerards', + links: [ + 'https://vuejs.amsterdam' + ] + }, + { + name: 'Jen Looper', + title: 'Queen Fox', + city: 'Boston, MA, USA', + languages: ['en', 'fr'], + work: { + role: 'CEO', + org: 'Vue Vixens' + }, + github: 'jlooper', + twitter: 'jenlooper', + links: [ + 'https://vuevixens.org/', + 'https://nativescript-vue.org/' + ] + }, + { + name: 'Alex Jover', + title: 'Vue Components Squeezer', + city: 'Alicante, Spain', + languages: ['es', 'en'], + work: { + role: 'Web, PWA and Performance Consultant', + org: 'Freelance' + }, + github: 'alexjoverm', + twitter: 'alexjoverm', + reposPersonal: [ + 'v-runtime-template', 'v-lazy-image', 'vue-testing-series' + ], + links: [ + 'https://alexjover.com' + ] + }, { name: 'Sebastien Chopin', title: '#1 Nuxt Brother', - city: 'Paris, France', + city: 'Bordeaux, France', languages: ['fr', 'en'], github: 'Atinux', twitter: 'Atinux', work: { - org: 'Orion', - orgUrl: 'https://orion.sh' + org: 'NuxtJS', + orgUrl: 'https://nuxtjs.org' }, reposPersonal: [ - 'nuxt/*', 'nuxt-community/*', 'declandewet/vue-meta' + 'nuxt/*', 'nuxt-community/*', 'nuxt/vue-meta' ] }, { @@ -679,10 +917,10 @@ order: 803 city: 'Bordeaux, France', languages: ['fr', 'en'], github: 'alexchopin', - twitter: 'ChopinAlexandre', + twitter: 'iamnuxt', work: { - org: 'Orion', - orgUrl: 'https://orion.sh' + org: 'NuxtJS', + orgUrl: 'https://nuxtjs.org' }, reposPersonal: [ 'nuxt/*', 'nuxt-community/*', 'vue-flexboxgrid' @@ -713,7 +951,18 @@ order: 803 orgUrl: 'https://fandogh.org' }, reposPersonal: [ - 'nuxt/nuxt.js', 'nuxt-community/modules', 'bootstrap-vue/bootstrap-vue' + 'nuxt/*', 'nuxt-community/*', 'bootstrap-vue/*' + ] + }, + { + name: 'Xin Du', + title: 'Nuxpert', + city: 'Dublin, Ireland', + languages: ['zh', 'en'], + github: 'clarkdo', + twitter: 'ClarkDu_', + reposPersonal: [ + 'nuxt/*', 'nuxt-community/*' ] }, { @@ -736,7 +985,7 @@ order: 803 city: 'Annecy, France', languages: ['fr', 'en'], github: 'Haeresis', - twitter: 'MachinisteWeb', + twitter: 'ZetesEthique', work: { role: 'Cofounder', org: 'Orchard ID', @@ -830,14 +1079,14 @@ order: 803 { name: 'John Leider', title: 'Vuetiful Framework Sculptor', - city: 'Orlando, FL, USA', + city: 'Fort Worth, TX, USA', languages: ['en'], github: 'vuetifyjs', twitter: 'vuetifyjs', work: { - role: 'Developer', - org: 'Fast Forward Academy', - orgUrl: 'https://fastforwardacademy.com' + role: 'CEO', + org: 'Vuetify LLC', + orgUrl: 'https://vuetifyjs.com' }, reposPersonal: [ 'vuetifyjs/vuetify' @@ -867,6 +1116,154 @@ order: 803 reposPersonal: [ 'translation-gang/ru.vuejs.org' ] + }, + { + name: 'Anthony Gore', + title: '', + city: 'Sydney, Australia', + languages: ['en'], + github: 'anthonygore', + twitter: 'anthonygore', + work: { + role: 'Author', + org: 'Vue.js Developers', + orgUrl: 'https://vuejsdevelopers.com/' + }, + links: [ + 'https://vuejsdevelopers.com' + ] + }, + { + name: 'EGOIST', + title: 'Build Tool Simplificator', + city: 'Chengdu, China', + languages: ['zh', 'en'], + github: 'egoist', + twitter: '_egoistlily', + reposPersonal: [ + 'poi', 'ream', 'vue-play' + ] + }, + { + name: 'Alex Kyriakidis', + title: 'Vueducator Extraordinaire', + city: 'Thessaloniki, Greece', + languages: ['el', 'en'], + github: 'hootlex', + twitter: 'hootlex', + work: { + role: 'Consultant / Author' + }, + reposPersonal: [ + 'vuejs-paginator', 'vuedo/vuedo', 'the-majesty-of-vuejs-2' + ], + links: [ + 'https://vuejsfeed.com/', 'https://vueschool.io/' + ] + }, + { + name: 'Rolf Haug', + title: 'Educator & Consultant', + city: 'Oslo, Norway', + languages: ['en', 'no'], + github: 'rahaug', + twitter: 'rahaug', + work: { + role: 'Educator & Co-founder', + org: 'Vue School', + orgUrl: 'https://vueschool.io/' + }, + links: [ + 'https://vueschool.io/', 'https://rah.no' + ] + }, + { + name: 'Andrew Tomaka', + title: 'The Server Server', + city: 'East Lansing, MI, USA', + languages: ['en'], + github: 'atomaka', + twitter: 'atomaka', + reposOfficial: [ + 'vuejs/*' + ], + work: { + org: 'Michigan State University', + orgUrl: 'https://msu.edu/' + }, + links: [ + 'https://atomaka.com/' + ] + }, + { + name: 'Blake Newman', + title: 'Performance Specializer & Code Deleter', + city: 'London, UK', + languages: ['en'], + work: { + role: 'Software Engineer', + org: 'Attest', + orgUrl: 'https://www.askattest.com/' + }, + github: 'blake-newman', + twitter: 'blakenewman', + links: [ + 'https://vuejs.london' + ] + }, + { + name: 'Filip Rakowski', + title: 'eCommerce & PWA mastah', + city: 'Wrocław, Poland', + languages: ['pl', 'en'], + github: 'filrak', + twitter: 'filrakowski', + work: { + role: 'Co-founder & CTO', + org: 'Vue Storefront', + orgUrl: 'https://vuestorefront.io' + }, + reposPersonal: [ + 'vuestorefront/vue-storefront', 'vuestorefront/storefront-ui' + ], + links: [ + 'https://vuestorefront.io', + 'https://storefrontui.io' + ] + }, + { + name: 'Gregg Pollack', + title: '', + city: 'Orlando, FL, USA', + languages: ['en'], + github: 'gregg', + twitter: 'greggpollack', + work: { + role: 'Vue Instructor', + org: 'Vue Mastery', + orgUrl: 'https://www.vuemastery.com/' + }, + links: [ + 'https://www.vuemastery.com', + 'https://news.vuejs.org/' + ] + }, + { + name: 'Adam Jahr', + title: '', + city: 'Orlando, FL, USA', + languages: ['en'], + github: 'atomjar', + twitter: 'adamjahr', + work: { + role: 'Vue Instructor', + org: 'Vue Mastery', + orgUrl: 'https://www.vuemastery.com/' + }, + links: [ + 'https://www.vuemastery.com', + 'https://news.vuejs.org/' + ] } ] @@ -881,7 +1278,7 @@ order: 803 var work = this.profile.work var html = '' if (work.orgUrl) { - html += '<a href="' + work.orgUrl + '" target="_blank">' + html += '<a href="' + work.orgUrl + '" target="_blank" rel="noopener noreferrer">' if (work.org) { html += work.org } else { @@ -946,7 +1343,7 @@ order: 803 ) }, hasSocialLinks: function () { - return this.profile.github || this.profile.twitter || this.profile.codepen + return this.profile.github || this.profile.twitter || this.profile.codepen || this.profile.linkedin } }, methods: { @@ -980,6 +1377,7 @@ order: 803 el: '#team-members', data: { team: team, + teamEmeriti: emeriti, partners: shuffle(partners), geolocationSupported: false, isSorting: false, @@ -1042,20 +1440,26 @@ order: 803 if (!vm.userPosition) return vuers var vuersWithDistances = vuers.map(function (vuer) { var cityCoords = cityCoordsFor[vuer.city] + if (cityCoords) { + return Object.assign({}, vuer, { + distanceInKm: getDistanceFromLatLonInKm( + vm.userPosition.coords.latitude, + vm.userPosition.coords.longitude, + cityCoords[0], + cityCoords[1] + ) + }) + } return Object.assign({}, vuer, { - distanceInKm: getDistanceFromLatLonInKm( - vm.userPosition.coords.latitude, - vm.userPosition.coords.longitude, - cityCoords[0], - cityCoords[1] - ) + distanceInKm: null }) }) vuersWithDistances.sort(function (a, b) { - return ( - a.distanceInKm - - b.distanceInKm - ) + if (a.distanceInKm && b.distanceInKm) return a.distanceInKm - b.distanceInKm + if (a.distanceInKm && !b.distanceInKm) return -1 + if (!a.distanceInKm && b.distanceInKm) return 1 + if (a.name < b.name) return -1 + if (a.name > b.name) return 1 }) return vuersWithDistances }, @@ -1123,4 +1527,5 @@ order: 803 } })() </script> + {% endraw %} diff --git a/src/v2/guide/testing.md b/src/v2/guide/testing.md new file mode 100644 index 0000000000..bda896238f --- /dev/null +++ b/src/v2/guide/testing.md @@ -0,0 +1,168 @@ +--- +title: Testing +type: guide +order: 402 +--- + +## Introduction + +When it comes to building reliable applications, tests can play a critical role in an individual or team's ability to build new features, refactor code, fix bugs, etc. While there are many schools of thought with testing, there are three categories often discussed in the context of web applications: + +- Unit Testing +- Component Testing +- End-To-End (E2E) Testing + +This section aims to provide guidance to navigating the testing ecosystem and choosing the right tools for your Vue application or component library. + +## Unit Testing + +### Introduction + +Unit tests allow you to test individual units of code in isolation. The purpose of unit testing is to provide developers with confidence in their code. By writing thorough, meaningful tests, you achieve the confidence that as new features are built or your code is refactored your application will remain functional and stable. + +Unit testing a Vue application does not significantly differ from testing other types of applications. + +### Choosing Your Framework + +Since unit testing advice is often framework-agnostic, here are some basic guidelines to keep in mind when evaluating which unit testing tool is best for your application. + +#### First-class error reporting + +When tests fail, it is critical that your unit testing framework provides useful errors. This is the job of the assertion library. An assertion with high-quality error messages helps minimize the amount of time it takes to debug the problem. In addition to simply telling you what test is failing, assertion libraries provide context for why a test fails, e.g., what is expected vs what was received. + +Some unit testing frameworks, like Jest, include assertion libraries. Others, like Mocha, require you to install assertion libraries separately (usually Chai). + +#### Active community and team + +Since the majority of unit testing frameworks are open-source, having a community that is active can be critical to some teams that will be maintaining their tests for a long period of time and needs to ensure that a project will be actively maintained. In addition, having an active community has the benefit of providing more support whenever you run into issues. + +### Frameworks + +While there are many tools in the ecosystem, here are some common unit testing tools that are being used in the Vue.js ecosystem. + +#### Jest + +Jest is a JavaScript test framework that is focused on simplicity. One of its unique features is the ability to take snapshots of tests in order to provide an alternative means of verifying units of your application. + +**Resources:** + +- [Official Jest Website](https://jestjs.io) +- [Official Vue 2 CLI Plugin - Jest](https://cli.vuejs.org/core-plugins/unit-jest.html) + +#### Mocha + +Mocha is a JavaScript test framework that is focused on being flexible. Because of this flexibility, it allows you to choose different libraries to fulfill other common features such as spying (e.g., Sinon) and assertions (e.g., Chai). Another unique feature of Mocha is that it can also execute tests in the browser in addition to Node.js. + +**Resources:** + +- [Official Mocha Website](https://mochajs.org) +- [Official Vue CLI Plugin - Mocha](https://cli.vuejs.org/core-plugins/unit-mocha.html) + +## Component Testing + +### Introduction + +To test most Vue components, they must be mounted to the DOM (either virtual or real) in order to fully assert that they are working. This is another framework-agnostic concept. As a result, component testing frameworks were created to give users the ability to do this reliably while also providing Vue-specific conveniences such as integrations for Vuex, Vue Router, and other Vue plugins. + +### Choosing Your Framework + +The following section provides guidelines on things to keep in mind when evaluating which component testing framework is best for your application. + +#### Optimal compatibility with the Vue ecosystem + +It should be no surprise that one of the first criteria is that a component testing library should have is being as compatible with the Vue ecosystem as possible. While this may seem comprehensive, some key integration areas to keep in mind include single file components (SFCs), Vuex, Vue Router, and any other Vue specific plugins that your application relies on. + +#### First-class error reporting + +When tests fail, it is critical that your component testing framework provides useful error logs that help to minimize the amount of time it takes to debug the problem. In addition to simply telling you what test fails, they should also provide context for why a test fails, e.g., what is expected vs what was received. + +### Recommendations + +#### Vue Testing Library (@testing-library/vue) + +Vue Testing Library is a set of tools focused on testing components without relying on implementation details. Built with accessibility in mind, its approach also makes refactoring a breeze. + +Its guiding principle is that the more tests resemble the way software is used, the more confidence they can provide. + +**Resources:** + +- [Official Vue Testing Library Website](https://testing-library.com/docs/vue-testing-library/intro) + +#### Vue Test Utils + +Vue Test Utils is the official low-level component testing library that was written to provide users access to Vue specific APIs. If you are new to testing Vue applications, we would recommend using Vue Testing Library, which is an abstraction over Vue Test Utils. + +**Resources** + +- [Official Vue Test Utils Documentation](https://vue-test-utils.vuejs.org) +- [Vue Testing Handbook](https://lmiller1990.github.io/vue-testing-handbook/#what-is-this-guide) by Lachlan Miller +- [Cookbook: Unit Testing Vue Components](/v2/cookbook/unit-testing-vue-components.html) + +## End-to-End (E2E) Testing + +### Introduction + +While unit tests provide developers with some degree of confidence, unit and component tests are limited in their abilities to provide holistic coverage of an application when deployed to production. As a result, end-to-end (E2E) tests provide coverage on what is arguably the most important aspect of an application: what happens when users actually use your applications. + +In other words, E2E tests validate all of the layers in your application. This not only includes your frontend code, but all associated backend services and infrastructure that are more representative of the environment that your users will be in. By testing how user actions impact your application, E2E tests are often the key to higher confidence in whether an application is functioning properly or not. + +### Choosing Your Framework + +While end-to-end (E2E) testing on the web has gained a negative reputation for unreliable (flaky) tests and slowing down development processes, modern E2E tools have made strides forward to create more reliable, interactive, and useful tests. When choosing an E2E testing framework, the following sections provide some guidance on things to keep in mind when choosing a testing framework for your application. + +#### Cross-browser testing + +One of the primary benefits that end-to-end (E2E) testing is known for is its ability to test your application across multiple browsers. While it may seem desirable to have 100% cross-browser coverage, it is important to note that cross browser testing has diminishing returns on a team's resources due the additional time and machine power required to run them consistently. As a result, it is important to be mindful of this trade-off when choosing the amount of cross-browser testing your application needs. + +<p class="tip">A recent development in E2E for catching browser-specific issues is using application monitoring and error reporting tools (e.g., Sentry, LogRocket, etc.) for browsers that are not as commonly used (e.g., < IE11, older Safari versions, etc.).</p> + +#### Faster feedback loops + +One of the primary problems with end-to-end (E2E) tests and development is that running the entire suite takes a long time. Typically, this is only done in continuous integration and deployment (CI/CD) pipelines. Modern E2E testing frameworks have helped to solve this by adding features like parallelization, which allows for CI/CD pipelines to often run magnitudes faster than before. In addition, when developing locally, the ability to selectively run a single test for the page you are working on while also providing hot reloading of tests can help to boost a developer's workflow and productivity. + +#### First class debugging experience + +While developers have traditionally relied on scanning logs in a terminal window to help determine what went wrong in a test, modern end-to-end (E2E) test frameworks allow developers to leverage tools that they are already familiar with, e.g. browser developer tools. + +#### Visibility in headless mode + +When end-to-end (E2E) tests are run in continuous integration / deployment pipelines, they are often run in headless browsers (i.e., no visible browser is opened for the user to watch). As a result, when errors occur, a critical feature that modern E2E testing frameworks provide 1st class support for is the ability to see snapshots and/or videos of your applications during various testing stages in order to provide insight into why errors are happening. Historically, it was tedious to maintain these integrations. + +### Recommendations + +While there are many tools in the ecosystem, here are some common end-to-end (E2E) testing frameworks that are being used in the Vue.js ecosystem. + +#### Cypress.io + +Cypress.io is a testing framework that aims to enhance developer productivity by enabling developers to reliably test their applications while providing a first class developer experience. + +**Resources** + +- [Cypress' Official Website](https://www.cypress.io) +- [Official Vue CLI Cypress Plugin](https://cli.vuejs.org/core-plugins/e2e-cypress.html) +- [Cypress Testing Library](https://github.com/testing-library/cypress-testing-library) + +#### Nightwatch.js + +Nightwatch.js is an end-to-end testing framework that can be used to test web applications and websites, as well as Node.js unit and integration testing. + +**Resources:** + +- [Nightwatch's Official Website](https://nightwatchjs.org) +- [Official Vue CLI Nightwatch Plugin](https://cli.vuejs.org/core-plugins/e2e-nightwatch.html) + +#### Puppeteer + +Puppeteer is a Node library that provides a high-level API to control the browser and can pair with other test runners (e.g., Jest) to test your application. + +**Resources:** + +- [Puppeteer's Official Website](https://pptr.dev) + +#### TestCafe + +TestCafe is a Node.js based end-to-end framework that aims to provide easy setup so that developers can focus on creating tests that are easy to write and reliable. + +**Resources:** + +- [TestCafe's Official Website](https://devexpress.github.io/testcafe/) diff --git a/src/v2/guide/transitioning-state.md b/src/v2/guide/transitioning-state.md index cbc3348ba7..dd0bf5a50b 100644 --- a/src/v2/guide/transitioning-state.md +++ b/src/v2/guide/transitioning-state.md @@ -18,7 +18,7 @@ All of these are either already stored as raw numbers or can be converted into n Watchers allow us to animate changes of any numerical property into another property. That may sound complicated in the abstract, so let's dive into an example using [GreenSock](https://greensock.com/): ``` html -<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.20.3/TweenMax.min.js"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.2.4/gsap.min.js"></script> <div id="animated-number-demo"> <input v-model.number="number" type="number" step="20"> @@ -40,14 +40,14 @@ new Vue({ }, watch: { number: function(newValue) { - TweenLite.to(this.$data, 0.5, { tweenedNumber: newValue }); + gsap.to(this.$data, { duration: 0.5, tweenedNumber: newValue }); } } }) ``` {% raw %} -<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.20.3/TweenMax.min.js"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.2.4/gsap.min.js"></script> <div id="animated-number-demo" class="demo"> <input v-model.number="number" type="number" step="20"> <p>{{ animatedNumber }}</p> @@ -66,7 +66,7 @@ new Vue({ }, watch: { number: function(newValue) { - TweenLite.to(this.$data, 0.5, { tweenedNumber: newValue }); + gsap.to(this.$data, { duration: 0.5, tweenedNumber: newValue }); } } }) @@ -366,7 +366,7 @@ function generatePoints (stats) { </style> {% endraw %} -See [this fiddle](https://jsfiddle.net/chrisvfritz/65gLu2b6/) for the complete code behind the above demo. +See [this example](https://codesandbox.io/s/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-dynamic-state-transitions) for the complete code behind the above demo. ## Organizing Transitions into Components @@ -425,8 +425,8 @@ Vue.component('animated-integer', { new TWEEN.Tween({ tweeningValue: startValue }) .to({ tweeningValue: endValue }, 500) - .onUpdate(function (object) { - vm.tweeningValue = object.tweeningValue.toFixed(0) + .onUpdate(function () { + vm.tweeningValue = this.tweeningValue.toFixed(0) }) .start() diff --git a/src/v2/guide/transitions.md b/src/v2/guide/transitions.md index 5ac1bcd10a..7f0637d78e 100644 --- a/src/v2/guide/transitions.md +++ b/src/v2/guide/transitions.md @@ -4,6 +4,12 @@ type: guide order: 201 --- +<script> +const __pageRedirects = { + '#List-Transitions': '/guide/built-ins/transition-group.html' +} +</script> + ## Overview Vue provides a variety of ways to apply transition effects when items are inserted, updated, or removed from the DOM. This includes tools to: @@ -479,6 +485,7 @@ new Vue({ methods: { beforeEnter: function (el) { el.style.opacity = 0 + el.style.transformOrigin = 'left' }, enter: function (el, done) { Velocity(el, { opacity: 1, fontSize: '1.4em' }, { duration: 300 }) @@ -581,6 +588,8 @@ and custom JavaScript hooks: </transition> ``` +In the example above, either `appear` attribute or `v-on:appear` hook will cause an appear transition. + ## Transitioning Between Elements We discuss [transitioning between components](#Transitioning-Between-Components) later, but you can also transition between raw elements using `v-if`/`v-else`. One of the most common two-element transitions is between a list container and a message describing an empty list: @@ -955,7 +964,9 @@ So far, we've managed transitions for: So what about for when we have a whole list of items we want to render simultaneously, for example with `v-for`? In this case, we'll use the `<transition-group>` component. Before we dive into an example though, there are a few things that are important to know about this component: - Unlike `<transition>`, it renders an actual element: a `<span>` by default. You can change the element that's rendered with the `tag` attribute. -- Elements inside are **always required** to have a unique `key` attribute +- [Transition modes](#Transition-Modes) are not available, because we are no longer alternating between mutually exclusive elements. +- Elements inside are **always required** to have a unique `key` attribute. +- CSS transition classes will be applied to inner elements and not to the group/container itself. ### List Entering/Leaving Transitions @@ -1240,7 +1251,7 @@ new Vue({ <p class="tip">One important note is that these FLIP transitions do not work with elements set to `display: inline`. As an alternative, you can use `display: inline-block` or place elements in a flex context.</p> -These FLIP animations are also not limited to a single axis. Items in a multidimensional grid can be [transitioned too](https://jsfiddle.net/chrisvfritz/sLrhk1bc/): +These FLIP animations are also not limited to a single axis. Items in a multidimensional grid can be [transitioned too](https://codesandbox.io/s/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-list-move-transitions): {% raw %} <div id="sudoku-demo" class="demo"> @@ -1478,7 +1489,7 @@ Vue.component('my-special-transition', { }) ``` -And functional components are especially well-suited to this task: +And [functional components](render-function.html#Functional-Components) are especially well-suited to this task: ``` js Vue.component('my-special-transition', { diff --git a/src/v2/guide/typescript.md b/src/v2/guide/typescript.md index d65676dfc0..19d01a87d0 100644 --- a/src/v2/guide/typescript.md +++ b/src/v2/guide/typescript.md @@ -1,18 +1,16 @@ --- title: TypeScript Support type: guide -order: 404 +order: 403 --- -> In Vue 2.5.0+ we have greatly improved our type declarations to work with the default object-based API. At the same time it introduces a few changes that require upgrade actions. Read [this blog post](https://medium.com/the-vue-point/upcoming-typescript-changes-in-vue-2-5-e9bd7e2ecf08) for more details. +> [Vue CLI](https://cli.vuejs.org) provides built-in TypeScript tooling support. ## Official Declaration in NPM Packages A static type system can help prevent many potential runtime errors, especially as applications grow. That's why Vue ships with [official type declarations](https://github.com/vuejs/vue/tree/dev/types) for [TypeScript](https://www.typescriptlang.org/) - not only in Vue core, but also for [vue-router](https://github.com/vuejs/vue-router/tree/dev/types) and [vuex](https://github.com/vuejs/vuex/tree/dev/types) as well. -Since these are [published on NPM](https://cdn.jsdelivr.net/npm/vue/types/), and the latest TypeScript knows how to resolve type declarations in NPM packages, this means when installed via NPM, you don't need any additional tooling to use TypeScript with Vue. - -We also plan to provide an option to scaffold a ready-to-go Vue + TypeScript project in `vue-cli` in the near future. +Since these are [published on NPM](https://cdn.jsdelivr.net/npm/vue@2/types/), and the latest TypeScript knows how to resolve type declarations in NPM packages, this means when installed via NPM, you don't need any additional tooling to use TypeScript with Vue. ## Recommended Configuration @@ -37,11 +35,23 @@ See [TypeScript compiler options docs](https://www.typescriptlang.org/docs/handb ## Development Tooling -For developing Vue applications with TypeScript, we strongly recommend using [Visual Studio Code](https://code.visualstudio.com/), which provides great out-of-the-box support for TypeScript. +### Project Creation + +[Vue CLI 3](https://github.com/vuejs/vue-cli) can generate new projects that use TypeScript. To get started: + +```bash +# 1. Install Vue CLI, if it's not already installed +npm install --global @vue/cli + +# 2. Create a new project, then choose the "Manually select features" option +vue create my-project-name +``` -If you are using [single-file components](./single-file-components.html) (SFCs), get the awesome [Vetur extension](https://github.com/vuejs/vetur), which provides TypeScript inference inside SFCs and many other great features. +### Editor Support -[WebStorm](https://www.jetbrains.com/webstorm/) also provides out-of-the-box support for both TypeScript and Vue.js. +For developing Vue applications with TypeScript, we strongly recommend using [Visual Studio Code](https://code.visualstudio.com/), which provides great out-of-the-box support for TypeScript. If you are using [single-file components](./single-file-components.html) (SFCs), get the awesome [Vetur extension](https://github.com/vuejs/vetur), which provides TypeScript inference inside SFCs and many other great features. + +[WebStorm](https://www.jetbrains.com/webstorm/) also provides out-of-the-box support for both TypeScript and Vue. ## Basic Usage @@ -177,3 +187,34 @@ const Component = Vue.extend({ ``` If you find type inference or member completion isn't working, annotating certain methods may help address these problems. Using the `--noImplicitAny` option will help find many of these unannotated methods. + + + +## Annotating Props + +```ts +import Vue, { PropType } from 'vue' + +interface ComplexMessage { + title: string, + okMessage: string, + cancelMessage: string +} +const Component = Vue.extend({ + props: { + name: String, + success: { type: String }, + callback: { + type: Function as PropType<() => void> + }, + message: { + type: Object as PropType<ComplexMessage>, + required: true, + validator (message: ComplexMessage) { + return !!message.title; + } + } + } +}) +``` +If you find validator not getting type inference or member completion isn't working, annotating the argument with the expected type may help address these problems. diff --git a/src/v2/guide/unit-testing.md b/src/v2/guide/unit-testing.md deleted file mode 100644 index f6190dffb7..0000000000 --- a/src/v2/guide/unit-testing.md +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: Unit Testing -type: guide -order: 403 ---- - -## Setup and Tooling - -Anything compatible with a module-based build system will work, but if you're looking for a specific recommendation try the [Karma](http://karma-runner.github.io) test runner. It has a lot of community plugins, including support for [Webpack](https://github.com/webpack/karma-webpack) and [Browserify](https://github.com/Nikku/karma-browserify). For detailed setup please refer to each project's respective documentation. These example Karma configurations for [Webpack](https://github.com/vuejs-templates/webpack/blob/master/template/test/unit/karma.conf.js) and [Browserify](https://github.com/vuejs-templates/browserify/blob/master/template/karma.conf.js) can help you get started. - -## Simple Assertions - -You don't have to do anything special in your components to make them testable. Export the raw options: - -``` html -<template> - <span>{{ message }}</span> -</template> - -<script> - export default { - data () { - return { - message: 'hello!' - } - }, - created () { - this.message = 'bye!' - } - } -</script> -``` - -Then import the component options along with Vue, and you can make many common assertions: - -``` js -// Import Vue and the component being tested -import Vue from 'vue' -import MyComponent from 'path/to/MyComponent.vue' - -// Here are some Jasmine 2.0 tests, though you can -// use any test runner / assertion library combo you prefer -describe('MyComponent', () => { - // Inspect the raw component options - it('has a created hook', () => { - expect(typeof MyComponent.created).toBe('function') - }) - - // Evaluate the results of functions in - // the raw component options - it('sets the correct default data', () => { - expect(typeof MyComponent.data).toBe('function') - const defaultData = MyComponent.data() - expect(defaultData.message).toBe('hello!') - }) - - // Inspect the component instance on mount - it('correctly sets the message when created', () => { - const vm = new Vue(MyComponent).$mount() - expect(vm.message).toBe('bye!') - }) - - // Mount an instance and inspect the render output - it('renders the correct message', () => { - const Constructor = Vue.extend(MyComponent) - const vm = new Constructor().$mount() - expect(vm.$el.textContent).toBe('bye!') - }) -}) -``` - -## Writing Testable Components - -A component's render output is primarily determined by the props they receive. If a component's render output solely depends on its props it becomes straightforward to test, similar to asserting the return value of a pure function with different arguments. Take a simplified example: - -``` html -<template> - <p>{{ msg }}</p> -</template> - -<script> - export default { - props: ['msg'] - } -</script> -``` - -You can assert its render output with different props using the `propsData` option: - -``` js -import Vue from 'vue' -import MyComponent from './MyComponent.vue' - -// helper function that mounts and returns the rendered text -function getRenderedText (Component, propsData) { - const Constructor = Vue.extend(Component) - const vm = new Constructor({ propsData: propsData }).$mount() - return vm.$el.textContent -} - -describe('MyComponent', () => { - it('renders correctly with different props', () => { - expect(getRenderedText(MyComponent, { - msg: 'Hello' - })).toBe('Hello') - - expect(getRenderedText(MyComponent, { - msg: 'Bye' - })).toBe('Bye') - }) -}) -``` - -## Asserting Asynchronous Updates - -Since Vue [performs DOM updates asynchronously](reactivity.html#Async-Update-Queue), assertions on DOM updates resulting from state change will have to be made in a `Vue.nextTick` callback: - -``` js -// Inspect the generated HTML after a state update -it('updates the rendered message when vm.message updates', done => { - const vm = new Vue(MyComponent).$mount() - vm.message = 'foo' - - // wait a "tick" after state change before asserting DOM updates - Vue.nextTick(() => { - expect(vm.$el.textContent).toBe('foo') - done() - }) -}) -``` - -We are planning to work on a collection of common test helpers to make it easier to render components with different constraints (e.g. shallow rendering that ignores child components) and assert their output. - -For more in-depth information on unit testing in Vue, check out [vue-test-utils](https://vue-test-utils.vuejs.org/en/) and our cookbook entry about [unit testing vue components](https://vuejs.org/v2/cookbook/unit-testing-vue-components.html). diff --git a/src/v2/search/index.md b/src/v2/search/index.md new file mode 100644 index 0000000000..556fe68671 --- /dev/null +++ b/src/v2/search/index.md @@ -0,0 +1,5 @@ +--- +title: Search Vue.js +type: search +search: true +--- \ No newline at end of file diff --git a/src/v2/style-guide/index.md b/src/v2/style-guide/index.md index afa30647d0..8567e99b66 100644 --- a/src/v2/style-guide/index.md +++ b/src/v2/style-guide/index.md @@ -43,9 +43,9 @@ Some features of Vue exist to accommodate rare edge cases or smoother migrations ### Multi-word component names <sup data-p="a">essential</sup> -**Component names should always be multi-word, except for root `App` components.** +**Component names should always be multi-word, except for root `App` components, and built-in components provided by Vue, such as `<transition>` or `<component>`.** -This [prevents conflicts](http://w3c.github.io/webcomponents/spec/custom/#valid-custom-element-name) with existing and future HTML elements, since all HTML elements are a single word. +This [prevents conflicts](https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name) with existing and future HTML elements, since all HTML elements are a single word. {% raw %}<div class="style-example example-bad">{% endraw %} #### Bad @@ -189,7 +189,7 @@ In committed code, prop definitions should always be as detailed as possible, sp </summary> {% endraw %} -Detailed [prop definitions](https://vuejs.org/v2/guide/components.html#Prop-Validation) have two advantages: +Detailed [prop definitions](/v2/guide/components.html#Prop-Validation) have two advantages: - They document the API of the component, so that it's easy to see how the component is meant to be used. - In development, Vue will warn you if a component is ever provided incorrectly formatted props, helping you catch potential sources of error. @@ -331,7 +331,7 @@ When Vue processes directives, `v-for` has a higher priority than `v-if`, so tha :key="user.id" > {{ user.name }} - <li> + </li> </ul> ``` @@ -366,7 +366,7 @@ computed: { :key="user.id" > {{ user.name }} - <li> + </li> </ul> ``` @@ -386,7 +386,7 @@ We get similar benefits from updating: :key="user.id" > {{ user.name }} - <li> + </li> </ul> ``` @@ -399,7 +399,7 @@ to: :key="user.id" > {{ user.name }} - <li> + </li> </ul> ``` @@ -418,7 +418,7 @@ By moving the `v-if` to a container element, we're no longer checking `shouldSho :key="user.id" > {{ user.name }} - <li> + </li> </ul> ``` @@ -430,7 +430,7 @@ By moving the `v-if` to a container element, we're no longer checking `shouldSho :key="user.id" > {{ user.name }} - <li> + </li> </ul> ``` {% raw %}</div>{% endraw %} @@ -445,7 +445,7 @@ By moving the `v-if` to a container element, we're no longer checking `shouldSho :key="user.id" > {{ user.name }} - <li> + </li> </ul> ``` @@ -456,7 +456,7 @@ By moving the `v-if` to a container element, we're no longer checking `shouldSho :key="user.id" > {{ user.name }} - <li> + </li> </ul> ``` {% raw %}</div>{% endraw %} @@ -564,7 +564,7 @@ Beyond the `scoped` attribute, using unique class names can help ensure that 3rd ### Private property names <sup data-p="a">essential</sup> -**Always use the `$_` prefix for custom private properties in a plugin, mixin, etc. Then to avoid conflicts with code by other authors, also include a named scope (e.g. `$_yourPluginName_`).** +**Use module scoping to keep private functions inaccessible from the outside. If that's not possible, always use the `$_` prefix for custom private properties in a plugin, mixin, etc that should not be considered public API. Then to avoid conflicts with code by other authors, also include a named scope (e.g. `$_yourPluginName_`).** {% raw %} <details> @@ -575,7 +575,7 @@ Beyond the `scoped` attribute, using unique class names can help ensure that 3rd Vue uses the `_` prefix to define its own private properties, so using the same prefix (e.g. `_update`) risks overwriting an instance property. Even if you check and Vue is not currently using a particular property name, there is no guarantee a conflict won't arise in a later version. -As for the `$` prefix, it's purpose within the Vue ecosystem is special instance properties that are exposed to the user, so using it for _private_ properties would not be appropriate. +As for the `$` prefix, its purpose within the Vue ecosystem is special instance properties that are exposed to the user, so using it for _private_ properties would not be appropriate. Instead, we recommend combining the two prefixes into `$_`, as a convention for user-defined private properties that guarantee no conflicts with Vue. @@ -643,6 +643,25 @@ var myGreatMixin = { } } ``` + +``` js +// Even better! +var myGreatMixin = { + // ... + methods: { + publicMethod() { + // ... + myPrivateFunction() + } + } +} + +function myPrivateFunction() { + // ... +} + +export default myGreatMixin +``` {% raw %}</div>{% endraw %} @@ -752,22 +771,6 @@ Some advantages of this convention: - Since component names should always be multi-word, this convention prevents you from having to choose an arbitrary prefix for simple component wrappers (e.g. `MyButton`, `VueButton`). -- Since these components are so frequently used, you may want to simply make them global instead of importing them everywhere. A prefix makes this possible with Webpack: - - ``` js - var requireComponent = require.context("./src", true, /^Base[A-Z]/) - requireComponent.keys().forEach(function (fileName) { - var baseComponentConfig = requireComponent(fileName) - baseComponentConfig = baseComponentConfig.default || baseComponentConfig - var baseComponentName = baseComponentConfig.name || ( - fileName - .replace(/^.+\//, '') - .replace(/\.\w+$/, '') - ) - Vue.component(baseComponentName, baseComponentConfig) - }) - ``` - {% raw %}</details>{% endraw %} {% raw %}<div class="style-example example-bad">{% endraw %} @@ -1215,9 +1218,9 @@ props: { } ``` -``` html +{% codeblock lang:html %} <WelcomeMessage greetingText="hi"/> -``` +{% endcodeblock %} {% raw %}</div>{% endraw %} {% raw %}<div class="style-example example-good">{% endraw %} @@ -1229,9 +1232,9 @@ props: { } ``` -``` html +{% codeblock lang:html %} <WelcomeMessage greeting-text="hi"/> -``` +{% endcodeblock %} {% raw %}</div>{% endraw %} @@ -1334,7 +1337,7 @@ Simpler, well-named computed properties are: - __Easier to read__ - Simplifying computed properties forces you to give each value a descriptive name, even if it's not reused. This makes it much easier for other developers (and future you) to focus in on the code they care about and figure out what's going on. + Simplifying computed properties forces you to give each value a descriptive name, even if it's not reused. This makes it much easier for other developers (and future you) to focus on the code they care about and figure out what's going on. - __More adaptable to changing requirements__ @@ -1414,7 +1417,7 @@ While attribute values without any spaces are not required to have quotes in HTM ### Directive shorthands <sup data-p="b">strongly recommended</sup> -**Directive shorthands (`:` for `v-bind:` and `@` for `v-on:`) should be used always or never.** +**Directive shorthands (`:` for `v-bind:`, `@` for `v-on:` and `#` for `v-slot`) should be used always or never.** {% raw %}<div class="style-example example-bad">{% endraw %} #### Bad @@ -1432,6 +1435,16 @@ While attribute values without any spaces are not required to have quotes in HTM @focus="onFocus" > ``` + +``` html +<template v-slot:header> + <h1>Here might be a page title</h1> +</template> + +<template #footer> + <p>Here's some contact info</p> +</template> +``` {% raw %}</div>{% endraw %} {% raw %}<div class="style-example example-good">{% endraw %} @@ -1464,6 +1477,26 @@ While attribute values without any spaces are not required to have quotes in HTM v-on:focus="onFocus" > ``` + +``` html +<template v-slot:header> + <h1>Here might be a page title</h1> +</template> + +<template v-slot:footer> + <p>Here's some contact info</p> +</template> +``` + +``` html +<template #header> + <h1>Here might be a page title</h1> +</template> + +<template #footer> + <p>Here's some contact info</p> +</template> +``` {% raw %}</div>{% endraw %} @@ -1514,6 +1547,16 @@ This is the default order we recommend for component options. They're split into 9. **Events** (callbacks triggered by reactive events) - `watch` - Lifecycle Events (in the order they are called) + - `beforeCreate` + - `created` + - `beforeMount` + - `mounted` + - `beforeUpdate` + - `updated` + - `activated` + - `deactivated` + - `beforeDestroy` + - `destroyed` 10. **Non-Reactive Properties** (instance properties independent of the reactivity system) - `methods` @@ -1553,7 +1596,6 @@ This is the default order we recommend for component options. They're split into 6. **Unique Attributes** (attributes that require unique values) - `ref` - `key` - - `slot` 7. **Two-Way Binding** (combining binding and events) - `v-model` @@ -1693,11 +1735,11 @@ computed: { -### `v-if`/`v-if-else`/`v-else` without `key` <sup data-p="d">use with caution</sup> +### `v-if`/`v-else-if`/`v-else` without `key` <sup data-p="d">use with caution</sup> **It's usually best to use `key` with `v-if` + `v-else`, if they are the same element type (e.g. both `<div>` elements).** -By default, Vue updates the DOM as efficiently as possible. That means when switching between elements of the same type, it simply patches the existing element, rather than removing it and adding a new one in its place. This can have [unintended side effects](https://jsfiddle.net/chrisvfritz/bh8fLeds/) if these elements should not actually be considered the same. +By default, Vue updates the DOM as efficiently as possible. That means when switching between elements of the same type, it simply patches the existing element, rather than removing it and adding a new one in its place. This can have [unintended consequences](https://codesandbox.io/s/github/vuejs/v2.vuejs.org/tree/master/src/v2/examples/vue-20-priority-d-rules-unintended-consequences) if these elements should not actually be considered the same. {% raw %}<div class="style-example example-bad">{% endraw %} #### Bad @@ -1729,15 +1771,6 @@ By default, Vue updates the DOM as efficiently as possible. That means when swit {{ results }} </div> ``` - -``` html -<p v-if="error"> - Error: {{ error }} -</p> -<div v-else> - {{ results }} -</div> -``` {% raw %}</div>{% endraw %} @@ -1757,7 +1790,7 @@ Prefer class selectors over element selectors in `scoped` styles, because large To scope styles, Vue adds a unique attribute to component elements, such as `data-v-f3f3eg9`. Then selectors are modified so that only matching elements with this attribute are selected (e.g. `button[data-v-f3f3eg9]`). -The problem is that large numbers of [element-attribute selectors](http://stevesouders.com/efws/css-selectors/csscreate.php?n=1000&sel=a%5Bhref%5D&body=background%3A+%23CFD&ne=1000) (e.g. `button[data-v-f3f3eg9]`) will be considerably slower than [class-attribute selectors](http://stevesouders.com/efws/css-selectors/csscreate.php?n=1000&sel=.class%5Bhref%5D&body=background%3A+%23CFD&ne=1000) (e.g. `.btn-close[data-v-f3f3eg9]`), so class selectors should be preferred whenever possible. +The problem is that large numbers of element-attribute selectors (e.g. `button[data-v-f3f3eg9]`) will be considerably slower than class-attribute selectors (e.g. `.btn-close[data-v-f3f3eg9]`), so class selectors should be preferred whenever possible. {% raw %}</details>{% endraw %} @@ -1892,7 +1925,9 @@ Vue.component('TodoItem', { **[Vuex](https://github.com/vuejs/vuex) should be preferred for global state management, instead of `this.$root` or a global event bus.** -Managing state on `this.$root` and/or using a [global event bus](https://vuejs.org/v2/guide/migration.html#dispatch-and-broadcast-replaced) can be convenient for very simple cases, but are not appropriate for most applications. Vuex offers not only a central place to manage state, but also tools for organizing, tracking, and debugging state changes. +Managing state on `this.$root` and/or using a [global event bus](/v2/guide/migration.html#dispatch-and-broadcast-replaced) can be convenient for very simple cases, but it is not appropriate for most applications. + +Vuex is the [official flux-like implementation](/v2/guide/state-management.html#Official-Flux-Like-Implementation) for Vue, and offers not only a central place to manage state, but also tools for organizing, tracking, and debugging state changes. It integrates well in the Vue ecosystem (including full [Vue DevTools](/v2/guide/installation.html#Vue-Devtools) support). {% raw %}</details>{% endraw %} @@ -1977,7 +2012,7 @@ export default { var enforcementTypes = { none: '<span title="There is unfortunately no way to automatically enforce this rule.">self-discipline</span>', runtime: 'runtime error', - linter: '<a href="https://github.com/vuejs/eslint-plugin-vue#eslint-plugin-vue" target="_blank">plugin:vue/recommended</a>' + linter: '<a href="https://github.com/vuejs/eslint-plugin-vue#eslint-plugin-vue" target="_blank" rel="noopener noreferrer">plugin:vue/recommended</a>' } Vue.component('sg-enforcement', { template: '\ diff --git a/themes/vue/_config.yml b/themes/vue/_config.yml index f342a09aa3..ae2c91815a 100644 --- a/themes/vue/_config.yml +++ b/themes/vue/_config.yml @@ -1,69 +1,246 @@ -site_description: "Vue.js - The Progressive JavaScript Framework" +site_description: Vue.js - The Progressive JavaScript Framework google_analytics: UA-46852172-1 root_domain: vuejs.org -vue_version: 2.5.13 - -special_sponsors: - - url: https://stdlib.com - img: stdlib.png - - url: https://www.bitsrc.io/?utm_source=vue&utm_medium=vue&utm_campaign=vue&utm_term=vue&utm_content=vue - img: bit.png - wide_img: bit-wide.png - big_width: 120px - big_height: 120px - -platinum_sponsors: - - url: http://tooltwist.com/ - img: tooltwist.png - - url: https://vueschool.io/?utm_source=Vuejs.org&utm_medium=Banner&utm_campaign=Sponsored%20Banner&utm_content=V1 +vue_version: 2.7.14 +# START SPONSORS +special: + - name: appwrite + url: https://appwrite.io + img: appwrite.svg + description: Open-source backend cloud platform + priority: true +platinum: + - name: Bit + url: https://bit.dev + img: bit.svg?v2 + priority: true + - name: VueMastery + url: https://www.vuemastery.com/ + img: vuemastery.png + - name: VueSchool + url: >- + https://vueschool.io/?utm_source=Vuejs.org&utm_medium=Banner&utm_campaign=Sponsored%20Banner&utm_content=V1 img: vueschool.png - - url: https://vehikl.com/ + - name: Vehikl + url: https://vehikl.com/ img: vehikl.png - -gold_sponsors: - - url: https://laravel.com + - name: Passionate People + url: https://passionatepeople.io/ + img: passionate_people.png + - name: Storyblok + url: https://www.storyblok.com + img: storyblok.png + - name: Ionic + url: >- + https://ionicframework.com/vue?utm_source=partner&utm_medium=referral&utm_campaign=vuesponsorship&utm_content=vuedocs + img: ionic.png?v2 + - name: Skilled + url: https://skilled.yashio-corp.com + img: skilled.svg + - name: Chrome Frameworks Fund + url: https://opencollective.com/2021-frameworks-fund + img: chrome_frameworks_fund.png + - name: HeroDevs + url: https://www.herodevs.com/support/vue + img: herodevs.png +gold: + - name: Laravel + url: https://laravel.com img: laravel.png - - url: https://htmlburger.com - img: htmlburger.png - - url: https://chaitin.cn/en/ - img: chaitin.png - - url: https://anymod.com - img: anymod.png - - url: https://www.frontenddeveloperlove.com/ - img: frontend-love.png - - url: https://onsen.io/vue/ - img: onsen-ui.png - - url: https://vuetifyjs.com - img: vuetify.png - - url: https://neds.com.au/ - img: neds.png - - url: https://hackr.io/tutorials/learn-vue-js - img: hackr-io.png - - url: https://icons8.com/ - img: icons8.png - - url: https://vuejobs.com/?ref=vuejs - img: vuejobs.png - - url: https://leanpub.com/vuejs2 - img: tmvuejs2.png - - url: https://www.bmqb.com/jobs - img: bmqb.png - - url: https://codepilot.ai - img: codepilot.png - - url: https://teamextension.io/ - img: teamextension.png - - url: https://jsguru.io/ - img: jsguru.png - - url: http://aaha.co/ - img: aaha.png - - url: https://www.valuecoders.com - img: valuecoders.png - -bronze_sponsors: - - url: http://tighten.co/ - img: http://i.imgur.com/T7fQYLT.png - - url: https://alligator.io - img: https://alligator.io/images/alligator-logo.svg - - url: https://www.accelebrate.com/ - img: https://www.accelebrate.com/assets/images/accelebrate_logo@2x.png - - url: https://pullstring.com - img: https://i.imgur.com/hQHW6TB.png + - name: Tidelift + url: https://tidelift.com/subscription/npm/vue + img: tidelift.png + - name: Intygrate + url: https://intygrate.com/ + img: intygrate.png + - name: Y8 + url: https://www.y8.com/ + img: y8.png + - name: DevExpress + url: https://js.devexpress.com/ + img: devexpress.png + - name: FASTCODING Inc + url: 'https://fastcoding.jp/javascript/ ' + img: fastcoding_inc.svg + - name: LY Corporation + url: https://www.lycorp.co.jp/en/ + img: ly_corporation.png?v2 + - name: Fenêtre Online Solutions + url: https://www.fenetre.nl/ + img: fen_tre_online_solutions.svg + - name: Ant Design Vue + url: https://antdv.com + img: ant_design_vue.png + - name: Crisp + url: https://crisp.chat/en/ + img: crisp.png + - name: Localazy + url: >- + https://localazy.com/blog/how-to-localize-vuejs-app-with-vue-i18n-and-localazy?utm_source=vuejs&utm_medium=banner&utm_campaign=sponsorships_vuejs&utm_content=logo + img: localazy.svg + - name: Casinoburst.com + url: https://casinoburst.com/casino-utan-licens/ + img: casinoburst_com.png + - name: 'Enkrypt: Ethereum and Polkadot Web3 Wallet' + url: https://www.enkrypt.com + img: enkrypt__ethereum_and_polkadot_web3_wallet.svg + - name: uudetkasinot.com + url: https://www.uudetkasinot.com + img: uudetkasinot_com.png + - name: Fathom Analytics + url: https://usefathom.com/ + img: fathom_analytics.svg + - name: Goread.io + url: https://goread.io/buy-instagram-followers + img: goread_io.png + - name: Sentry + url: https://sentry.io/for/vue?utm_source=vuejs.org&utm_medium=paid-community + img: sentry.png + - name: Poprey.com + url: https://poprey.com/ + img: poprey_com.png + - name: Ilmaiset Pitkävetovihjeet + url: https://www.vedonlyontibonukset.com/pitkavetovihjeet + img: ilmaiset_pitk_vetovihjeet.png + - name: Famoid + url: https://famoid.com/ + img: famoid.png + - name: Certible + url: https://www.certible.com + img: certible.svg + - name: FORTUNE GAMES + url: https://www.fortunegames.com + img: fortune_games.png + - name: TBDC - Agro Software + url: http://tbdc.com.br/ + img: tbdc___agro_software.svg + - name: FineProxy + url: https://fineproxy.org/ + img: fineproxy.svg + - name: Daniel + url: >- + https://rxdb.info/?utm_source=sponsor&utm_medium=opencollective&utm_campaign=opencollective-vuejs + img: daniel.png + - name: SurveyJS + url: https://surveyjs.io/ + img: surveyjs.png?v2 + - name: Stormlikes + url: https://www.stormlikes.net/buy-instagram-followers + img: stormlikes.png +silver: + - name: Draxlr + url: https://www.draxlr.com + img: draxlr.svg + - name: Team Extension North America Inc + url: https://teamextension.io + img: team_extension_north_america_inc.png + - name: Free Bets US + url: https://freebets.us + img: free_bets_us.png + - name: Doximity + url: https://technology.doximity.com/ + img: doximity.png + - name: Interflora Group + url: https://www.interflora.fr + img: interflora_group.png + - name: Codesmith + url: https://codesmith.io + img: codesmith.png + - name: Optimizers + url: https://www.optimizers.nl + img: optimizers.png + - name: FORTUNE GAMES + url: https://www.fortunegames.com + img: fortune_games.png + - name: Indy + url: https://www.indy.fr/ + img: indy.png + - name: Buy Instagram Followers from SocialWick + url: https://www.socialwick.com/instagram/followers + img: buy_instagram_followers_from_socialwick.png + - name: Social Followers + url: https://www.socialfollowers.uk/buy-tiktok-followers/ + img: social_followers.png + - name: Nettcasino + url: https://www.nettcasino.com/ + img: nettcasino.png + - name: Spelpressen + url: https://spelpressen.se/ + img: spelpressen.png + - name: Casino Utan Svensk Licens + url: https://casino-utan-svensk-licens.com/ + img: casino_utan_svensk_licens.png + - name: Outlook India + url: >- + https://www.outlookindia.com/outlook-spotlight/casinos-not-on-gamstop-uk-news-302214/ + img: outlook_india.png +bronze: + - name: Derek Pollard + url: https://polyglotengineer.com/derek.pollard + img: derek_pollard.png + - name: BGASoft + url: https://www.bgasoft.com + img: bgasoft.png + - name: RStudio + url: https://rstudio.com + img: rstudio.png + - name: Darkhorse Analytics + url: https://www.darkhorseanalytics.com/ + img: darkhorse_analytics.png + - name: vuejs.de - German Vue Community + url: https://vuejs.de + img: vuejs_de___german_vue_community.svg + - name: Liip AG + url: https://www.liip.ch/en + img: liip_ag.png + - name: Bürkert Werke GmbH & Co KG + url: https://www.burkert.com + img: b_rkert_werke_gmbh___co_kg.png + - name: codefortynine + url: https://codefortynine.com + img: codefortynine.png + - name: Arcanite + url: https://arcanite.ch + img: arcanite.png +platinum_china: + - name: CRMEB + url: http://github.crmeb.net/u/vue + img: crmeb.svg?v2 + description: 开源电商系统 + - name: MISBoot + url: https://vue.misboot.com/#/user/Login?from=vuejs + img: misboot.png?v3 + description: 低代码开发平台 +# END SPONSORS +redirects: + '/v2/api/index.html': '/api/' + '/v2/guide/index.html': '/guide/introduction.html' + '/v2/guide/installation.html': '/guide/quick-start.html' + '/v2/guide/instance.html': '/guide/essentials/application.html' # has page redirects + '/v2/guide/syntax.html': '/guide/essentials/template-syntax.html' + '/v2/guide/computed.html': '/guide/essentials/computed.html' # has page redirects + '/v2/guide/class-and-style.html': '/guide/essentials/class-and-style.html' + '/v2/guide/conditional.html': '/guide/essentials/conditional.html' + '/v2/guide/list.html': '/guide/essentials/list.html' + '/v2/guide/events.html': '/guide/essentials/event-handling.html' + '/v2/guide/forms.html': '/guide/essentials/forms.html' + '/v2/guide/components.html': '/guide/essentials/component-basics.html' + '/v2/guide/components-registration.html': '/guide/components/registration.html' + '/v2/guide/components-props.html': '/guide/components/props.html' # has page redirects + '/v2/guide/components-custom-events.html': '/guide/components/events.html' + '/v2/guide/components-slots.html': '/guide/components/slots.html' + '/v2/guide/components-dynamic-async.html': '/guide/built-ins/keep-alive.html' # has page redirects + '/v2/guide/transitions.html': '/guide/built-ins/transition.html' # has page redirects + '/v2/guide/transitioning-state.html': '/guide/extras/animation.html' + '/v2/guide/custom-directive.html': '/guide/reusability/custom-directives.html' + '/v2/guide/render-function.html': '/guide/extras/render-function.html' + '/v2/guide/plugins.html': '/guide/reusability/plugins.html' + '/v2/guide/single-file-components.html': '/guide/scaling-up/sfc.html' + '/v2/guide/testing.html': '/guide/scaling-up/testing.html' + '/v2/guide/typescript.html': '/guide/typescript/overview.html' + '/v2/guide/deployment.html': '/guide/best-practices/production-deployment.html' + '/v2/guide/routing.html': '/guide/scaling-up/routing.html' + '/v2/guide/state-management.html': '/guide/scaling-up/state-management.html' + '/v2/guide/ssr.html': '/guide/scaling-up/ssr.html' + '/v2/guide/security.html': '/guide/best-practices/security.html' + '/v2/guide/reactivity.html': '/guide/extras/reactivity-in-depth.html' diff --git a/themes/vue/layout/icons/github-dark.ejs b/themes/vue/layout/icons/github-dark.ejs index eb71a11da5..296fede1ec 100644 --- a/themes/vue/layout/icons/github-dark.ejs +++ b/themes/vue/layout/icons/github-dark.ejs @@ -1 +1 @@ -<svg aria-labelledby="simpleicons-github-dark-icon" lang role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title id="simpleicons-github-icon" lang="en">GitHub Dark icon</title><path fill="#7F8C8D" d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg> +<svg aria-labelledby="simpleicons-github-dark-icon" lang role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title id="simpleicons-github-dark-icon" lang="en">GitHub Dark icon</title><path fill="#7F8C8D" d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg> diff --git a/themes/vue/layout/index.ejs b/themes/vue/layout/index.ejs index aa01560739..efb5587336 100644 --- a/themes/vue/layout/index.ejs +++ b/themes/vue/layout/index.ejs @@ -1,94 +1,158 @@ -<div class="sidebar"> - <div class="sidebar-inner-index"> - <ul class="main-menu"> - <%- partial('partials/main_menu', { context: 'sidebar' }) %> - </ul> +<% function logo(img) { return `https://sponsors.vuejs.org/images/${img}` } %> + +<main role="main"> + <div class="sidebar"> + <div class="sidebar-inner-index"> + <ul class="main-menu"> + <%- partial('partials/main_menu', { context: 'sidebar' }) %> + </ul> + </div> </div> -</div> -<div id="hero"> - <div class="inner"> - <div class="left"> - <img class="hero-logo" src="<%- url_for("/images/logo.png") %>"> - </div><div class="right"> - <h2 class="vue">Vue.js</h2> - <h1> - The Progressive<br>JavaScript Framework - </h1> - <p> - <a id="modal-player" class="button has-icon" href="javascript:;"> - <%- partial('icons/play') %> - WHY VUE.JS?</a> - <a class="button white" href="<%- url_for("/v2/guide/") %>">GET STARTED</a> - <a class="button gray has-icon" href="https://github.com/vuejs/vue" target="_blank"> - <%- partial('icons/github-dark') %> - GITHUB</a> - </p> + <div id="hero"> + <div class="inner"> + <div class="left"> + <img class="hero-logo" src="<%- url_for("/images/logo.svg") %>" alt="Vue logo"> + </div><div class="right"> + <h2 class="vue">Vue.js</h2> + <h1> + The Progressive<br>JavaScript Framework + </h1> + <p> + <a id="modal-player" class="button has-icon" href="javascript:;"> + <%- partial('icons/play') %> + WHY VUE.JS?</a> + <a class="button white" href="<%- url_for("/v2/guide/") %>">GET STARTED</a> + <a class="button gray has-icon" href="https://github.com/vuejs/vue" target="_blank" rel="noopener"> + <%- partial('icons/github-dark') %> + GITHUB</a> + </p> + </div> </div> </div> -</div> -<div id="special-sponsor"> - <h3>Special Sponsors</h3> - <br> - <a href="https://stdlib.com/" target="_blank"> - <img src="/images/stdlib.png" style="width:140px"> - <span>Function as a Service Platform and Library</span> - </a> - <br> - <a href="https://www.bitsrc.io/?utm_source=vue&utm_medium=vue&utm_campaign=vue&utm_term=vue&utm_content=vue" target="_blank"> - <img src="/images/bit.png" style="width:60px;height:60px"> - <span>The fastest way to share code</span> - </a> -</div> + <%_ if (theme.special) { _%> + <div id="special"> + <h3>Special Sponsor</h3> + <% var specialSponsor = theme.special[0]; %> + <a href="<%- specialSponsor.url %>" target="_blank" rel="noopener sponsored" class="sponsor" style="width: 160px; height: 80px; line-height: 80px;"> + <img src="<%- logo(specialSponsor.img) %>" alt="Special sponsor <%- specialSponsor.name %>"> + <br> + <!-- <span><%- specialSponsor.description %></span> --> + </a> + </div> + <%_ } _%> + + <div id="highlights"> + <div class="inner"> + <div class="point"> + <h2>Approachable</h2> + <p>Already know HTML, CSS and JavaScript? Read the guide and start building things in no time!</p> + </div> -<div id="highlights"> - <div class="inner"> - <div class="point"> - <h2>Approachable</h2> - <p>Already know HTML, CSS and JavaScript? Read the guide and start building things in no time!</p> + <div class="point"> + <h2>Versatile</h2> + <p>An incrementally adoptable ecosystem that scales between a library and a full-featured framework.</p> + </div> + + <div class="point"> + <h2>Performant</h2> + <p> + 20KB min+gzip Runtime<br> + Blazing Fast Virtual DOM<br> + Minimal Optimization Efforts + </p> + </div> </div> + </div> - <div class="point"> - <h2>Versatile</h2> - <p>An incrementally adoptable ecosystem that scales between a library and a full-featured framework.</p> + <div id="sponsors"> + <div class="inner"> + <%- partial('partials/sponsors') %> </div> + </div> - <div class="point"> - <h2>Performant</h2> + <div id="news"> + <div class="inner"> + <h3><label for="member_email">Subscribe to our Weekly Newsletter</label></h3> + <form + class="newsletter-form" + id="revue-form" + name="revue-form" + target="_blank" + rel="noopener" + action="https://www.getrevue.co/profile/vuenewsletter/add_subscriber" + method="post" + @submit="subscribe" + > + <input + class="newsletter-input" + type="email" + name="member[email]" + id="member_email" + required + placeholder="Email address" + > + <input + class="button newsletter-button" + type="submit" + value="Subscribe" + name="member[subscribe]" + id="member_submit" + > + </form> <p> - 20KB min+gzip Runtime<br> - Blazing Fast Virtual DOM<br> - Minimal Optimization Efforts + You can read the previous issues and listen to our podcast at <a href="https://news.vuejs.org" target="_blank" rel="noopener">news.vuejs.org</a>. </p> </div> </div> -</div> - -<div id="sponsors"> - <div class="inner"> - <%- partial('partials/sponsors') %> - </div> -</div> +</main> -<div id="footer"> +<footer id="footer" role="contentinfo"> <p> - <a class="social-icon" href="https://github.com/vuejs/vue" target="_blank"> + <a class="social-icon" href="https://github.com/vuejs/vue" target="_blank" rel="noopener"> <%- partial('icons/github') %> </a> - <a class="social-icon" href="https://twitter.com/vuejs" target="_blank"> + <a class="social-icon" href="https://twitter.com/vuejs" target="_blank" rel="noopener"> <%- partial('icons/twitter') %> </a> - <a class="social-icon" href="https://medium.com/the-vue-point" target="_blank"> + <a class="social-icon" href="https://medium.com/the-vue-point" target="_blank" rel="noopener"> <%- partial('icons/medium') %> </a> </p> - <p>Released under the <a href="https://opensource.org/licenses/MIT" target="_blank">MIT License</a><br> + <p>Released under the <a href="https://opensource.org/licenses/MIT" target="_blank" rel="noopener">MIT License</a><br> Copyright © 2014-<%- new Date().getFullYear() %> Evan You</p> -</div> +</footer> <div id="video-modal" class="modal"> - <div class="video-space" style="padding: 56.25% 0 0 0; position: relative;"><iframe src="https://player.vimeo.com/video/247494684" style="height: 100%; left: 0; position: absolute; top: 0; width: 100%;" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div><script src="https://player.vimeo.com/api/player.js"></script> + <div class="video-space" style="padding: 56.25% 0 0 0; position: relative;"> + <iframe + src="https://player.vimeo.com/video/247494684?dnt=1" + style="height: 100%; left: 0; position: absolute; top: 0; width: 100%;" + frameborder="0" + webkitallowfullscreen + mozallowfullscreen + allowfullscreen></iframe> + </div> + <script src="https://player.vimeo.com/api/player.js"></script> + <p class="modal-text"> + Video by + <a + href="https://www.vuemastery.com" + target="_blank" + rel="sponsored noopener" + title="Vue.js Courses on Vue Mastery"> + Vue Mastery + </a>. Watch Vue Mastery’s free + <a + href="https://www.vuemastery.com/courses/intro-to-vue-js/vue-instance/" + target="_blank" + rel="sponsored noopener" + title="Vue.js Courses on Vue Mastery" + > + Intro to Vue course + </a>. + </p> </div> <script> @@ -103,10 +167,11 @@ }) window.addEventListener('scroll', function () { - if (window.pageYOffset > 165 && !topScrolled) { + var offset = 20 + if (window.pageYOffset > offset && !topScrolled) { topScrolled = true document.getElementById('mobile-bar').classList.remove('top') - } else if (window.pageYOffset <= 165 && topScrolled) { + } else if (window.pageYOffset <= offset && topScrolled) { topScrolled = false document.getElementById('mobile-bar').classList.add('top') } diff --git a/themes/vue/layout/layout.ejs b/themes/vue/layout/layout.ejs index f460a72ad7..e2cfbcb80e 100644 --- a/themes/vue/layout/layout.ejs +++ b/themes/vue/layout/layout.ejs @@ -1,25 +1,28 @@ <% var isIndex = page.path === 'index.html' %> +<% var isThemes = page.path === 'resources/themes.html' %> +<% var hasVueSchoolBanner = true %> <!DOCTYPE html> -<html lang="en"> +<html lang="en" class="with-v3-banner"> <head> <title><%- page.title ? page.title + ' — ' : '' %>Vue.js</title> <meta charset="utf-8"> <meta name="description" content="<%- theme.site_description %>"> - <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> + <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="alternate" hreflang="x-default" href="https://vuejs.org/<%- page.path %>"> - <link rel="alternate" hreflang="zh" href="https://cn.vuejs.org/<%- page.path %>"> + <link rel="alternate" hreflang="zh" href="https://v2.cn.vuejs.org/<%- page.path %>"> <link rel="alternate" hreflang="ja" href="https://jp.vuejs.org/<%- page.path %>"> <link rel="alternate" hreflang="ru" href="https://ru.vuejs.org/<%- page.path %>"> <link rel="alternate" hreflang="ko" href="https://kr.vuejs.org/<%- page.path %>"> <link rel="alternate" hreflang="pt-BR" href="https://br.vuejs.org/<%- page.path %>"> <link rel="alternate" hreflang="fr" href="https://fr.vuejs.org/<%- page.path %>"> + <link rel="alternate" hreflang="es" href="https://es.vuejs.org/<%- page.path %>"> <meta property="og:type" content="article"> <meta property="og:title" content="<%- page.title ? page.title + ' — ' : '' %>Vue.js"> <meta property="og:description" content="<%- theme.site_description %>"> - <meta property="og:image" content="https://<%- theme.root_domain %>/<%- url_for("/images/logo.png") %>"> + <meta property="og:image" content="https://<%- theme.root_domain %>/images/logo.png"> <meta name="twitter:card" content="summary"> <meta name="twitter:title" content="<%- page.title ? page.title + ' — ' : '' %>Vue.js"> @@ -40,7 +43,7 @@ <link rel="icon" type="image/png" sizes="96x96" href="<%- url_for("/images/icons/favicon-96x96.png") %>"> <link rel="icon" type="image/png" sizes="16x16" href="<%- url_for("/images/icons/favicon-16x16.png") %>"> <meta name="msapplication-TileImage" content="/images/icons/ms-icon-144x144.png"> - <link rel="icon" href="<%- url_for("/images/logo.png") %>" type="image/png"> + <link rel="icon" href="<%- url_for("/images/logo.svg") %>"> <meta name="msapplication-TileColor" content="#4fc08d"> <meta name="theme-color" content="#4fc08d"> @@ -48,33 +51,44 @@ <meta name="msapplication-config" content="browserconfig.xml"> <link rel="manifest" href="/manifest.json"> - <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600|Roboto Mono' rel='stylesheet' type='text/css'> - <link href='//fonts.googleapis.com/css?family=Dosis:500&text=Vue.js' rel='stylesheet' type='text/css'> + <link href="https://fonts.googleapis.com" rel="preconnect" crossorigin> + <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin> + <link href="https://maxcdn.bootstrapcdn.com" rel="preconnect" crossorigin> - <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" type="text/css"> + <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600|Roboto|Roboto Mono&display=swap" rel="stylesheet"> + <link href="https://fonts.googleapis.com/css?family=Dosis:500&text=Vue.js&display=swap" rel="stylesheet"> + + <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> <!-- main page styles --> <%- css(isIndex ? 'css/index' : 'css/page') %> <!-- this needs to be loaded before guide's inline scripts --> - <script src="<%- url_for("/js/vue.js") %>"></script> - <script>window.PAGE_TYPE = "<%- page.type %>"</script> + <script src="<%- url_for('/js/vue.js') %>"></script> - <!-- ga --> - <script> - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + <% if (isThemes) { %> + <script src="<%- url_for('/js/theme-data.js') %>"></script> + <script src="https://cdn.jsdelivr.net/npm/showdown@1.9.0/dist/showdown.min.js" integrity="sha256-LSUpTY0kkXGKvcBC9kbmgibmx3NVVgJvAEfTZbs51mU=" crossorigin="anonymous"></script> + <% } %> - ga('create', '<%- theme.google_analytics %>', '<%- theme.root_domain %>'); - ga('send', 'pageview'); + <script> + Vue.config.productionTip = false + window.PAGE_TYPE = "<%- page.type %>" </script> + <!-- Fathom - beautiful, simple website analytics --> + <script src="https://cdn.usefathom.com/script.js" data-site="VNLEECSM" defer></script> + <!-- / Fathom --> + <!-- vimeo analytics --> <script type="text/javascript" defer="defer" src="https://extend.vimeocdn.com/ga/72160148.js"></script> </head> - <body class="<%- isIndex ? '' : 'docs' -%>"> + <body class="<%- isIndex ? '' : 'docs' -%>" data-v3-url="<%- theme.redirects['/' + page.path] || '' -%>"> + + <% if (hasVueSchoolBanner) { %> + <%- partial('partials/vueschool_banner') %> + <% } %> + <div id="mobile-bar" <%- isIndex ? 'class="top"' : '' %>> <a class="menu-button"></a> <a class="logo" href="/"></a> @@ -82,11 +96,7 @@ <%- partial('partials/header') %> <% if (!isIndex) { %> <div id="main" class="fix-sidebar"> - <% if (page.blog_index) { %> - <%- partial('partials/blog') %> - <% } else { %> - <%- body %> - <% } %> + <%- body %> </div> <script src="<%- url_for("/js/smooth-scroll.min.js") %>"></script> <% } else { %> @@ -98,9 +108,9 @@ <script src="<%- url_for("/js/common.js") %>"></script> <!-- search --> - <link href="//cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css" rel='stylesheet' type='text/css'> + <link href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css" rel='stylesheet' type='text/css'> <%- css('css/search') %> - <script src="//cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script> + <script src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script> <script> [ '#search-query-nav', @@ -112,21 +122,24 @@ var match = window.location.pathname.match(/^\/(v\d+)/) var version = match ? match[1] : 'v2' docsearch({ - appId: 'BH4D9OD16A', - apiKey: '85cc3221c9f23bfbaa4e3913dd7625ea', - indexName: 'vuejs', - inputSelector: selector, - algoliaOptions: { facetFilters: ["version:" + version] } + appId: 'ML0LEBN7FQ', + apiKey: 'f49cbd92a74532cc55cfbffa5e5a7d01', + indexName: 'vuejs', + inputSelector: selector, + algoliaOptions: { facetFilters: ["version:" + version] }, + autocompleteOptions: { hint: false, appendTo: 'body'} }) }) - </script> - <!-- fastclick --> - <script src="//cdnjs.cloudflare.com/ajax/libs/fastclick/1.0.6/fastclick.min.js"></script> - <script> - document.addEventListener('DOMContentLoaded', function() { - FastClick.attach(document.body) - }, false) + // unregister service worker + if ('serviceWorker' in navigator) { + navigator.serviceWorker.getRegistrations().then(function(registrations) { + for(let registration of registrations) { + registration.unregister() + } + }) + } </script> + <script src="/js/v3-notice.js"></script> </body> </html> diff --git a/themes/vue/layout/page.ejs b/themes/vue/layout/page.ejs index 80e7550e33..7ccbb38985 100644 --- a/themes/vue/layout/page.ejs +++ b/themes/vue/layout/page.ejs @@ -1,50 +1,57 @@ -<% if (page.type) { %> - <%- partial('partials/sidebar', { type: page.type === 'menu' ? 'guide' : page.type, index: page.index }) %> -<% } else { %> - <div class="sidebar"> - <ul class="main-menu"> - <%- partial('partials/main_menu', { context: 'sidebar' }) %> - </ul> - </div> +<% if (page.type) { %> <%- partial('partials/sidebar', { type: page.type === +'menu' ? 'guide' : page.type, index: page.index }) %> <% } else { %> +<div class="sidebar"> + <ul class="main-menu"> + <%- partial('partials/main_menu', { context: 'sidebar' }) %> + </ul> +</div> <% } %> -<div class="content <%- page.type ? page.type + ' with-sidebar' : '' %> <%- page.type === 'guide' ? page.path.replace(/.+\//, '').replace('.html', '') + '-guide' : '' %>"> - <% if (page.type) { %> - <% if (page.type === 'menu') { %> - <form id="search-form"> - <input type="text" id="search-query-menu" class="search-query st-default-search-input"> - </form> - <%- partial('partials/toc', { type: 'guide' }) %> - <% } else { %> - <%- partial('partials/ad') %> +<div + class="content <%- page.type ? page.type + ' with-sidebar' : '' %> <%- page.type === 'guide' ? page.path.replace(/.+\//, '').replace('.html', '') + '-guide' : '' %>" +> + <% if (page.type) { %> <% if (page.type === 'menu') { %> + <form id="search-form"> + <input + type="text" + id="search-query-menu" + aria-label="Search Vue.JS site" + class="search-query st-default-search-input" + /> + </form> + <%- partial('partials/toc', { type: 'guide' }) %> <% } else { %> <%- + partial('partials/ad') %> <% } %> <% } %> <% if (page.title.trim()) { %> + <h1><%- page.title %><%- page.type === 'examples' ? ' Example' : '' %></h1> + <% } %> <% if (page.sponsors) { %> <%- partial('sponsors-page') %> <% } else + if (page.partners) { %> <%- partial('partners-page') %> <% } else if + (page.search) { %> <%- partial('search-page') %> <% } else { %> <%- + page.content %> <% } %> <% if (page.type === 'guide') { %> + <div class="guide-links"> + <% const lastPage = site.pages.find({ type: page.type, order: { $lt: + page.order }}).sort({ order: -1 }).first(); %> <% if (lastPage) { %> + <span + >← <a href="<%- url_for(lastPage.path) %>"><%- lastPage.title %></a></span + > + <% } %> <% const nextPage = site.pages.find({ type: page.type, order: { $gt: + page.order }}).sort({ order: 1 }).first(); %> <% if (nextPage) { %> + <span style="float: right" + ><a href="<%- url_for(nextPage.path) %>"><%- nextPage.title %></a> →</span + > <% } %> - <% } %> - <% if (page.title.trim()) { %> - <h1><%- page.title %><%- page.type === 'examples' ? ' Example' : '' %></h1> - <% } %> - <% if (page.sponsors) { %> - <%- partial('sponsors-page') %> - <% } else { %> - <%- page.content %> - <% } %> - <% if (page.type === 'guide') { %> - <div class="guide-links"> - <% const lastPage = site.pages.find({ type: page.type, order: { $lt: page.order }}).sort({ order: -1 }).first(); %> - <% if (lastPage) { %> - <span>← <a href="<%- url_for(lastPage.path) %>"><%- lastPage.title %></a></span> - <% } %> - <% const nextPage = site.pages.find({ type: page.type, order: { $gt: page.order }}).sort({ order: 1 }).first(); %> - <% if (nextPage) { %> - <span style="float: right;"><a href="<%- url_for(nextPage.path) %>"><%- nextPage.title %></a> →</span> - <% } %> - </div> + </div> <% } %> <div class="footer"> - <%_ if (!page.sponsors) { _%> - <%- partial('partials/ad-text') %> - <%_ } _%> + <%_ if (!page.sponsors) { _%> <%- partial('partials/ad-text') %> <%_ } _%> Caught a mistake or want to contribute to the documentation? - <a href="https://github.com/vuejs/vuejs.org/blob/master/src/<%- page.path.replace(/\.html$/, '.md') %>" target="_blank"> - Edit this page on GitHub! + <a + href="https://github.com/vuejs/v2.vuejs.org/blob/master/src/<%- page.path.replace(/\.html$/, '.md') %>" + rel="noopener" + target="_blank" + > + Edit this on GitHub! </a> + Deployed on + <a href="https://url.netlify.com/HJ8X2mxP8" rel="noopener" target="_blank"> + Netlify </a + >. </div> </div> diff --git a/themes/vue/layout/partials/ad-text.ejs b/themes/vue/layout/partials/ad-text.ejs index 73e83ef0b9..a806a186c5 100644 --- a/themes/vue/layout/partials/ad-text.ejs +++ b/themes/vue/layout/partials/ad-text.ejs @@ -1,13 +1,11 @@ <script src="//m.servedby-buysellads.com/monetization.js" type="text/javascript"></script> -<div class="bsa-cpc"></div> +<div id="bsa-native"></div> <script> - (function(){ - if(typeof _bsa !== 'undefined' && _bsa) { - _bsa.init('default', 'CKYD62QM', 'placement:vuejsorg', { - target: '.bsa-cpc', - align: 'horizontal', - disable_css: 'true' - }); - } - })(); +_bsa.init('custom', 'CKYD62QM', 'placement:vuejsorg', + { + target: '#bsa-native', + template: '<a class="native-box" href="##statlink##"><div class="native-sponsor">Sponsor</div><div class="native-text"><strong>##company##</strong> — ##description##</div></a>' + } +); </script> + diff --git a/themes/vue/layout/partials/ad.ejs b/themes/vue/layout/partials/ad.ejs index ec329972a0..9c035c3f02 100644 --- a/themes/vue/layout/partials/ad.ejs +++ b/themes/vue/layout/partials/ad.ejs @@ -1,11 +1,10 @@ +<% if (!page.sponsors && !page.partners) { %> <div id="ad"> - <script> - (function () { - var s = document.createElement('script') - s.setAttribute('async', '') - s.src = '//cdn.carbonads.com/carbon.js?zoneid=1673&serve=C6AILKT&placement=vuejs' - s.id = '_carbonads_js' - document.getElementById('ad').appendChild(s) - })() + <script + async + type="text/javascript" + src="//cdn.carbonads.com/carbon.js?serve=CEBDT27Y&placement=vuejsorg" + id="_carbonads_js"> </script> </div> +<% } %> diff --git a/themes/vue/layout/partials/ecosystem_dropdown.ejs b/themes/vue/layout/partials/ecosystem_dropdown.ejs index b81da2dcfd..f3e0f80d5a 100644 --- a/themes/vue/layout/partials/ecosystem_dropdown.ejs +++ b/themes/vue/layout/partials/ecosystem_dropdown.ejs @@ -3,36 +3,32 @@ <ul class="nav-dropdown"> <li><h4>Help</h4></li> <li><ul> - <li><a href="https://forum.vuejs.org/" class="nav-link" target="_blank">Forum</a></li> - <li><a href="https://chat.vuejs.org/" class="nav-link" target="_blank">Chat</a></li> + <li><a href="https://forum.vuejs.org/" class="nav-link" target="_blank" rel="noopener">Forum</a></li> + <li><a href="https://chat.vuejs.org/" class="nav-link" target="_blank" rel="noopener">Chat</a></li> + <li><a href="https://events.vuejs.org/meetups/" class="nav-link" target="_blank" rel="noopener">Meetups</a></li> </ul></li> <li><h4>Tooling</h4></li> <li> <ul> - <li><a href="https://github.com/vuejs/vue-devtools" class="nav-link" target="_blank">Devtools</a></li> - <li><a href="https://vuejs-templates.github.io/webpack" class="nav-link" target="_blank">Webpack Template</a></li> - <li><a href="https://vue-loader.vuejs.org" class="nav-link" target="_blank">Vue Loader</a></li> + <li><a href="https://github.com/vuejs/vue-devtools" class="nav-link" target="_blank" rel="noopener">Devtools</a></li> + <li><a href="https://cli.vuejs.org/" class="nav-link" target="_blank" rel="noopener">Vue CLI</a></li> + <li><a href="https://vue-loader.vuejs.org" class="nav-link" target="_blank" rel="noopener">Vue Loader</a></li> </ul> </li> <li><h4>Core Libraries</h4></li> <li><ul> - <li><a href="https://router.vuejs.org/" class="nav-link" target="_blank">Vue Router</a></li> - <li><a href="https://vuex.vuejs.org/" class="nav-link" target="_blank">Vuex</a></li> - <li><a href="https://ssr.vuejs.org/" class="nav-link" target="_blank">Vue Server Renderer</a></li> + <li><a href="https://router.vuejs.org/" class="nav-link" target="_blank" rel="noopener">Vue Router</a></li> + <li><a href="https://vuex.vuejs.org/" class="nav-link" target="_blank" rel="noopener">Vuex</a></li> + <li><a href="https://v2.ssr.vuejs.org/" class="nav-link" target="_blank" rel="noopener">Vue Server Renderer</a></li> </ul></li> <li><h4>News</h4></li> <li><ul> - <li><a href="https://news.vuejs.org" class="nav-link" target="_blank">Weekly News</a></li> - <li><a href="https://github.com/vuejs/roadmap" class="nav-link" target="_blank">Roadmap</a></li> - <li><a href="https://twitter.com/vuejs" class="nav-link" target="_blank">Twitter</a></li> - <li><a href="https://medium.com/the-vue-point" class="nav-link" target="_blank">Blog</a></li> - <li><a href="https://vuejobs.com/?ref=vuejs" class="nav-link" target="_blank">Jobs</a></li> - </ul></li> - <li><h4>Resource Lists</h4></li> - <li><ul> - <li><a href="https://github.com/vuejs" class="nav-link" target="_blank">Official Repos</a></li> - <li><a href="https://curated.vuejs.org/" class="nav-link" target="_blank">Vue Curated</a></li> - <li><a href="https://github.com/vuejs/awesome-vue" class="nav-link" target="_blank">Awesome Vue</a></li> + <li><a href="https://news.vuejs.org" class="nav-link" target="_blank" rel="noopener">Weekly News</a></li> + <li><a href="https://events.vuejs.org/" class="nav-link" target="_blank" rel="noopener">Events</a></li> + <li><a href="https://twitter.com/vuejs" class="nav-link" target="_blank" rel="noopener">Twitter</a></li> + <li><a href="https://blog.vuejs.org" class="nav-link" target="_blank" rel="noopener">Blog</a></li> + <li><a href="https://vuejobs.com/?ref=vuejs" class="nav-link" target="_blank" rel="noopener">Jobs</a></li> + <li><a href="https://dev.to/t/vue" class="nav-link" target="_blank" rel="noopener">DEV Community</a></li> </ul></li> </ul> </li> diff --git a/themes/vue/layout/partials/header.ejs b/themes/vue/layout/partials/header.ejs index e50a5664c4..6d26110791 100644 --- a/themes/vue/layout/partials/header.ejs +++ b/themes/vue/layout/partials/header.ejs @@ -1,9 +1,19 @@ -<div id="header"> - <a id="logo" href="<%- url_for("/") %>"> - <img src="<%- url_for("/images/logo.png") %>"> - <span>Vue.js</span> - </a> - <ul id="nav"> - <%- partial('partials/main_menu', { context: 'nav' }) %> - </ul> +<div> + <div id="v3-banner"> + <span class="hidden-sm">Vue 2 has reached EOL and is no longer actively maintained.</span> + <a href="https://vuejs.org/">Upgrade to Vue 3</a> + <span class="hidden-sm"> or learn more about</span> + <span class="only-sm"> | </span> + <a href="/eol/">Vue 2 EOL</a><span class="hidden-sm">.</span> + </div> + + <header id="header"> + <a id="logo" href="<%- url_for("/") %>"> + <img src="<%- url_for("/images/logo.svg") %>" alt="Vue logo"> + <span>Vue.js</span> + </a> + <ul id="nav"> + <%- partial('partials/main_menu', { context: 'nav' }) %> + </ul> + </header> </div> diff --git a/themes/vue/layout/partials/language_dropdown.ejs b/themes/vue/layout/partials/language_dropdown.ejs index a5ad14553c..6f3d0fad3b 100644 --- a/themes/vue/layout/partials/language_dropdown.ejs +++ b/themes/vue/layout/partials/language_dropdown.ejs @@ -1,12 +1,14 @@ <li class="nav-dropdown-container language"> <a class="nav-link">Translations</a><span class="arrow"></span> <ul class="nav-dropdown"> - <li><a href="https://cn.vuejs.org/<%- page.path %>" class="nav-link" target="_blank">中文</a></li> - <li><a href="https://jp.vuejs.org/<%- page.path %>" class="nav-link" target="_blank">日本語</a></li> - <li><a href="https://ru.vuejs.org/<%- page.path %>" class="nav-link" target="_blank">Русский</a></li> - <li><a href="https://kr.vuejs.org/<%- page.path %>" class="nav-link" target="_blank">한국어</a></li> - <li><a href="https://br.vuejs.org/<%- page.path %>" class="nav-link" target="_blank">Português</a></li> - <li><a href="https://fr.vuejs.org/<%- page.path %>" class="nav-link" target="_blank">Français</a></li> - <li><a href="https://vi.vuejs.org/<%- page.path %>" class="nav-link" target="_blank">Tiếng Việt</a></li> + <li><a href="https://v2.cn.vuejs.org/<%- page.path %>" class="nav-link">中文</a></li> + <li><a href="https://jp.vuejs.org/<%- page.path %>" class="nav-link">日本語</a></li> + <li><a href="https://ru.vuejs.org/<%- page.path %>" class="nav-link">Русский</a></li> + <li><a href="https://kr.vuejs.org/<%- page.path %>" class="nav-link">한국어</a></li> + <li><a href="https://br.vuejs.org/<%- page.path %>" class="nav-link">Português</a></li> + <li><a href="https://fr.vuejs.org/<%- page.path %>" class="nav-link">Français</a></li> + <li><a href="https://vi.vuejs.org/<%- page.path %>" class="nav-link">Tiếng Việt</a></li> + <li><a href="https://es.vuejs.org/<%- page.path %>" class="nav-link">Español</a></li> + <li><a href="https://docs.vuejs.id/<%- page.path %>" class="nav-link">Bahasa Indonesia</a></li> </ul> </li> diff --git a/themes/vue/layout/partials/learn_dropdown.ejs b/themes/vue/layout/partials/learn_dropdown.ejs index 5e6db6282d..dfc305f039 100644 --- a/themes/vue/layout/partials/learn_dropdown.ejs +++ b/themes/vue/layout/partials/learn_dropdown.ejs @@ -1,12 +1,34 @@ <li class="nav-dropdown-container learn"> <a class="nav-link<%- page.path.match(/\/(guide(?!\/team.html$)|api|style-guide|examples|cookbook)(\/|$)/) ? ' current' : '' %>">Learn</a><span class="arrow"></span> <ul class="nav-dropdown"> - <li><ul> - <li><a href="<%- url_for("/v2/guide/") %>" class="nav-link<%- page.path.match(/\/guide(\/|$)/) ? ' current' : '' %>">Guide</a></li> - <li><a href="<%- url_for("/v2/api/") %>" class="nav-link<%- page.path.match(/\/api(\/|$)/) ? ' current' : '' %>">API</a></li> - <li><a href="<%- url_for("/v2/style-guide/") %>" class="nav-link<%- page.path.match(/\/style-guide(\/|$)/) ? ' current' : '' %>">Style Guide</a></li> - <li><a href="<%- url_for("/v2/examples/") %>" class="nav-link<%- page.path.match(/\/examples(\/|$)/) ? ' current' : '' %>">Examples</a></li> - <li><a href="<%- url_for("/v2/cookbook/") %>" class="nav-link<%- page.path.match(/\/cookbook(\/|$)/) ? ' current' : '' %>">Cookbook</a></li> - </ul></li> + <li><h4>Documentation</h4></li> + <li> + <ul> + <li><a href="<%- url_for("/v2/guide/") %>" class="nav-link<%- page.path.match(/\/guide(\/|$)/) ? ' current' : '' %>">Guide</a></li> + <li><a href="<%- url_for("/v2/api/") %>" class="nav-link<%- page.path.match(/\/api(\/|$)/) ? ' current' : '' %>">API</a></li> + <li><a href="<%- url_for("/v2/style-guide/") %>" class="nav-link<%- page.path.match(/\/style-guide(\/|$)/) ? ' current' : '' %>">Style Guide</a></li> + <li><a href="<%- url_for("/v2/examples/") %>" class="nav-link<%- page.path.match(/\/examples(\/|$)/) ? ' current' : '' %>">Examples</a></li> + <li><a href="<%- url_for("/v2/cookbook/") %>" class="nav-link<%- page.path.match(/\/cookbook(\/|$)/) ? ' current' : '' %>">Cookbook</a></li> + </ul> + </li> + <li><h4>Video Courses</h4></li> + <li> + <ul> + <li> + <a href="https://www.vuemastery.com/courses/" class="nav-link" target="_blank" rel="sponsored noopener"> + Vue Mastery + </a> + </li> + <li> + <a + href="https://vueschool.io/?friend=vuejs&utm_source=Vuejs.org&utm_medium=Link&utm_content=Navbar%20Dropdown" + class="nav-link" + target="_blank" rel="sponsored noopener" + > + Vue School + </a> + </li> + </ul> + </li> </ul> </li> diff --git a/themes/vue/layout/partials/main_menu.ejs b/themes/vue/layout/partials/main_menu.ejs index 7474e22f56..f6f47769e1 100644 --- a/themes/vue/layout/partials/main_menu.ejs +++ b/themes/vue/layout/partials/main_menu.ejs @@ -1,12 +1,12 @@ <li> <form id="search-form"> - <input type="text" id="search-query-<%- context %>" class="search-query st-default-search-input"> + <input type="text" id="search-query-<%- context %>" class="search-query st-default-search-input" aria-label="Search"> </form> </li> <%- partial('partials/learn_dropdown') %> <%- partial('partials/ecosystem_dropdown') %> +<%- partial('partials/resources_dropdown') %> <li> - <a href="<%- url_for("/v2/guide/team.html") %>" class="nav-link team<%- page.path.match(/team\.html/) ? ' current' : '' %>">Team</a> + <a href="/eol/" class="badge-parent">EOL<sup class="badge">NEW</sup></a> </li> -<%- partial('partials/support_vue_dropdown') %> <%- partial('partials/language_dropdown') %> diff --git a/themes/vue/layout/partials/platinum_sponsors.ejs b/themes/vue/layout/partials/platinum_sponsors.ejs new file mode 100644 index 0000000000..f402302576 --- /dev/null +++ b/themes/vue/layout/partials/platinum_sponsors.ejs @@ -0,0 +1,15 @@ +<div id="sidebar-sponsors-platinum-<%- context %>"> + <div class="main-sponsor"> + <span>Platinum Sponsors</span> + <div> + <%_ for (const sponsor of theme.platinum) {_%> + <a href="<%- sponsor.url %>" target="_blank" rel="sponsored noopener" class="logo"> + <img src="https://sponsors.vuejs.org/images/<%- sponsor.img %>" alt="<%-sponsor.name-%>"> + </a> + <%_ } _%> + </div> + </div> + <a class="become-backer" href="<%- url_for("/support-vuejs") %>"> + Become a Sponsor + </a> +</div> diff --git a/themes/vue/layout/partials/resources_dropdown.ejs b/themes/vue/layout/partials/resources_dropdown.ejs new file mode 100644 index 0000000000..ba6d6c18b0 --- /dev/null +++ b/themes/vue/layout/partials/resources_dropdown.ejs @@ -0,0 +1,39 @@ +<li class="nav-dropdown-container resources"> + <a href="#" class="nav-link">Resources</a><span class="arrow"></span> + <ul class="nav-dropdown"> + <li> + <a + href="https://vuejs.org/about/team.html" + class="nav-link team<%- page.path.match(/team\.html/) ? ' current' : '' %>" + >Team</a + > + </li> + <li> + <a href="https://vuejs.org/sponsor/">Sponsor</a> + </li> + <li><a href="https://vuejs.org/partners/" class="nav-link">Partners</a></li> + <li> + <a href="https://vuejs.org/resources/themes.html" class="nav-link" + >Themes</a + > + </li> + <li> + <a + href="https://github.com/vuejs/awesome-vue" + class="nav-link" + target="_blank" + rel="noopener" + >Awesome Vue</a + > + </li> + <li> + <a + href="https://awesomejs.dev/for/vue/" + class="nav-link" + target="_blank" + rel="noopener" + >Browse packages for Vue</a + > + </li> + </ul> +</li> diff --git a/themes/vue/layout/partials/sidebar.ejs b/themes/vue/layout/partials/sidebar.ejs index 68c4223686..4d421e8862 100644 --- a/themes/vue/layout/partials/sidebar.ejs +++ b/themes/vue/layout/partials/sidebar.ejs @@ -1,29 +1,39 @@ +<% var isHomePage = page.path === 'index.html' %> + <div class="sidebar"> <div class="sidebar-inner"> - <ul class="main-menu"> - <%- partial('partials/main_menu', { context: 'sidebar' }) %> - </ul> + <% if (isHomePage) { %> + <ul class="main-menu"> + <%- partial('partials/main_menu', { context: 'sidebar' }) %> + </ul> + <% } %> <div class="list"> <%- partial('partials/sponsors_sidebar') %> - <h2> - <% titles = { - api: 'API', - examples: 'Examples', - guide: 'Guide', - cookbook: 'Cookbook<sup class="beta">beta</sup>', - 'style-guide': 'Style Guide<sup class="beta">beta</sup>' - } %> - <%- titles[type] %> - <% if (['cookbook', 'style-guide'].indexOf(type) === -1) { %> - <select class="version-select"> - <option value="SELF" selected>2.x</option> - <option value="v1">1.0</option> - <option value="012">0.12</option> - <option value="011">0.11</option> - </select> - <% } %> - </h2> - <%- partial('partials/toc', { type: type }) %> + <% if (type !== 'search') { %> + <h2> + <% titles = { + api: 'API', + examples: 'Examples', + guide: 'Guide', + cookbook: 'Cookbook<sup class="beta">beta</sup>', + 'style-guide': 'Style Guide<sup class="beta">beta</sup>' + } %> + <%- titles[type] %> + <% if (['cookbook', 'style-guide'].indexOf(type) === -1) { %> + <select class="version-select"> + <option value="">3.x</option> + <option value="SELF" selected>2.x</option> + <option value="v1">1.0</option> + <option value="012">0.12</option> + <option value="011">0.11</option> + </select> + <% } %> + </h2> + <%- partial('partials/toc', { type: type }) %> + <% } %> </div> </div> </div> +<% if (!page.sponsors && !page.partners) { %> +<%- partial('partials/platinum_sponsors', { context: 'right' }) %> +<% } %> diff --git a/themes/vue/layout/partials/sponsors.ejs b/themes/vue/layout/partials/sponsors.ejs index 8fa492a30b..7ef4e9cf7e 100644 --- a/themes/vue/layout/partials/sponsors.ejs +++ b/themes/vue/layout/partials/sponsors.ejs @@ -1,37 +1,23 @@ +<% function logo(img) { return `https://sponsors.vuejs.org/images/${img}` } %> + <h3>Patreon Sponsors</h3> -<%_ for (const sponsor of theme.platinum_sponsors) {_%> -<a href="<%- sponsor.url %>" target="_blank" style="width: 160px;"> - <img src="<%- url_for(`/images/${sponsor.img}`) %>" style="width: 160px;"> +<%_ for (const sponsor of theme.platinum) {_%> +<a href="<%- sponsor.url %>" target="_blank" rel="sponsored noopener" class="sponsor" style="width: 160px; height: 80px; line-height: 80px;"> + <img src="<%- logo(sponsor.img) %>" alt="<%-sponsor.name-%>"> </a> <%_ } _%> <br> <br> -<%_ for (const sponsor of theme.gold_sponsors) {_%> -<a href="<%- sponsor.url %>" target="_blank" style="width: 120px;"> - <img src="<%- url_for(`/images/${sponsor.img}`) %>" style="width: 120px;"> +<%_ for (const sponsor of theme.gold) {_%> +<a href="<%- sponsor.url %>" target="_blank" rel="sponsored noopener" class="sponsor" style="width: 120px; height: 60px; line-height: 60px;"> + <img src="<%- logo(sponsor.img) %>" alt="<%-sponsor.name-%>"> </a> <%_ } _%> <br> <a class="become-sponsor button white" href="<%- url_for("/support-vuejs/") %>">Become a Sponsor!</a> -<div class="open-collective-sponsors"> - <h3>OpenCollective Sponsors</h3> - <h4>Platinum</h4> - <%_ for (let i = 0; i < 3; i++) {_%> - <a href="https://opencollective.com/vuejs/tiers/platinum-sponsors/<%- i %>/website" target="_blank"> - <img src="https://opencollective.com/vuejs/tiers/platinum-sponsors/<%- i %>/avatar.svg"> - </a> - <%_ } _%> - <h4>Gold</h4> - <%_ for (let i = 0; i < 10; i++) {_%> - <a href="https://opencollective.com/vuejs/tiers/gold-sponsors/<%- i %>/website" target="_blank"> - <img src="https://opencollective.com/vuejs/tiers/gold-sponsors/<%- i %>/avatar.svg"> - </a> - <%_ } _%> -</div> - <script> window.addEventListener('load', function () { [].forEach.call(document.querySelectorAll('.open-collective-sponsors img'), function (img) { diff --git a/themes/vue/layout/partials/sponsors_sidebar.ejs b/themes/vue/layout/partials/sponsors_sidebar.ejs index bc2f052e08..592787e255 100644 --- a/themes/vue/layout/partials/sponsors_sidebar.ejs +++ b/themes/vue/layout/partials/sponsors_sidebar.ejs @@ -1,28 +1,19 @@ -<div id="sidebar-sponsors-special"> - <div class="main-sponsor"> - <span>Special Sponsors</span> - <div> - <%_ for (const sponsor of theme.special_sponsors) {_%> - <a href="<%- sponsor.url %>" target="_blank" class="logo"> - <img src="<%- url_for(`/images/${sponsor.wide_img || sponsor.img}`) %>"> - </a> - <%_ } _%> - </div> - </div> -</div> +<% function logo(img) { return `https://sponsors.vuejs.org/images/${img}` } %> -<div id="sidebar-sponsors-platinum"> +<%_ if (theme.special) { _%> +<div id="sidebar-sponsors-special"> <div class="main-sponsor"> - <span>Patreon Sponsors</span> + <span>Special Sponsor</span> <div> - <%_ for (const sponsor of theme.platinum_sponsors) {_%> - <a href="<%- sponsor.url %>" target="_blank" class="logo"> - <img src="<%- url_for(`/images/${sponsor.wide_img || sponsor.img}`) %>"> + <%_ for (const sponsor of theme.special) {_%> + <a href="<%- sponsor.url %>" target="_blank" rel="sponsored noopener" class="logo"> + <img src="<%- logo(sponsor.img) %>" alt="<%-sponsor.name-%>"> </a> <%_ } _%> </div> </div> - <a class="become-backer" href="<%- url_for("/support-vuejs") %>"> - Become a Sponsor - </a> </div> +<%_ } _%> +<%_ if (!page.sponsors && !page.partners) { _%> +<%- partial('partials/platinum_sponsors', { context: 'left' }) %> +<%_ } _%> diff --git a/themes/vue/layout/partials/support_vue_dropdown.ejs b/themes/vue/layout/partials/support_vue_dropdown.ejs index 6c59e09414..db7e267b23 100644 --- a/themes/vue/layout/partials/support_vue_dropdown.ejs +++ b/themes/vue/layout/partials/support_vue_dropdown.ejs @@ -1,10 +1,8 @@ <li class="nav-dropdown-container support-vue"> <a href="/support-vuejs/" class="nav-link">Support Vue</a><span class="arrow"></span> <ul class="nav-dropdown"> - <li><ul> - <li><a href="/support-vuejs/#One-time-Donations" class="nav-link">One-time Donations</a></li> - <li><a href="/support-vuejs/#Recurring-Pledges" class="nav-link">Recurring Pledges</a></li> - <li><a href="https://vue.threadless.com" target="_blank" class="nav-link">T-Shirt Shop</a></li> - </ul></li> + <li><a href="/support-vuejs/#One-time-Donations" class="nav-link">One-time Donations</a></li> + <li><a href="/support-vuejs/#Recurring-Pledges" class="nav-link">Recurring Pledges</a></li> + <li><a href="https://vue.threadless.com" target="_blank" rel="noopener" class="nav-link">T-Shirt Shop</a></li> </ul> </li> diff --git a/themes/vue/layout/partials/toc.ejs b/themes/vue/layout/partials/toc.ejs index ebe1968b32..9e19cc6fd5 100644 --- a/themes/vue/layout/partials/toc.ejs +++ b/themes/vue/layout/partials/toc.ejs @@ -14,7 +14,7 @@ <% if (fileName === 'mixins') { %> <li><h3>Reusability & Composition</h3></li> <% } %> - <% if (fileName === 'deployment') { %> + <% if (fileName === 'single-file-components') { %> <li><h3>Tooling</h3></li> <% } %> <% if (fileName === 'routing') { %> diff --git a/themes/vue/layout/partials/vueschool_banner.ejs b/themes/vue/layout/partials/vueschool_banner.ejs new file mode 100644 index 0000000000..50901c97c7 --- /dev/null +++ b/themes/vue/layout/partials/vueschool_banner.ejs @@ -0,0 +1,19 @@ +<a id="vs-top" class="vs-hidden" href="#" target="_blank"> + <div class="vs-background-wrapper"> + <div class="vs-logo"></div> + <div class="vs-core"> + <div class="vs-slogan-wrapper"> + <div id="vs-slogan" class="vs-slogan"></div> + <div id="vs-subline" class="vs-subline"></div> + </div> + <div class="vs-button-wrapper"> + <div id="vs-button" class="vs-button"></div> + </div> + </div> + <div + id="vs-close" + class="vs-close"> + <img src="https://vueschool.io/images/close.svg" alt="Close"> + </div> + </div> +</a> diff --git a/themes/vue/layout/partners-page.ejs b/themes/vue/layout/partners-page.ejs new file mode 100644 index 0000000000..301656e569 --- /dev/null +++ b/themes/vue/layout/partners-page.ejs @@ -0,0 +1,91 @@ +<div id="partners"> + <p> + Vue Partners are premium shops that provide first-class Vue consulting and development. + If your company is interested in being listed as a partner, please register your interest + <a target="_blank" href="https://airtable.com/shrCQhat57SApJI2l">here</a>. + </p> + + <h2 id="active-partners">Active Partners</h2> + + <% for (let partner of page.partners_list) { %> + <div class="partner"> + <div class="logo"> + <a href="https://<%- partner.url_link %>" target="_blank" rel="sponsored noopener"> + <img + alt="<%= partner.name %>" + src="<%- partner.logo.startsWith(`http`) ? partner.logo : url_for(`/images/${partner.logo}`) %>" + > + </a> + </div> + <div class="profile"> + <!-- <h3> <%= partner.name %> </h3> --> + <p class="description"><%= partner.description %></p> + <dl> + <dt> + <i class="fa fa-link"></i> + <span class="sr-only">Link</span> + </dt> + <dd> + <a href="https://<%- partner.url_link %>" target="_blank" rel="sponsored noopener"> + <%- partner.url_text %> + </a> + </dd> + + <dt> + <i class="fa fa-map-marker"></i> + <span class="sr-only">Location</span> + </dt> + <dd> + <%= partner.location %> + </dd> + + <dt> + <i class="fa fa-globe"></i> + <span class="sr-only">Languages</span> + </dt> + <dd class="language-list"> + <ul> + <% for (let language of partner.languages) { %> + <li> + <%= language %> + </li> + <% } %> + </ul> + </dd> + + <dt>Proficiencies</dt> + <dd> + <ul> + <% for (let proficiency of partner.proficiencies) { %> + <li> + <a + href="<%- proficiency.url || page.proficiencies_urls[proficiency] %>" + target="_blank" + rel="sponsored noopener" + > + <%= proficiency.name || proficiency %> + </a> + </li> + <% } %> + </ul> + </dd> + + <dd class="social"> + <% if (partner.email) { %> + <a href="mailto:<%- partner.email %>?subject=Hire <%- partner.name %>"> + <i class="fa fa-envelope"></i> + <span class="sr-only">Email</span> + </a> + <% } %> + <% for( let link of partner.social_links) { %> + <a class="<%= link.class %>" href="<%- link.url %>" target="_blank" rel="noopener"> + <i class="fa fa-<%= link.class %>"></i> + <span class="sr-only"><%= link.name %></span> + </a> + <% } %> + </dd> + </dl> + </div> + </div> + <% } %> +</div> diff --git a/themes/vue/layout/search-page.ejs b/themes/vue/layout/search-page.ejs new file mode 100644 index 0000000000..ab9dc1742b --- /dev/null +++ b/themes/vue/layout/search-page.ejs @@ -0,0 +1,179 @@ +<div id="search-page"> + <form class="search-form" @submit="submit"> + <input + class="search-query" + v-model="search" + placeholder="Search Vue.js" + aria-label="Search" + > + <div class="search-footer"> + <p> + <template v-if="totalResults"> + <strong>{{ totalResults }} results</strong> found in {{ queryTime }}ms + </template> + </p> + <a target="_blank" rel="noopener" href="https://www.algolia.com/" aria-label="Search"> + <img src="/images/search-by-algolia.png" height="16"> + </a> + </div> + </form> + + <template v-if="results.length"> + <search-result + v-for="(result, i) in results" + :key="i" + :result="result" + ></search-result> + </template> + + <p v-else>No results were found.</p> + + <div ref="infiniteScrollAnchor"></div> + +</div> + +<script src="https://cdn.jsdelivr.net/algoliasearch/3/algoliasearch.min.js"></script> +<script src="https://cdn.jsdelivr.net/algoliasearch.helper/2/algoliasearch.helper.min.js"></script> +<script src="https://polyfill.io/v2/polyfill.min.js?features=IntersectionObserver"></script> +<script> +var match = window.location.pathname.match(/^\/(v\d+)/) +var version = match ? match[1] : 'v2' +var algolia = algoliasearch('BH4D9OD16A', '85cc3221c9f23bfbaa4e3913dd7625ea') +var algoliaHelper = algoliasearchHelper(algolia, 'vuejs', { + hitsPerPage: 15, + maxValuesPerFacet: 10, + advancedSyntax: true, + facets: ['version'], +}) + +algoliaHelper.addFacetRefinement('version', version) +algoliaHelper.on('result', parseSearchResults) + +var searchPage = new Vue({ + el: '#search-page', + components: { + 'search-result': { + props: { + result: { + type: Object, + required: true, + }, + }, + render(h) { + var content = [] + content.push(h('a', { + attrs: { + class: 'title', + href: this.result.url, + }, + domProps: { innerHTML: this.result.title }, + })) + if (this.result.summary) { + content.push(h('p', { + attrs: { class: 'summary' }, + domProps: { innerHTML: this.result.summary }, + })) + } + content.push(h( + 'div', + { attrs: { class: 'breadcrumbs'} }, + this.result.breadcrumbs.map(function(breadcrumb) { + return h('span', { + attrs: { class: 'breadcrumb' }, + domProps: { innerHTML: breadcrumb }, + }) + }) + )) + return h('div', { attrs: { class: 'search-result' } }, content) + } + } + }, + data: { + search: (new URL(location)).searchParams.get('q') || '', + totalResults: 0, + queryTime: 0, + results: [], + totalPages: 0, + lastPage: 0, + }, + watch: { + search() { + this.updateSearch() + window.history.pushState( + {}, + 'Vue.js Search', + window.location.origin + window.location.pathname + '?q=' + encodeURIComponent(this.search) + ) + } + }, + created() { + this.updateSearch() + }, + mounted() { + var observer = new IntersectionObserver(function(entries) { + if (entries[0].isIntersecting && searchPage.totalPages > searchPage.lastPage + 1) { + searchPage.addPage() + } + }) + observer.observe(this.$refs.infiniteScrollAnchor) + }, + methods: { + addPage() { + algoliaHelper.setCurrentPage(this.lastPage + 1).search() + }, + updateSearch() { + algoliaHelper.setCurrentPage(0).setQuery(this.search).search() + }, + submit(e) { + e.preventDefault() + if (this.results.length > 0) { + window.location = this.results[0].url + } + } + } +}) + +function parseSearchResults(content) { + if (content.query === '' || !(content.hits instanceof Array)) { + searchPage.totalResults = 0 + searchPage.queryTime = 0 + searchPage.results = [] + searchPage.totalPages = 0 + searchPage.lastPage = 0 + return + } + + var results = [] + + for (var hit of content.hits) { + var hierarchy = hit._highlightResult.hierarchy + var titles = [] + var level = 0 + var levelName + while ((levelName = 'lvl' + level++) in hierarchy) { + titles.push(hierarchy[levelName].value) + } + var summary + if (hit._snippetResult && hit._snippetResult.content) { + summary = hit._snippetResult.content.value + '...' + } + results.push({ + title: titles.pop(), + url: hit.url, + summary: summary, + breadcrumbs: titles, + }) + } + + searchPage.totalResults = content.nbHits + searchPage.queryTime = content.processingTimeMS + searchPage.totalPages = content.nbPages + searchPage.lastPage = content.page + + if (searchPage.lastPage === 0) { + searchPage.results = results + } else { + searchPage.results = searchPage.results.concat(results) + } +} +</script> diff --git a/themes/vue/layout/sponsors-page.ejs b/themes/vue/layout/sponsors-page.ejs index 84857c52ff..c5eecbc79c 100644 --- a/themes/vue/layout/sponsors-page.ejs +++ b/themes/vue/layout/sponsors-page.ejs @@ -1,4 +1,6 @@ -<h1>Sponsor Vue.js Development</h1> +<% function logo(img) { return `https://sponsors.vuejs.org/images/${img}` } %> + +<h1 id="sponsor-Vue-js-Development">Sponsor Vue.js Development</h1> <p> Vue.js is an MIT licensed open source project and completely free to use. @@ -10,7 +12,7 @@ However, the amount of effort needed to maintain and develop new features for th <p>We accept donations through these channels:</p> <div id="one-time-donations"> - <a href="https://www.paypal.me/evanyou" target="_blank"> + <a href="https://www.paypal.me/evanyou" target="_blank" rel="noopener"> <img src="/images/paypal.png" style="width:100px"> </a> <a href="#btc"><%- partial('icons/btc') %> BTC</a> @@ -62,61 +64,61 @@ Recurring pledges come with exclusive perks, e.g. having your name listed in the <ul> <li> - <a href="https://www.patreon.com/evanyou" target="_blank">Become a backer or sponsor via Patreon</a> (goes directly to support Evan You's full-time work on Vue) + <a href="https://github.com/sponsors/yyx990803" target="_blank" rel="noopener">Become a backer or sponsor via GitHub Sponsors</a> (goes directly to support Evan You's full-time work on Vue) </li> <li> <a href="https://opencollective.com/vuejs">Become a backer or sponsor via OpenCollective</a> (goes into a fund with transparent expense models supporting community efforts and events) </li> </ul> -<h2>Current Premium Sponsors:</h2> +<h2 id="current-premium-sponsors">Current Premium Sponsors</h2> -<h3>Special Sponsors</h3> +<h3 id="special-sponsors">Special Sponsors</h3> <p class="platinum"> -<%_ for (const sponsor of theme.special_sponsors) {_%> - <a href="<%- sponsor.url %>" target="_blank"> - <img src="<%- url_for(`/images/${sponsor.img}`) %>"<%- (sponsor.big_width || sponsor.big_height) ? ` style="${sponsor.big_width ? `width:${sponsor.big_width};`: ``}${sponsor.big_height ? `height:${sponsor.big_height};` : ``}"` : `` %>> +<%_ for (const sponsor of theme.special) {_%> + <a href="<%- sponsor.url %>" target="_blank" rel="noopener"> + <img src="<%- logo(sponsor.img) %>"> </a> <%_ } _%> </p> -<h3>Platinum</h3> +<h3 id="platinum">Platinum Sponsors</h3> <p class="platinum"> -<%_ for (const sponsor of theme.platinum_sponsors) {_%> - <a href="<%- sponsor.url %>" target="_blank"> - <img src="<%- url_for(`/images/${sponsor.img}`) %>"> +<%_ for (const sponsor of theme.platinum) {_%> + <a href="<%- sponsor.url %>" target="_blank" rel="noopener"> + <img src="<%- logo(sponsor.img) %>"> </a> <%_ } _%> </p> -<h3>OpenCollective Platinum</h3> +<h3 id="special-sponsors-china">Platinum Sponsors (China)</h3> -<p class="open-collective-sponsors sponsor-section"> -<%_ for (let i = 0; i < 3; i++) {_%> - <a href="https://opencollective.com/vuejs/tiers/platinum-sponsors/<%- i %>/website" target="_blank"> - <img src="https://opencollective.com/vuejs/tiers/platinum-sponsors/<%- i %>/avatar.svg"> +<p class="platinum"> +<%_ for (const sponsor of theme.platinum_china || []) {_%> + <a href="<%- sponsor.url %>" target="_blank" rel="noopener"> + <img src="<%- logo(sponsor.img) %>"<%- (sponsor.big_width || sponsor.big_height) ? ` style="${sponsor.big_width ? `width:${sponsor.big_width};`: ``}${sponsor.big_height ? `height:${sponsor.big_height};` : ``}"` : `` %>> </a> <%_ } _%> </p> -<h3>Patreon Gold</h3> +<h3 id="patreon-gold">Gold Sponsors</h3> <p class="patreon-sponsors sponsor-section"> -<%_ for (const sponsor of theme.gold_sponsors) {_%> - <a href="<%- sponsor.url %>" target="_blank"> - <img src="<%- url_for(`/images/${sponsor.img}`) %>"> +<%_ for (const sponsor of theme.gold) {_%> + <a href="<%- sponsor.url %>" target="_blank" rel="noopener"> + <img src="<%- logo(sponsor.img) %>"> </a> <%_ } _%> </p> -<h3>OpenCollective Gold</h3> +<h3 id="patreon-silver">Silver Sponsors</h3> -<p class="open-collective-sponsors sponsor-section"> -<%_ for (let i = 0; i < 10; i++) {_%> - <a href="https://opencollective.com/vuejs/tiers/gold-sponsors/<%- i %>/website" target="_blank"> - <img src="https://opencollective.com/vuejs/tiers/gold-sponsors/<%- i %>/avatar.svg"> +<p class="patreon-sponsors sponsor-section"> +<%_ for (const sponsor of theme.silver) {_%> + <a href="<%- sponsor.url %>" target="_blank" rel="noopener"> + <img src="<%- logo(sponsor.img) %>"> </a> <%_ } _%> </p> diff --git a/themes/vue/source/css/_ad.styl b/themes/vue/source/css/_ad.styl index 253b7cd19e..11e5b8ae66 100644 --- a/themes/vue/source/css/_ad.styl +++ b/themes/vue/source/css/_ad.styl @@ -1,70 +1,67 @@ // main ad placement (bottom right) #ad - width: 125px - // text-align: center - position: fixed - z-index: 99 - bottom: 10px - right: 10px - padding: 10px - background-color: #fff - border-radius: 3px - font-size: 13px + width 125px + position fixed + z-index ($z-header - 1) + bottom 10px + right 10px + padding 10px + background-color #fff + border-radius 3px + font-size 13px a - display: inline-block - color: $light - font-weight: normal + display inline-block + color $light + font-weight normal span - color: $light - display: inline-block - margin-bottom: 5px + color $light + display block img - width: 125px + width 125px .carbon-img, .carbon-text - display: block - margin-bottom: 6px - font-weight: normal - color: $medium + display block + margin-bottom 4px + font-weight normal + color $medium .carbon-poweredby - color: #aaa - font-weight: normal + color #aaa + font-size 10px + letter-spacing .8px + text-transform uppercase + font-weight normal -// text ad (below page title) -.bsa-cpc - font-size 1em - background-color #f8f8f8 - a._default_ - text-align left - display block - padding 10px 15px 12px - margin-bottom 20px - color #666 - font-weight 400 - line-height 18px - .default-image, .default-title, .default-description - display inline - vertical-align middle - margin-right 6px - .default-image - img - height 20px - border-radius 3px - vertical-align middle - position relative - top -1px - .default-title +// text ad (end of the documentation) +#bsa-native + .native-box + box-shadow inset 0 0 0 1px hsla(0, 0%, 0%, .075) + background-color #f8f8f8; + color $medium + display flex + border-radius 3px; + padding .65em 1em + align-items center + margin-bottom 1.2em + .native-link + text-decoration none + display flex + align-items center + padding 10px 14px + .native-sponsor + background-color #41b983 + color #fff + font-size 12px + border-radius 2px + margin-right 1em + line-height 1 + padding 6px 10px font-weight 600 - .default-description:after - font-size .85em - content "Sponsored" - color $info - border 1px solid $info - border-radius 3px - padding 0 4px 1px - margin-left 6px - .default-ad - display none + text-transform uppercase + .native-text + font-weight normal + line-height 1.35 + text-align left + @media print #ad - display: none \ No newline at end of file + display none diff --git a/themes/vue/source/css/_common.styl b/themes/vue/source/css/_common.styl index 70522e9daf..9cee0a387f 100644 --- a/themes/vue/source/css/_common.styl +++ b/themes/vue/source/css/_common.styl @@ -36,7 +36,7 @@ code, pre -moz-osx-font-smoothing: initial code - color: #e96900 + color: #d63200 padding: 3px 5px margin: 0 2px border-radius: 2px @@ -48,7 +48,8 @@ em p word-spacing: 0.05em -a.button +a.button, +input.button padding: 0.75em 2em border-radius: 2em display: inline-block @@ -73,52 +74,9 @@ a.button color: $light border-color: #f6f6f6 -.highlight - overflow-x: auto - background-color: $codebg - padding: .4em 0 0 - line-height: 1.1em - border-radius: $radius - position: relative - table, tr, td - width: 100% - border-collapse: collapse - padding: 0 - margin: 0 - .gutter - width: 1.5em - .code - $code-line-height = 1.5em - pre - padding: 1.2em 1.4em - line-height: $code-line-height - margin: 0 - .line - min-height: $code-line-height - &.html, &.js, &.bash, &.css - .code:before - position: absolute - top: 0 - right: 0 - color: #ccc - text-align: right - font-size: .75em - padding: 5px 10px 0 - line-height: 15px - height: 15px - font-weight: 600 - &.html .code:before - content: "HTML" - &.js .code:before - content: "JS" - &.bash .code:before - content: "Shell" - &.css .code:before - content: "CSS" - #main position: relative - z-index: 1 + z-index: $z-base padding: 0 60px 30px overflow-x: hidden @@ -132,8 +90,6 @@ a.button &:hover .nav-dropdown display: block - &.language, &.ecosystem - margin-left: 20px .arrow pointer-events: none .nav-dropdown @@ -171,7 +127,6 @@ a.button border-top: 1px solid #eee a color: lighten($dark, 10%) - font-size: .9em display: block &:hover color: $green @@ -185,7 +140,7 @@ a.button height: 0 border-left: 4px solid transparent border-right: 4px solid transparent - border-top: 5px solid #ccc + border-top: 5px solid $light sup.beta.beta font-size: .6em @@ -216,4 +171,3 @@ sup.beta.beta h2+p page-break-before: avoid a:link:after, a:visited:after { content:" [" attr(href) "] "; } - diff --git a/themes/vue/source/css/_demo.styl b/themes/vue/source/css/_demo.styl index 3a712a3509..d83b11062b 100644 --- a/themes/vue/source/css/_demo.styl +++ b/themes/vue/source/css/_demo.styl @@ -4,8 +4,6 @@ padding: 25px 35px margin-top: 1em margin-bottom: 40px - font-size: 1.2em - line-height: 1.5em -webkit-user-select: none -moz-user-select: none -ms-user-select: none diff --git a/themes/vue/source/css/_header.styl b/themes/vue/source/css/_header.styl index 231427f9be..02f57c11f9 100644 --- a/themes/vue/source/css/_header.styl +++ b/themes/vue/source/css/_header.styl @@ -1,28 +1,63 @@ +@import "_settings" $header-height = 40px +red-dot-before(leftPos = -8px) + content: "" + width: 0 + height: 0 + border 2px solid $red + border-radius 50% + position: absolute + top: calc(50% - 1px) + left: leftPos + #header background-color: #fff - height: $header-height - padding: $heading-padding-vertical 60px + padding: $heading-padding-vertical 30px $heading-padding-vertical 60px position: relative - z-index: 100 + z-index: $z-header + display: flex + justify-content: space-between + box-sizing: border-box + +#v3-banner + background-color: #ffb731 + min-height: 40px + padding: $heading-padding-vertical 60px + z-index: $z-header - 1 + box-sizing: border-box + text-align: center + color: #333 + display: block + // display: none + + a + color: #34495e + font-weight: bold + .only-sm + display: none + margin: 0 5px + + @media screen and (max-width: 900px) + .hidden-sm + display: none + .only-sm + display: inline body.docs #header position: fixed width: 100% - top: 0 - #nav + top: 40px + #v3-banner position: fixed + width: 100% + top: 0 #nav list-style-type: none margin: 0 padding: 0 - position: absolute - right: 30px - top: $heading-padding-vertical - height: $header-height line-height: $header-height .break display: none @@ -31,6 +66,11 @@ body.docs position: relative margin: 0 .6em + .nav-dropdown-container + padding-right: .8em + &:last-child + padding-right: 0 + .nav-dropdown .nav-link &:hover, &.current @@ -45,16 +85,33 @@ body.docs border-bottom: 3px solid transparent position: absolute top: 50% - margin-top: -4px + transform: translateY(-50%) left: 8px + &.new::before + red-dot-before(8px) + a.badge-parent + padding-right 26px + position relative + sup.badge + position absolute + top -4px + margin-left 4px + background-color $green + color #fff + height 14px + font-size 10px + line-height 1 + font-weight bold + border-radius 4px + padding 3px 4px 0 .nav-link padding-bottom: 3px white-space: nowrap &:hover, &.current border-bottom: 3px solid $green - &.team - margin-left: 10px + &.new::before + red-dot-before() .new-label position: absolute @@ -107,9 +164,13 @@ body.docs width: 100% height: 40px background-color: #fff - z-index: 9 + z-index: $z-header display: none box-shadow: 0 0 2px rgba(0,0,0,.25) + pointer-events: none + transition: background-color 0.25s ease-in + > * + pointer-events: auto .menu-button position: absolute width: 24px @@ -122,7 +183,7 @@ body.docs position: absolute width: 30px height: 30px - background: url(../images/logo.png) center center no-repeat + background: url(../images/logo.svg) center center no-repeat top: 5px left: 50% margin-left: -15px @@ -130,4 +191,4 @@ body.docs @media print #header - display: none \ No newline at end of file + display: none diff --git a/themes/vue/source/css/_modal.styl b/themes/vue/source/css/_modal.styl index 74592ae44c..8310c75d16 100644 --- a/themes/vue/source/css/_modal.styl +++ b/themes/vue/source/css/_modal.styl @@ -2,17 +2,23 @@ box-sizing: border-box display: none position: fixed - width: 80% + width: 75% height: auto padding: .5em background-color: #f9f9f9 box-shadow: 0 0 10px rgba(0,0,0,.2) - z-index: 11 &.open display: block top: 50% left: 50% transform: translate(-50%, -50%) + z-index: $z-modal +.modal-text + margin-bottom 0.5em + text-align center + > a + color $green + font-weight 600 .overlay position: fixed top: 0 @@ -20,7 +26,7 @@ left: 0 right: 0 background: rgba(0,0,0,.2) - z-index: 10 + z-index: $z-overlay .stop-scroll overflow: hidden height: 100% diff --git a/themes/vue/source/css/_partners.styl b/themes/vue/source/css/_partners.styl new file mode 100644 index 0000000000..28ef83e078 --- /dev/null +++ b/themes/vue/source/css/_partners.styl @@ -0,0 +1,77 @@ +@import "_settings" +#partners + .partner + display: flex + padding: 25px 0 + border-bottom: 1px dotted #ddd + &:first-of-type + margin-top: 15px + &:last-of-type + border-bottom: none + .logo + flex: 0 0 125px + .profile + padding: 0 26px + flex: 1 + h3 + margin: 0 + font-size: 1.3em + p + margin-top: 0 + dl + margin: .6em 0 0 + dt, dd, ul, li + display: inline + padding: 0 + margin: 0 + line-height: 1.3 + dt + text-transform: uppercase + font-size: .84em + font-weight: 600 + &::after + content: "" + margin-right: 7px + i + width: 14px + text-align: center + &.fa-map-marker + font-size: 1.15em + &.fa-globe + font-size: 1.2em + &.fa-link + font-size: 1.05em + dd + font-weight: 600 + &::after + display: block + content: "" + margin-top: .6em + li + display: inline-block + &::after + display: inline-block + content: "·" + margin: 0 8px + &:last-child::after + content: "" + .social + a + color: #000 + display: inline-block + line-height: 1 + vertical-align: middle + margin-right: 4px + &.github + color: #000 + &.twitter + color: #1da1f3 + &.linkedin + color: #0077B5 + &.instagram + color: #C13584 + &.youtube + color: #f00 + i + vertical-align: text-bottom + font-size: 1.3em diff --git a/themes/vue/source/css/_scrimba.styl b/themes/vue/source/css/_scrimba.styl new file mode 100644 index 0000000000..be2cd296a5 --- /dev/null +++ b/themes/vue/source/css/_scrimba.styl @@ -0,0 +1,31 @@ +.scrimba, .vueschool + background-color #e7ecf3 + padding 1em 1.25em + border-radius 2px + color #486491 + position relative + a + color #486491 !important + position relative + padding-left 36px + &:before + content '' + position absolute + display block + width 30px + height 30px + top -5px + left -4px + border-radius 50% + background-color #73abfe + &:after + content '' + position absolute + display block + width 0 + height 0 + top 5px + left 8px + border-top 5px solid transparent + border-bottom 5px solid transparent + border-left 8px solid #fff diff --git a/themes/vue/source/css/_search-page.styl b/themes/vue/source/css/_search-page.styl new file mode 100644 index 0000000000..86648197c2 --- /dev/null +++ b/themes/vue/source/css/_search-page.styl @@ -0,0 +1,29 @@ +#search-page + .search-form + .search-query + width: 100% + border-radius: 5px + margin-right: 0 + .search-footer + display: flex + height: 35px + align-items: center + justify-content: space-between + margin-bottom: 15px + p + margin: 0 + padding: 0 + .search-result + margin-bottom: 15px; + .title + display: block + font-size: 17.55px + .summary + padding: 0 + margin: 0 + .breadcrumb + color: $light + & + .breadcrumb::before + content: "\203A\A0" + margin-left: 5px + color: $light diff --git a/themes/vue/source/css/_settings.styl b/themes/vue/source/css/_settings.styl index 700bf1e974..aedbe23134 100644 --- a/themes/vue/source/css/_settings.styl +++ b/themes/vue/source/css/_settings.styl @@ -4,13 +4,13 @@ $logo-font = "Dosis", "Source Sans Pro", "Helvetica Neue", Arial, sans-serif $code-font = "Roboto Mono", Monaco, courier, monospace // font sizes -$body-font-size = 15px -$code-font-size = .8em +$body-font-size = 1rem +$code-font-size = .85em // colors -$dark = #2c3e50 -$medium = #34495e -$light = #7f8c8d +$dark = #273849 +$medium = #304455 +$light = #4f5959 $green = #42b983 $border = #dddddd $codebg = #f8f8f8 @@ -18,15 +18,23 @@ $red = #ff6666 $info = #1C90F3 $radius = 2px -$content-padding-top = 30px +$content-padding-vertical = 35px // header settings $header-inner-height = 41px $heading-padding-vertical = 10px -$header-height = $header-inner-height + $heading-padding-vertical * 2 +$v3-banner-height = 40px +$header-height = $header-inner-height + $heading-padding-vertical * 2 + $v3-banner-height $mobile-header-height = 40px // prevent headers from being covered by the top nav upon navigation -$heading-link-padding-top = $header-height + $content-padding-top -$mobile-heading-link-padding-top = $mobile-header-height + $content-padding-top +$heading-link-padding-top = $header-height + $content-padding-vertical +$mobile-heading-link-padding-top = $mobile-header-height + $content-padding-vertical $h2-margin-top = 45px $h3-margin-top = 52px + +// z-index manifest +$z-base = 1 +$z-sidebar = 10 +$z-header = 20 +$z-overlay = 30 +$z-modal = 40 diff --git a/themes/vue/source/css/_sidebar.styl b/themes/vue/source/css/_sidebar.styl index 96e11a6c13..78a72dbcb1 100644 --- a/themes/vue/source/css/_sidebar.styl +++ b/themes/vue/source/css/_sidebar.styl @@ -2,7 +2,7 @@ .sidebar position: absolute - z-index: 10 + z-index: $z-sidebar top: $header-height left: 0 bottom: 0 @@ -21,14 +21,12 @@ margin-top: .5em .sidebar-inner width: 260px - padding: $content-padding-top + 10px 20px 60px 60px + padding: $content-padding-vertical 0px 60px 20px .version-select vertical-align: middle margin-left: 5px .menu-root padding-left: 0 - .menu-sub - font-size: .85em .sidebar-link color: $light &.current @@ -67,17 +65,16 @@ @media screen and (max-width: 900px) .sidebar position: fixed - z-index: 10 background-color: #f9f9f9 height: 100% - top: 0 + top: 40px left: 0 box-shadow: 0 0 10px rgba(0,0,0,.2) transition: all .4s cubic-bezier(0.4, 0, 0, 1) -webkit-transform: translate(-280px, 0) transform: translate(-280px, 0) .sidebar-inner - padding: 50px 10px 10px 20px + padding: 60px 10px 30px 20px box-sizing: border-box .sidebar-inner-index padding: 10px 10px 10px 20px @@ -92,4 +89,4 @@ @media print .sidebar - display: none \ No newline at end of file + display: none diff --git a/themes/vue/source/css/_sponsors-index.styl b/themes/vue/source/css/_sponsors-index.styl index 3290e2bcda..cff8226199 100644 --- a/themes/vue/source/css/_sponsors-index.styl +++ b/themes/vue/source/css/_sponsors-index.styl @@ -11,11 +11,15 @@ a margin: 20px 15px 0 position: relative - a, img - width: 100px display: inline-block - vertical-align: middle + &.sponsor + width: 100px + height: 60px + line-height: 60px img + max-width: 100% + max-height: 100% + vertical-align: middle transition: all .3s ease filter: grayscale(100%) opacity: 0.66 @@ -26,8 +30,7 @@ display: block margin: 30px auto 15px width: 200px - img - width: 200px + height: auto .become-sponsor margin-top: 40px font-size: .9em diff --git a/themes/vue/source/css/_sponsors-page.styl b/themes/vue/source/css/_sponsors-page.styl index 77b397e982..3acd36da9e 100644 --- a/themes/vue/source/css/_sponsors-page.styl +++ b/themes/vue/source/css/_sponsors-page.styl @@ -15,7 +15,8 @@ .patreon-sponsors a, img - width: 140px + max-width: 140px + max-height: 60px display: inline-block vertical-align: middle a @@ -23,8 +24,10 @@ .open-collective-sponsors img - max-height 80px - margin-right 20px + max-width 140px + max-height 60px + margin-right 30px + margin-bottom 20px #one-time-donations a, svg diff --git a/themes/vue/source/css/_sponsors-sidebar.styl b/themes/vue/source/css/_sponsors-sidebar.styl index 6c2d7c6e8b..ef823be91f 100644 --- a/themes/vue/source/css/_sponsors-sidebar.styl +++ b/themes/vue/source/css/_sponsors-sidebar.styl @@ -3,16 +3,19 @@ font-size: .85em .logo color: $light - margin-top: 10px - text-align: center + width: 125px + height: 50px font-weight: bold - display block + display flex + align-items center + justify-content center &:first-child - margin-top: 12px + margin-top: 18px &:last-child - margin-bottom: 14px - img, a - width: 125px + margin-bottom: 20px + img + max-width: 125px + max-height: 50px .become-backer border: 1px solid $green @@ -25,12 +28,18 @@ text-align: center margin-bottom: 20px -#sidebar-sponsors-special - margin-top -10px +#sidebar-sponsors-platinum-left + display block + +#sidebar-sponsors-platinum-right + display none + position fixed + z-index ($z-header - 1) + top 90px + right 20px @media screen and (min-width: 1300px) - #sidebar-sponsors-platinum - position fixed - z-index 99 - top 90px - right 20px + #sidebar-sponsors-platinum-left + display none + #sidebar-sponsors-platinum-right + display block diff --git a/themes/vue/source/css/_style-guide.styl b/themes/vue/source/css/_style-guide.styl index 85b40bc24d..cd1aa9038c 100644 --- a/themes/vue/source/css/_style-guide.styl +++ b/themes/vue/source/css/_style-guide.styl @@ -1,4 +1,4 @@ -$style-guide-bad-bg = lighten(desaturate($red, 80%), 80%) +$style-guide-bad-bg = lighten(desaturate($red, 50%), 80%) $style-guide-bad-text = darken(desaturate($red, 80%), 20%) $style-guide-good-bg = lighten(desaturate($green, 80%), 85%) $style-guide-good-text = darken(desaturate($green, 80%), 10%) diff --git a/themes/vue/source/css/_syntax.styl b/themes/vue/source/css/_syntax.styl index f756d07e50..98649da95a 100644 --- a/themes/vue/source/css/_syntax.styl +++ b/themes/vue/source/css/_syntax.styl @@ -1,77 +1,123 @@ -.gutter pre - color: #999 +figure.highlight + overflow-x auto + +figure.highlight > table + width 100% pre + border-radius: $radius + position: relative + +pre code + overflow-x: auto color: #525252 - .function .keyword, - .constant - color: #0092db - .keyword, - .attribute - color: #e96900 - .number, - .literal - color: #AE81FF - .tag, - .tag .title, - .change, - .winutils, - .flow, - .lisp .title, - .clojure .built_in, - .nginx .title, - .tex .special - color: #2973b7 - .class .title - color: white - .symbol, - .symbol .string, - .value, - .regexp - color: $green - .title - color: #A6E22E - .tag .value, - .string, - .subst, - .haskell .type, - .preprocessor, - .ruby .class .parent, - .built_in, - .sql .aggregate, - .django .template_tag, - .django .variable, - .smalltalk .class, - .javadoc, - .django .filter .argument, - .smalltalk .localvars, - .smalltalk .array, - .attr_selector, - .pseudo, - .addition, - .stream, - .envvar, - .apache .tag, - .apache .cbracket, - .tex .command, - .prompt - color: $green - .comment, - .java .annotation, - .python .decorator, - .template_comment, - .pi, - .doctype, - .deletion, - .shebang, - .apache .sqbracket, - .tex .formula - color: #b3b3b3 - .coffeescript .javascript, - .javascript .xml, - .tex .formula, - .xml .javascript, - .xml .vbscript, - .xml .css, - .xml .cdata - opacity: 0.5 + white-space: pre + padding: 1.2em 1.4em + font-size: .85rem + line-height: 1.6rem + display: block + + .hljs + &-tag, + &-tag &-title, + &-change, + &-winutils, + &-flow, + &-tex &-special + color: #2973b7 + + &-symbol, + &-symbol &-string, + &-value, + &-regexp + &-string, + &-subst, + &-haskell &-type, + &-preprocessor, + &-ruby &-class &-parent, + &-built_in, + &-sql &-aggregate, + &-django &-template_tag, + &-django &-variable, + &-smalltalk &-class, + &-javadoc, + &-django &-filter &-argument, + &-smalltalk &-localvars, + &-smalltalk &-array, + &-attr_selector, + &-pseudo, + &-addition, + &-stream, + &-envvar, + &-apache &-tag, + &-apache &-cbracket, + &-tex &-command, + &-prompt + color: $green + + &-function &-keyword, + &-constant + color: #0092db + + &-keyword, + &-attribute + color: #d63200 + + &-number, + &-literal + color: #a32eff + + &-class &-title + color: white + + &-title + color: #a6e22e + + &-tag &-value, + &-comment, + &-java &-annotation, + &-python &-decorator, + &-template_comment, + &-pi, + &-doctype, + &-deletion, + &-shebang, + &-apache &-sqbracket, + &-tex &-formula + color: #707070 + + &-coffeescript &-javascript, + &-javascript &-xml, + &-tex &-formula, + &-xml &-javascript, + &-xml &-vbscript, + &-xml &-css, + &-xml &-cdata + opacity: 0.5 + + &.hljs + &.html, &.js, &.bash, &.css + &::before + font-family: $body-font + position: absolute + top: 0 + right: 0 + color: #ccc + text-align: right + font-size: .9em + padding: 5px 10px 0 + line-height: 15px + height: 15px + font-weight: 600 + + &.html::before + content: "HTML" + + &.js::before + content: "JS" + + &.bash::before + content: "Shell" + + &.css::before + content: "CSS" diff --git a/themes/vue/source/css/_team.styl b/themes/vue/source/css/_team.styl index 86fa934ca8..023f5eb8f7 100644 --- a/themes/vue/source/css/_team.styl +++ b/themes/vue/source/css/_team.styl @@ -35,6 +35,7 @@ flex: 0 0 80px img border-radius: 50% + object-fit: cover .profile padding-left: 26px flex: 1 @@ -122,6 +123,8 @@ color: #000 &.twitter color: #1da1f3 + &.linkedin + color: #0077B5 i vertical-align: text-bottom font-size: 1.3em diff --git a/themes/vue/source/css/_themes.styl b/themes/vue/source/css/_themes.styl new file mode 100644 index 0000000000..dbaa2ed59e --- /dev/null +++ b/themes/vue/source/css/_themes.styl @@ -0,0 +1,66 @@ +$media-width = 1300px +$item-margin-bottom = 10px +$item-box-shadow = 0 2rem 1.5rem -1.5rem rgba(33,37,41,.15), 0 0 1.5rem 0.5rem rgba(33,37,41,.05) +$item-box-shadow-hover = 0 2.25rem 1.5rem -1.5rem rgba(33,37,41,.2),0 0 1.5rem .5rem rgba(33,37,41,.05); + +.themes-grid + display: flex + flex-wrap: wrap + justify-content space-between + .item-preview + width: 290px + margin-bottom 25px + .item-preview-img + transition: .15s box-shadow,.15s transform + border-radius: .5rem + box-shadow $item-box-shadow + overflow: hidden + display block + &:hover + transform: translateY(-0.25rem) + box-shadow: $item-box-shadow-hover + img + max-width: 100% + height: auto + border-radius: .5rem + vertical-align: middle + border-style: none + .item-preview-name-container + display flex + justify-content space-between + align-items center + h3.item-preview-name + margin-top: .7rem + margin-bottom: 0 + &.free::after + content: "FREE"; + display: inline-block + font-size: 10px + font-weight: 600 + color: #fff + background-color: $green + line-height: 14px + padding: 0 4px + border-radius: 3px + margin-left: 5px + vertical-align: middle + position: relative + top: -1px + .item-preview-price + margin-top: .7rem + .item-preview-description + font-size: .9rem + .see-more-container + text-align: center; + width: 100% + .see-more-link + color: $green + display: inline-block + width: auto + +@media screen and (max-width: $media-width) + .themes-grid + justify-content center + .item-preview + justify-content center + width: 380px diff --git a/themes/vue/source/css/_vue-mastery.styl b/themes/vue/source/css/_vue-mastery.styl new file mode 100644 index 0000000000..57ed75d303 --- /dev/null +++ b/themes/vue/source/css/_vue-mastery.styl @@ -0,0 +1,32 @@ +.vue-mastery + background-color #e7ecf3 + padding 1em 1.25em + border-radius 2px + color #486491 + position relative + margin-top 1em + a + color #486491 !important + position relative + padding-left 36px + &:before + content '' + position absolute + display block + width 30px + height 30px + top -5px + left -4px + border-radius 50% + background-color #73abfe + &:after + content '' + position absolute + display block + width 0 + height 0 + top 5px + left 8px + border-top 5px solid transparent + border-bottom 5px solid transparent + border-left 8px solid #fff \ No newline at end of file diff --git a/themes/vue/source/css/_vueschool.styl b/themes/vue/source/css/_vueschool.styl new file mode 100644 index 0000000000..1a4049dbef --- /dev/null +++ b/themes/vue/source/css/_vueschool.styl @@ -0,0 +1,314 @@ +@import "_settings" +$mobile-bar-height = 40px +$vs-banner-height-desktop = 72px +$vs-banner-height-mobile = 72px +$menu-height = 63px + +body.has-vs-banner + padding-top: $vs-banner-height-mobile + @media (min-width: 680px) + padding-top: $vs-banner-height-desktop + + #mobile-bar + top: $vs-banner-height-mobile + @media (min-width: 680px) + top: $vs-banner-height-desktop + + .sidebar + top: $vs-banner-height-mobile + $mobile-bar-height + @media (min-width: 680px) + top: $vs-banner-height-desktop + $mobile-bar-height + @media (min-width: 900px) + top: $vs-banner-height-desktop + $menu-height + + .content + padding-top: 85px + @media (min-width: 680px) + padding-top: 125px + @media (min-width: 900px) + padding-top: 35px + + &.docs + @media (min-width: 900px) + padding-top: 144px + + #vs-top + position: fixed + + #header + top: $vs-banner-height-mobile + @media (min-width: 680px) + top: $vs-banner-height-desktop + + #sidebar-sponsors-platinum-right + @media (min-width: 900px) + top: 160px + +#vs-top.vs-hidden { + display: none; +} + +/*******************************************************/ + +#vs-top { + display: block; + box-sizing: border-box; + height: 72px; + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 100; + line-height: 1; +} + +#vs-top .vs-background-wrapper { + align-items: center; + justify-content: center; + display: flex; + padding: 0 10px; + height: 100%; + width: 100%; +} + +#vs-top:hover { + text-decoration: none; +} + +#vs-top:hover .vs-core .vs-button { + background-image: linear-gradient(to bottom, #5ccc45, #419E2D), linear-gradient(to bottom, #388f26, #50b83b); +} + +#vs-top .vs-logo { + position: absolute; + left: 10px; + width: 36px; + height: 42px; + background-size: contain; + background-position: center; + background-repeat: no-repeat; +} + +#vs-top .vs-core { + display: flex; + align-items: center; + width: 288px; +} + +#vs-top .vs-core .vs-slogan-wrapper { + text-align: center; + width: 184px; + margin: 0 auto; +} + +#vs-top .vs-core .vs-slogan { + font-weight: bold; + font-size: 12px; + font-family: 'Roboto', Arial, sans-serif; +} + +#vs-top .vs-core .vs-subline { + font-size: 10px; + font-family: 'Roboto', Arial, sans-serif; + text-align: center; +} + +#vs-top .vs-core .vs-button-wrapper { + padding: 2px; + background-image: linear-gradient(to bottom, #388f26, #50b83b); + border-radius: 60px; + overflow: hidden; +} + +#vs-top .vs-core .vs-button { + background-image: linear-gradient(to bottom, #5ccc45, #368c24), linear-gradient(to bottom, #388f26, #50b83b); + border-radius: 60px; + color: #FFF; + padding: 8px 6px; + font-weight: bold; + text-transform: uppercase; + text-align: center; + font-size: 10px; + letter-spacing: 0.3px; + white-space: nowrap; +} + +#vs-top .vs-close { + right: 0; + position: absolute; + padding: 10px; +} + +#vs-top .vs-close:hover { + color: #56d8ff; +} + +@media (min-width: 680px) { + #vs-top .vs-core { + width: auto; + } + + #vs-top .vs-core .vs-slogan-wrapper { + margin: 0 12px 0 0; + width: 288px; + } + + #vs-top .vs-core .vs-slogan { + font-size: 17px; + } + + #vs-top .vs-core .vs-subline { + font-size: 12px; + margin-top: 4px; + } + + #vs-top .vs-core .vs-button { + font-size: 13px; + padding: 8px 15px; + } +} + +@media (min-width: 1280px) { + #vs-top .vs-logo { + left: 20px; + width: 104px; + } + + #vs-top .vs-core { + margin-right: 0; + } + + #vs-top .vs-core .vs-slogan-wrapper { + width: auto; + } + + #vs-top .vs-core .vs-subline { + font-size: 15px; + } +} + +/* FREE_WEEKEND +******************************************/ + +#vs-top.FREE_WEEKEND { + color: #FFF; + background: linear-gradient(to left, #161a35, #283065); +} + +#vs-top.FREE_WEEKEND .vs-logo { + background-image: url('https://vueschool.io/images/mark-vueschool-white.svg'); +} + +#vs-top.FREE_WEEKEND .vs-core .vs-slogan { + color: #fff; +} + +#vs-top.FREE_WEEKEND .vs-core .vs-slogan strong { + color: #ff2556; +} + +#vs-top.FREE_WEEKEND .vs-core .vs-subline { + color: #c6cdf7; +} + +#vs-top.FREE_WEEKEND .vs-background-wrapper { + background-image: url('https://vueschool.io/images/banners/assets/FREE_WEEKEND/bg-mobile.png'); + background-repeat: no-repeat; + background-size: cover; + background-position: top right; +} + +@media (min-width: 680px) { + #vs-top.FREE_WEEKEND .vs-background-wrapper { + background-image: url('https://vueschool.io/images/banners/assets/FREE_WEEKEND/bg-tablet.svg'); + } +} + +@media (min-width: 1280px) { + #vs-top.FREE_WEEKEND .vs-logo { + background-image: url('https://vueschool.io/images/icons/logo-white.svg'); + } + + #vs-top.FREE_WEEKEND .vs-background-wrapper { + background-image: url('https://vueschool.io/images/banners/assets/FREE_WEEKEND/bg-desktop.svg'); + background-position: top right -60px; + } +} + +/* LEVELUP2022 +******************************************/ + +#vs-top.LEVELUP2022 { + color: #121733; + background: #EEF5FF; +} + +#vs-top.LEVELUP2022 .vs-logo { + background-image: url('https://vueschool.io/images/mark-vueschool.svg'); +} + +#vs-top.LEVELUP2022 .vs-core .vs-slogan { + color: #121733; +} + +#vs-top.LEVELUP2022 .vs-core .vs-slogan strong { + color: #ff2556; +} + +#vs-top.LEVELUP2022 .vs-core .vs-subline { + color: #394170; +} + +#vs-top.LEVELUP2022 .vs-core .vs-subline strong { + color: #48aa34; +} + +#vs-top.LEVELUP2022 .vs-background-wrapper { + background-image: url('https://vueschool.io/images/banners/assets/LEVELUP2022/bg-mobile.png'); + background-repeat: no-repeat; + background-size: cover; + background-position: top right; +} + +#vs-top.LEVELUP2022 .vs-core .vs-button-wrapper { + background-image: linear-gradient(to bottom, #d71b46, #fd2455); +} + +#vs-top.LEVELUP2022 .vs-core .vs-button { + background-image: linear-gradient(to bottom, #ff2556, #d51b44), linear-gradient(to bottom, #d71b46, #fd2455); +} + +@media (min-width: 680px) { + #vs-top.LEVELUP2022 .vs-background-wrapper { + background-image: url('https://vueschool.io/images/banners/assets/LEVELUP2022/bg-tablet.png'); + } + + #vs-top.LEVELUP2022 .vs-core .vs-slogan-wrapper { + width: 458px; + } +} + +@media (min-width: 1280px) { + #vs-top.LEVELUP2022 .vs-logo { + background-image: url('https://vueschool.io/images/icons/logo.svg'); + } + + #vs-top.LEVELUP2022 .vs-background-wrapper { + background-image: + url('https://vueschool.io/images/banners/assets/LEVELUP2022/bg-desktop-left.png'), + url('https://vueschool.io/images/banners/assets/LEVELUP2022/bg-desktop-right.png'); + background-position: + top left -120px, + top right -120px; + background-size: contain; + background-repeat: no-repeat; + } +} + +@media (min-width: 1536px) { + #vs-top.LEVELUP2022 .vs-background-wrapper { + background-position: + top left, + top right; + } +} \ No newline at end of file diff --git a/themes/vue/source/css/index.styl b/themes/vue/source/css/index.styl index ba607920ed..2f74a7a6ad 100644 --- a/themes/vue/source/css/index.styl +++ b/themes/vue/source/css/index.styl @@ -3,6 +3,8 @@ @import "_sidebar" @import "_sponsors-index" @import "_modal" +@import "_themes" +@import "_vueschool.styl" $width = 900px $space = 40px @@ -23,10 +25,17 @@ body &.top background-color: transparent box-shadow: none - .logo - display: none + z-index: ($z-sidebar - 1) -#hero +.with-v3-banner + #mobile-bar .logo + display: none !important + +#v3-banner + display: block + +#hero, +#news padding: $space 40px 30px background-color: #fff .inner @@ -71,7 +80,39 @@ body vertical-align: middle margin-right: 15px -#special-sponsor +#news + padding: $space 20px 70px + text-align: center + p + margin-top: 10px + a + color: $green + .newsletter-form + position: relative + max-width: 550px + margin: 0 auto + box-sizing: border-box + .newsletter-input + width: 100% + box-sizing: border-box + padding: 10px 80px 10px 20px + height: 50px + border-radius: 50px + border: 1px solid #ccc + font-size: 16px + &:focus + outline: none + border-color: #42b983 + .newsletter-button.button + position: absolute + padding: 4px 20px + margin: 0 + height: calc(100% - 8px) + right: 4px + top: 4px + cursor: pointer + +#special background-color: #fff text-align: center padding-bottom: 30px @@ -79,12 +120,16 @@ body margin 0 a color $light - margin 8px 0 + width: 160px + height: 80px + line-height: 80px a, span, img display: inline-block vertical-align: middle img - margin: 0 15px + margin: 15px 0 0 + max-width: 100% + max-height: 100% #highlights background-color: #fff diff --git a/themes/vue/source/css/page.styl b/themes/vue/source/css/page.styl index cb04800821..21982c599b 100644 --- a/themes/vue/source/css/page.styl +++ b/themes/vue/source/css/page.styl @@ -5,12 +5,18 @@ @import "_demo" @import "_sponsors-page" @import "_sponsors-sidebar" +@import "_search-page" @import "_migration" @import "_sidebar" @import "_offline-menu" @import "_team" +@import "_partners" @import "_style-guide" @import "_modal" +@import "_scrimba" +@import "_vue-mastery" +@import "_themes" +@import "_vueschool.styl" #header box-shadow: 0 0 1px rgba(0,0,0,.25) @@ -18,8 +24,8 @@ .content position: relative - padding: 2.2em 0 - max-width: 600px + padding: $content-padding-vertical 0 + max-width: 700px margin: 0 auto padding-left: 50px &.api @@ -36,7 +42,7 @@ font-size: .9em color: #fff margin: .2em 0 - width: 180px + width: 200px text-align: center padding: 12px 24px display: inline-block @@ -92,11 +98,15 @@ margin: 1.2em 0 -1.2em padding-bottom: 1.2em position: relative - z-index: 1 + z-index: $z-base ul, ol padding-left: 1.5em // FIX: Some link click targets are covered without this position: inherit + // FIX: For nested lists, the top margins on ul/ol + // creates extra space at the top. (Issue: 1308) + ul, ol + margin: 0 a color: $green font-weight: 600 @@ -131,7 +141,7 @@ code background-color: #efefef p - &.tip, &.success + &.tip, &.success, &.info padding: 12px 24px 12px 30px margin: 2em 0 border-left-width: 4px @@ -162,12 +172,21 @@ &:before content: "!" background-color: $red + &.info + border-left-color: $green &.success border-left-color: $green &:before content: "\f00c" font-family: FontAwesome background-color: $green + &.warning + border-left-color: orange + &:before + background-color: orange + + &.v3-warning + margin-top: 0 .guide-links margin-top: 2em @@ -178,7 +197,6 @@ margin-top: 2em padding-top: 2em border-top: 1px solid #e5e5e5 - font-size: .9em #main.fix-sidebar position: static @@ -187,13 +205,13 @@ @media screen and (min-width: 1590px) #header - background-color: rgba(255,255,255,.4) + background-color: #fff @media screen and (max-width: 1300px) .content.with-sidebar margin-left: 290px #ad - z-index: 1 + z-index: $z-base position: relative padding: 0 bottom: 0 @@ -254,4 +272,4 @@ &.tip background-color: rgb(255,255,255) border: 2px solid #e8e8e8 - border-left: 4px solid $red \ No newline at end of file + border-left: 4px solid $red diff --git a/themes/vue/source/css/search.styl b/themes/vue/source/css/search.styl index 33d38ede62..1d3499ca83 100644 --- a/themes/vue/source/css/search.styl +++ b/themes/vue/source/css/search.styl @@ -2,6 +2,10 @@ $border = #ddd +@media (max-width: 900px) + .algolia-autocomplete + position: fixed!important + .algolia-autocomplete line-height: normal diff --git a/themes/vue/source/images/100offer.png b/themes/vue/source/images/100offer.png deleted file mode 100644 index 4f7f4fe9c0..0000000000 Binary files a/themes/vue/source/images/100offer.png and /dev/null differ diff --git a/themes/vue/source/images/2mhost.png b/themes/vue/source/images/2mhost.png deleted file mode 100644 index 8569af1692..0000000000 Binary files a/themes/vue/source/images/2mhost.png and /dev/null differ diff --git a/themes/vue/source/images/Monterail.png b/themes/vue/source/images/Monterail.png new file mode 100644 index 0000000000..bd4684dbe3 Binary files /dev/null and b/themes/vue/source/images/Monterail.png differ diff --git a/themes/vue/source/images/accelebrate.png b/themes/vue/source/images/accelebrate.png new file mode 100644 index 0000000000..72a70559ba Binary files /dev/null and b/themes/vue/source/images/accelebrate.png differ diff --git a/themes/vue/source/images/actualize.png b/themes/vue/source/images/actualize.png deleted file mode 100644 index 08a918e77d..0000000000 Binary files a/themes/vue/source/images/actualize.png and /dev/null differ diff --git a/themes/vue/source/images/alligator_io.svg b/themes/vue/source/images/alligator_io.svg new file mode 100644 index 0000000000..bca6635908 --- /dev/null +++ b/themes/vue/source/images/alligator_io.svg @@ -0,0 +1 @@ +<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 530 161"><style>.st0{fill:#3E295E;} .st1{fill:#F8EB32;} .st2{fill:none;stroke:#211E1F;stroke-miterlimit:10;} .st3{fill:#FFFFFF;} .st4{fill:#449A46;} .st5{fill:#338841;} .st6{fill:#F0BC35;}</style><path class="st0" d="M274.7 123.1c-6.4 0-12.2-1.9-17.7-3.7-1.5-.5-3.1-1-4.7-1.5-6.6-2-13.5-4-21.2-4.6-1.2-.1-2.3-.1-3.4-.1-3.8 0-7.1.6-9.6 1.8-.7.3-1.4.9-2.1 1.6-.8.7-1.7 1.6-2.4 1.6h-.1c-.6-.1-.6-.3-.7-.5-.3-.9.3-2.6 1-3.4 2.4-2.8 6.9-4.8 12.5-5.8h.1c2.2-.5 3.5-1.4 4.6-2.2 1.1-.8 2.1-1.4 3.8-1.6h.6c.8 0 .9.2 1.4 1.1.4.7.8 1.6 1.8 2.3h.1c.1.1.3.1.4.1.7.1 1.5.2 2.2.3h.5c1.1-.3 2.2-.9 3.1-1.5.6-.4 1.1-.7 1.5-.9.9-.4 1.7-.6 2.2-.6.9 0 1.5.6 3 2.1 1.6 1.7 3 2.5 4.6 2.5 1.5 0 2.8-.8 4-1.7 1.2-.9 2.4-1.7 4-1.7h.6c1.3.2 2.6 1.6 3.9 3 1.6 1.8 3.2 3.6 5.5 3.6 1.3 0 2.5-.6 3.8-1.8.8-.8 1.3-1.7 1.7-2.4.7-1.2 1.1-2 2.5-2.4.2-.1.5-.1.7-.1 1 0 1.9.5 2.9 1.1 1 .5 2 1.1 3.3 1.3.4.1.8.1 1.3.1 1.2 0 2.5-.2 4.1-.8 1.2-.4 2.4-.9 3.5-1.3l.4-.2c.1-.1.2-.1.4-.2 6.3-5.8 9.7-13.6 10.5-24.1 0-.5-.2-.9-.6-1.1-.2-.1-.4-.2-.6-.2-.2 0-.4.1-.6.2-.7.5-1.5 1-2.3 1.6-3.2 2.2-7.2 5-11.3 5-.9 0-1.8-.1-2.7-.4-2.4-.8-3.9-2.4-4.6-4.9-1.4-5 1.1-11.6 4.2-15.2 3.4-3.9 10.6-8 17.2-8 3 0 5.6.8 7.8 2.5.2.2.5.2.7.2h.3c.5-.1.9-.2 1.3-.2.7 0 1 .2 1.1.4.7.9.6 3.2-.3 6.3-.3 1-.7 2.1-1 3.2-.5 1.6-1.1 3-1.3 4.4-.4 2.1-.5 4-.6 5.9-.1 1.5-.2 3-.4 4.4-1.5 10.1-4.5 17-9.6 22.6-5.4 5.9-14.9 13.1-29.1 14.1-.7-.2-1.5-.2-2.2-.2zm34.8-58.9c-8 .1-17.7 6.3-18.1 14.1v.2c-.1.9-.1 2.2.9 3.4.2.3.6.4.9.4h.2c10-2 14.4-9.8 17.2-16.3.2-.4.1-.8-.1-1.2-.2-.3-.6-.6-1-.6zM209 95.2c-3.2 0-5.5-2.9-5.5-7.1 0-.5-.3-.9-.7-1.1-.2-.1-.4-.1-.5-.1-.3 0-.5.1-.7.2-.4.3-.7.5-1.1.8-2.9 2.2-6.3 4.6-10.5 5.2-.7.1-1.4.1-2 .1-3.9 0-7.1-1.7-8.9-4.7-1.9-3.2-1.8-7.3.4-11.2 3.4-6.2 12.8-13.5 21.9-14.2.4 0 .9-.1 1.3-.1 2.4 0 4 .6 6 1.6.2.1.4.1.6.1.4 0 .8-.2 1-.5 1.4-2.1 1.7-3.9.9-5.3-1-1.9-3.7-2.9-8.1-2.9-2.4 0-5 .3-7.4.8-3.2.7-6.4 1.5-8.2 2.6-.9.6-1.3 1.2-1.6 1.6-.1.1-.2.3-.2.3-.6.3-1.4.5-2.1.5-1.3 0-2.7-.6-2.8-1.8-.2-3.3 7.3-6.1 10.1-7.2 4.8-1.8 10.2-2.8 14.6-2.8 4.2 0 9.8.9 12 5.5 2.2 4.5-.1 10.2-2 14.8-.3.8-.6 1.6-.9 2.3l-.4 1.1c-1.4 3.8-2.8 7.3-3.5 12.7-.1.4.1.8.4 1.1.2.2.5.3.8.3.1 0 .3 0 .4-.1 2-.7 3.4-2.1 4.8-3.6l1.3-1.3c.3-.3.8-.7 1.2-1.1 1.7-1.4 3.6-3.1 4.2-5 .4-1.2.4-2.5.5-3.8 0-.7 0-1.4.1-2.1 1.6-11.9 4.9-28.2 14.9-32.7.8-.3 1.5-.5 2.3-.5 2.9 0 5.5 2.6 5.7 5.8.2 3.2-1.3 7-2.5 10.1l-.1.2c-2.9 7.5-6.8 14.2-12.2 21.2-.1.2-.4.5-.7.8-.9 1-2.1 2.2-2.4 3.5-.8 3.6 1.7 6.7 2.5 7.7.2.3.6.5.9.5.1 0 .2 0 .3-.1 4.7-1.4 7.5-4.7 10.2-7.8l2.1-2.4c.2-.2.3-.5.3-.8.4-9.2 2.3-25.7 10.7-33.8 1.5-1.4 4.8-3.8 8-3.8 1.1 0 2 .3 2.8.9 1.6 1.2 2.3 3.5 2 6.5-.6 5.6-3.6 10.7-6.6 15.6-.4.6-.7 1.2-1.1 1.8-2.8 4.8-6.2 9.7-10.2 15.1-.2.3-.3.6-.2.9.1 1 .2 2 .2 3.2.1 1.7.1 3.6.6 5 .2.5.6.8 1.2.8h.3c8.1-2.1 14.3-10.4 17.3-15.2l.9-1.5c.9-1.5 2-3.4 3-3.7.3-.1.5-.1.8-.1 1.4 0 2.5 1.1 2.7 1.8.2 1.2-.3 2.3-1 3.5-.2.4-.4.8-.6 1.3l-.1.2c-1.3 2.8-2.4 5.3-1.9 9.6.1.6.5 1 1 1.1.3 0 .5.1.8.1 2.3 0 3.4-1.5 4.2-2.5.7-.9 1-1.3 1.7-1.3.6 0 1.4.6 1.4 1.2.1 1-.4 2.2-1.5 3.3-2 2.2-5.5 3.8-8.3 3.8-2.3 0-3.9-1.1-4.7-3.1-.1-.4-.4-.6-.8-.7h-.3c-.3 0-.5.1-.7.3-.5.4-1 .8-1.6 1.3-3 2.5-7.1 5.9-11.3 6.4-.5.1-.9.1-1.4.1-4.8 0-6.2-4.1-6.6-6.5-.1-.4-.3-.8-.7-.9-.2-.1-.3-.1-.5-.1s-.5.1-.7.2c-.4.3-.9.7-1.4 1-2.8 2.1-6.6 4.9-10.4 4.9-1.2 0-2.4-.3-3.5-.9-2-1.1-3.2-3.1-4.4-5.9-.1-.3-.4-.5-.7-.6-.1 0-.3-.1-.4-.1-.2 0-.4 0-.5.1-1.6.8-3.3 2.3-5.2 4-2.2 1.9-4.4 4-6.5 4.9-.9.5-1.7.7-2.5.7zm-6.2-26c-1 0-2.1.1-3.1.4-5.1 1.3-12.3 6-14.8 10.9-.9 1.7-1.1 3.5-.7 5.1.1.3.2.5.5.6.9.6 2.1 1 3.6 1 1.2 0 2.3-.2 2.9-.4 3.8-1 7.1-3.3 10-5.4 1.3-.9 2.6-1.8 3.8-2.5.3-.2.5-.5.6-.9.2-1 .5-1.8.8-2.7.5-1.3 1-2.6 1.1-4.3 0-.5-.3-1-.8-1.2-1.3-.4-2.6-.6-3.9-.6zm59.6-23.8c-.2 0-.5.1-.7.2-5.3 3.8-7.4 11.3-8.3 17-.1.6.3 1.2.8 1.3.1 0 .3.1.4.1.4 0 .9-.2 1.1-.7l2.1-3.9c2.1-3.8 4.3-7.8 5.8-12.5.2-.5 0-1-.5-1.3-.2-.1-.5-.2-.7-.2zm-22.2-1.1h-.4c-.2.1-.5.2-.6.4-3.6 3.8-6.3 10.3-7.4 17.8-.1.6.3 1.1.8 1.3.1 0 .3.1.4.1.4 0 .8-.2 1-.6 3.6-6.1 6-11.5 7.5-17 0-.1.1-.3 0-.4.1-1.6-1.1-1.6-1.3-1.6zm88 49.3c-2.1 0-3.7-.7-4.8-2.1-1.3-1.6-1.6-4-.9-6.8 2-8.1 9.7-16.7 20.3-16.7 1.4 0 2.8.2 4.2.5h.3c.4 0 .8-.2 1-.5.8-1.2 1.2-2.7 1.2-4.7 0-.4-.2-.8-.5-1-1.3-.8-2.9-1.3-4.9-1.3-1.5 0-3.2.2-5 .7-2.9.8-6 2.1-7.8 3.4-.5.3-.8.7-1.2 1.1-.5.5-.9.9-1.3 1h-.3c-.9 0-1.8-.6-2-1.2-.6-2.8 3.5-5.5 6-6.8 3.8-2 7.8-3.2 11.6-3.3h.7c5.7 0 9.5 2.4 10.1 6.4.6 4-.6 7.2-2 10.6-1.4 3.5-2.8 7-2.4 11.8 0 .3.2.6.4.8.5.5 1 .8 1.4 1 .7.4.8.5.8.8.1.7-.2 1.6-.8 2.4-.7.9-1.6 1.5-2.4 1.6h-.5c-3.3 0-4.1-4.4-4.3-5.3-.1-.4-.3-.7-.7-.9-.2-.1-.3-.1-.5-.1s-.4.1-.6.2c-1.2.7-2.4 1.7-3.8 2.8-3 2.4-6.4 5.1-10.2 5.6h-1.1zm17.1-21.4h-.1c-8.8.7-14.6 5.4-17.8 14.3-.2.4 0 .9.3 1.3.2.2.5.4.9.4.1 0 .3 0 .4-.1 4.5-1.6 8-4.1 11.4-6.6 1.5-1.1 3.1-2.2 4.7-3.2.3-.2.5-.5.6-.9.1-.6.3-1.2.4-1.8.2-.6.4-1.2.5-2 .1-.4-.1-.7-.3-1-.4-.2-.7-.4-1-.4zm48.5 21.2c-6.6 0-10-5.1-10.6-10.2-.5-4.8 1.1-9.9 4.1-13.3 1.6-1.7 4.3-3.8 8.2-3.8h.9c.5 0 1-.3 1.2-.9.9-2.9 4.1-5.3 7.2-5.3 1.2 0 2.3.3 3.3 1 2.8 1.8 4.9 5.9 4.9 10 0 .3.1.6.4.9.2.2.5.3.8.3h.1c1.8-.1 3.3-.3 4.6-.9.3-.1.5-.4.6-.6.3-.8.5-1.7.6-2.5.1-.6.2-1.3.4-1.8.1-.4 0-.9-.2-1.2-.4-.5-.9-.8-1.3-1.1-.8-.6-1-.8-1.1-1.4 0-.7.1-1.2.4-1.6.4-.4 1-.6 1.9-.6 1.6 0 3.6.8 4.7 1.9.4.4.9 1.1.9 1.8 0 .4.2.8.6 1.1.2.1.4.2.6.2.2 0 .4 0 .6-.1 1.2-.6 2.2-1.4 3.4-2.3 2.2-1.7 4.4-3.5 7.5-3.5.6 0 1.2.1 1.8.2 2.4.5 3.5 2.9 3.3 5-.2 1.9-1.5 4-4.7 4-.4 0-.9 0-1.4-.1-.4-.1-.8-.3-1.2-.5-.7-.4-1.4-.8-2.3-.8h-.1c-2.3.1-4.1 2.5-5.8 4.5-.8 1-1.5 2-2.1 2.3-.3.2-.5.5-.5.9-.2 1.7-.4 3.3-.7 5-.1.6-.2 1.2-.3 1.7-.1.8-.3 1.6-.5 2.4-.4 1.5-.8 3.1-.6 4.5.1.7.3 1.2.5 1.6.1.3.3.5.2.7 0 1.5-1.5 1.6-2.1 1.6-1.1 0-2.1-.5-2.5-1.1-1.6-2.4-1.2-7.3-.8-11.3.1-1.6.3-3.1.3-4.3 0-.6-.4-1.1-1-1.2h-.5c-.6 0-1.3.2-1.9.4-.6.2-1.2.4-1.8.4-.6 0-1.1.4-1.2 1-1.6 7.8-8.2 16.1-17.7 16.9-.4.1-.8.1-1.1.1zm2.1-24.1c-.5 0-1 .1-1.5.4-2.5 1.4-5.5 4.9-6.5 9.1-.7 2.9-.3 5.5 1.1 7.7.5.8 2.3 2.1 3.1 2.2.6.1 1.1.1 1.7.1 7.3 0 12.3-6.1 13.9-11.8.1-.3 0-.7-.2-1-.2-.3-.5-.5-.9-.5-3.1-.3-5.6-1.5-7.2-3.2-.2-.3-.5-.6-.7-.9-.6-1-1.4-2.1-2.8-2.1zm8.8-4.7h-.4c-1.4.2-2.2 1.2-2.1 2.6.1 2.1 2.3 4.6 4.7 4.6.2 0 .4 0 .6-.1.3-.1.6-.3.8-.5.2-.3.2-.6.2-1-.1-.2-.1-.5-.2-.8-.5-1.8-1.1-4.8-3.6-4.8zm44.1 26.1c-2 0-4.3-1-4.5-3.1-.3-3.6 2.8-4.4 4.1-4.6.3 0 .7-.1 1-.1 2.2 0 3.8 1.1 4.1 2.7.3 1.4.1 2.5-.6 3.4-.9 1.1-2.4 1.7-4.1 1.7zm-78.6-1.1h-.3c-2.4-.1-3.8-1.4-5.4-3.3-.2-.3-.6-.5-1-.5s-.7.2-1 .5c-.6.8-2.5 1.8-4.1 1.8-1.6 0-1.8-.9-1.8-1.7 0-.8.2-1 1-1.5.4-.2.8-.5 1.2-.8 1-.8 1.6-2 2.1-2.9.3-.6.6-1.1.8-1.3.2-.2.4-.5.4-.9.2-14.1.4-33.3 10.4-38.7.9-.5 1.9-.7 3-.7 1.5 0 3 .5 4 1.3 6.4 5.7.1 17.3-3.3 23.5-.2.4-.4.7-.6 1-.2.4-.2 1 .1 1.4.2.3.6.4.9.4.1 0 .3 0 .4-.1 1.1-.4 2.2-.6 3-.6.7 0 1.2.1 1.5.4.2.2.2.7.2 1-.2 1.4-3.1 2.1-5.4 2.7-1.4.3-2.8.6-3.8 1.1-.3.2-.6.5-.6.8-.2.7-1 1.9-1.8 2.9-1.2 1.5-2.3 3.1-2.6 4.6-.4 2.3.9 5.5 3 6.1.3.1.7.1 1 .1 1.2 0 2.1-.5 3-1 .6-.3 1.1-.6 1.6-.6.7 0 1.3.8 1.3 1.3 0 .4-.3.8-.6 1.1-1.3 1.4-4.3 2.6-6.6 2.6zm5.3-44.6c-.2 0-.5.1-.7.2-5.3 3.5-6.5 11.6-7 20 0 .6.4 1.1 1 1.3h.2c.5 0 1-.3 1.1-.8.6-1.6 1.6-3.4 2.6-5.3 2.4-4.3 5.1-9.1 3.9-14.4-.1-.4-.4-.7-.7-.9-.1 0-.2-.1-.4-.1zM278 63.2c-1.1 0-2.1-.4-2.7-1.1-.6-.7-.8-1.8-.6-3 .2-1.2 1.8-3.7 2.5-4.1.1 0 .3 0 .5-.1h1c2 0 2.8 1.6 3.1 2.2.6 1.5.4 3.7-1.3 5.2-.6.6-1.5.9-2.5.9zM490.5 89.6c-.4 0-.9 0-1.3-.1-3.8-.4-6.8-2.8-8.4-7-2.6-6.4-1.4-15.2 2.8-19.9 1.2-1.3 3.7-2.9 5.4-3h.1c.5 0 1 .2 1.7.3.6.2 1.3.4 2 .4h.5c.6 0 1.1-.1 1.6-.1.5-.1.9-.1 1.4-.1h.4c3.9.5 6.7 2.8 8.1 6.8.2.5.6.8 1.1.8.1 0 .3 0 .4-.1 1.7-.6 2.5-2 3.3-3.3.9-1.5 1.3-2.1 2.3-2.1.7 0 1 .1 1.1.3.2.3.1 1.6-1.5 4.1l-.2.3c-.6.9-1.6 2.5-2.2 3.2-.2.3-.7.6-1.1.9-.9.6-1.7 1.3-2.1 2.2-.4.9-.5 1.9-.6 2.8-.1.5-.1.9-.2 1.2-1.9 6.2-7 12.4-14.6 12.4zm-2.7-23.1c-.3 0-.7.1-.9.4-2.3 2.4-3.3 8.8-2.1 13.1.7 2.6 2.2 4.2 4.2 4.7.6.1 1.1.2 1.7.2 4.3 0 7.6-4.2 8.7-8.3.1-.3 0-.7-.2-1-.2-.3-.5-.5-.9-.5-4.9-.3-7.8-2.8-9.4-7.7-.1-.4-.5-.7-.9-.8-.1-.1-.2-.1-.2-.1zm7-1.3c-.5 0-1.1.1-1.6.2-.6.1-1.1.8-.9 1.4.7 3.4 3.9 4.2 6.1 4.6h.2c.3 0 .6-.1.9-.4.3-.3.4-.7.3-1.1-.8-4.1-3.5-4.7-5-4.7zM468 89.6c-.9 0-1.7-.3-2.5-.9-3.2-2.6-1.7-8.9-.4-13.9.3-1.4.7-2.7.9-3.9.1-.5-.1-1-.6-1.3-.2-.1-.3-.2-.5-.3-1.1-.6-1.4-.8-1.2-2.1.2-1.1 3.9-5 5.1-5.3.3-.1.7-.2 1-.2.7 0 1.3.3 1.8.9.5.6.8 1.5.8 2.5 0 2.7-.7 5.5-1.5 8.5-.8 3.1-1.7 6.4-1.7 9.7 0 .4.1.7.4.9.2.2.5.3.8.3h.2c2-.3 3-1.7 3.7-2.7.7-1.1 1.1-1.5 1.9-1.5.2 0 .9 0 1 .3.3.6-.4 2.5-1.4 3.8-1.7 2-4.9 5.2-7.8 5.2zm2.7-34.1c-1.4 0-3-.8-3.2-2.6-.2-1.4.1-3.1 2.2-3.4h.4c1.4 0 2.9 1.1 3.2 2.3.3 1.2.1 2.1-.4 2.7-.5.7-1.3 1-2.2 1z"/><g><path class="st1" d="M77.1 145.2c-.7 0-1.4-.2-2-.6-1.4-.8-2.1-2.4-1.8-4 0-.2 3-17.6-2-28.2-3.1-6.5-6.6-7.7-12.9-9.8-3.2-1.1-6.9-2.3-11-4.6-7-3.7-10.1-10.5-15.9-15.3-7.8-6.5-20.2-13-11.7-25.7 3.6-5.4 10.6-8.1 15.6-8.3h.8c3.8 0 6.8 1.3 9.3 2.4 1.3.6 2.6 1.1 3.6 1.3.3 0 .6.1.9.1.8 0 1.7-.1 2.7-.2 1.1-.1 2.4-.3 3.8-.3 1 0 1.8.1 2.7.2 1.4.3 2.8.5 3.9.5.5 0 .9 0 1.3-.1.8-.2 1.6-.4 2.4-.7 1.5-.5 3-.9 4.6-1.2.7-.1 1.4-.2 2.1-.2.7 0 1.3.1 1.9.1-3.7-2.7-6.7-6-5.5-9.9 1.4-4.7 7.5-5.2 12-5.2 2.3 0 4.9.2 7.8.5.6-5.4.7-14.3.7-14.4 0-1.5.9-2.9 2.3-3.5.5-.2 5.3-2.3 14.8-2.3h2.2c10.8.3 18 2.5 18.7 2.7.7.2 7.9 2.4 17.1 8 9.2 5.7 12.6 10.6 12.9 11.1.8 1.3.8 2.9 0 4.2-.5.9-5 7.9-7.3 12.5 3.7 1.9 6.6 3.7 8.8 5.4 1.5 1.2 6.2 4.8 4.9 9.3-1.2 3.8-5.5 4.9-9.4 5.2 1.9 5.1 1.8 10.1-.4 14.5l-.3.6c-1.1 2.2-1.2 2.4-.8 4.2.3 1.4.8 2.9 1.4 4.4.6 1.7 1.2 3.4 1.6 5.3 0 .1.2.6.3 1v.1c.3 1.2.9 3.1 1.3 4.8.6 2.6 1.3 5.3-1 7.1-.4.3-11.1 8.1-35.6 11.1-22.4 2.7-42.2 17.1-42.4 17.3-.7.4-1.5.6-2.4.6z"/><path class="st0" d="M118.9 48.7c10.4 3.1 19.7 6.6 26.3 9.8.5-1.5 1.1-3.3 2-5.1 2.4-4.9 7.9-13.6 7.9-13.6s-3-4.6-11.7-9.9c-9.1-5.6-16.2-7.6-16.2-7.6s-7.1-2.2-17.7-2.6c-10.2-.3-15.2 1.9-15.2 1.9s-.2 10.3-.9 15.7c-.2 1.9-.6 3.7-1.1 5.2 7.3 1.1 16.6 3.2 26.6 6.2z"/><ellipse transform="rotate(-73.357 117.345 54.826)" class="st0" cx="117.3" cy="54.8" rx="8.8" ry="45.7"/><ellipse transform="rotate(-73.357 116.722 55.994)" class="st0" cx="116.7" cy="56" rx="4.9" ry="33.2"/><path class="st0" d="M86.9 47c-.6.2-1.2.5-1.7.9-3 1.9-4.5 5-6.3 7.8-2.3-1-4.4-1.8-6.9-1.3-2.3.4-4.5 1.3-6.7 1.9-2.2.6-4.6.1-6.9-.3-3.5-.7-6.6.8-9.9.3-3.7-.5-7.6-3.9-12.9-3.6-4.5.2-10 2.8-12.6 6.6-2.5 3.7-2.4 12 3.1 13.2 2.4.5 4.1-.2 5.7 2.1 5.1 7.4 9.4 15.8 17.5 20.2 11.9 6.4 19.8 4.3 25.5 16.2 5.7 11.9 2.4 30.5 2.4 30.5s20.5-15.2 44.3-18c23.8-2.9 33.8-10.3 33.8-10.3.5-.4-1.9-8.2-2-9-.8-3.3-2.2-6.4-3-9.8-.8-3.3 0-4.5 1.4-7.3 2.5-5 1.2-10.4-1.5-15.1-2.4-4.2-6.2-7.9-10.8-9.7-8.2-3.2-11-3.7-11-3.7S126.9 49 111.1 47c-5.9-.7-11.7-1.9-17.6-1.4-2.3.2-4.5.5-6.6 1.4z"/><path class="st0" d="M28 71s1.3 7.1 2.6 7.1 2.1-7.1 2.1-7.1H28z"/><path class="st1" d="M111.3 109.7c7.1-3.1 14.3-6.3 21.1-10.2 5.1-3 11.4-6.8 14.2-12.3 5.7-11.3-7.2-20.4-16.8-22.2-1.6-.3-13.9-1.9-14.4.9.4-2.8 3.5-4 5-6.1 2.3-3.3-.9-3.9-3.5-5.1-4.5-1.9-9.1-3.4-14-3.5-5.1-.1-9.3.5-13.1 4.2-.7.7-1.6 1.6-1.7 2.6-.4 2.7 5.1 3.6 6.6 2.6.9-.6 1.9-1.1 2.8-1.5 2.8-1.3 5.8-2.2 8.8-2.6 2.7-.3 5.5-.5 8.1.4.7.2 1.5.5 2.1.9.1 0 .5.5.6.5h-4.4s-2.6 4.1-8.8 5.9c-6.2 1.8-14.4-1.8-14.4-1.8s-6-2.9-11.5-2.2c-5.5.7-6.6 0-6.6 0v2.6s-2.6-1.8-5.7-2.6-7.5-2.9-13-2c-5.5.9-6.6.2-11.7-2s-10.5-1.6-13.6 4c-3.1 5.5.9 9.1.9 9.1l4.6.1c1-.1 2-.1 2.9-.1.3-1.9 1.2-6.1 3.3-7.1 2.8-1.3 1.5 3.2 1.8 5.4.1 1 .3 1.9.5 2.7 3.7 1.4 7.2 3.5 12.1 2.8 5.9-.9 12.3-5 18-1.8.1 0 .2.1.2.1.6-1.3 1.9-4 3.3-4.4 1.8-.5.1 2.5-.1 4-.1.7-.2 1.4-.3 1.9.6.3 1.2.7 1.8 1 .4-1.5 1.1-3.7 2.2-4.2 1.7-.8.6 2.4.6 4 0 .6 0 1.1.1 1.6 2.9 1.2 5.7 1.9 8.6 1.5 5.5-.9 6.3-3.3 14.7.1 2.5 1 5.1 3.2 7.6 3.6 1.6.2 6.4-.1 6.2-2.6.1 1.1.9 1.6.3 2.8-.5 1-1.6 1.6-2.5 1.9-3 1-5.3-.7-7.9-1.7-3-1.1-6.2-3-9.4-3.3-4-.4-9.2 2.2-14.5 1.4-5.3-.9-9.7-7.3-16.9-6.4-7.3.9-9.9 4.4-16.3 2.6-1-.3-1.9-.6-2.7-.9-.1.2-.1.5-.2.8-.2 1.7.8 5.2-1.4 4.2-1.7-.8-2.4-5-2.6-6.7-2.4-1.1-4.6-2-7.6-2-.5 0-.9 0-1.4.1 1.8 3 6.3 10.2 11.8 15.3 7 6.6 13.9 6.8 13.9 6.8s-2-1.4-4-2.9-4.8-6.4-4.8-6.4 4.8 4.2 11.9 8c7 3.7 14.7 7.5 14.7 7.5s-1.1-.2-3.7-.7c-2.6-.4-7.7-2.4-7.7-2.4s6.8 5.9 13.6 10.3 19.1 9 19.1 9 2.6-.8 13.2-5.5zm-76-49.6c-2.3.7-4.3.5-4.6-.3-.3-.9 1.4-2.1 3.6-2.8 2.3-.7 4.3-.5 4.6.3.3.8-1.3 2.1-3.6 2.8z"/><path class="st3" d="M96 39.9c0 .2-.1.5-.1.7 7.1 1.6 14.9 3.7 22.9 6.1 8.9 2.7 17.2 5.5 24.5 8.4.1-.2.2-.5.3-.7-6.6-3.1-15-9.4-23.9-12.1-8.6-2.7-16.6-1.3-23.7-2.4zM98.8 60.9s2.5 1.9 5.7 1.2 5.7-3.1 5.7-3.1-1.9-.3-4.3-.2c-.1.4-.2.8-.4 1.2-.4.8-1.3 1.3-1.3 1.3s-.3-.4-.4-1.5c0-.3-.1-.5 0-.7-2.9.6-5 1.8-5 1.8zM146.7 94.7s-5.8 5.3-19.4 11.5c-14.6 6.6-29.8 11.8-44.6 18.1l-.9 7.9s11.1-6.4 27.1-10c16-3.6 26.9-5.8 32.2-7 5.3-1.1 9.4-3.5 9.4-3.5l-3.8-17z"/><path class="st4" d="M132.4 99.6c5.1-3 11.4-6.8 14.2-12.3 5.7-11.3-7.2-20.4-16.8-22.2-1.6-.3-13.9-1.9-14.4.9.4-2.8 3.5-4 5-6.1 2.3-3.3-.9-3.9-3.5-5.1-4.5-1.9-9.1-3.4-14-3.5-5.1-.1-9.3.5-13.1 4.2-.7.7-1.6 1.6-1.7 2.6-.4 2.7 5.1 3.6 6.6 2.6.9-.6 1.9-1.1 2.8-1.5 2.8-1.3 5.8-2.2 8.8-2.6 2.7-.3 5.5-.5 8.1.4.7.2 1.5.5 2.1.9.1 0 .5.5.6.5h-4.4s-2.6 4.1-8.8 5.9c-6.2 1.8-14.4-1.8-14.4-1.8s-6-2.9-11.5-2.2c-5.5.7-6.6 0-6.6 0v2.6s-2.6-1.8-5.7-2.6-7.5-2.9-13-2c-5.5.9-6.6.2-11.7-2s-10.5-1.6-13.6 4c-3.1 5.5.9 9.1.9 9.1l4.6.1c1-.1 2-.1 2.9-.1.3-1.9 1.2-6.1 3.3-7.1 2.8-1.3 1.5 3.2 1.8 5.4.1 1 .3 1.9.5 2.7 3.7 1.4 7.2 3.5 12.1 2.8 5.9-.9 12.3-5 18-1.8.1 0 .2.1.2.1.6-1.3 1.9-4 3.3-4.4 1.8-.5.1 2.5-.1 4-.1.7-.2 1.4-.3 1.9.6.3 1.2.7 1.8 1 .4-1.5 1.1-3.7 2.2-4.2 1.7-.8.6 2.4.6 4 0 .6 0 1.1.1 1.6 2.9 1.2 5.7 1.9 8.6 1.5 5.5-.9 6.3-3.3 14.7.1 2.5 1 5.1 3.2 7.6 3.6 1.3.2 3.1.1 4.3-.4 1.9-.9.7-2.2-1-2.1.5-.9 1.6-1.4 2.6-1.5 3.7-.3 5 4.8 6.2 7.4 1.8 3.9 1.5 8.2-.6 12-6.1 11.4-23.9 18.9-23.9 18.9s2.6-.8 13.2-5.5c7.4-2.8 14.6-6 21.4-9.8zM35.3 60.1c-2.3.7-4.3.5-4.6-.3-.3-.9 1.4-2.1 3.6-2.8 2.3-.7 4.3-.5 4.6.3.3.8-1.3 2.1-3.6 2.8z"/><path class="st5" d="M93.3 67.3c-2.8-1.3-5.5-4-7-5.8 1.8.6 3.1 1.2 3.1 1.2s8.3 3.5 14.4 1.8c.6-.2 1.1-.3 1.6-.5.2-.1.4-.1.6-.2h.1c.2-.1.3-.1.5-.2h.1c4.2-2 6-4.9 6-4.9h4.4s-1.5 5.1-7.9 8.1c-6.5 2.8-11.5 2.5-15.9.5zm-.6-6.1l-2.7-.5c.8.3 1.8.5 2.7.5zm37 3.9c-1.4-.3-10.1-1.4-13.2-.1l-.2.1-.8.6c-.1.1-.1.2-.2.4 0-.1 0-.2.1-.3l-4 3.1s19.2-2.5 24.2 9.3c4.9 11.7-8.6 23.1-18.7 29.1 5.3-2.3 10.5-4.8 15.5-7.7 5.1-3 11.4-6.8 14.2-12.3 5.7-11.3-7.3-20.4-16.9-22.2zm-58.2 6.5c.1 0 .2.1.2.1.3-.6.7-1.4 1.2-2.3-5.6-2.7-8.9-1.5-13.4.3-5.2 2-9.1 2.4-16.9-.9-.6-.2-1.2-.5-1.8-.7.1.9.3 1.7.5 2.4 3.7 1.4 7.2 3.5 12.1 2.8 6-.8 12.4-4.9 18.1-1.7zm-35.8-2c.1-.7.3-1.6.5-2.5-4-.7-7.8-.7-9.9-.6.6 2 1.8 3.1 1.8 3.1l4.6.1c1-.1 2-.1 3-.1zm41.5 2.3c-.5-.3-.9-.6-1.4-.9-.2-.2-.5-.3-.7-.4-.1.3-.2.5-.2.8-.1.7-.2 1.4-.3 1.9.6.3 1.2.7 1.8 1 .2-.7.5-1.6.8-2.4zM88 77.2c5.5-.9 6.3-3.3 14.7.1 2.5 1 5.1 3.2 7.6 3.6 1.1.2 3.7.1 5.1-.8.2-.3.3-.6.5-.9-1.8.4-6.2 1.1-8.6-1.1-3-2.8-5-4.6-12.5-3.5-6.2.9-10.1 1.1-15.5-1.5 0 .4-.1.7-.1 1 0 .6 0 1.1.1 1.6 2.9 1.2 5.8 1.9 8.7 1.5z"/><path class="st6" d="M109.5 110.5c.1 0 .1 0 .2-.1-.1 0-.1.1-.2.1zM98.2 115.2zM98.4 115.1s-.1 0 0 0c-.1 0 0 0 0 0zM98.6 115zM98.9 114.9h-.1.1zM49.4 77c9 .8 14-2.1 17.5-1.8 3.5.3 4 3.5 13.2 5s12.8-2.4 17.6.1c3.6 1.9 7.3 4.1 11.3 5.1 1.2.3 2.9.5 4.6.4 2.2-.2 4.2-1.1 4.5-3.3.3-1.8-1-2.7-1.5-4.1.2 1 .8 1.8.3 2.8-.5 1-1.6 1.6-2.5 1.9-3 1-5.3-.7-7.9-1.7-3-1.1-6.2-3-9.4-3.3-4-.4-9.2 2.2-14.5 1.4-5.3-.9-9.7-7.3-16.9-6.4-7.3.9-9.9 4.4-16.3 2.6-1-.3-1.9-.6-2.7-.9-.1.2-.1.5-.2.8v1.2c.9 0 1.9.1 2.9.2zM42.5 73c-2.4-1.1-4.6-2-7.6-2-.5 0-.9 0-1.4.1.6 1 1.4 2.4 2.6 4 1.7.3 4.1.8 7 1.2-.4-1.3-.5-2.5-.6-3.3zM52.7 87.3c.5 1.4.6 2.7-.9 2.8-3.2.2-15.7-15-15.8-15 2.3 3.4 5.6 7.8 9.3 11.3 7 6.6 13.9 6.8 13.9 6.8S57 91.4 55 89.9c-.7-.5-1.6-1.6-2.3-2.6zM62 91.4c.5.2.9.5 1.4.7-6.6-3.9-12.5-8-12.5-8.1 1.7 1.5 5.7 4.6 11.1 7.4zM118.2 101.5c-3.2 1.3-7.5 2.6-12.3 2.8-9.9.3-22.5-3.1-31.3-6.4 1.3.7 2.2 1.1 2.2 1.1s-1.1-.2-3.7-.7c-2.6-.4-7.7-2.4-7.7-2.4s6.8 5.9 13.6 10.3 19.1 9 19.1 9 12.5-5.3 20.1-13.7zM99.9 114.5c-.1 0-.1 0-.2.1.1 0 .1 0 .2-.1zM105.5 112.2c-.2.1-.3.1-.5.2.2 0 .4-.1.5-.2zM99.4 114.7h-.1c0 .1 0 .1.1 0zM104.2 112.8c-.1.1-.3.1-.4.2.1-.1.3-.2.4-.2zM108.8 110.8c-.3.1-.6.3-.9.4.3-.1.6-.3.9-.4zM107 111.6l-.6.3.6-.3zM101.2 114c-.1 0-.1.1-.2.1.1 0 .1-.1.2-.1zM100.5 114.3c-.1 0-.1 0-.2.1.1-.1.1-.1.2-.1zM102.1 113.7c-.1 0-.2.1-.3.1.1-.1.2-.1.3-.1zM103.1 113.2c-.1 0-.2.1-.3.1.1 0 .2 0 .3-.1z"/><path class="st0" d="M108.4 112c-6.1-2.7-13.9-8.2-14.2-16.7-.2-7.3.4-21.5.6-25.3 2-1 3.5-3.9 3.4-7.2-.1-4.1-2.5-7.4-5.4-7.3-2.8.1-5.1 3.5-4.9 7.6.1 4 2.4 7.3 5.2 7.3-.3 4-.9 18.7-.6 25.5.4 7.9 8.3 17.1 19.7 18.7 11.2 1.6 32 1.2 32 1.2l1.9-1.3c0-.1-31.6.2-37.7-2.5zm-19-49c-.1-2.8 1.3-5.1 3.2-5.2 1.8-.1 3.4 2.2 3.5 5 .1 2.8-1.3 5.1-3.2 5.2-1.9 0-3.5-2.2-3.5-5z"/></g></svg> \ No newline at end of file diff --git a/themes/vue/source/images/anymod.png b/themes/vue/source/images/anymod.png deleted file mode 100644 index 20d0b8b3aa..0000000000 Binary files a/themes/vue/source/images/anymod.png and /dev/null differ diff --git a/themes/vue/source/images/aussiecasinohex.svg b/themes/vue/source/images/aussiecasinohex.svg new file mode 100644 index 0000000000..46e87507ea --- /dev/null +++ b/themes/vue/source/images/aussiecasinohex.svg @@ -0,0 +1,52121 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 24.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 169.4 45" style="enable-background:new 0 0 169.4 45;" xml:space="preserve"> +<style type="text/css"> + @import url('https://fonts.googleapis.com/css2?family=Titillium+Web:ital,wght@1,700'); + .st0{fill:#191818;} + .st1{fill:#0A0099;} + .st2{clip-path:url(#SVGID_2_);fill:#FFFFFF;} + .st3{clip-path:url(#SVGID_4_);} + .st4{clip-path:url(#SVGID_6_);fill:#E0C03C;} + .st5{clip-path:url(#SVGID_8_);fill:#E0C03C;} + .st6{clip-path:url(#SVGID_10_);fill:#E0C03D;} + .st7{clip-path:url(#SVGID_12_);fill:#E0C13E;} + .st8{clip-path:url(#SVGID_14_);fill:#E0C13F;} + .st9{clip-path:url(#SVGID_16_);fill:#E1C140;} + .st10{clip-path:url(#SVGID_18_);fill:#E1C241;} + .st11{clip-path:url(#SVGID_20_);fill:#E1C242;} + .st12{clip-path:url(#SVGID_22_);fill:#E1C243;} + .st13{clip-path:url(#SVGID_24_);fill:#E1C344;} + .st14{clip-path:url(#SVGID_26_);fill:#E1C345;} + .st15{clip-path:url(#SVGID_28_);fill:#E2C346;} + .st16{clip-path:url(#SVGID_30_);fill:#E2C447;} + .st17{clip-path:url(#SVGID_32_);fill:#E2C448;} + .st18{clip-path:url(#SVGID_34_);fill:#E2C449;} + .st19{clip-path:url(#SVGID_36_);fill:#E2C54A;} + .st20{clip-path:url(#SVGID_38_);fill:#E2C54B;} + .st21{clip-path:url(#SVGID_40_);fill:#E3C54C;} + .st22{clip-path:url(#SVGID_42_);fill:#E3C64D;} + .st23{clip-path:url(#SVGID_44_);fill:#E3C64E;} + .st24{clip-path:url(#SVGID_46_);fill:#E3C64F;} + .st25{clip-path:url(#SVGID_48_);fill:#E3C650;} + .st26{clip-path:url(#SVGID_50_);fill:#E3C751;} + .st27{clip-path:url(#SVGID_52_);fill:#E4C752;} + .st28{clip-path:url(#SVGID_54_);fill:#E4C753;} + .st29{clip-path:url(#SVGID_56_);fill:#E4C854;} + .st30{clip-path:url(#SVGID_58_);fill:#E4C855;} + .st31{clip-path:url(#SVGID_60_);fill:#E4C856;} + .st32{clip-path:url(#SVGID_62_);fill:#E4C957;} + .st33{clip-path:url(#SVGID_64_);fill:#E4C958;} + .st34{clip-path:url(#SVGID_66_);fill:#E5C959;} + .st35{clip-path:url(#SVGID_68_);fill:#E5CA5A;} + .st36{clip-path:url(#SVGID_70_);fill:#E5CA5B;} + .st37{clip-path:url(#SVGID_72_);fill:#E5CA5C;} + .st38{clip-path:url(#SVGID_74_);fill:#E5CB5D;} + .st39{clip-path:url(#SVGID_76_);fill:#E5CB5E;} + .st40{clip-path:url(#SVGID_78_);fill:#E6CB5F;} + .st41{clip-path:url(#SVGID_80_);fill:#E6CC60;} + .st42{clip-path:url(#SVGID_82_);fill:#E6CC61;} + .st43{clip-path:url(#SVGID_84_);fill:#E6CC62;} + .st44{clip-path:url(#SVGID_86_);fill:#E6CD63;} + .st45{clip-path:url(#SVGID_88_);fill:#E6CD64;} + .st46{clip-path:url(#SVGID_90_);fill:#E7CD65;} + .st47{clip-path:url(#SVGID_92_);fill:#E7CE66;} + .st48{clip-path:url(#SVGID_94_);fill:#E7CE67;} + .st49{clip-path:url(#SVGID_96_);fill:#E7CE68;} + .st50{clip-path:url(#SVGID_98_);fill:#E7CF69;} + .st51{clip-path:url(#SVGID_100_);fill:#E7CF6A;} + .st52{clip-path:url(#SVGID_102_);fill:#E8CF6B;} + .st53{clip-path:url(#SVGID_104_);fill:#E8D06C;} + .st54{clip-path:url(#SVGID_106_);fill:#E8D06D;} + .st55{clip-path:url(#SVGID_108_);fill:#E8D06E;} + .st56{clip-path:url(#SVGID_110_);fill:#E8D16F;} + .st57{clip-path:url(#SVGID_112_);fill:#E8D170;} + .st58{clip-path:url(#SVGID_114_);fill:#E8D171;} + .st59{clip-path:url(#SVGID_116_);fill:#E9D272;} + .st60{clip-path:url(#SVGID_118_);fill:#E9D273;} + .st61{clip-path:url(#SVGID_120_);fill:#E9D274;} + .st62{clip-path:url(#SVGID_122_);fill:#E9D375;} + .st63{clip-path:url(#SVGID_124_);fill:#E9D376;} + .st64{clip-path:url(#SVGID_126_);fill:#E9D377;} + .st65{clip-path:url(#SVGID_128_);fill:#EAD378;} + .st66{clip-path:url(#SVGID_130_);fill:#EAD479;} + .st67{clip-path:url(#SVGID_132_);fill:#EAD47A;} + .st68{clip-path:url(#SVGID_134_);fill:#EAD47B;} + .st69{clip-path:url(#SVGID_136_);fill:#EAD57C;} + .st70{clip-path:url(#SVGID_138_);fill:#EAD57D;} + .st71{clip-path:url(#SVGID_140_);fill:#EBD57E;} + .st72{clip-path:url(#SVGID_142_);fill:#EBD67F;} + .st73{clip-path:url(#SVGID_144_);fill:#EBD680;} + .st74{clip-path:url(#SVGID_146_);fill:#EBD681;} + .st75{clip-path:url(#SVGID_148_);fill:#EBD782;} + .st76{clip-path:url(#SVGID_150_);fill:#EBD783;} + .st77{clip-path:url(#SVGID_152_);fill:#ECD784;} + .st78{clip-path:url(#SVGID_154_);fill:#ECD885;} + .st79{clip-path:url(#SVGID_156_);fill:#ECD886;} + .st80{clip-path:url(#SVGID_158_);fill:#ECD887;} + .st81{clip-path:url(#SVGID_160_);fill:#ECD988;} + .st82{clip-path:url(#SVGID_162_);fill:#ECD989;} + .st83{clip-path:url(#SVGID_164_);fill:#ECD98A;} + .st84{clip-path:url(#SVGID_166_);fill:#EDDA8B;} + .st85{clip-path:url(#SVGID_168_);fill:#EDDA8C;} + .st86{clip-path:url(#SVGID_170_);fill:#EDDA8D;} + .st87{clip-path:url(#SVGID_172_);fill:#EDDB8E;} + .st88{clip-path:url(#SVGID_174_);fill:#EDDB8F;} + .st89{clip-path:url(#SVGID_176_);fill:#EDDB90;} + .st90{clip-path:url(#SVGID_178_);fill:#EEDC91;} + .st91{clip-path:url(#SVGID_180_);fill:#EEDC92;} + .st92{clip-path:url(#SVGID_182_);fill:#EEDC93;} + .st93{clip-path:url(#SVGID_184_);fill:#EEDD94;} + .st94{clip-path:url(#SVGID_186_);fill:#EEDD95;} + .st95{clip-path:url(#SVGID_188_);fill:#EEDD96;} + .st96{clip-path:url(#SVGID_190_);fill:#EFDE97;} + .st97{clip-path:url(#SVGID_192_);fill:#EFDE98;} + .st98{clip-path:url(#SVGID_194_);fill:#EFDE99;} + .st99{clip-path:url(#SVGID_196_);fill:#EFDF9A;} + .st100{clip-path:url(#SVGID_198_);fill:#EFDF9B;} + .st101{clip-path:url(#SVGID_200_);fill:#EFDF9C;} + .st102{clip-path:url(#SVGID_202_);fill:#F0E09E;} + .st103{clip-path:url(#SVGID_204_);fill:#F0E09F;} + .st104{clip-path:url(#SVGID_206_);fill:#F0E0A0;} + .st105{clip-path:url(#SVGID_208_);fill:#F0E0A1;} + .st106{clip-path:url(#SVGID_210_);fill:#F0E1A2;} + .st107{clip-path:url(#SVGID_212_);fill:#F0E1A3;} + .st108{clip-path:url(#SVGID_214_);fill:#F0E1A4;} + .st109{clip-path:url(#SVGID_216_);fill:#F1E2A5;} + .st110{clip-path:url(#SVGID_218_);fill:#F1E2A6;} + .st111{clip-path:url(#SVGID_220_);fill:#F1E2A7;} + .st112{clip-path:url(#SVGID_222_);fill:#F1E3A8;} + .st113{clip-path:url(#SVGID_224_);fill:#F1E3A9;} + .st114{clip-path:url(#SVGID_226_);fill:#F1E3AA;} + .st115{clip-path:url(#SVGID_228_);fill:#F2E4AB;} + .st116{clip-path:url(#SVGID_230_);fill:#F2E4AC;} + .st117{clip-path:url(#SVGID_232_);fill:#F2E4AD;} + .st118{clip-path:url(#SVGID_234_);fill:#F2E5AE;} + .st119{clip-path:url(#SVGID_236_);fill:#F2E5AF;} + .st120{clip-path:url(#SVGID_238_);fill:#F2E5B0;} + .st121{clip-path:url(#SVGID_240_);fill:#F3E6B1;} + .st122{clip-path:url(#SVGID_242_);fill:#F3E6B2;} + .st123{clip-path:url(#SVGID_244_);fill:#F3E6B3;} + .st124{clip-path:url(#SVGID_246_);fill:#F3E7B4;} + .st125{clip-path:url(#SVGID_248_);fill:#F3E7B5;} + .st126{clip-path:url(#SVGID_250_);fill:#F3E7B6;} + .st127{clip-path:url(#SVGID_252_);fill:#F3E8B7;} + .st128{clip-path:url(#SVGID_254_);fill:#F4E8B8;} + .st129{clip-path:url(#SVGID_256_);fill:#F4E8B9;} + .st130{clip-path:url(#SVGID_258_);fill:#F4E9BA;} + .st131{clip-path:url(#SVGID_260_);fill:#F4E9BB;} + .st132{clip-path:url(#SVGID_262_);fill:#F4E9BC;} + .st133{clip-path:url(#SVGID_264_);fill:#F4EABD;} + .st134{clip-path:url(#SVGID_266_);fill:#F5EABE;} + .st135{clip-path:url(#SVGID_268_);fill:#F5EABF;} + .st136{clip-path:url(#SVGID_270_);} + .st137{clip-path:url(#SVGID_272_);} + .st138{clip-path:url(#SVGID_274_);fill:#93C2E3;} + .st139{clip-path:url(#SVGID_276_);fill:#93C2E3;} + .st140{clip-path:url(#SVGID_278_);fill:#94C3E3;} + .st141{clip-path:url(#SVGID_280_);fill:#95C3E4;} + .st142{clip-path:url(#SVGID_282_);fill:#96C4E4;} + .st143{clip-path:url(#SVGID_284_);fill:#97C4E4;} + .st144{clip-path:url(#SVGID_286_);fill:#98C5E4;} + .st145{clip-path:url(#SVGID_288_);fill:#99C5E5;} + .st146{clip-path:url(#SVGID_290_);fill:#9AC6E5;} + .st147{clip-path:url(#SVGID_292_);fill:#9BC7E5;} + .st148{clip-path:url(#SVGID_294_);fill:#9CC7E5;} + .st149{clip-path:url(#SVGID_296_);fill:#9DC8E6;} + .st150{clip-path:url(#SVGID_298_);fill:#9EC8E6;} + .st151{clip-path:url(#SVGID_300_);fill:#9FC9E6;} + .st152{clip-path:url(#SVGID_302_);fill:#A0C9E6;} + .st153{clip-path:url(#SVGID_304_);fill:#A1CAE7;} + .st154{clip-path:url(#SVGID_306_);fill:#A2CBE7;} + .st155{clip-path:url(#SVGID_308_);fill:#A3CBE7;} + .st156{clip-path:url(#SVGID_310_);fill:#A4CCE7;} + .st157{clip-path:url(#SVGID_312_);fill:#A5CCE8;} + .st158{clip-path:url(#SVGID_314_);fill:#A6CDE8;} + .st159{clip-path:url(#SVGID_316_);fill:#A7CDE8;} + .st160{clip-path:url(#SVGID_318_);fill:#A8CEE8;} + .st161{clip-path:url(#SVGID_320_);fill:#A9CFE9;} + .st162{clip-path:url(#SVGID_322_);fill:#AACFE9;} + .st163{clip-path:url(#SVGID_324_);fill:#ABD0E9;} + .st164{clip-path:url(#SVGID_326_);fill:#ACD0EA;} + .st165{clip-path:url(#SVGID_328_);fill:#ADD1EA;} + .st166{clip-path:url(#SVGID_330_);fill:#AED1EA;} + .st167{clip-path:url(#SVGID_332_);fill:#AFD2EA;} + .st168{clip-path:url(#SVGID_334_);fill:#B0D3EB;} + .st169{clip-path:url(#SVGID_336_);fill:#B1D3EB;} + .st170{clip-path:url(#SVGID_338_);fill:#B2D4EB;} + .st171{clip-path:url(#SVGID_340_);fill:#B3D4EB;} + .st172{clip-path:url(#SVGID_342_);fill:#B4D5EC;} + .st173{clip-path:url(#SVGID_344_);fill:#B5D5EC;} + .st174{clip-path:url(#SVGID_346_);fill:#B6D6EC;} + .st175{clip-path:url(#SVGID_348_);fill:#B7D7EC;} + .st176{clip-path:url(#SVGID_350_);fill:#B8D7ED;} + .st177{clip-path:url(#SVGID_352_);fill:#B9D8ED;} + .st178{clip-path:url(#SVGID_354_);fill:#BAD8ED;} + .st179{clip-path:url(#SVGID_356_);fill:#BBD9ED;} + .st180{clip-path:url(#SVGID_358_);fill:#BCD9EE;} + .st181{clip-path:url(#SVGID_360_);fill:#BDDAEE;} + .st182{clip-path:url(#SVGID_362_);fill:#BEDBEE;} + .st183{clip-path:url(#SVGID_364_);fill:#BFDBEF;} + .st184{clip-path:url(#SVGID_366_);fill:#C0DCEF;} + .st185{clip-path:url(#SVGID_368_);fill:#C1DCEF;} + .st186{clip-path:url(#SVGID_370_);fill:#C2DDEF;} + .st187{clip-path:url(#SVGID_372_);fill:#C3DDF0;} + .st188{clip-path:url(#SVGID_374_);fill:#C4DEF0;} + .st189{clip-path:url(#SVGID_376_);fill:#C5DFF0;} + .st190{clip-path:url(#SVGID_378_);fill:#C6DFF0;} + .st191{clip-path:url(#SVGID_380_);fill:#C7E0F1;} + .st192{clip-path:url(#SVGID_382_);fill:#C8E0F1;} + .st193{clip-path:url(#SVGID_384_);fill:#CAE1F1;} + .st194{clip-path:url(#SVGID_386_);fill:#CBE1F1;} + .st195{clip-path:url(#SVGID_388_);fill:#CCE2F2;} + .st196{clip-path:url(#SVGID_390_);fill:#CDE2F2;} + .st197{clip-path:url(#SVGID_392_);fill:#CEE3F2;} + .st198{clip-path:url(#SVGID_394_);fill:#CFE4F2;} + .st199{clip-path:url(#SVGID_396_);fill:#D0E4F3;} + .st200{clip-path:url(#SVGID_398_);fill:#D1E5F3;} + .st201{clip-path:url(#SVGID_400_);fill:#D2E5F3;} + .st202{clip-path:url(#SVGID_402_);fill:#D3E6F3;} + .st203{clip-path:url(#SVGID_404_);fill:#D4E6F4;} + .st204{clip-path:url(#SVGID_406_);fill:#D5E7F4;} + .st205{clip-path:url(#SVGID_408_);fill:#D6E8F4;} + .st206{clip-path:url(#SVGID_410_);fill:#D7E8F5;} + .st207{clip-path:url(#SVGID_412_);fill:#D8E9F5;} + .st208{clip-path:url(#SVGID_414_);fill:#D9E9F5;} + .st209{clip-path:url(#SVGID_416_);fill:#DAEAF5;} + .st210{clip-path:url(#SVGID_418_);fill:#DBEAF6;} + .st211{clip-path:url(#SVGID_420_);fill:#DCEBF6;} + .st212{clip-path:url(#SVGID_422_);fill:#DDECF6;} + .st213{clip-path:url(#SVGID_424_);fill:#DEECF6;} + .st214{clip-path:url(#SVGID_426_);fill:#DFEDF7;} + .st215{clip-path:url(#SVGID_428_);fill:#E0EDF7;} + .st216{clip-path:url(#SVGID_430_);fill:#E1EEF7;} + .st217{clip-path:url(#SVGID_432_);fill:#E2EEF7;} + .st218{clip-path:url(#SVGID_434_);fill:#E3EFF8;} + .st219{clip-path:url(#SVGID_436_);fill:#E4F0F8;} + .st220{clip-path:url(#SVGID_438_);fill:#E5F0F8;} + .st221{clip-path:url(#SVGID_440_);fill:#E6F1F8;} + .st222{clip-path:url(#SVGID_442_);fill:#E7F1F9;} + .st223{clip-path:url(#SVGID_444_);fill:#E8F2F9;} + .st224{clip-path:url(#SVGID_446_);fill:#E9F2F9;} + .st225{clip-path:url(#SVGID_448_);fill:#EAF3FA;} + .st226{clip-path:url(#SVGID_450_);fill:#EBF4FA;} + .st227{clip-path:url(#SVGID_452_);fill:#ECF4FA;} + .st228{clip-path:url(#SVGID_454_);fill:#EDF5FA;} + .st229{clip-path:url(#SVGID_456_);fill:#EEF5FB;} + .st230{clip-path:url(#SVGID_458_);fill:#EFF6FB;} + .st231{clip-path:url(#SVGID_460_);fill:#F0F6FB;} + .st232{clip-path:url(#SVGID_462_);fill:#F1F7FB;} + .st233{clip-path:url(#SVGID_464_);fill:#F2F8FC;} + .st234{clip-path:url(#SVGID_466_);fill:#F3F8FC;} + .st235{clip-path:url(#SVGID_468_);fill:#F4F9FC;} + .st236{clip-path:url(#SVGID_470_);fill:#F5F9FC;} + .st237{clip-path:url(#SVGID_472_);fill:#F6FAFD;} + .st238{clip-path:url(#SVGID_474_);fill:#F7FAFD;} + .st239{clip-path:url(#SVGID_476_);fill:#F8FBFD;} + .st240{clip-path:url(#SVGID_478_);fill:#F9FCFD;} + .st241{clip-path:url(#SVGID_480_);fill:#FAFCFE;} + .st242{clip-path:url(#SVGID_482_);fill:#FBFDFE;} + .st243{clip-path:url(#SVGID_484_);fill:#FCFDFE;} + .st244{clip-path:url(#SVGID_486_);fill:#FDFEFE;} + .st245{clip-path:url(#SVGID_488_);fill:#FEFEFF;} + .st246{clip-path:url(#SVGID_490_);fill:#FFFFFF;} + .st247{clip-path:url(#SVGID_492_);fill:#999999;} + .st248{clip-path:url(#SVGID_494_);fill:#ECD454;} + .st249{clip-path:url(#SVGID_496_);fill:#231F20;} + .st250{clip-path:url(#SVGID_498_);fill:#FFFFFF;} + .st251{clip-path:url(#SVGID_500_);fill:#231F20;} + .st252{clip-path:url(#SVGID_502_);fill:#231F20;} + .st253{clip-path:url(#SVGID_504_);fill:#FFFFFF;} + .st254{clip-path:url(#SVGID_506_);fill:#231F20;} + .st255{clip-path:url(#SVGID_508_);fill:#231F20;} + .st256{clip-path:url(#SVGID_510_);fill:#FFFFFF;} + .st257{clip-path:url(#SVGID_512_);fill:#231F20;} + .st258{clip-path:url(#SVGID_514_);} + .st259{clip-path:url(#SVGID_516_);} + .st260{clip-path:url(#SVGID_518_);} + .st261{clip-path:url(#SVGID_520_);fill:#010101;} + .st262{clip-path:url(#SVGID_522_);fill:#020202;} + .st263{clip-path:url(#SVGID_524_);fill:#030303;} + .st264{clip-path:url(#SVGID_526_);fill:#040404;} + .st265{clip-path:url(#SVGID_528_);fill:#050505;} + .st266{clip-path:url(#SVGID_530_);fill:#060606;} + .st267{clip-path:url(#SVGID_532_);fill:#070707;} + .st268{clip-path:url(#SVGID_534_);fill:#080808;} + .st269{clip-path:url(#SVGID_536_);fill:#090909;} + .st270{clip-path:url(#SVGID_538_);fill:#0A0A0A;} + .st271{clip-path:url(#SVGID_540_);fill:#0B0B0B;} + .st272{clip-path:url(#SVGID_542_);fill:#0C0C0C;} + .st273{clip-path:url(#SVGID_544_);fill:#0D0D0D;} + .st274{clip-path:url(#SVGID_546_);fill:#0E0E0E;} + .st275{clip-path:url(#SVGID_548_);fill:#0F0F0F;} + .st276{clip-path:url(#SVGID_550_);fill:#101010;} + .st277{clip-path:url(#SVGID_552_);fill:#111111;} + .st278{clip-path:url(#SVGID_554_);fill:#121211;} + .st279{clip-path:url(#SVGID_556_);fill:#131312;} + .st280{clip-path:url(#SVGID_558_);fill:#141413;} + .st281{clip-path:url(#SVGID_560_);fill:#151514;} + .st282{clip-path:url(#SVGID_562_);fill:#161615;} + .st283{clip-path:url(#SVGID_564_);fill:#171716;} + .st284{clip-path:url(#SVGID_566_);fill:#181817;} + .st285{clip-path:url(#SVGID_568_);fill:#191918;} + .st286{clip-path:url(#SVGID_570_);fill:#1A1A19;} + .st287{clip-path:url(#SVGID_572_);fill:#1B1B1A;} + .st288{clip-path:url(#SVGID_574_);fill:#1C1C1B;} + .st289{clip-path:url(#SVGID_576_);fill:#1D1D1C;} + .st290{clip-path:url(#SVGID_578_);fill:#1E1E1D;} + .st291{clip-path:url(#SVGID_580_);fill:#1F1F1E;} + .st292{clip-path:url(#SVGID_582_);fill:#20201F;} + .st293{clip-path:url(#SVGID_584_);fill:#212120;} + .st294{clip-path:url(#SVGID_586_);fill:#222321;} + .st295{clip-path:url(#SVGID_588_);fill:#232422;} + .st296{clip-path:url(#SVGID_590_);fill:#242523;} + .st297{clip-path:url(#SVGID_592_);fill:#252624;} + .st298{clip-path:url(#SVGID_594_);fill:#262725;} + .st299{clip-path:url(#SVGID_596_);fill:#272826;} + .st300{clip-path:url(#SVGID_598_);fill:#282927;} + .st301{clip-path:url(#SVGID_600_);fill:#292A28;} + .st302{clip-path:url(#SVGID_602_);fill:#2A2B29;} + .st303{clip-path:url(#SVGID_604_);fill:#2B2C2A;} + .st304{clip-path:url(#SVGID_606_);fill:#2C2D2B;} + .st305{clip-path:url(#SVGID_608_);fill:#2D2E2C;} + .st306{clip-path:url(#SVGID_610_);fill:#2E2F2D;} + .st307{clip-path:url(#SVGID_612_);fill:#2F302E;} + .st308{clip-path:url(#SVGID_614_);fill:#FFFFFF;} + .st309{clip-path:url(#SVGID_616_);fill:#F8C300;} + .st310{clip-path:url(#SVGID_618_);fill:#F8C300;} + .st311{clip-path:url(#SVGID_620_);fill:#F8C300;} + .st312{clip-path:url(#SVGID_622_);fill:#F8C300;} + .st313{clip-path:url(#SVGID_624_);fill:#231F20;} + .st314{clip-path:url(#SVGID_626_);fill:#00247D;} + .st315{clip-path:url(#SVGID_628_);fill:#231F20;} + .st316{clip-path:url(#SVGID_630_);fill:#231F20;} + .st317{clip-path:url(#SVGID_632_);fill:#231F20;} + .st318{clip-path:url(#SVGID_634_);fill:#231F20;} + .st319{clip-path:url(#SVGID_636_);fill:#231F20;} + .st320{clip-path:url(#SVGID_638_);fill:#231F20;} + .st321{clip-path:url(#SVGID_640_);fill:#231F20;} + .st322{clip-path:url(#SVGID_642_);fill:#231F20;} + .st323{clip-path:url(#SVGID_644_);fill:#231F20;} + .st324{clip-path:url(#SVGID_646_);fill:#231F20;} + .st325{clip-path:url(#SVGID_648_);fill:#231F20;} + .st326{clip-path:url(#SVGID_650_);fill:#231F20;} + .st327{clip-path:url(#SVGID_652_);fill:#231F20;} + .st328{clip-path:url(#SVGID_654_);fill:#231F20;} + .st329{clip-path:url(#SVGID_656_);fill:#231F20;} + .st330{clip-path:url(#SVGID_658_);fill:#231F20;} + .st331{clip-path:url(#SVGID_660_);fill:#231F20;} + .st332{clip-path:url(#SVGID_662_);fill:#231F20;} + .st333{clip-path:url(#SVGID_664_);fill:#231F20;} + .st334{clip-path:url(#SVGID_666_);fill:#231F20;} + .st335{clip-path:url(#SVGID_668_);fill:#231F20;} + .st336{clip-path:url(#SVGID_670_);fill:#231F20;} + .st337{clip-path:url(#SVGID_672_);fill:#231F20;} + .st338{clip-path:url(#SVGID_674_);fill:#231F20;} + .st339{clip-path:url(#SVGID_676_);fill:#231F20;} + .st340{clip-path:url(#SVGID_678_);fill:#231F20;} + .st341{clip-path:url(#SVGID_680_);fill:#231F20;} + .st342{clip-path:url(#SVGID_682_);fill:#231F20;} + .st343{clip-path:url(#SVGID_684_);fill:#231F20;} + .st344{clip-path:url(#SVGID_686_);fill:#231F20;} + .st345{clip-path:url(#SVGID_688_);fill:#231F20;} + .st346{clip-path:url(#SVGID_690_);fill:#231F20;} + .st347{clip-path:url(#SVGID_692_);fill:#231F20;} + .st348{clip-path:url(#SVGID_694_);fill:#231F20;} + .st349{clip-path:url(#SVGID_696_);fill:#231F20;} + .st350{clip-path:url(#SVGID_698_);fill:#231F20;} + .st351{clip-path:url(#SVGID_700_);fill:#231F20;} + .st352{clip-path:url(#SVGID_702_);fill:#231F20;} + .st353{clip-path:url(#SVGID_704_);fill:#231F20;} + .st354{clip-path:url(#SVGID_706_);fill:#231F20;} + .st355{clip-path:url(#SVGID_708_);fill:#231F20;} + .st356{clip-path:url(#SVGID_710_);fill:#231F20;} + .st357{clip-path:url(#SVGID_712_);fill:#231F20;} + .st358{clip-path:url(#SVGID_714_);fill:#231F20;} + .st359{clip-path:url(#SVGID_716_);fill:#231F20;} + .st360{clip-path:url(#SVGID_718_);fill:#231F20;} + .st361{clip-path:url(#SVGID_720_);fill:#231F20;} + .st362{clip-path:url(#SVGID_722_);fill:#231F20;} + .st363{clip-path:url(#SVGID_724_);fill:#231F20;} + .st364{clip-path:url(#SVGID_726_);fill:#231F20;} + .st365{clip-path:url(#SVGID_728_);fill:#231F20;} + .st366{clip-path:url(#SVGID_730_);fill:#231F20;} + .st367{clip-path:url(#SVGID_732_);fill:#231F20;} + .st368{clip-path:url(#SVGID_734_);fill:#3D7DE1;} + .st369{clip-path:url(#SVGID_736_);fill:#3D7DE1;} + .st370{clip-path:url(#SVGID_738_);fill:#3D7DE1;} + .st371{clip-path:url(#SVGID_740_);fill:#3D7DE1;} + .st372{clip-path:url(#SVGID_742_);fill:#FFFFFF;} + .st373{clip-path:url(#SVGID_744_);fill:#D40000;} + .st374{clip-path:url(#SVGID_746_);fill:#231F20;} + .st375{clip-path:url(#SVGID_748_);fill:#F8C300;} + .st376{clip-path:url(#SVGID_750_);fill:#231F20;} + .st377{clip-path:url(#SVGID_752_);fill:#F8C300;} + .st378{clip-path:url(#SVGID_754_);fill:#231F20;} + .st379{clip-path:url(#SVGID_756_);fill:#F8C300;} + .st380{clip-path:url(#SVGID_758_);fill:#231F20;} + .st381{clip-path:url(#SVGID_760_);fill:#FBC71F;} + .st382{clip-path:url(#SVGID_762_);fill:#F8C300;} + .st383{clip-path:url(#SVGID_764_);fill:#231F20;} + .st384{clip-path:url(#SVGID_766_);fill:#888A85;} + .st385{clip-path:url(#SVGID_768_);fill:#FFFFFF;} + .st386{clip-path:url(#SVGID_770_);} + .st387{clip-path:url(#SVGID_772_);} + .st388{clip-path:url(#SVGID_774_);} + .st389{clip-path:url(#SVGID_776_);} + .st390{clip-path:url(#SVGID_778_);} + .st391{clip-path:url(#SVGID_780_);fill:#231F20;} + .st392{clip-path:url(#SVGID_782_);fill:#231F20;} + .st393{clip-path:url(#SVGID_784_);fill:#231F20;} + .st394{clip-path:url(#SVGID_786_);fill:#231F20;} + .st395{clip-path:url(#SVGID_788_);fill:#939598;} + .st396{clip-path:url(#SVGID_790_);fill:#555753;} + .st397{clip-path:url(#SVGID_792_);fill:#939598;} + .st398{clip-path:url(#SVGID_794_);fill:#231F20;} + .st399{clip-path:url(#SVGID_796_);fill:#231F20;} + .st400{clip-path:url(#SVGID_798_);fill:#231F20;} + .st401{clip-path:url(#SVGID_800_);fill:#231F20;} + .st402{clip-path:url(#SVGID_802_);fill:#231F20;} + .st403{clip-path:url(#SVGID_804_);fill:#231F20;} + .st404{clip-path:url(#SVGID_806_);fill:#231F20;} + .st405{clip-path:url(#SVGID_808_);fill:#231F20;} + .st406{clip-path:url(#SVGID_810_);fill:#939598;} + .st407{clip-path:url(#SVGID_812_);fill:#555753;} + .st408{clip-path:url(#SVGID_814_);fill:#939598;} + .st409{clip-path:url(#SVGID_816_);fill:#231F20;} + .st410{clip-path:url(#SVGID_818_);fill:#231F20;} + .st411{clip-path:url(#SVGID_820_);fill:#231F20;} + .st412{clip-path:url(#SVGID_822_);fill:#231F20;} + .st413{clip-path:url(#SVGID_824_);fill:#231F20;} + .st414{clip-path:url(#SVGID_826_);fill:#231F20;} + .st415{clip-path:url(#SVGID_828_);fill:#231F20;} + .st416{clip-path:url(#SVGID_830_);fill:#231F20;} + .st417{clip-path:url(#SVGID_832_);} + .st418{clip-path:url(#SVGID_834_);} + .st419{clip-path:url(#SVGID_836_);} + .st420{clip-path:url(#SVGID_838_);fill:#939598;} + .st421{clip-path:url(#SVGID_840_);fill:#555753;} + .st422{clip-path:url(#SVGID_842_);fill:#939598;} + .st423{clip-path:url(#SVGID_844_);fill:#939598;} + .st424{clip-path:url(#SVGID_846_);fill:#555753;} + .st425{clip-path:url(#SVGID_848_);fill:#939598;} + .st426{clip-path:url(#SVGID_850_);fill:#555753;} + .st427{clip-path:url(#SVGID_852_);fill:#939598;} + .st428{clip-path:url(#SVGID_854_);fill:#231F20;} + .st429{clip-path:url(#SVGID_856_);fill:#231F20;} + .st430{clip-path:url(#SVGID_858_);fill:#939598;} + .st431{clip-path:url(#SVGID_860_);fill:#555753;} + .st432{clip-path:url(#SVGID_862_);fill:#939598;} + .st433{clip-path:url(#SVGID_864_);fill:#555753;} + .st434{clip-path:url(#SVGID_866_);fill:#939598;} + .st435{clip-path:url(#SVGID_868_);fill:#939598;} + .st436{clip-path:url(#SVGID_870_);fill:#555753;} + .st437{clip-path:url(#SVGID_872_);fill:#939598;} + .st438{clip-path:url(#SVGID_874_);fill:#939598;} + .st439{clip-path:url(#SVGID_876_);fill:#555753;} + .st440{clip-path:url(#SVGID_878_);fill:#231F20;} + .st441{clip-path:url(#SVGID_880_);fill:#939598;} + .st442{clip-path:url(#SVGID_882_);fill:#555753;} + .st443{clip-path:url(#SVGID_884_);fill:#939598;} + .st444{clip-path:url(#SVGID_886_);fill:#939598;} + .st445{clip-path:url(#SVGID_888_);fill:#555753;} + .st446{clip-path:url(#SVGID_890_);fill:#231F20;} + .st447{clip-path:url(#SVGID_892_);fill:#231F20;} + .st448{clip-path:url(#SVGID_894_);fill:#231F20;} + .st449{clip-path:url(#SVGID_896_);fill:#231F20;} + .st450{clip-path:url(#SVGID_898_);fill:#231F20;} + .st451{clip-path:url(#SVGID_900_);fill:#231F20;} + .st452{clip-path:url(#SVGID_902_);fill:#231F20;} + .st453{clip-path:url(#SVGID_904_);fill:#231F20;} + .st454{clip-path:url(#SVGID_906_);fill:#231F20;} + .st455{clip-path:url(#SVGID_908_);fill:#231F20;} + .st456{clip-path:url(#SVGID_910_);fill:#939598;} + .st457{clip-path:url(#SVGID_912_);fill:#555753;} + .st458{clip-path:url(#SVGID_914_);fill:#939598;} + .st459{clip-path:url(#SVGID_916_);fill:#939598;} + .st460{clip-path:url(#SVGID_918_);fill:#555753;} + .st461{clip-path:url(#SVGID_920_);fill:#231F20;} + .st462{clip-path:url(#SVGID_922_);fill:#231F20;} + .st463{clip-path:url(#SVGID_924_);fill:#231F20;} + .st464{clip-path:url(#SVGID_926_);fill:#231F20;} + .st465{clip-path:url(#SVGID_928_);fill:#231F20;} + .st466{clip-path:url(#SVGID_930_);fill:#939598;} + .st467{clip-path:url(#SVGID_932_);fill:#555753;} + .st468{clip-path:url(#SVGID_934_);fill:#939598;} + .st469{clip-path:url(#SVGID_936_);fill:#555753;} + .st470{clip-path:url(#SVGID_938_);fill:#231F20;} + .st471{clip-path:url(#SVGID_940_);fill:#231F20;} + .st472{clip-path:url(#SVGID_942_);fill:#231F20;} + .st473{clip-path:url(#SVGID_944_);fill:#939598;} + .st474{clip-path:url(#SVGID_946_);fill:#555753;} + .st475{clip-path:url(#SVGID_948_);fill:#939598;} + .st476{clip-path:url(#SVGID_950_);fill:#231F20;} + .st477{clip-path:url(#SVGID_952_);fill:#231F20;} + .st478{clip-path:url(#SVGID_954_);fill:#231F20;} + .st479{clip-path:url(#SVGID_956_);} + .st480{clip-path:url(#SVGID_958_);fill:#231F20;} + .st481{clip-path:url(#SVGID_960_);fill:#E9956E;} + .st482{clip-path:url(#SVGID_962_);fill:#231F20;} + .st483{clip-path:url(#SVGID_964_);fill:#CC980C;} + .st484{clip-path:url(#SVGID_966_);} + .st485{clip-path:url(#SVGID_968_);fill:#703400;} + .st486{clip-path:url(#SVGID_970_);fill:#703400;} + .st487{clip-path:url(#SVGID_972_);fill:#703400;} + .st488{clip-path:url(#SVGID_974_);fill:#ECD454;} + .st489{clip-path:url(#SVGID_976_);} + .st490{clip-path:url(#SVGID_978_);fill:#ECD454;} + .st491{clip-path:url(#SVGID_980_);fill:#E6E7E8;} + .st492{clip-path:url(#SVGID_982_);fill:#ECD454;} + .st493{clip-path:url(#SVGID_984_);fill:#231F20;} + .st494{clip-path:url(#SVGID_986_);fill:#E6E7E8;} + .st495{clip-path:url(#SVGID_988_);fill:#ECD454;} + .st496{clip-path:url(#SVGID_990_);fill:#231F20;} + .st497{clip-path:url(#SVGID_992_);fill:#C69600;} + .st498{clip-path:url(#SVGID_994_);fill:#F8C300;} + .st499{clip-path:url(#SVGID_996_);fill:#F8C300;} + .st500{clip-path:url(#SVGID_998_);fill:#F8C300;} + .st501{clip-path:url(#SVGID_1000_);fill:#F8C300;} + .st502{clip-path:url(#SVGID_1002_);fill:#F8C300;} + .st503{clip-path:url(#SVGID_1004_);fill:#F8C300;} + .st504{clip-path:url(#SVGID_1006_);fill:#F8C300;} + .st505{clip-path:url(#SVGID_1008_);} + .st506{clip-path:url(#SVGID_1010_);} + .st507{clip-path:url(#SVGID_1012_);fill:#00247D;} + .st508{clip-path:url(#SVGID_1014_);fill:#F8C300;} + .st509{clip-path:url(#SVGID_1016_);fill:#00247D;} + .st510{clip-path:url(#SVGID_1018_);fill:#F8C300;} + .st511{clip-path:url(#SVGID_1020_);fill:#00247D;} + .st512{clip-path:url(#SVGID_1022_);fill:#F8C300;} + .st513{clip-path:url(#SVGID_1024_);} + .st514{clip-path:url(#SVGID_1026_);fill:#F8C300;} + .st515{clip-path:url(#SVGID_1028_);fill:#FFFFFF;} + .st516{clip-path:url(#SVGID_1030_);fill:#CC980C;} + .st517{clip-path:url(#SVGID_1032_);fill:#FFFFFF;} + .st518{clip-path:url(#SVGID_1034_);fill:#CC980C;} + .st519{clip-path:url(#SVGID_1036_);fill:#703400;} + .st520{clip-path:url(#SVGID_1038_);fill:#CC980C;} + .st521{clip-path:url(#SVGID_1040_);fill:#703400;} + .st522{clip-path:url(#SVGID_1042_);fill:#CC980C;} + .st523{clip-path:url(#SVGID_1044_);fill:#703400;} + .st524{clip-path:url(#SVGID_1046_);fill:#CC980C;} + .st525{clip-path:url(#SVGID_1048_);fill:#703400;} + .st526{clip-path:url(#SVGID_1050_);fill:#CC980C;} + .st527{clip-path:url(#SVGID_1052_);fill:#703400;} + .st528{clip-path:url(#SVGID_1054_);fill:#CC980C;} + .st529{clip-path:url(#SVGID_1056_);fill:#703400;} + .st530{clip-path:url(#SVGID_1058_);fill:#CC980C;} + .st531{clip-path:url(#SVGID_1060_);fill:#703400;} + .st532{clip-path:url(#SVGID_1062_);fill:#CC980C;} + .st533{clip-path:url(#SVGID_1064_);fill:#703400;} + .st534{clip-path:url(#SVGID_1066_);fill:#CC980C;} + .st535{clip-path:url(#SVGID_1068_);fill:#703400;} + .st536{clip-path:url(#SVGID_1070_);fill:#CC980C;} + .st537{clip-path:url(#SVGID_1072_);fill:#703400;} + .st538{clip-path:url(#SVGID_1074_);fill:#CC980C;} + .st539{clip-path:url(#SVGID_1076_);fill:#703400;} + .st540{clip-path:url(#SVGID_1078_);fill:#CC980C;} + .st541{clip-path:url(#SVGID_1080_);fill:#703400;} + .st542{clip-path:url(#SVGID_1082_);fill:#CC980C;} + .st543{clip-path:url(#SVGID_1084_);fill:#703400;} + .st544{clip-path:url(#SVGID_1086_);fill:#CC980C;} + .st545{clip-path:url(#SVGID_1088_);fill:#703400;} + .st546{clip-path:url(#SVGID_1090_);fill:#CC980C;} + .st547{clip-path:url(#SVGID_1092_);fill:#703400;} + .st548{clip-path:url(#SVGID_1094_);fill:#CC980C;} + .st549{clip-path:url(#SVGID_1096_);fill:#703400;} + .st550{clip-path:url(#SVGID_1098_);fill:#CC980C;} + .st551{clip-path:url(#SVGID_1100_);fill:#703400;} + .st552{clip-path:url(#SVGID_1102_);fill:#CC980C;} + .st553{clip-path:url(#SVGID_1104_);fill:#CC980C;} + .st554{clip-path:url(#SVGID_1106_);fill:#ECD454;} + .st555{clip-path:url(#SVGID_1108_);fill:#CC980C;} + .st556{clip-path:url(#SVGID_1110_);fill:#703400;} + .st557{clip-path:url(#SVGID_1112_);fill:#703400;} + .st558{clip-path:url(#SVGID_1114_);fill:#CC980C;} + .st559{clip-path:url(#SVGID_1116_);fill:#703400;} + .st560{clip-path:url(#SVGID_1118_);fill:#CC980C;} + .st561{clip-path:url(#SVGID_1120_);fill:#703400;} + .st562{clip-path:url(#SVGID_1122_);fill:#CC980C;} + .st563{clip-path:url(#SVGID_1124_);fill:#703400;} + .st564{clip-path:url(#SVGID_1126_);fill:#CC980C;} + .st565{clip-path:url(#SVGID_1128_);fill:#703400;} + .st566{clip-path:url(#SVGID_1130_);fill:#703400;} + .st567{clip-path:url(#SVGID_1132_);fill:#CC980C;} + .st568{clip-path:url(#SVGID_1134_);fill:#703400;} + .st569{clip-path:url(#SVGID_1136_);fill:#703400;} + .st570{clip-path:url(#SVGID_1138_);fill:#CC980C;} + .st571{clip-path:url(#SVGID_1140_);} + .st572{clip-path:url(#SVGID_1142_);} + .st573{clip-path:url(#SVGID_1144_);fill:#555753;} + .st574{clip-path:url(#SVGID_1146_);fill:#231F20;} + .st575{clip-path:url(#SVGID_1148_);fill:#555753;} + .st576{clip-path:url(#SVGID_1150_);fill:#939598;} + .st577{clip-path:url(#SVGID_1152_);fill:#555753;} + .st578{clip-path:url(#SVGID_1154_);fill:#939598;} + .st579{clip-path:url(#SVGID_1156_);fill:#555753;} + .st580{clip-path:url(#SVGID_1158_);fill:#939598;} + .st581{clip-path:url(#SVGID_1160_);fill:#231F20;} + .st582{clip-path:url(#SVGID_1162_);} + .st583{clip-path:url(#SVGID_1164_);fill:#E9956E;} + .st584{clip-path:url(#SVGID_1166_);} + .st585{clip-path:url(#SVGID_1168_);fill:#231F20;} + .st586{clip-path:url(#SVGID_1170_);} + .st587{clip-path:url(#SVGID_1172_);} + .st588{clip-path:url(#SVGID_1174_);fill:#B8B8B8;} + .st589{clip-path:url(#SVGID_1176_);fill:#B8B8B8;} + .st590{clip-path:url(#SVGID_1178_);fill:#B9B9B9;} + .st591{clip-path:url(#SVGID_1180_);fill:#BABABA;} + .st592{clip-path:url(#SVGID_1182_);fill:#BBBBBB;} + .st593{clip-path:url(#SVGID_1184_);fill:#BCBCBC;} + .st594{clip-path:url(#SVGID_1186_);fill:#BDBDBD;} + .st595{clip-path:url(#SVGID_1188_);fill:#BEBEBE;} + .st596{clip-path:url(#SVGID_1190_);fill:#BFBFBF;} + .st597{clip-path:url(#SVGID_1192_);fill:#C0C0C0;} + .st598{clip-path:url(#SVGID_1194_);fill:#C1C1C1;} + .st599{clip-path:url(#SVGID_1196_);fill:#C2C2C2;} + .st600{clip-path:url(#SVGID_1198_);fill:#C3C3C3;} + .st601{clip-path:url(#SVGID_1200_);fill:#C4C4C4;} + .st602{clip-path:url(#SVGID_1202_);fill:#C5C5C5;} + .st603{clip-path:url(#SVGID_1204_);fill:#C6C6C6;} + .st604{clip-path:url(#SVGID_1206_);fill:#C7C7C7;} + .st605{clip-path:url(#SVGID_1208_);fill:#C8C8C8;} + .st606{clip-path:url(#SVGID_1210_);fill:#C9C9C9;} + .st607{clip-path:url(#SVGID_1212_);fill:#CACACA;} + .st608{clip-path:url(#SVGID_1214_);fill:#CBCBCB;} + .st609{clip-path:url(#SVGID_1216_);fill:#CCCCCC;} + .st610{clip-path:url(#SVGID_1218_);fill:#CDCDCD;} + .st611{clip-path:url(#SVGID_1220_);fill:#CECECE;} + .st612{clip-path:url(#SVGID_1222_);fill:#CFCFCF;} + .st613{clip-path:url(#SVGID_1224_);fill:#D0D0D0;} + .st614{clip-path:url(#SVGID_1226_);fill:#D1D1D1;} + .st615{clip-path:url(#SVGID_1228_);fill:#D2D2D2;} + .st616{clip-path:url(#SVGID_1230_);fill:#D3D3D3;} + .st617{clip-path:url(#SVGID_1232_);fill:#D5D5D5;} + .st618{clip-path:url(#SVGID_1234_);fill:#D6D6D6;} + .st619{clip-path:url(#SVGID_1236_);fill:#D7D7D7;} + .st620{clip-path:url(#SVGID_1238_);fill:#D8D8D8;} + .st621{clip-path:url(#SVGID_1240_);fill:#D9D9D9;} + .st622{clip-path:url(#SVGID_1242_);fill:#DADADA;} + .st623{clip-path:url(#SVGID_1244_);fill:#DBDBDB;} + .st624{clip-path:url(#SVGID_1246_);fill:#DCDCDC;} + .st625{clip-path:url(#SVGID_1248_);fill:#DDDDDD;} + .st626{clip-path:url(#SVGID_1250_);fill:#DEDEDE;} + .st627{clip-path:url(#SVGID_1252_);fill:#DFDFDF;} + .st628{clip-path:url(#SVGID_1254_);fill:#E0E0E0;} + .st629{clip-path:url(#SVGID_1256_);fill:#E1E1E1;} + .st630{clip-path:url(#SVGID_1258_);fill:#E2E2E2;} + .st631{clip-path:url(#SVGID_1260_);fill:#E3E3E3;} + .st632{clip-path:url(#SVGID_1262_);fill:#E4E4E4;} + .st633{clip-path:url(#SVGID_1264_);fill:#E5E5E5;} + .st634{clip-path:url(#SVGID_1266_);fill:#E6E6E6;} + .st635{clip-path:url(#SVGID_1268_);fill:#E7E7E7;} + .st636{clip-path:url(#SVGID_1270_);fill:#E8E8E8;} + .st637{clip-path:url(#SVGID_1272_);fill:#E9E9E9;} + .st638{clip-path:url(#SVGID_1274_);fill:#EAEAEA;} + .st639{clip-path:url(#SVGID_1276_);fill:#EBEBEB;} + .st640{clip-path:url(#SVGID_1278_);fill:#ECECEC;} + .st641{clip-path:url(#SVGID_1280_);fill:#EDEDED;} + .st642{clip-path:url(#SVGID_1282_);fill:#EEEEEE;} + .st643{clip-path:url(#SVGID_1284_);fill:#EFEFEF;} + .st644{clip-path:url(#SVGID_1286_);fill:#F0F0F0;} + .st645{clip-path:url(#SVGID_1288_);fill:#F0F0F0;} + .st646{clip-path:url(#SVGID_1290_);fill:#F1F1F1;} + .st647{clip-path:url(#SVGID_1292_);fill:#F2F2F2;} + .st648{clip-path:url(#SVGID_1294_);fill:#F3F3F3;} + .st649{clip-path:url(#SVGID_1296_);fill:#F4F4F4;} + .st650{clip-path:url(#SVGID_1298_);fill:#F5F5F5;} + .st651{clip-path:url(#SVGID_1300_);fill:#F7F7F7;} + .st652{clip-path:url(#SVGID_1302_);fill:#F8F8F8;} + .st653{clip-path:url(#SVGID_1304_);fill:#F9F9F9;} + .st654{clip-path:url(#SVGID_1306_);fill:#FAFAFA;} + .st655{clip-path:url(#SVGID_1308_);fill:#FBFBFB;} + .st656{clip-path:url(#SVGID_1310_);fill:#FCFCFC;} + .st657{clip-path:url(#SVGID_1312_);fill:#FDFDFD;} + .st658{clip-path:url(#SVGID_1314_);} + .st659{clip-path:url(#SVGID_1316_);fill:#B8B8B8;} + .st660{clip-path:url(#SVGID_1318_);fill:#B8B8B8;} + .st661{clip-path:url(#SVGID_1320_);fill:#B9B9B9;} + .st662{clip-path:url(#SVGID_1322_);fill:#BABABA;} + .st663{clip-path:url(#SVGID_1324_);fill:#BBBBBB;} + .st664{clip-path:url(#SVGID_1326_);fill:#BCBCBC;} + .st665{clip-path:url(#SVGID_1328_);fill:#BDBDBD;} + .st666{clip-path:url(#SVGID_1330_);fill:#BEBEBE;} + .st667{clip-path:url(#SVGID_1332_);fill:#BFBFBF;} + .st668{clip-path:url(#SVGID_1334_);fill:#C0C0C0;} + .st669{clip-path:url(#SVGID_1336_);fill:#C1C1C1;} + .st670{clip-path:url(#SVGID_1338_);fill:#C2C2C2;} + .st671{clip-path:url(#SVGID_1340_);fill:#C3C3C3;} + .st672{clip-path:url(#SVGID_1342_);fill:#C4C4C4;} + .st673{clip-path:url(#SVGID_1344_);fill:#C5C5C5;} + .st674{clip-path:url(#SVGID_1346_);fill:#C6C6C6;} + .st675{clip-path:url(#SVGID_1348_);fill:#C7C7C7;} + .st676{clip-path:url(#SVGID_1350_);fill:#C8C8C8;} + .st677{clip-path:url(#SVGID_1352_);fill:#C9C9C9;} + .st678{clip-path:url(#SVGID_1354_);fill:#CACACA;} + .st679{clip-path:url(#SVGID_1356_);fill:#CBCBCB;} + .st680{clip-path:url(#SVGID_1358_);fill:#CCCCCC;} + .st681{clip-path:url(#SVGID_1360_);fill:#CDCDCD;} + .st682{clip-path:url(#SVGID_1362_);fill:#CECECE;} + .st683{clip-path:url(#SVGID_1364_);fill:#CFCFCF;} + .st684{clip-path:url(#SVGID_1366_);fill:#D0D0D0;} + .st685{clip-path:url(#SVGID_1368_);fill:#D1D1D1;} + .st686{clip-path:url(#SVGID_1370_);fill:#D2D2D2;} + .st687{clip-path:url(#SVGID_1372_);fill:#D3D3D3;} + .st688{clip-path:url(#SVGID_1374_);fill:#D5D5D5;} + .st689{clip-path:url(#SVGID_1376_);fill:#D6D6D6;} + .st690{clip-path:url(#SVGID_1378_);fill:#D7D7D7;} + .st691{clip-path:url(#SVGID_1380_);fill:#D8D8D8;} + .st692{clip-path:url(#SVGID_1382_);fill:#D9D9D9;} + .st693{clip-path:url(#SVGID_1384_);fill:#DADADA;} + .st694{clip-path:url(#SVGID_1386_);fill:#DBDBDB;} + .st695{clip-path:url(#SVGID_1388_);fill:#DCDCDC;} + .st696{clip-path:url(#SVGID_1390_);fill:#DDDDDD;} + .st697{clip-path:url(#SVGID_1392_);fill:#DEDEDE;} + .st698{clip-path:url(#SVGID_1394_);fill:#DFDFDF;} + .st699{clip-path:url(#SVGID_1396_);fill:#E0E0E0;} + .st700{clip-path:url(#SVGID_1398_);fill:#E1E1E1;} + .st701{clip-path:url(#SVGID_1400_);fill:#E2E2E2;} + .st702{clip-path:url(#SVGID_1402_);fill:#E3E3E3;} + .st703{clip-path:url(#SVGID_1404_);fill:#E4E4E4;} + .st704{clip-path:url(#SVGID_1406_);fill:#E5E5E5;} + .st705{clip-path:url(#SVGID_1408_);fill:#E6E6E6;} + .st706{clip-path:url(#SVGID_1410_);fill:#E7E7E7;} + .st707{clip-path:url(#SVGID_1412_);fill:#E8E8E8;} + .st708{clip-path:url(#SVGID_1414_);fill:#E9E9E9;} + .st709{clip-path:url(#SVGID_1416_);fill:#EAEAEA;} + .st710{clip-path:url(#SVGID_1418_);fill:#EBEBEB;} + .st711{clip-path:url(#SVGID_1420_);fill:#ECECEC;} + .st712{clip-path:url(#SVGID_1422_);fill:#EDEDED;} + .st713{clip-path:url(#SVGID_1424_);fill:#EEEEEE;} + .st714{clip-path:url(#SVGID_1426_);fill:#EFEFEF;} + .st715{clip-path:url(#SVGID_1428_);fill:#F0F0F0;} + .st716{clip-path:url(#SVGID_1430_);fill:#F0F0F0;} + .st717{clip-path:url(#SVGID_1432_);fill:#F1F1F1;} + .st718{clip-path:url(#SVGID_1434_);fill:#F2F2F2;} + .st719{clip-path:url(#SVGID_1436_);fill:#F3F3F3;} + .st720{clip-path:url(#SVGID_1438_);fill:#F4F4F4;} + .st721{clip-path:url(#SVGID_1440_);fill:#F5F5F5;} + .st722{clip-path:url(#SVGID_1442_);fill:#F7F7F7;} + .st723{clip-path:url(#SVGID_1444_);fill:#F8F8F8;} + .st724{clip-path:url(#SVGID_1446_);fill:#F9F9F9;} + .st725{clip-path:url(#SVGID_1448_);fill:#FAFAFA;} + .st726{clip-path:url(#SVGID_1450_);fill:#FBFBFB;} + .st727{clip-path:url(#SVGID_1452_);fill:#FCFCFC;} + .st728{clip-path:url(#SVGID_1454_);fill:#FDFDFD;} + .st729{clip-path:url(#SVGID_1456_);fill:#AD252C;} + .st730{clip-path:url(#SVGID_1458_);fill:#FFDA07;} + .st731{clip-path:url(#SVGID_1460_);fill:#C99009;} + .st732{clip-path:url(#SVGID_1462_);fill:#FFDA07;} + .st733{clip-path:url(#SVGID_1464_);fill:#C99009;} + .st734{clip-path:url(#SVGID_1466_);} + .st735{clip-path:url(#SVGID_1468_);fill:#B8B8B8;} + .st736{clip-path:url(#SVGID_1470_);fill:#B8B8B8;} + .st737{clip-path:url(#SVGID_1472_);fill:#B9B9B9;} + .st738{clip-path:url(#SVGID_1474_);fill:#BABABA;} + .st739{clip-path:url(#SVGID_1476_);fill:#BBBBBB;} + .st740{clip-path:url(#SVGID_1478_);fill:#BCBCBC;} + .st741{clip-path:url(#SVGID_1480_);fill:#BDBDBD;} + .st742{clip-path:url(#SVGID_1482_);fill:#BEBEBE;} + .st743{clip-path:url(#SVGID_1484_);fill:#BFBFBF;} + .st744{clip-path:url(#SVGID_1486_);fill:#C0C0C0;} + .st745{clip-path:url(#SVGID_1488_);fill:#C1C1C1;} + .st746{clip-path:url(#SVGID_1490_);fill:#C2C2C2;} + .st747{clip-path:url(#SVGID_1492_);fill:#C3C3C3;} + .st748{clip-path:url(#SVGID_1494_);fill:#C4C4C4;} + .st749{clip-path:url(#SVGID_1496_);fill:#C5C5C5;} + .st750{clip-path:url(#SVGID_1498_);fill:#C6C6C6;} + .st751{clip-path:url(#SVGID_1500_);fill:#C7C7C7;} + .st752{clip-path:url(#SVGID_1502_);fill:#C8C8C8;} + .st753{clip-path:url(#SVGID_1504_);fill:#C9C9C9;} + .st754{clip-path:url(#SVGID_1506_);fill:#CACACA;} + .st755{clip-path:url(#SVGID_1508_);fill:#CBCBCB;} + .st756{clip-path:url(#SVGID_1510_);fill:#CCCCCC;} + .st757{clip-path:url(#SVGID_1512_);fill:#CDCDCD;} + .st758{clip-path:url(#SVGID_1514_);fill:#CECECE;} + .st759{clip-path:url(#SVGID_1516_);fill:#CFCFCF;} + .st760{clip-path:url(#SVGID_1518_);fill:#D0D0D0;} + .st761{clip-path:url(#SVGID_1520_);fill:#D1D1D1;} + .st762{clip-path:url(#SVGID_1522_);fill:#D2D2D2;} + .st763{clip-path:url(#SVGID_1524_);fill:#D3D3D3;} + .st764{clip-path:url(#SVGID_1526_);fill:#D5D5D5;} + .st765{clip-path:url(#SVGID_1528_);fill:#D6D6D6;} + .st766{clip-path:url(#SVGID_1530_);fill:#D7D7D7;} + .st767{clip-path:url(#SVGID_1532_);fill:#D8D8D8;} + .st768{clip-path:url(#SVGID_1534_);fill:#D9D9D9;} + .st769{clip-path:url(#SVGID_1536_);fill:#DADADA;} + .st770{clip-path:url(#SVGID_1538_);fill:#DBDBDB;} + .st771{clip-path:url(#SVGID_1540_);fill:#DCDCDC;} + .st772{clip-path:url(#SVGID_1542_);fill:#DDDDDD;} + .st773{clip-path:url(#SVGID_1544_);fill:#DEDEDE;} + .st774{clip-path:url(#SVGID_1546_);fill:#DFDFDF;} + .st775{clip-path:url(#SVGID_1548_);fill:#E0E0E0;} + .st776{clip-path:url(#SVGID_1550_);fill:#E1E1E1;} + .st777{clip-path:url(#SVGID_1552_);fill:#E2E2E2;} + .st778{clip-path:url(#SVGID_1554_);fill:#E3E3E3;} + .st779{clip-path:url(#SVGID_1556_);fill:#E4E4E4;} + .st780{clip-path:url(#SVGID_1558_);fill:#E5E5E5;} + .st781{clip-path:url(#SVGID_1560_);fill:#E6E6E6;} + .st782{clip-path:url(#SVGID_1562_);fill:#E7E7E7;} + .st783{clip-path:url(#SVGID_1564_);fill:#E8E8E8;} + .st784{clip-path:url(#SVGID_1566_);fill:#E9E9E9;} + .st785{clip-path:url(#SVGID_1568_);fill:#EAEAEA;} + .st786{clip-path:url(#SVGID_1570_);fill:#EBEBEB;} + .st787{clip-path:url(#SVGID_1572_);fill:#ECECEC;} + .st788{clip-path:url(#SVGID_1574_);fill:#EDEDED;} + .st789{clip-path:url(#SVGID_1576_);fill:#EEEEEE;} + .st790{clip-path:url(#SVGID_1578_);fill:#EFEFEF;} + .st791{clip-path:url(#SVGID_1580_);fill:#F0F0F0;} + .st792{clip-path:url(#SVGID_1582_);fill:#F0F0F0;} + .st793{clip-path:url(#SVGID_1584_);fill:#F1F1F1;} + .st794{clip-path:url(#SVGID_1586_);fill:#F2F2F2;} + .st795{clip-path:url(#SVGID_1588_);fill:#F3F3F3;} + .st796{clip-path:url(#SVGID_1590_);fill:#F4F4F4;} + .st797{clip-path:url(#SVGID_1592_);fill:#F5F5F5;} + .st798{clip-path:url(#SVGID_1594_);fill:#F7F7F7;} + .st799{clip-path:url(#SVGID_1596_);fill:#F8F8F8;} + .st800{clip-path:url(#SVGID_1598_);fill:#F9F9F9;} + .st801{clip-path:url(#SVGID_1600_);fill:#FAFAFA;} + .st802{clip-path:url(#SVGID_1602_);fill:#FBFBFB;} + .st803{clip-path:url(#SVGID_1604_);fill:#FCFCFC;} + .st804{clip-path:url(#SVGID_1606_);fill:#FDFDFD;} + .st805{clip-path:url(#SVGID_1608_);} + .st806{clip-path:url(#SVGID_1610_);fill:#B8B8B8;} + .st807{clip-path:url(#SVGID_1612_);fill:#B8B8B8;} + .st808{clip-path:url(#SVGID_1614_);fill:#B9B9B9;} + .st809{clip-path:url(#SVGID_1616_);fill:#BABABA;} + .st810{clip-path:url(#SVGID_1618_);fill:#BBBBBB;} + .st811{clip-path:url(#SVGID_1620_);fill:#BCBCBC;} + .st812{clip-path:url(#SVGID_1622_);fill:#BDBDBD;} + .st813{clip-path:url(#SVGID_1624_);fill:#BEBEBE;} + .st814{clip-path:url(#SVGID_1626_);fill:#BFBFBF;} + .st815{clip-path:url(#SVGID_1628_);fill:#C0C0C0;} + .st816{clip-path:url(#SVGID_1630_);fill:#C1C1C1;} + .st817{clip-path:url(#SVGID_1632_);fill:#C2C2C2;} + .st818{clip-path:url(#SVGID_1634_);fill:#C3C3C3;} + .st819{clip-path:url(#SVGID_1636_);fill:#C4C4C4;} + .st820{clip-path:url(#SVGID_1638_);fill:#C5C5C5;} + .st821{clip-path:url(#SVGID_1640_);fill:#C6C6C6;} + .st822{clip-path:url(#SVGID_1642_);fill:#C7C7C7;} + .st823{clip-path:url(#SVGID_1644_);fill:#C8C8C8;} + .st824{clip-path:url(#SVGID_1646_);fill:#C9C9C9;} + .st825{clip-path:url(#SVGID_1648_);fill:#CACACA;} + .st826{clip-path:url(#SVGID_1650_);fill:#CBCBCB;} + .st827{clip-path:url(#SVGID_1652_);fill:#CCCCCC;} + .st828{clip-path:url(#SVGID_1654_);fill:#CDCDCD;} + .st829{clip-path:url(#SVGID_1656_);fill:#CECECE;} + .st830{clip-path:url(#SVGID_1658_);fill:#CFCFCF;} + .st831{clip-path:url(#SVGID_1660_);fill:#D0D0D0;} + .st832{clip-path:url(#SVGID_1662_);fill:#D1D1D1;} + .st833{clip-path:url(#SVGID_1664_);fill:#D2D2D2;} + .st834{clip-path:url(#SVGID_1666_);fill:#D3D3D3;} + .st835{clip-path:url(#SVGID_1668_);fill:#D5D5D5;} + .st836{clip-path:url(#SVGID_1670_);fill:#D6D6D6;} + .st837{clip-path:url(#SVGID_1672_);fill:#D7D7D7;} + .st838{clip-path:url(#SVGID_1674_);fill:#D8D8D8;} + .st839{clip-path:url(#SVGID_1676_);fill:#D9D9D9;} + .st840{clip-path:url(#SVGID_1678_);fill:#DADADA;} + .st841{clip-path:url(#SVGID_1680_);fill:#DBDBDB;} + .st842{clip-path:url(#SVGID_1682_);fill:#DCDCDC;} + .st843{clip-path:url(#SVGID_1684_);fill:#DDDDDD;} + .st844{clip-path:url(#SVGID_1686_);fill:#DEDEDE;} + .st845{clip-path:url(#SVGID_1688_);fill:#DFDFDF;} + .st846{clip-path:url(#SVGID_1690_);fill:#E0E0E0;} + .st847{clip-path:url(#SVGID_1692_);fill:#E1E1E1;} + .st848{clip-path:url(#SVGID_1694_);fill:#E2E2E2;} + .st849{clip-path:url(#SVGID_1696_);fill:#E3E3E3;} + .st850{clip-path:url(#SVGID_1698_);fill:#E4E4E4;} + .st851{clip-path:url(#SVGID_1700_);fill:#E5E5E5;} + .st852{clip-path:url(#SVGID_1702_);fill:#E6E6E6;} + .st853{clip-path:url(#SVGID_1704_);fill:#E7E7E7;} + .st854{clip-path:url(#SVGID_1706_);fill:#E8E8E8;} + .st855{clip-path:url(#SVGID_1708_);fill:#E9E9E9;} + .st856{clip-path:url(#SVGID_1710_);fill:#EAEAEA;} + .st857{clip-path:url(#SVGID_1712_);fill:#EBEBEB;} + .st858{clip-path:url(#SVGID_1714_);fill:#ECECEC;} + .st859{clip-path:url(#SVGID_1716_);fill:#EDEDED;} + .st860{clip-path:url(#SVGID_1718_);fill:#EEEEEE;} + .st861{clip-path:url(#SVGID_1720_);fill:#EFEFEF;} + .st862{clip-path:url(#SVGID_1722_);fill:#F0F0F0;} + .st863{clip-path:url(#SVGID_1724_);fill:#F0F0F0;} + .st864{clip-path:url(#SVGID_1726_);fill:#F1F1F1;} + .st865{clip-path:url(#SVGID_1728_);fill:#F2F2F2;} + .st866{clip-path:url(#SVGID_1730_);fill:#F3F3F3;} + .st867{clip-path:url(#SVGID_1732_);fill:#F4F4F4;} + .st868{clip-path:url(#SVGID_1734_);fill:#F5F5F5;} + .st869{clip-path:url(#SVGID_1736_);fill:#F7F7F7;} + .st870{clip-path:url(#SVGID_1738_);fill:#F8F8F8;} + .st871{clip-path:url(#SVGID_1740_);fill:#F9F9F9;} + .st872{clip-path:url(#SVGID_1742_);fill:#FAFAFA;} + .st873{clip-path:url(#SVGID_1744_);fill:#FBFBFB;} + .st874{clip-path:url(#SVGID_1746_);fill:#FCFCFC;} + .st875{clip-path:url(#SVGID_1748_);fill:#FDFDFD;} + .st876{clip-path:url(#SVGID_1750_);} + .st877{clip-path:url(#SVGID_1752_);fill:#B8B8B8;} + .st878{clip-path:url(#SVGID_1754_);fill:#B8B8B8;} + .st879{clip-path:url(#SVGID_1756_);fill:#B9B9B9;} + .st880{clip-path:url(#SVGID_1758_);fill:#BABABA;} + .st881{clip-path:url(#SVGID_1760_);fill:#BBBBBB;} + .st882{clip-path:url(#SVGID_1762_);fill:#BCBCBC;} + .st883{clip-path:url(#SVGID_1764_);fill:#BDBDBD;} + .st884{clip-path:url(#SVGID_1766_);fill:#BEBEBE;} + .st885{clip-path:url(#SVGID_1768_);fill:#BFBFBF;} + .st886{clip-path:url(#SVGID_1770_);fill:#C0C0C0;} + .st887{clip-path:url(#SVGID_1772_);fill:#C1C1C1;} + .st888{clip-path:url(#SVGID_1774_);fill:#C2C2C2;} + .st889{clip-path:url(#SVGID_1776_);fill:#C3C3C3;} + .st890{clip-path:url(#SVGID_1778_);fill:#C4C4C4;} + .st891{clip-path:url(#SVGID_1780_);fill:#C5C5C5;} + .st892{clip-path:url(#SVGID_1782_);fill:#C6C6C6;} + .st893{clip-path:url(#SVGID_1784_);fill:#C7C7C7;} + .st894{clip-path:url(#SVGID_1786_);fill:#C8C8C8;} + .st895{clip-path:url(#SVGID_1788_);fill:#C9C9C9;} + .st896{clip-path:url(#SVGID_1790_);fill:#CACACA;} + .st897{clip-path:url(#SVGID_1792_);fill:#CBCBCB;} + .st898{clip-path:url(#SVGID_1794_);fill:#CCCCCC;} + .st899{clip-path:url(#SVGID_1796_);fill:#CDCDCD;} + .st900{clip-path:url(#SVGID_1798_);fill:#CECECE;} + .st901{clip-path:url(#SVGID_1800_);fill:#CFCFCF;} + .st902{clip-path:url(#SVGID_1802_);fill:#D0D0D0;} + .st903{clip-path:url(#SVGID_1804_);fill:#D1D1D1;} + .st904{clip-path:url(#SVGID_1806_);fill:#D2D2D2;} + .st905{clip-path:url(#SVGID_1808_);fill:#D3D3D3;} + .st906{clip-path:url(#SVGID_1810_);fill:#D5D5D5;} + .st907{clip-path:url(#SVGID_1812_);fill:#D6D6D6;} + .st908{clip-path:url(#SVGID_1814_);fill:#D7D7D7;} + .st909{clip-path:url(#SVGID_1816_);fill:#D8D8D8;} + .st910{clip-path:url(#SVGID_1818_);fill:#D9D9D9;} + .st911{clip-path:url(#SVGID_1820_);fill:#DADADA;} + .st912{clip-path:url(#SVGID_1822_);fill:#DBDBDB;} + .st913{clip-path:url(#SVGID_1824_);fill:#DCDCDC;} + .st914{clip-path:url(#SVGID_1826_);fill:#DDDDDD;} + .st915{clip-path:url(#SVGID_1828_);fill:#DEDEDE;} + .st916{clip-path:url(#SVGID_1830_);fill:#DFDFDF;} + .st917{clip-path:url(#SVGID_1832_);fill:#E0E0E0;} + .st918{clip-path:url(#SVGID_1834_);fill:#E1E1E1;} + .st919{clip-path:url(#SVGID_1836_);fill:#E2E2E2;} + .st920{clip-path:url(#SVGID_1838_);fill:#E3E3E3;} + .st921{clip-path:url(#SVGID_1840_);fill:#E4E4E4;} + .st922{clip-path:url(#SVGID_1842_);fill:#E5E5E5;} + .st923{clip-path:url(#SVGID_1844_);fill:#E6E6E6;} + .st924{clip-path:url(#SVGID_1846_);fill:#E7E7E7;} + .st925{clip-path:url(#SVGID_1848_);fill:#E8E8E8;} + .st926{clip-path:url(#SVGID_1850_);fill:#E9E9E9;} + .st927{clip-path:url(#SVGID_1852_);fill:#EAEAEA;} + .st928{clip-path:url(#SVGID_1854_);fill:#EBEBEB;} + .st929{clip-path:url(#SVGID_1856_);fill:#ECECEC;} + .st930{clip-path:url(#SVGID_1858_);fill:#EDEDED;} + .st931{clip-path:url(#SVGID_1860_);fill:#EEEEEE;} + .st932{clip-path:url(#SVGID_1862_);fill:#EFEFEF;} + .st933{clip-path:url(#SVGID_1864_);fill:#F0F0F0;} + .st934{clip-path:url(#SVGID_1866_);fill:#F0F0F0;} + .st935{clip-path:url(#SVGID_1868_);fill:#F1F1F1;} + .st936{clip-path:url(#SVGID_1870_);fill:#F2F2F2;} + .st937{clip-path:url(#SVGID_1872_);fill:#F3F3F3;} + .st938{clip-path:url(#SVGID_1874_);fill:#F4F4F4;} + .st939{clip-path:url(#SVGID_1876_);fill:#F5F5F5;} + .st940{clip-path:url(#SVGID_1878_);fill:#F7F7F7;} + .st941{clip-path:url(#SVGID_1880_);fill:#F8F8F8;} + .st942{clip-path:url(#SVGID_1882_);fill:#F9F9F9;} + .st943{clip-path:url(#SVGID_1884_);fill:#FAFAFA;} + .st944{clip-path:url(#SVGID_1886_);fill:#FBFBFB;} + .st945{clip-path:url(#SVGID_1888_);fill:#FCFCFC;} + .st946{clip-path:url(#SVGID_1890_);fill:#FDFDFD;} + .st947{clip-path:url(#SVGID_1892_);} + .st948{clip-path:url(#SVGID_1894_);fill:#B8B8B8;} + .st949{clip-path:url(#SVGID_1896_);fill:#B8B8B8;} + .st950{clip-path:url(#SVGID_1898_);fill:#B9B9B9;} + .st951{clip-path:url(#SVGID_1900_);fill:#BABABA;} + .st952{clip-path:url(#SVGID_1902_);fill:#BBBBBB;} + .st953{clip-path:url(#SVGID_1904_);fill:#BCBCBC;} + .st954{clip-path:url(#SVGID_1906_);fill:#BDBDBD;} + .st955{clip-path:url(#SVGID_1908_);fill:#BEBEBE;} + .st956{clip-path:url(#SVGID_1910_);fill:#BFBFBF;} + .st957{clip-path:url(#SVGID_1912_);fill:#C0C0C0;} + .st958{clip-path:url(#SVGID_1914_);fill:#C1C1C1;} + .st959{clip-path:url(#SVGID_1916_);fill:#C2C2C2;} + .st960{clip-path:url(#SVGID_1918_);fill:#C3C3C3;} + .st961{clip-path:url(#SVGID_1920_);fill:#C4C4C4;} + .st962{clip-path:url(#SVGID_1922_);fill:#C5C5C5;} + .st963{clip-path:url(#SVGID_1924_);fill:#C6C6C6;} + .st964{clip-path:url(#SVGID_1926_);fill:#C7C7C7;} + .st965{clip-path:url(#SVGID_1928_);fill:#C8C8C8;} + .st966{clip-path:url(#SVGID_1930_);fill:#C9C9C9;} + .st967{clip-path:url(#SVGID_1932_);fill:#CACACA;} + .st968{clip-path:url(#SVGID_1934_);fill:#CBCBCB;} + .st969{clip-path:url(#SVGID_1936_);fill:#CCCCCC;} + .st970{clip-path:url(#SVGID_1938_);fill:#CDCDCD;} + .st971{clip-path:url(#SVGID_1940_);fill:#CECECE;} + .st972{clip-path:url(#SVGID_1942_);fill:#CFCFCF;} + .st973{clip-path:url(#SVGID_1944_);fill:#D0D0D0;} + .st974{clip-path:url(#SVGID_1946_);fill:#D1D1D1;} + .st975{clip-path:url(#SVGID_1948_);fill:#D2D2D2;} + .st976{clip-path:url(#SVGID_1950_);fill:#D3D3D3;} + .st977{clip-path:url(#SVGID_1952_);fill:#D5D5D5;} + .st978{clip-path:url(#SVGID_1954_);fill:#D6D6D6;} + .st979{clip-path:url(#SVGID_1956_);fill:#D7D7D7;} + .st980{clip-path:url(#SVGID_1958_);fill:#D8D8D8;} + .st981{clip-path:url(#SVGID_1960_);fill:#D9D9D9;} + .st982{clip-path:url(#SVGID_1962_);fill:#DADADA;} + .st983{clip-path:url(#SVGID_1964_);fill:#DBDBDB;} + .st984{clip-path:url(#SVGID_1966_);fill:#DCDCDC;} + .st985{clip-path:url(#SVGID_1968_);fill:#DDDDDD;} + .st986{clip-path:url(#SVGID_1970_);fill:#DEDEDE;} + .st987{clip-path:url(#SVGID_1972_);fill:#DFDFDF;} + .st988{clip-path:url(#SVGID_1974_);fill:#E0E0E0;} + .st989{clip-path:url(#SVGID_1976_);fill:#E1E1E1;} + .st990{clip-path:url(#SVGID_1978_);fill:#E2E2E2;} + .st991{clip-path:url(#SVGID_1980_);fill:#E3E3E3;} + .st992{clip-path:url(#SVGID_1982_);fill:#E4E4E4;} + .st993{clip-path:url(#SVGID_1984_);fill:#E5E5E5;} + .st994{clip-path:url(#SVGID_1986_);fill:#E6E6E6;} + .st995{clip-path:url(#SVGID_1988_);fill:#E7E7E7;} + .st996{clip-path:url(#SVGID_1990_);fill:#E8E8E8;} + .st997{clip-path:url(#SVGID_1992_);fill:#E9E9E9;} + .st998{clip-path:url(#SVGID_1994_);fill:#EAEAEA;} + .st999{clip-path:url(#SVGID_1996_);fill:#EBEBEB;} + .st1000{clip-path:url(#SVGID_1998_);fill:#ECECEC;} + .st1001{clip-path:url(#SVGID_2000_);fill:#EDEDED;} + .st1002{clip-path:url(#SVGID_2002_);fill:#EEEEEE;} + .st1003{clip-path:url(#SVGID_2004_);fill:#EFEFEF;} + .st1004{clip-path:url(#SVGID_2006_);fill:#F0F0F0;} + .st1005{clip-path:url(#SVGID_2008_);fill:#F0F0F0;} + .st1006{clip-path:url(#SVGID_2010_);fill:#F1F1F1;} + .st1007{clip-path:url(#SVGID_2012_);fill:#F2F2F2;} + .st1008{clip-path:url(#SVGID_2014_);fill:#F3F3F3;} + .st1009{clip-path:url(#SVGID_2016_);fill:#F4F4F4;} + .st1010{clip-path:url(#SVGID_2018_);fill:#F5F5F5;} + .st1011{clip-path:url(#SVGID_2020_);fill:#F7F7F7;} + .st1012{clip-path:url(#SVGID_2022_);fill:#F8F8F8;} + .st1013{clip-path:url(#SVGID_2024_);fill:#F9F9F9;} + .st1014{clip-path:url(#SVGID_2026_);fill:#FAFAFA;} + .st1015{clip-path:url(#SVGID_2028_);fill:#FBFBFB;} + .st1016{clip-path:url(#SVGID_2030_);fill:#FCFCFC;} + .st1017{clip-path:url(#SVGID_2032_);fill:#FDFDFD;} + .st1018{clip-path:url(#SVGID_2034_);} + .st1019{clip-path:url(#SVGID_2036_);fill:#B8B8B8;} + .st1020{clip-path:url(#SVGID_2038_);fill:#B8B8B8;} + .st1021{clip-path:url(#SVGID_2040_);fill:#B9B9B9;} + .st1022{clip-path:url(#SVGID_2042_);fill:#BABABA;} + .st1023{clip-path:url(#SVGID_2044_);fill:#BBBBBB;} + .st1024{clip-path:url(#SVGID_2046_);fill:#BCBCBC;} + .st1025{clip-path:url(#SVGID_2048_);fill:#BDBDBD;} + .st1026{clip-path:url(#SVGID_2050_);fill:#BEBEBE;} + .st1027{clip-path:url(#SVGID_2052_);fill:#BFBFBF;} + .st1028{clip-path:url(#SVGID_2054_);fill:#C0C0C0;} + .st1029{clip-path:url(#SVGID_2056_);fill:#C1C1C1;} + .st1030{clip-path:url(#SVGID_2058_);fill:#C2C2C2;} + .st1031{clip-path:url(#SVGID_2060_);fill:#C3C3C3;} + .st1032{clip-path:url(#SVGID_2062_);fill:#C4C4C4;} + .st1033{clip-path:url(#SVGID_2064_);fill:#C5C5C5;} + .st1034{clip-path:url(#SVGID_2066_);fill:#C6C6C6;} + .st1035{clip-path:url(#SVGID_2068_);fill:#C7C7C7;} + .st1036{clip-path:url(#SVGID_2070_);fill:#C8C8C8;} + .st1037{clip-path:url(#SVGID_2072_);fill:#C9C9C9;} + .st1038{clip-path:url(#SVGID_2074_);fill:#CACACA;} + .st1039{clip-path:url(#SVGID_2076_);fill:#CBCBCB;} + .st1040{clip-path:url(#SVGID_2078_);fill:#CCCCCC;} + .st1041{clip-path:url(#SVGID_2080_);fill:#CDCDCD;} + .st1042{clip-path:url(#SVGID_2082_);fill:#CECECE;} + .st1043{clip-path:url(#SVGID_2084_);fill:#CFCFCF;} + .st1044{clip-path:url(#SVGID_2086_);fill:#D0D0D0;} + .st1045{clip-path:url(#SVGID_2088_);fill:#D1D1D1;} + .st1046{clip-path:url(#SVGID_2090_);fill:#D2D2D2;} + .st1047{clip-path:url(#SVGID_2092_);fill:#D3D3D3;} + .st1048{clip-path:url(#SVGID_2094_);fill:#D5D5D5;} + .st1049{clip-path:url(#SVGID_2096_);fill:#D6D6D6;} + .st1050{clip-path:url(#SVGID_2098_);fill:#D7D7D7;} + .st1051{clip-path:url(#SVGID_2100_);fill:#D8D8D8;} + .st1052{clip-path:url(#SVGID_2102_);fill:#D9D9D9;} + .st1053{clip-path:url(#SVGID_2104_);fill:#DADADA;} + .st1054{clip-path:url(#SVGID_2106_);fill:#DBDBDB;} + .st1055{clip-path:url(#SVGID_2108_);fill:#DCDCDC;} + .st1056{clip-path:url(#SVGID_2110_);fill:#DDDDDD;} + .st1057{clip-path:url(#SVGID_2112_);fill:#DEDEDE;} + .st1058{clip-path:url(#SVGID_2114_);fill:#DFDFDF;} + .st1059{clip-path:url(#SVGID_2116_);fill:#E0E0E0;} + .st1060{clip-path:url(#SVGID_2118_);fill:#E1E1E1;} + .st1061{clip-path:url(#SVGID_2120_);fill:#E2E2E2;} + .st1062{clip-path:url(#SVGID_2122_);fill:#E3E3E3;} + .st1063{clip-path:url(#SVGID_2124_);fill:#E4E4E4;} + .st1064{clip-path:url(#SVGID_2126_);fill:#E5E5E5;} + .st1065{clip-path:url(#SVGID_2128_);fill:#E6E6E6;} + .st1066{clip-path:url(#SVGID_2130_);fill:#E7E7E7;} + .st1067{clip-path:url(#SVGID_2132_);fill:#E8E8E8;} + .st1068{clip-path:url(#SVGID_2134_);fill:#E9E9E9;} + .st1069{clip-path:url(#SVGID_2136_);fill:#EAEAEA;} + .st1070{clip-path:url(#SVGID_2138_);fill:#EBEBEB;} + .st1071{clip-path:url(#SVGID_2140_);fill:#ECECEC;} + .st1072{clip-path:url(#SVGID_2142_);fill:#EDEDED;} + .st1073{clip-path:url(#SVGID_2144_);fill:#EEEEEE;} + .st1074{clip-path:url(#SVGID_2146_);fill:#EFEFEF;} + .st1075{clip-path:url(#SVGID_2148_);fill:#F0F0F0;} + .st1076{clip-path:url(#SVGID_2150_);fill:#F0F0F0;} + .st1077{clip-path:url(#SVGID_2152_);fill:#F1F1F1;} + .st1078{clip-path:url(#SVGID_2154_);fill:#F2F2F2;} + .st1079{clip-path:url(#SVGID_2156_);fill:#F3F3F3;} + .st1080{clip-path:url(#SVGID_2158_);fill:#F4F4F4;} + .st1081{clip-path:url(#SVGID_2160_);fill:#F5F5F5;} + .st1082{clip-path:url(#SVGID_2162_);fill:#F7F7F7;} + .st1083{clip-path:url(#SVGID_2164_);fill:#F8F8F8;} + .st1084{clip-path:url(#SVGID_2166_);fill:#F9F9F9;} + .st1085{clip-path:url(#SVGID_2168_);fill:#FAFAFA;} + .st1086{clip-path:url(#SVGID_2170_);fill:#FBFBFB;} + .st1087{clip-path:url(#SVGID_2172_);fill:#FCFCFC;} + .st1088{clip-path:url(#SVGID_2174_);fill:#FDFDFD;} + .st1089{clip-path:url(#SVGID_2176_);} + .st1090{clip-path:url(#SVGID_2178_);fill:#B8B8B8;} + .st1091{clip-path:url(#SVGID_2180_);fill:#B8B8B8;} + .st1092{clip-path:url(#SVGID_2182_);fill:#B9B9B9;} + .st1093{clip-path:url(#SVGID_2184_);fill:#BABABA;} + .st1094{clip-path:url(#SVGID_2186_);fill:#BBBBBB;} + .st1095{clip-path:url(#SVGID_2188_);fill:#BCBCBC;} + .st1096{clip-path:url(#SVGID_2190_);fill:#BDBDBD;} + .st1097{clip-path:url(#SVGID_2192_);fill:#BEBEBE;} + .st1098{clip-path:url(#SVGID_2194_);fill:#BFBFBF;} + .st1099{clip-path:url(#SVGID_2196_);fill:#C0C0C0;} + .st1100{clip-path:url(#SVGID_2198_);fill:#C1C1C1;} + .st1101{clip-path:url(#SVGID_2200_);fill:#C2C2C2;} + .st1102{clip-path:url(#SVGID_2202_);fill:#C3C3C3;} + .st1103{clip-path:url(#SVGID_2204_);fill:#C4C4C4;} + .st1104{clip-path:url(#SVGID_2206_);fill:#C5C5C5;} + .st1105{clip-path:url(#SVGID_2208_);fill:#C6C6C6;} + .st1106{clip-path:url(#SVGID_2210_);fill:#C7C7C7;} + .st1107{clip-path:url(#SVGID_2212_);fill:#C8C8C8;} + .st1108{clip-path:url(#SVGID_2214_);fill:#C9C9C9;} + .st1109{clip-path:url(#SVGID_2216_);fill:#CACACA;} + .st1110{clip-path:url(#SVGID_2218_);fill:#CBCBCB;} + .st1111{clip-path:url(#SVGID_2220_);fill:#CCCCCC;} + .st1112{clip-path:url(#SVGID_2222_);fill:#CDCDCD;} + .st1113{clip-path:url(#SVGID_2224_);fill:#CECECE;} + .st1114{clip-path:url(#SVGID_2226_);fill:#CFCFCF;} + .st1115{clip-path:url(#SVGID_2228_);fill:#D0D0D0;} + .st1116{clip-path:url(#SVGID_2230_);fill:#D1D1D1;} + .st1117{clip-path:url(#SVGID_2232_);fill:#D2D2D2;} + .st1118{clip-path:url(#SVGID_2234_);fill:#D3D3D3;} + .st1119{clip-path:url(#SVGID_2236_);fill:#D5D5D5;} + .st1120{clip-path:url(#SVGID_2238_);fill:#D6D6D6;} + .st1121{clip-path:url(#SVGID_2240_);fill:#D7D7D7;} + .st1122{clip-path:url(#SVGID_2242_);fill:#D8D8D8;} + .st1123{clip-path:url(#SVGID_2244_);fill:#D9D9D9;} + .st1124{clip-path:url(#SVGID_2246_);fill:#DADADA;} + .st1125{clip-path:url(#SVGID_2248_);fill:#DBDBDB;} + .st1126{clip-path:url(#SVGID_2250_);fill:#DCDCDC;} + .st1127{clip-path:url(#SVGID_2252_);fill:#DDDDDD;} + .st1128{clip-path:url(#SVGID_2254_);fill:#DEDEDE;} + .st1129{clip-path:url(#SVGID_2256_);fill:#DFDFDF;} + .st1130{clip-path:url(#SVGID_2258_);fill:#E0E0E0;} + .st1131{clip-path:url(#SVGID_2260_);fill:#E1E1E1;} + .st1132{clip-path:url(#SVGID_2262_);fill:#E2E2E2;} + .st1133{clip-path:url(#SVGID_2264_);fill:#E3E3E3;} + .st1134{clip-path:url(#SVGID_2266_);fill:#E4E4E4;} + .st1135{clip-path:url(#SVGID_2268_);fill:#E5E5E5;} + .st1136{clip-path:url(#SVGID_2270_);fill:#E6E6E6;} + .st1137{clip-path:url(#SVGID_2272_);fill:#E7E7E7;} + .st1138{clip-path:url(#SVGID_2274_);fill:#E8E8E8;} + .st1139{clip-path:url(#SVGID_2276_);fill:#E9E9E9;} + .st1140{clip-path:url(#SVGID_2278_);fill:#EAEAEA;} + .st1141{clip-path:url(#SVGID_2280_);fill:#EBEBEB;} + .st1142{clip-path:url(#SVGID_2282_);fill:#ECECEC;} + .st1143{clip-path:url(#SVGID_2284_);fill:#EDEDED;} + .st1144{clip-path:url(#SVGID_2286_);fill:#EEEEEE;} + .st1145{clip-path:url(#SVGID_2288_);fill:#EFEFEF;} + .st1146{clip-path:url(#SVGID_2290_);fill:#F0F0F0;} + .st1147{clip-path:url(#SVGID_2292_);fill:#F0F0F0;} + .st1148{clip-path:url(#SVGID_2294_);fill:#F1F1F1;} + .st1149{clip-path:url(#SVGID_2296_);fill:#F2F2F2;} + .st1150{clip-path:url(#SVGID_2298_);fill:#F3F3F3;} + .st1151{clip-path:url(#SVGID_2300_);fill:#F4F4F4;} + .st1152{clip-path:url(#SVGID_2302_);fill:#F5F5F5;} + .st1153{clip-path:url(#SVGID_2304_);fill:#F7F7F7;} + .st1154{clip-path:url(#SVGID_2306_);fill:#F8F8F8;} + .st1155{clip-path:url(#SVGID_2308_);fill:#F9F9F9;} + .st1156{clip-path:url(#SVGID_2310_);fill:#FAFAFA;} + .st1157{clip-path:url(#SVGID_2312_);fill:#FBFBFB;} + .st1158{clip-path:url(#SVGID_2314_);fill:#FCFCFC;} + .st1159{clip-path:url(#SVGID_2316_);fill:#FDFDFD;} + .st1160{clip-path:url(#SVGID_2318_);fill:#FFDA07;} + .st1161{clip-path:url(#SVGID_2320_);fill:#C99009;} + .st1162{clip-path:url(#SVGID_2322_);fill:#E9C700;} + .st1163{clip-path:url(#SVGID_2324_);} + .st1164{clip-path:url(#SVGID_2326_);fill:#B8B8B8;} + .st1165{clip-path:url(#SVGID_2328_);fill:#B8B8B8;} + .st1166{clip-path:url(#SVGID_2330_);fill:#B9B9B9;} + .st1167{clip-path:url(#SVGID_2332_);fill:#BABABA;} + .st1168{clip-path:url(#SVGID_2334_);fill:#BBBBBB;} + .st1169{clip-path:url(#SVGID_2336_);fill:#BCBCBC;} + .st1170{clip-path:url(#SVGID_2338_);fill:#BDBDBD;} + .st1171{clip-path:url(#SVGID_2340_);fill:#BEBEBE;} + .st1172{clip-path:url(#SVGID_2342_);fill:#BFBFBF;} + .st1173{clip-path:url(#SVGID_2344_);fill:#C0C0C0;} + .st1174{clip-path:url(#SVGID_2346_);fill:#C1C1C1;} + .st1175{clip-path:url(#SVGID_2348_);fill:#C2C2C2;} + .st1176{clip-path:url(#SVGID_2350_);fill:#C3C3C3;} + .st1177{clip-path:url(#SVGID_2352_);fill:#C4C4C4;} + .st1178{clip-path:url(#SVGID_2354_);fill:#C5C5C5;} + .st1179{clip-path:url(#SVGID_2356_);fill:#C6C6C6;} + .st1180{clip-path:url(#SVGID_2358_);fill:#C7C7C7;} + .st1181{clip-path:url(#SVGID_2360_);fill:#C8C8C8;} + .st1182{clip-path:url(#SVGID_2362_);fill:#C9C9C9;} + .st1183{clip-path:url(#SVGID_2364_);fill:#CACACA;} + .st1184{clip-path:url(#SVGID_2366_);fill:#CBCBCB;} + .st1185{clip-path:url(#SVGID_2368_);fill:#CCCCCC;} + .st1186{clip-path:url(#SVGID_2370_);fill:#CDCDCD;} + .st1187{clip-path:url(#SVGID_2372_);fill:#CECECE;} + .st1188{clip-path:url(#SVGID_2374_);fill:#CFCFCF;} + .st1189{clip-path:url(#SVGID_2376_);fill:#D0D0D0;} + .st1190{clip-path:url(#SVGID_2378_);fill:#D1D1D1;} + .st1191{clip-path:url(#SVGID_2380_);fill:#D2D2D2;} + .st1192{clip-path:url(#SVGID_2382_);fill:#D3D3D3;} + .st1193{clip-path:url(#SVGID_2384_);fill:#D5D5D5;} + .st1194{clip-path:url(#SVGID_2386_);fill:#D6D6D6;} + .st1195{clip-path:url(#SVGID_2388_);fill:#D7D7D7;} + .st1196{clip-path:url(#SVGID_2390_);fill:#D8D8D8;} + .st1197{clip-path:url(#SVGID_2392_);fill:#D9D9D9;} + .st1198{clip-path:url(#SVGID_2394_);fill:#DADADA;} + .st1199{clip-path:url(#SVGID_2396_);fill:#DBDBDB;} + .st1200{clip-path:url(#SVGID_2398_);fill:#DCDCDC;} + .st1201{clip-path:url(#SVGID_2400_);fill:#DDDDDD;} + .st1202{clip-path:url(#SVGID_2402_);fill:#DEDEDE;} + .st1203{clip-path:url(#SVGID_2404_);fill:#DFDFDF;} + .st1204{clip-path:url(#SVGID_2406_);fill:#E0E0E0;} + .st1205{clip-path:url(#SVGID_2408_);fill:#E1E1E1;} + .st1206{clip-path:url(#SVGID_2410_);fill:#E2E2E2;} + .st1207{clip-path:url(#SVGID_2412_);fill:#E3E3E3;} + .st1208{clip-path:url(#SVGID_2414_);fill:#E4E4E4;} + .st1209{clip-path:url(#SVGID_2416_);fill:#E5E5E5;} + .st1210{clip-path:url(#SVGID_2418_);fill:#E6E6E6;} + .st1211{clip-path:url(#SVGID_2420_);fill:#E7E7E7;} + .st1212{clip-path:url(#SVGID_2422_);fill:#E8E8E8;} + .st1213{clip-path:url(#SVGID_2424_);fill:#E9E9E9;} + .st1214{clip-path:url(#SVGID_2426_);fill:#EAEAEA;} + .st1215{clip-path:url(#SVGID_2428_);fill:#EBEBEB;} + .st1216{clip-path:url(#SVGID_2430_);fill:#ECECEC;} + .st1217{clip-path:url(#SVGID_2432_);fill:#EDEDED;} + .st1218{clip-path:url(#SVGID_2434_);fill:#EEEEEE;} + .st1219{clip-path:url(#SVGID_2436_);fill:#EFEFEF;} + .st1220{clip-path:url(#SVGID_2438_);fill:#F0F0F0;} + .st1221{clip-path:url(#SVGID_2440_);fill:#F0F0F0;} + .st1222{clip-path:url(#SVGID_2442_);fill:#F1F1F1;} + .st1223{clip-path:url(#SVGID_2444_);fill:#F2F2F2;} + .st1224{clip-path:url(#SVGID_2446_);fill:#F3F3F3;} + .st1225{clip-path:url(#SVGID_2448_);fill:#F4F4F4;} + .st1226{clip-path:url(#SVGID_2450_);fill:#F5F5F5;} + .st1227{clip-path:url(#SVGID_2452_);fill:#F7F7F7;} + .st1228{clip-path:url(#SVGID_2454_);fill:#F8F8F8;} + .st1229{clip-path:url(#SVGID_2456_);fill:#F9F9F9;} + .st1230{clip-path:url(#SVGID_2458_);fill:#FAFAFA;} + .st1231{clip-path:url(#SVGID_2460_);fill:#FBFBFB;} + .st1232{clip-path:url(#SVGID_2462_);fill:#FCFCFC;} + .st1233{clip-path:url(#SVGID_2464_);fill:#FDFDFD;} + .st1234{clip-path:url(#SVGID_2466_);fill:#FFDA07;} + .st1235{clip-path:url(#SVGID_2468_);fill:#C99009;} + .st1236{clip-path:url(#SVGID_2470_);fill:#FFDA07;} + .st1237{clip-path:url(#SVGID_2472_);fill:#C99009;} + .st1238{clip-path:url(#SVGID_2474_);fill:#FFDA07;} + .st1239{clip-path:url(#SVGID_2476_);fill:#C99009;} + .st1240{clip-path:url(#SVGID_2478_);fill:#D6D6D6;} + .st1241{clip-path:url(#SVGID_2480_);fill:#ED1A23;} + .st1242{clip-path:url(#SVGID_2482_);fill:#FAE252;} + .st1243{clip-path:url(#SVGID_2484_);fill:#ED1A23;} + .st1244{clip-path:url(#SVGID_2486_);fill:#139354;} + .st1245{clip-path:url(#SVGID_2488_);fill:#139354;} + .st1246{clip-path:url(#SVGID_2490_);fill:#0CA3DE;} + .st1247{clip-path:url(#SVGID_2492_);fill:#F9F9F9;} + .st1248{clip-path:url(#SVGID_2494_);fill:#1A1A1A;} + .st1249{clip-path:url(#SVGID_2496_);fill:#1A1A1A;} + .st1250{clip-path:url(#SVGID_2498_);fill:#1A1A1A;} + .st1251{clip-path:url(#SVGID_2500_);fill:#1A1A1A;} + .st1252{clip-path:url(#SVGID_2502_);fill:#1A1A1A;} + .st1253{clip-path:url(#SVGID_2504_);fill:#1A1A1A;} + .st1254{clip-path:url(#SVGID_2506_);fill:#1A1A1A;} + .st1255{clip-path:url(#SVGID_2508_);fill:#1A1A1A;} + .st1256{clip-path:url(#SVGID_2510_);fill:#1A1A1A;} + .st1257{clip-path:url(#SVGID_2512_);fill:#1A1A1A;} + .st1258{clip-path:url(#SVGID_2514_);fill:#1A1A1A;} + .st1259{clip-path:url(#SVGID_2516_);fill:#1A1A1A;} + .st1260{clip-path:url(#SVGID_2518_);fill:#1A1A1A;} + .st1261{clip-path:url(#SVGID_2520_);} + .st1262{clip-path:url(#SVGID_2522_);fill:#B8B8B8;} + .st1263{clip-path:url(#SVGID_2524_);fill:#B8B8B8;} + .st1264{clip-path:url(#SVGID_2526_);fill:#B9B9B9;} + .st1265{clip-path:url(#SVGID_2528_);fill:#BABABA;} + .st1266{clip-path:url(#SVGID_2530_);fill:#BBBBBB;} + .st1267{clip-path:url(#SVGID_2532_);fill:#BCBCBC;} + .st1268{clip-path:url(#SVGID_2534_);fill:#BDBDBD;} + .st1269{clip-path:url(#SVGID_2536_);fill:#BEBEBE;} + .st1270{clip-path:url(#SVGID_2538_);fill:#BFBFBF;} + .st1271{clip-path:url(#SVGID_2540_);fill:#C0C0C0;} + .st1272{clip-path:url(#SVGID_2542_);fill:#C1C1C1;} + .st1273{clip-path:url(#SVGID_2544_);fill:#C2C2C2;} + .st1274{clip-path:url(#SVGID_2546_);fill:#C3C3C3;} + .st1275{clip-path:url(#SVGID_2548_);fill:#C4C4C4;} + .st1276{clip-path:url(#SVGID_2550_);fill:#C5C5C5;} + .st1277{clip-path:url(#SVGID_2552_);fill:#C6C6C6;} + .st1278{clip-path:url(#SVGID_2554_);fill:#C7C7C7;} + .st1279{clip-path:url(#SVGID_2556_);fill:#C8C8C8;} + .st1280{clip-path:url(#SVGID_2558_);fill:#C9C9C9;} + .st1281{clip-path:url(#SVGID_2560_);fill:#CACACA;} + .st1282{clip-path:url(#SVGID_2562_);fill:#CBCBCB;} + .st1283{clip-path:url(#SVGID_2564_);fill:#CCCCCC;} + .st1284{clip-path:url(#SVGID_2566_);fill:#CDCDCD;} + .st1285{clip-path:url(#SVGID_2568_);fill:#CECECE;} + .st1286{clip-path:url(#SVGID_2570_);fill:#CFCFCF;} + .st1287{clip-path:url(#SVGID_2572_);fill:#D0D0D0;} + .st1288{clip-path:url(#SVGID_2574_);fill:#D1D1D1;} + .st1289{clip-path:url(#SVGID_2576_);fill:#D2D2D2;} + .st1290{clip-path:url(#SVGID_2578_);fill:#D3D3D3;} + .st1291{clip-path:url(#SVGID_2580_);fill:#D5D5D5;} + .st1292{clip-path:url(#SVGID_2582_);fill:#D6D6D6;} + .st1293{clip-path:url(#SVGID_2584_);fill:#D7D7D7;} + .st1294{clip-path:url(#SVGID_2586_);fill:#D8D8D8;} + .st1295{clip-path:url(#SVGID_2588_);fill:#D9D9D9;} + .st1296{clip-path:url(#SVGID_2590_);fill:#DADADA;} + .st1297{clip-path:url(#SVGID_2592_);fill:#DBDBDB;} + .st1298{clip-path:url(#SVGID_2594_);fill:#DCDCDC;} + .st1299{clip-path:url(#SVGID_2596_);fill:#DDDDDD;} + .st1300{clip-path:url(#SVGID_2598_);fill:#DEDEDE;} + .st1301{clip-path:url(#SVGID_2600_);fill:#DFDFDF;} + .st1302{clip-path:url(#SVGID_2602_);fill:#E0E0E0;} + .st1303{clip-path:url(#SVGID_2604_);fill:#E1E1E1;} + .st1304{clip-path:url(#SVGID_2606_);fill:#E2E2E2;} + .st1305{clip-path:url(#SVGID_2608_);fill:#E3E3E3;} + .st1306{clip-path:url(#SVGID_2610_);fill:#E4E4E4;} + .st1307{clip-path:url(#SVGID_2612_);fill:#E5E5E5;} + .st1308{clip-path:url(#SVGID_2614_);fill:#E6E6E6;} + .st1309{clip-path:url(#SVGID_2616_);fill:#E7E7E7;} + .st1310{clip-path:url(#SVGID_2618_);fill:#E8E8E8;} + .st1311{clip-path:url(#SVGID_2620_);fill:#E9E9E9;} + .st1312{clip-path:url(#SVGID_2622_);fill:#EAEAEA;} + .st1313{clip-path:url(#SVGID_2624_);fill:#EBEBEB;} + .st1314{clip-path:url(#SVGID_2626_);fill:#ECECEC;} + .st1315{clip-path:url(#SVGID_2628_);fill:#EDEDED;} + .st1316{clip-path:url(#SVGID_2630_);fill:#EEEEEE;} + .st1317{clip-path:url(#SVGID_2632_);fill:#EFEFEF;} + .st1318{clip-path:url(#SVGID_2634_);fill:#F0F0F0;} + .st1319{clip-path:url(#SVGID_2636_);fill:#F0F0F0;} + .st1320{clip-path:url(#SVGID_2638_);fill:#F1F1F1;} + .st1321{clip-path:url(#SVGID_2640_);fill:#F2F2F2;} + .st1322{clip-path:url(#SVGID_2642_);fill:#F3F3F3;} + .st1323{clip-path:url(#SVGID_2644_);fill:#F4F4F4;} + .st1324{clip-path:url(#SVGID_2646_);fill:#F5F5F5;} + .st1325{clip-path:url(#SVGID_2648_);fill:#F7F7F7;} + .st1326{clip-path:url(#SVGID_2650_);fill:#F8F8F8;} + .st1327{clip-path:url(#SVGID_2652_);fill:#F9F9F9;} + .st1328{clip-path:url(#SVGID_2654_);fill:#FAFAFA;} + .st1329{clip-path:url(#SVGID_2656_);fill:#FBFBFB;} + .st1330{clip-path:url(#SVGID_2658_);fill:#FCFCFC;} + .st1331{clip-path:url(#SVGID_2660_);fill:#FDFDFD;} + .st1332{clip-path:url(#SVGID_2662_);} + .st1333{clip-path:url(#SVGID_2664_);fill:#B8B8B8;} + .st1334{clip-path:url(#SVGID_2666_);fill:#B8B8B8;} + .st1335{clip-path:url(#SVGID_2668_);fill:#B9B9B9;} + .st1336{clip-path:url(#SVGID_2670_);fill:#BABABA;} + .st1337{clip-path:url(#SVGID_2672_);fill:#BBBBBB;} + .st1338{clip-path:url(#SVGID_2674_);fill:#BCBCBC;} + .st1339{clip-path:url(#SVGID_2676_);fill:#BDBDBD;} + .st1340{clip-path:url(#SVGID_2678_);fill:#BEBEBE;} + .st1341{clip-path:url(#SVGID_2680_);fill:#BFBFBF;} + .st1342{clip-path:url(#SVGID_2682_);fill:#C0C0C0;} + .st1343{clip-path:url(#SVGID_2684_);fill:#C1C1C1;} + .st1344{clip-path:url(#SVGID_2686_);fill:#C2C2C2;} + .st1345{clip-path:url(#SVGID_2688_);fill:#C3C3C3;} + .st1346{clip-path:url(#SVGID_2690_);fill:#C4C4C4;} + .st1347{clip-path:url(#SVGID_2692_);fill:#C5C5C5;} + .st1348{clip-path:url(#SVGID_2694_);fill:#C6C6C6;} + .st1349{clip-path:url(#SVGID_2696_);fill:#C7C7C7;} + .st1350{clip-path:url(#SVGID_2698_);fill:#C8C8C8;} + .st1351{clip-path:url(#SVGID_2700_);fill:#C9C9C9;} + .st1352{clip-path:url(#SVGID_2702_);fill:#CACACA;} + .st1353{clip-path:url(#SVGID_2704_);fill:#CBCBCB;} + .st1354{clip-path:url(#SVGID_2706_);fill:#CCCCCC;} + .st1355{clip-path:url(#SVGID_2708_);fill:#CDCDCD;} + .st1356{clip-path:url(#SVGID_2710_);fill:#CECECE;} + .st1357{clip-path:url(#SVGID_2712_);fill:#CFCFCF;} + .st1358{clip-path:url(#SVGID_2714_);fill:#D0D0D0;} + .st1359{clip-path:url(#SVGID_2716_);fill:#D1D1D1;} + .st1360{clip-path:url(#SVGID_2718_);fill:#D2D2D2;} + .st1361{clip-path:url(#SVGID_2720_);fill:#D3D3D3;} + .st1362{clip-path:url(#SVGID_2722_);fill:#D5D5D5;} + .st1363{clip-path:url(#SVGID_2724_);fill:#D6D6D6;} + .st1364{clip-path:url(#SVGID_2726_);fill:#D7D7D7;} + .st1365{clip-path:url(#SVGID_2728_);fill:#D8D8D8;} + .st1366{clip-path:url(#SVGID_2730_);fill:#D9D9D9;} + .st1367{clip-path:url(#SVGID_2732_);fill:#DADADA;} + .st1368{clip-path:url(#SVGID_2734_);fill:#DBDBDB;} + .st1369{clip-path:url(#SVGID_2736_);fill:#DCDCDC;} + .st1370{clip-path:url(#SVGID_2738_);fill:#DDDDDD;} + .st1371{clip-path:url(#SVGID_2740_);fill:#DEDEDE;} + .st1372{clip-path:url(#SVGID_2742_);fill:#DFDFDF;} + .st1373{clip-path:url(#SVGID_2744_);fill:#E0E0E0;} + .st1374{clip-path:url(#SVGID_2746_);fill:#E1E1E1;} + .st1375{clip-path:url(#SVGID_2748_);fill:#E2E2E2;} + .st1376{clip-path:url(#SVGID_2750_);fill:#E3E3E3;} + .st1377{clip-path:url(#SVGID_2752_);fill:#E4E4E4;} + .st1378{clip-path:url(#SVGID_2754_);fill:#E5E5E5;} + .st1379{clip-path:url(#SVGID_2756_);fill:#E6E6E6;} + .st1380{clip-path:url(#SVGID_2758_);fill:#E7E7E7;} + .st1381{clip-path:url(#SVGID_2760_);fill:#E8E8E8;} + .st1382{clip-path:url(#SVGID_2762_);fill:#E9E9E9;} + .st1383{clip-path:url(#SVGID_2764_);fill:#EAEAEA;} + .st1384{clip-path:url(#SVGID_2766_);fill:#EBEBEB;} + .st1385{clip-path:url(#SVGID_2768_);fill:#ECECEC;} + .st1386{clip-path:url(#SVGID_2770_);fill:#EDEDED;} + .st1387{clip-path:url(#SVGID_2772_);fill:#EEEEEE;} + .st1388{clip-path:url(#SVGID_2774_);fill:#EFEFEF;} + .st1389{clip-path:url(#SVGID_2776_);fill:#F0F0F0;} + .st1390{clip-path:url(#SVGID_2778_);fill:#F0F0F0;} + .st1391{clip-path:url(#SVGID_2780_);fill:#F1F1F1;} + .st1392{clip-path:url(#SVGID_2782_);fill:#F2F2F2;} + .st1393{clip-path:url(#SVGID_2784_);fill:#F3F3F3;} + .st1394{clip-path:url(#SVGID_2786_);fill:#F4F4F4;} + .st1395{clip-path:url(#SVGID_2788_);fill:#F5F5F5;} + .st1396{clip-path:url(#SVGID_2790_);fill:#F7F7F7;} + .st1397{clip-path:url(#SVGID_2792_);fill:#F8F8F8;} + .st1398{clip-path:url(#SVGID_2794_);fill:#F9F9F9;} + .st1399{clip-path:url(#SVGID_2796_);fill:#FAFAFA;} + .st1400{clip-path:url(#SVGID_2798_);fill:#FBFBFB;} + .st1401{clip-path:url(#SVGID_2800_);fill:#FCFCFC;} + .st1402{clip-path:url(#SVGID_2802_);fill:#FDFDFD;} + .st1403{clip-path:url(#SVGID_2804_);} + .st1404{clip-path:url(#SVGID_2806_);fill:#B8B8B8;} + .st1405{clip-path:url(#SVGID_2808_);fill:#B8B8B8;} + .st1406{clip-path:url(#SVGID_2810_);fill:#B9B9B9;} + .st1407{clip-path:url(#SVGID_2812_);fill:#BABABA;} + .st1408{clip-path:url(#SVGID_2814_);fill:#BBBBBB;} + .st1409{clip-path:url(#SVGID_2816_);fill:#BCBCBC;} + .st1410{clip-path:url(#SVGID_2818_);fill:#BDBDBD;} + .st1411{clip-path:url(#SVGID_2820_);fill:#BEBEBE;} + .st1412{clip-path:url(#SVGID_2822_);fill:#BFBFBF;} + .st1413{clip-path:url(#SVGID_2824_);fill:#C0C0C0;} + .st1414{clip-path:url(#SVGID_2826_);fill:#C1C1C1;} + .st1415{clip-path:url(#SVGID_2828_);fill:#C2C2C2;} + .st1416{clip-path:url(#SVGID_2830_);fill:#C3C3C3;} + .st1417{clip-path:url(#SVGID_2832_);fill:#C4C4C4;} + .st1418{clip-path:url(#SVGID_2834_);fill:#C5C5C5;} + .st1419{clip-path:url(#SVGID_2836_);fill:#C6C6C6;} + .st1420{clip-path:url(#SVGID_2838_);fill:#C7C7C7;} + .st1421{clip-path:url(#SVGID_2840_);fill:#C8C8C8;} + .st1422{clip-path:url(#SVGID_2842_);fill:#C9C9C9;} + .st1423{clip-path:url(#SVGID_2844_);fill:#CACACA;} + .st1424{clip-path:url(#SVGID_2846_);fill:#CBCBCB;} + .st1425{clip-path:url(#SVGID_2848_);fill:#CCCCCC;} + .st1426{clip-path:url(#SVGID_2850_);fill:#CDCDCD;} + .st1427{clip-path:url(#SVGID_2852_);fill:#CECECE;} + .st1428{clip-path:url(#SVGID_2854_);fill:#CFCFCF;} + .st1429{clip-path:url(#SVGID_2856_);fill:#D0D0D0;} + .st1430{clip-path:url(#SVGID_2858_);fill:#D1D1D1;} + .st1431{clip-path:url(#SVGID_2860_);fill:#D2D2D2;} + .st1432{clip-path:url(#SVGID_2862_);fill:#D3D3D3;} + .st1433{clip-path:url(#SVGID_2864_);fill:#D5D5D5;} + .st1434{clip-path:url(#SVGID_2866_);fill:#D6D6D6;} + .st1435{clip-path:url(#SVGID_2868_);fill:#D7D7D7;} + .st1436{clip-path:url(#SVGID_2870_);fill:#D8D8D8;} + .st1437{clip-path:url(#SVGID_2872_);fill:#D9D9D9;} + .st1438{clip-path:url(#SVGID_2874_);fill:#DADADA;} + .st1439{clip-path:url(#SVGID_2876_);fill:#DBDBDB;} + .st1440{clip-path:url(#SVGID_2878_);fill:#DCDCDC;} + .st1441{clip-path:url(#SVGID_2880_);fill:#DDDDDD;} + .st1442{clip-path:url(#SVGID_2882_);fill:#DEDEDE;} + .st1443{clip-path:url(#SVGID_2884_);fill:#DFDFDF;} + .st1444{clip-path:url(#SVGID_2886_);fill:#E0E0E0;} + .st1445{clip-path:url(#SVGID_2888_);fill:#E1E1E1;} + .st1446{clip-path:url(#SVGID_2890_);fill:#E2E2E2;} + .st1447{clip-path:url(#SVGID_2892_);fill:#E3E3E3;} + .st1448{clip-path:url(#SVGID_2894_);fill:#E4E4E4;} + .st1449{clip-path:url(#SVGID_2896_);fill:#E5E5E5;} + .st1450{clip-path:url(#SVGID_2898_);fill:#E6E6E6;} + .st1451{clip-path:url(#SVGID_2900_);fill:#E7E7E7;} + .st1452{clip-path:url(#SVGID_2902_);fill:#E8E8E8;} + .st1453{clip-path:url(#SVGID_2904_);fill:#E9E9E9;} + .st1454{clip-path:url(#SVGID_2906_);fill:#EAEAEA;} + .st1455{clip-path:url(#SVGID_2908_);fill:#EBEBEB;} + .st1456{clip-path:url(#SVGID_2910_);fill:#ECECEC;} + .st1457{clip-path:url(#SVGID_2912_);fill:#EDEDED;} + .st1458{clip-path:url(#SVGID_2914_);fill:#EEEEEE;} + .st1459{clip-path:url(#SVGID_2916_);fill:#EFEFEF;} + .st1460{clip-path:url(#SVGID_2918_);fill:#F0F0F0;} + .st1461{clip-path:url(#SVGID_2920_);fill:#F0F0F0;} + .st1462{clip-path:url(#SVGID_2922_);fill:#F1F1F1;} + .st1463{clip-path:url(#SVGID_2924_);fill:#F2F2F2;} + .st1464{clip-path:url(#SVGID_2926_);fill:#F3F3F3;} + .st1465{clip-path:url(#SVGID_2928_);fill:#F4F4F4;} + .st1466{clip-path:url(#SVGID_2930_);fill:#F5F5F5;} + .st1467{clip-path:url(#SVGID_2932_);fill:#F7F7F7;} + .st1468{clip-path:url(#SVGID_2934_);fill:#F8F8F8;} + .st1469{clip-path:url(#SVGID_2936_);fill:#F9F9F9;} + .st1470{clip-path:url(#SVGID_2938_);fill:#FAFAFA;} + .st1471{clip-path:url(#SVGID_2940_);fill:#FBFBFB;} + .st1472{clip-path:url(#SVGID_2942_);fill:#FCFCFC;} + .st1473{clip-path:url(#SVGID_2944_);fill:#FDFDFD;} + .st1474{clip-path:url(#SVGID_2946_);} + .st1475{clip-path:url(#SVGID_2948_);fill:#B8B8B8;} + .st1476{clip-path:url(#SVGID_2950_);fill:#B8B8B8;} + .st1477{clip-path:url(#SVGID_2952_);fill:#B9B9B9;} + .st1478{clip-path:url(#SVGID_2954_);fill:#BABABA;} + .st1479{clip-path:url(#SVGID_2956_);fill:#BBBBBB;} + .st1480{clip-path:url(#SVGID_2958_);fill:#BCBCBC;} + .st1481{clip-path:url(#SVGID_2960_);fill:#BDBDBD;} + .st1482{clip-path:url(#SVGID_2962_);fill:#BEBEBE;} + .st1483{clip-path:url(#SVGID_2964_);fill:#BFBFBF;} + .st1484{clip-path:url(#SVGID_2966_);fill:#C0C0C0;} + .st1485{clip-path:url(#SVGID_2968_);fill:#C1C1C1;} + .st1486{clip-path:url(#SVGID_2970_);fill:#C2C2C2;} + .st1487{clip-path:url(#SVGID_2972_);fill:#C3C3C3;} + .st1488{clip-path:url(#SVGID_2974_);fill:#C4C4C4;} + .st1489{clip-path:url(#SVGID_2976_);fill:#C5C5C5;} + .st1490{clip-path:url(#SVGID_2978_);fill:#C6C6C6;} + .st1491{clip-path:url(#SVGID_2980_);fill:#C7C7C7;} + .st1492{clip-path:url(#SVGID_2982_);fill:#C8C8C8;} + .st1493{clip-path:url(#SVGID_2984_);fill:#C9C9C9;} + .st1494{clip-path:url(#SVGID_2986_);fill:#CACACA;} + .st1495{clip-path:url(#SVGID_2988_);fill:#CBCBCB;} + .st1496{clip-path:url(#SVGID_2990_);fill:#CCCCCC;} + .st1497{clip-path:url(#SVGID_2992_);fill:#CDCDCD;} + .st1498{clip-path:url(#SVGID_2994_);fill:#CECECE;} + .st1499{clip-path:url(#SVGID_2996_);fill:#CFCFCF;} + .st1500{clip-path:url(#SVGID_2998_);fill:#D0D0D0;} + .st1501{clip-path:url(#SVGID_3000_);fill:#D1D1D1;} + .st1502{clip-path:url(#SVGID_3002_);fill:#D2D2D2;} + .st1503{clip-path:url(#SVGID_3004_);fill:#D3D3D3;} + .st1504{clip-path:url(#SVGID_3006_);fill:#D5D5D5;} + .st1505{clip-path:url(#SVGID_3008_);fill:#D6D6D6;} + .st1506{clip-path:url(#SVGID_3010_);fill:#D7D7D7;} + .st1507{clip-path:url(#SVGID_3012_);fill:#D8D8D8;} + .st1508{clip-path:url(#SVGID_3014_);fill:#D9D9D9;} + .st1509{clip-path:url(#SVGID_3016_);fill:#DADADA;} + .st1510{clip-path:url(#SVGID_3018_);fill:#DBDBDB;} + .st1511{clip-path:url(#SVGID_3020_);fill:#DCDCDC;} + .st1512{clip-path:url(#SVGID_3022_);fill:#DDDDDD;} + .st1513{clip-path:url(#SVGID_3024_);fill:#DEDEDE;} + .st1514{clip-path:url(#SVGID_3026_);fill:#DFDFDF;} + .st1515{clip-path:url(#SVGID_3028_);fill:#E0E0E0;} + .st1516{clip-path:url(#SVGID_3030_);fill:#E1E1E1;} + .st1517{clip-path:url(#SVGID_3032_);fill:#E2E2E2;} + .st1518{clip-path:url(#SVGID_3034_);fill:#E3E3E3;} + .st1519{clip-path:url(#SVGID_3036_);fill:#E4E4E4;} + .st1520{clip-path:url(#SVGID_3038_);fill:#E5E5E5;} + .st1521{clip-path:url(#SVGID_3040_);fill:#E6E6E6;} + .st1522{clip-path:url(#SVGID_3042_);fill:#E7E7E7;} + .st1523{clip-path:url(#SVGID_3044_);fill:#E8E8E8;} + .st1524{clip-path:url(#SVGID_3046_);fill:#E9E9E9;} + .st1525{clip-path:url(#SVGID_3048_);fill:#EAEAEA;} + .st1526{clip-path:url(#SVGID_3050_);fill:#EBEBEB;} + .st1527{clip-path:url(#SVGID_3052_);fill:#ECECEC;} + .st1528{clip-path:url(#SVGID_3054_);fill:#EDEDED;} + .st1529{clip-path:url(#SVGID_3056_);fill:#EEEEEE;} + .st1530{clip-path:url(#SVGID_3058_);fill:#EFEFEF;} + .st1531{clip-path:url(#SVGID_3060_);fill:#F0F0F0;} + .st1532{clip-path:url(#SVGID_3062_);fill:#F0F0F0;} + .st1533{clip-path:url(#SVGID_3064_);fill:#F1F1F1;} + .st1534{clip-path:url(#SVGID_3066_);fill:#F2F2F2;} + .st1535{clip-path:url(#SVGID_3068_);fill:#F3F3F3;} + .st1536{clip-path:url(#SVGID_3070_);fill:#F4F4F4;} + .st1537{clip-path:url(#SVGID_3072_);fill:#F5F5F5;} + .st1538{clip-path:url(#SVGID_3074_);fill:#F7F7F7;} + .st1539{clip-path:url(#SVGID_3076_);fill:#F8F8F8;} + .st1540{clip-path:url(#SVGID_3078_);fill:#F9F9F9;} + .st1541{clip-path:url(#SVGID_3080_);fill:#FAFAFA;} + .st1542{clip-path:url(#SVGID_3082_);fill:#FBFBFB;} + .st1543{clip-path:url(#SVGID_3084_);fill:#FCFCFC;} + .st1544{clip-path:url(#SVGID_3086_);fill:#FDFDFD;} + .st1545{clip-path:url(#SVGID_3088_);} + .st1546{clip-path:url(#SVGID_3090_);fill:#B8B8B8;} + .st1547{clip-path:url(#SVGID_3092_);fill:#B8B8B8;} + .st1548{clip-path:url(#SVGID_3094_);fill:#B9B9B9;} + .st1549{clip-path:url(#SVGID_3096_);fill:#BABABA;} + .st1550{clip-path:url(#SVGID_3098_);fill:#BBBBBB;} + .st1551{clip-path:url(#SVGID_3100_);fill:#BCBCBC;} + .st1552{clip-path:url(#SVGID_3102_);fill:#BDBDBD;} + .st1553{clip-path:url(#SVGID_3104_);fill:#BEBEBE;} + .st1554{clip-path:url(#SVGID_3106_);fill:#BFBFBF;} + .st1555{clip-path:url(#SVGID_3108_);fill:#C0C0C0;} + .st1556{clip-path:url(#SVGID_3110_);fill:#C1C1C1;} + .st1557{clip-path:url(#SVGID_3112_);fill:#C2C2C2;} + .st1558{clip-path:url(#SVGID_3114_);fill:#C3C3C3;} + .st1559{clip-path:url(#SVGID_3116_);fill:#C4C4C4;} + .st1560{clip-path:url(#SVGID_3118_);fill:#C5C5C5;} + .st1561{clip-path:url(#SVGID_3120_);fill:#C6C6C6;} + .st1562{clip-path:url(#SVGID_3122_);fill:#C7C7C7;} + .st1563{clip-path:url(#SVGID_3124_);fill:#C8C8C8;} + .st1564{clip-path:url(#SVGID_3126_);fill:#C9C9C9;} + .st1565{clip-path:url(#SVGID_3128_);fill:#CACACA;} + .st1566{clip-path:url(#SVGID_3130_);fill:#CBCBCB;} + .st1567{clip-path:url(#SVGID_3132_);fill:#CCCCCC;} + .st1568{clip-path:url(#SVGID_3134_);fill:#CDCDCD;} + .st1569{clip-path:url(#SVGID_3136_);fill:#CECECE;} + .st1570{clip-path:url(#SVGID_3138_);fill:#CFCFCF;} + .st1571{clip-path:url(#SVGID_3140_);fill:#D0D0D0;} + .st1572{clip-path:url(#SVGID_3142_);fill:#D1D1D1;} + .st1573{clip-path:url(#SVGID_3144_);fill:#D2D2D2;} + .st1574{clip-path:url(#SVGID_3146_);fill:#D3D3D3;} + .st1575{clip-path:url(#SVGID_3148_);fill:#D5D5D5;} + .st1576{clip-path:url(#SVGID_3150_);fill:#D6D6D6;} + .st1577{clip-path:url(#SVGID_3152_);fill:#D7D7D7;} + .st1578{clip-path:url(#SVGID_3154_);fill:#D8D8D8;} + .st1579{clip-path:url(#SVGID_3156_);fill:#D9D9D9;} + .st1580{clip-path:url(#SVGID_3158_);fill:#DADADA;} + .st1581{clip-path:url(#SVGID_3160_);fill:#DBDBDB;} + .st1582{clip-path:url(#SVGID_3162_);fill:#DCDCDC;} + .st1583{clip-path:url(#SVGID_3164_);fill:#DDDDDD;} + .st1584{clip-path:url(#SVGID_3166_);fill:#DEDEDE;} + .st1585{clip-path:url(#SVGID_3168_);fill:#DFDFDF;} + .st1586{clip-path:url(#SVGID_3170_);fill:#E0E0E0;} + .st1587{clip-path:url(#SVGID_3172_);fill:#E1E1E1;} + .st1588{clip-path:url(#SVGID_3174_);fill:#E2E2E2;} + .st1589{clip-path:url(#SVGID_3176_);fill:#E3E3E3;} + .st1590{clip-path:url(#SVGID_3178_);fill:#E4E4E4;} + .st1591{clip-path:url(#SVGID_3180_);fill:#E5E5E5;} + .st1592{clip-path:url(#SVGID_3182_);fill:#E6E6E6;} + .st1593{clip-path:url(#SVGID_3184_);fill:#E7E7E7;} + .st1594{clip-path:url(#SVGID_3186_);fill:#E8E8E8;} + .st1595{clip-path:url(#SVGID_3188_);fill:#E9E9E9;} + .st1596{clip-path:url(#SVGID_3190_);fill:#EAEAEA;} + .st1597{clip-path:url(#SVGID_3192_);fill:#EBEBEB;} + .st1598{clip-path:url(#SVGID_3194_);fill:#ECECEC;} + .st1599{clip-path:url(#SVGID_3196_);fill:#EDEDED;} + .st1600{clip-path:url(#SVGID_3198_);fill:#EEEEEE;} + .st1601{clip-path:url(#SVGID_3200_);fill:#EFEFEF;} + .st1602{clip-path:url(#SVGID_3202_);fill:#F0F0F0;} + .st1603{clip-path:url(#SVGID_3204_);fill:#F0F0F0;} + .st1604{clip-path:url(#SVGID_3206_);fill:#F1F1F1;} + .st1605{clip-path:url(#SVGID_3208_);fill:#F2F2F2;} + .st1606{clip-path:url(#SVGID_3210_);fill:#F3F3F3;} + .st1607{clip-path:url(#SVGID_3212_);fill:#F4F4F4;} + .st1608{clip-path:url(#SVGID_3214_);fill:#F5F5F5;} + .st1609{clip-path:url(#SVGID_3216_);fill:#F7F7F7;} + .st1610{clip-path:url(#SVGID_3218_);fill:#F8F8F8;} + .st1611{clip-path:url(#SVGID_3220_);fill:#F9F9F9;} + .st1612{clip-path:url(#SVGID_3222_);fill:#FAFAFA;} + .st1613{clip-path:url(#SVGID_3224_);fill:#FBFBFB;} + .st1614{clip-path:url(#SVGID_3226_);fill:#FCFCFC;} + .st1615{clip-path:url(#SVGID_3228_);fill:#FDFDFD;} + .st1616{clip-path:url(#SVGID_3230_);} + .st1617{clip-path:url(#SVGID_3232_);fill:#B8B8B8;} + .st1618{clip-path:url(#SVGID_3234_);fill:#B8B8B8;} + .st1619{clip-path:url(#SVGID_3236_);fill:#B9B9B9;} + .st1620{clip-path:url(#SVGID_3238_);fill:#BABABA;} + .st1621{clip-path:url(#SVGID_3240_);fill:#BBBBBB;} + .st1622{clip-path:url(#SVGID_3242_);fill:#BCBCBC;} + .st1623{clip-path:url(#SVGID_3244_);fill:#BDBDBD;} + .st1624{clip-path:url(#SVGID_3246_);fill:#BEBEBE;} + .st1625{clip-path:url(#SVGID_3248_);fill:#BFBFBF;} + .st1626{clip-path:url(#SVGID_3250_);fill:#C0C0C0;} + .st1627{clip-path:url(#SVGID_3252_);fill:#C1C1C1;} + .st1628{clip-path:url(#SVGID_3254_);fill:#C2C2C2;} + .st1629{clip-path:url(#SVGID_3256_);fill:#C3C3C3;} + .st1630{clip-path:url(#SVGID_3258_);fill:#C4C4C4;} + .st1631{clip-path:url(#SVGID_3260_);fill:#C5C5C5;} + .st1632{clip-path:url(#SVGID_3262_);fill:#C6C6C6;} + .st1633{clip-path:url(#SVGID_3264_);fill:#C7C7C7;} + .st1634{clip-path:url(#SVGID_3266_);fill:#C8C8C8;} + .st1635{clip-path:url(#SVGID_3268_);fill:#C9C9C9;} + .st1636{clip-path:url(#SVGID_3270_);fill:#CACACA;} + .st1637{clip-path:url(#SVGID_3272_);fill:#CBCBCB;} + .st1638{clip-path:url(#SVGID_3274_);fill:#CCCCCC;} + .st1639{clip-path:url(#SVGID_3276_);fill:#CDCDCD;} + .st1640{clip-path:url(#SVGID_3278_);fill:#CECECE;} + .st1641{clip-path:url(#SVGID_3280_);fill:#CFCFCF;} + .st1642{clip-path:url(#SVGID_3282_);fill:#D0D0D0;} + .st1643{clip-path:url(#SVGID_3284_);fill:#D1D1D1;} + .st1644{clip-path:url(#SVGID_3286_);fill:#D2D2D2;} + .st1645{clip-path:url(#SVGID_3288_);fill:#D3D3D3;} + .st1646{clip-path:url(#SVGID_3290_);fill:#D5D5D5;} + .st1647{clip-path:url(#SVGID_3292_);fill:#D6D6D6;} + .st1648{clip-path:url(#SVGID_3294_);fill:#D7D7D7;} + .st1649{clip-path:url(#SVGID_3296_);fill:#D8D8D8;} + .st1650{clip-path:url(#SVGID_3298_);fill:#D9D9D9;} + .st1651{clip-path:url(#SVGID_3300_);fill:#DADADA;} + .st1652{clip-path:url(#SVGID_3302_);fill:#DBDBDB;} + .st1653{clip-path:url(#SVGID_3304_);fill:#DCDCDC;} + .st1654{clip-path:url(#SVGID_3306_);fill:#DDDDDD;} + .st1655{clip-path:url(#SVGID_3308_);fill:#DEDEDE;} + .st1656{clip-path:url(#SVGID_3310_);fill:#DFDFDF;} + .st1657{clip-path:url(#SVGID_3312_);fill:#E0E0E0;} + .st1658{clip-path:url(#SVGID_3314_);fill:#E1E1E1;} + .st1659{clip-path:url(#SVGID_3316_);fill:#E2E2E2;} + .st1660{clip-path:url(#SVGID_3318_);fill:#E3E3E3;} + .st1661{clip-path:url(#SVGID_3320_);fill:#E4E4E4;} + .st1662{clip-path:url(#SVGID_3322_);fill:#E5E5E5;} + .st1663{clip-path:url(#SVGID_3324_);fill:#E6E6E6;} + .st1664{clip-path:url(#SVGID_3326_);fill:#E7E7E7;} + .st1665{clip-path:url(#SVGID_3328_);fill:#E8E8E8;} + .st1666{clip-path:url(#SVGID_3330_);fill:#E9E9E9;} + .st1667{clip-path:url(#SVGID_3332_);fill:#EAEAEA;} + .st1668{clip-path:url(#SVGID_3334_);fill:#EBEBEB;} + .st1669{clip-path:url(#SVGID_3336_);fill:#ECECEC;} + .st1670{clip-path:url(#SVGID_3338_);fill:#EDEDED;} + .st1671{clip-path:url(#SVGID_3340_);fill:#EEEEEE;} + .st1672{clip-path:url(#SVGID_3342_);fill:#EFEFEF;} + .st1673{clip-path:url(#SVGID_3344_);fill:#F0F0F0;} + .st1674{clip-path:url(#SVGID_3346_);fill:#F0F0F0;} + .st1675{clip-path:url(#SVGID_3348_);fill:#F1F1F1;} + .st1676{clip-path:url(#SVGID_3350_);fill:#F2F2F2;} + .st1677{clip-path:url(#SVGID_3352_);fill:#F3F3F3;} + .st1678{clip-path:url(#SVGID_3354_);fill:#F4F4F4;} + .st1679{clip-path:url(#SVGID_3356_);fill:#F5F5F5;} + .st1680{clip-path:url(#SVGID_3358_);fill:#F7F7F7;} + .st1681{clip-path:url(#SVGID_3360_);fill:#F8F8F8;} + .st1682{clip-path:url(#SVGID_3362_);fill:#F9F9F9;} + .st1683{clip-path:url(#SVGID_3364_);fill:#FAFAFA;} + .st1684{clip-path:url(#SVGID_3366_);fill:#FBFBFB;} + .st1685{clip-path:url(#SVGID_3368_);fill:#FCFCFC;} + .st1686{clip-path:url(#SVGID_3370_);fill:#FDFDFD;} + .st1687{clip-path:url(#SVGID_3372_);} + .st1688{clip-path:url(#SVGID_3374_);fill:#B8B8B8;} + .st1689{clip-path:url(#SVGID_3376_);fill:#B8B8B8;} + .st1690{clip-path:url(#SVGID_3378_);fill:#B9B9B9;} + .st1691{clip-path:url(#SVGID_3380_);fill:#BABABA;} + .st1692{clip-path:url(#SVGID_3382_);fill:#BBBBBB;} + .st1693{clip-path:url(#SVGID_3384_);fill:#BCBCBC;} + .st1694{clip-path:url(#SVGID_3386_);fill:#BDBDBD;} + .st1695{clip-path:url(#SVGID_3388_);fill:#BEBEBE;} + .st1696{clip-path:url(#SVGID_3390_);fill:#BFBFBF;} + .st1697{clip-path:url(#SVGID_3392_);fill:#C0C0C0;} + .st1698{clip-path:url(#SVGID_3394_);fill:#C1C1C1;} + .st1699{clip-path:url(#SVGID_3396_);fill:#C2C2C2;} + .st1700{clip-path:url(#SVGID_3398_);fill:#C3C3C3;} + .st1701{clip-path:url(#SVGID_3400_);fill:#C4C4C4;} + .st1702{clip-path:url(#SVGID_3402_);fill:#C5C5C5;} + .st1703{clip-path:url(#SVGID_3404_);fill:#C6C6C6;} + .st1704{clip-path:url(#SVGID_3406_);fill:#C7C7C7;} + .st1705{clip-path:url(#SVGID_3408_);fill:#C8C8C8;} + .st1706{clip-path:url(#SVGID_3410_);fill:#C9C9C9;} + .st1707{clip-path:url(#SVGID_3412_);fill:#CACACA;} + .st1708{clip-path:url(#SVGID_3414_);fill:#CBCBCB;} + .st1709{clip-path:url(#SVGID_3416_);fill:#CCCCCC;} + .st1710{clip-path:url(#SVGID_3418_);fill:#CDCDCD;} + .st1711{clip-path:url(#SVGID_3420_);fill:#CECECE;} + .st1712{clip-path:url(#SVGID_3422_);fill:#CFCFCF;} + .st1713{clip-path:url(#SVGID_3424_);fill:#D0D0D0;} + .st1714{clip-path:url(#SVGID_3426_);fill:#D1D1D1;} + .st1715{clip-path:url(#SVGID_3428_);fill:#D2D2D2;} + .st1716{clip-path:url(#SVGID_3430_);fill:#D3D3D3;} + .st1717{clip-path:url(#SVGID_3432_);fill:#D5D5D5;} + .st1718{clip-path:url(#SVGID_3434_);fill:#D6D6D6;} + .st1719{clip-path:url(#SVGID_3436_);fill:#D7D7D7;} + .st1720{clip-path:url(#SVGID_3438_);fill:#D8D8D8;} + .st1721{clip-path:url(#SVGID_3440_);fill:#D9D9D9;} + .st1722{clip-path:url(#SVGID_3442_);fill:#DADADA;} + .st1723{clip-path:url(#SVGID_3444_);fill:#DBDBDB;} + .st1724{clip-path:url(#SVGID_3446_);fill:#DCDCDC;} + .st1725{clip-path:url(#SVGID_3448_);fill:#DDDDDD;} + .st1726{clip-path:url(#SVGID_3450_);fill:#DEDEDE;} + .st1727{clip-path:url(#SVGID_3452_);fill:#DFDFDF;} + .st1728{clip-path:url(#SVGID_3454_);fill:#E0E0E0;} + .st1729{clip-path:url(#SVGID_3456_);fill:#E1E1E1;} + .st1730{clip-path:url(#SVGID_3458_);fill:#E2E2E2;} + .st1731{clip-path:url(#SVGID_3460_);fill:#E3E3E3;} + .st1732{clip-path:url(#SVGID_3462_);fill:#E4E4E4;} + .st1733{clip-path:url(#SVGID_3464_);fill:#E5E5E5;} + .st1734{clip-path:url(#SVGID_3466_);fill:#E6E6E6;} + .st1735{clip-path:url(#SVGID_3468_);fill:#E7E7E7;} + .st1736{clip-path:url(#SVGID_3470_);fill:#E8E8E8;} + .st1737{clip-path:url(#SVGID_3472_);fill:#E9E9E9;} + .st1738{clip-path:url(#SVGID_3474_);fill:#EAEAEA;} + .st1739{clip-path:url(#SVGID_3476_);fill:#EBEBEB;} + .st1740{clip-path:url(#SVGID_3478_);fill:#ECECEC;} + .st1741{clip-path:url(#SVGID_3480_);fill:#EDEDED;} + .st1742{clip-path:url(#SVGID_3482_);fill:#EEEEEE;} + .st1743{clip-path:url(#SVGID_3484_);fill:#EFEFEF;} + .st1744{clip-path:url(#SVGID_3486_);fill:#F0F0F0;} + .st1745{clip-path:url(#SVGID_3488_);fill:#F0F0F0;} + .st1746{clip-path:url(#SVGID_3490_);fill:#F1F1F1;} + .st1747{clip-path:url(#SVGID_3492_);fill:#F2F2F2;} + .st1748{clip-path:url(#SVGID_3494_);fill:#F3F3F3;} + .st1749{clip-path:url(#SVGID_3496_);fill:#F4F4F4;} + .st1750{clip-path:url(#SVGID_3498_);fill:#F5F5F5;} + .st1751{clip-path:url(#SVGID_3500_);fill:#F7F7F7;} + .st1752{clip-path:url(#SVGID_3502_);fill:#F8F8F8;} + .st1753{clip-path:url(#SVGID_3504_);fill:#F9F9F9;} + .st1754{clip-path:url(#SVGID_3506_);fill:#FAFAFA;} + .st1755{clip-path:url(#SVGID_3508_);fill:#FBFBFB;} + .st1756{clip-path:url(#SVGID_3510_);fill:#FCFCFC;} + .st1757{clip-path:url(#SVGID_3512_);fill:#FDFDFD;} + .st1758{clip-path:url(#SVGID_3514_);} + .st1759{clip-path:url(#SVGID_3516_);fill:#B8B8B8;} + .st1760{clip-path:url(#SVGID_3518_);fill:#B8B8B8;} + .st1761{clip-path:url(#SVGID_3520_);fill:#B9B9B9;} + .st1762{clip-path:url(#SVGID_3522_);fill:#BABABA;} + .st1763{clip-path:url(#SVGID_3524_);fill:#BBBBBB;} + .st1764{clip-path:url(#SVGID_3526_);fill:#BCBCBC;} + .st1765{clip-path:url(#SVGID_3528_);fill:#BDBDBD;} + .st1766{clip-path:url(#SVGID_3530_);fill:#BEBEBE;} + .st1767{clip-path:url(#SVGID_3532_);fill:#BFBFBF;} + .st1768{clip-path:url(#SVGID_3534_);fill:#C0C0C0;} + .st1769{clip-path:url(#SVGID_3536_);fill:#C1C1C1;} + .st1770{clip-path:url(#SVGID_3538_);fill:#C2C2C2;} + .st1771{clip-path:url(#SVGID_3540_);fill:#C3C3C3;} + .st1772{clip-path:url(#SVGID_3542_);fill:#C4C4C4;} + .st1773{clip-path:url(#SVGID_3544_);fill:#C5C5C5;} + .st1774{clip-path:url(#SVGID_3546_);fill:#C6C6C6;} + .st1775{clip-path:url(#SVGID_3548_);fill:#C7C7C7;} + .st1776{clip-path:url(#SVGID_3550_);fill:#C8C8C8;} + .st1777{clip-path:url(#SVGID_3552_);fill:#C9C9C9;} + .st1778{clip-path:url(#SVGID_3554_);fill:#CACACA;} + .st1779{clip-path:url(#SVGID_3556_);fill:#CBCBCB;} + .st1780{clip-path:url(#SVGID_3558_);fill:#CCCCCC;} + .st1781{clip-path:url(#SVGID_3560_);fill:#CDCDCD;} + .st1782{clip-path:url(#SVGID_3562_);fill:#CECECE;} + .st1783{clip-path:url(#SVGID_3564_);fill:#CFCFCF;} + .st1784{clip-path:url(#SVGID_3566_);fill:#D0D0D0;} + .st1785{clip-path:url(#SVGID_3568_);fill:#D1D1D1;} + .st1786{clip-path:url(#SVGID_3570_);fill:#D2D2D2;} + .st1787{clip-path:url(#SVGID_3572_);fill:#D3D3D3;} + .st1788{clip-path:url(#SVGID_3574_);fill:#D5D5D5;} + .st1789{clip-path:url(#SVGID_3576_);fill:#D6D6D6;} + .st1790{clip-path:url(#SVGID_3578_);fill:#D7D7D7;} + .st1791{clip-path:url(#SVGID_3580_);fill:#D8D8D8;} + .st1792{clip-path:url(#SVGID_3582_);fill:#D9D9D9;} + .st1793{clip-path:url(#SVGID_3584_);fill:#DADADA;} + .st1794{clip-path:url(#SVGID_3586_);fill:#DBDBDB;} + .st1795{clip-path:url(#SVGID_3588_);fill:#DCDCDC;} + .st1796{clip-path:url(#SVGID_3590_);fill:#DDDDDD;} + .st1797{clip-path:url(#SVGID_3592_);fill:#DEDEDE;} + .st1798{clip-path:url(#SVGID_3594_);fill:#DFDFDF;} + .st1799{clip-path:url(#SVGID_3596_);fill:#E0E0E0;} + .st1800{clip-path:url(#SVGID_3598_);fill:#E1E1E1;} + .st1801{clip-path:url(#SVGID_3600_);fill:#E2E2E2;} + .st1802{clip-path:url(#SVGID_3602_);fill:#E3E3E3;} + .st1803{clip-path:url(#SVGID_3604_);fill:#E4E4E4;} + .st1804{clip-path:url(#SVGID_3606_);fill:#E5E5E5;} + .st1805{clip-path:url(#SVGID_3608_);fill:#E6E6E6;} + .st1806{clip-path:url(#SVGID_3610_);fill:#E7E7E7;} + .st1807{clip-path:url(#SVGID_3612_);fill:#E8E8E8;} + .st1808{clip-path:url(#SVGID_3614_);fill:#E9E9E9;} + .st1809{clip-path:url(#SVGID_3616_);fill:#EAEAEA;} + .st1810{clip-path:url(#SVGID_3618_);fill:#EBEBEB;} + .st1811{clip-path:url(#SVGID_3620_);fill:#ECECEC;} + .st1812{clip-path:url(#SVGID_3622_);fill:#EDEDED;} + .st1813{clip-path:url(#SVGID_3624_);fill:#EEEEEE;} + .st1814{clip-path:url(#SVGID_3626_);fill:#EFEFEF;} + .st1815{clip-path:url(#SVGID_3628_);fill:#F0F0F0;} + .st1816{clip-path:url(#SVGID_3630_);fill:#F0F0F0;} + .st1817{clip-path:url(#SVGID_3632_);fill:#F1F1F1;} + .st1818{clip-path:url(#SVGID_3634_);fill:#F2F2F2;} + .st1819{clip-path:url(#SVGID_3636_);fill:#F3F3F3;} + .st1820{clip-path:url(#SVGID_3638_);fill:#F4F4F4;} + .st1821{clip-path:url(#SVGID_3640_);fill:#F5F5F5;} + .st1822{clip-path:url(#SVGID_3642_);fill:#F7F7F7;} + .st1823{clip-path:url(#SVGID_3644_);fill:#F8F8F8;} + .st1824{clip-path:url(#SVGID_3646_);fill:#F9F9F9;} + .st1825{clip-path:url(#SVGID_3648_);fill:#FAFAFA;} + .st1826{clip-path:url(#SVGID_3650_);fill:#FBFBFB;} + .st1827{clip-path:url(#SVGID_3652_);fill:#FCFCFC;} + .st1828{clip-path:url(#SVGID_3654_);fill:#FDFDFD;} + .st1829{clip-path:url(#SVGID_3656_);} + .st1830{clip-path:url(#SVGID_3658_);fill:#B8B8B8;} + .st1831{clip-path:url(#SVGID_3660_);fill:#B8B8B8;} + .st1832{clip-path:url(#SVGID_3662_);fill:#B9B9B9;} + .st1833{clip-path:url(#SVGID_3664_);fill:#BABABA;} + .st1834{clip-path:url(#SVGID_3666_);fill:#BBBBBB;} + .st1835{clip-path:url(#SVGID_3668_);fill:#BCBCBC;} + .st1836{clip-path:url(#SVGID_3670_);fill:#BDBDBD;} + .st1837{clip-path:url(#SVGID_3672_);fill:#BEBEBE;} + .st1838{clip-path:url(#SVGID_3674_);fill:#BFBFBF;} + .st1839{clip-path:url(#SVGID_3676_);fill:#C0C0C0;} + .st1840{clip-path:url(#SVGID_3678_);fill:#C1C1C1;} + .st1841{clip-path:url(#SVGID_3680_);fill:#C2C2C2;} + .st1842{clip-path:url(#SVGID_3682_);fill:#C3C3C3;} + .st1843{clip-path:url(#SVGID_3684_);fill:#C4C4C4;} + .st1844{clip-path:url(#SVGID_3686_);fill:#C5C5C5;} + .st1845{clip-path:url(#SVGID_3688_);fill:#C6C6C6;} + .st1846{clip-path:url(#SVGID_3690_);fill:#C7C7C7;} + .st1847{clip-path:url(#SVGID_3692_);fill:#C8C8C8;} + .st1848{clip-path:url(#SVGID_3694_);fill:#C9C9C9;} + .st1849{clip-path:url(#SVGID_3696_);fill:#CACACA;} + .st1850{clip-path:url(#SVGID_3698_);fill:#CBCBCB;} + .st1851{clip-path:url(#SVGID_3700_);fill:#CCCCCC;} + .st1852{clip-path:url(#SVGID_3702_);fill:#CDCDCD;} + .st1853{clip-path:url(#SVGID_3704_);fill:#CECECE;} + .st1854{clip-path:url(#SVGID_3706_);fill:#CFCFCF;} + .st1855{clip-path:url(#SVGID_3708_);fill:#D0D0D0;} + .st1856{clip-path:url(#SVGID_3710_);fill:#D1D1D1;} + .st1857{clip-path:url(#SVGID_3712_);fill:#D2D2D2;} + .st1858{clip-path:url(#SVGID_3714_);fill:#D3D3D3;} + .st1859{clip-path:url(#SVGID_3716_);fill:#D5D5D5;} + .st1860{clip-path:url(#SVGID_3718_);fill:#D6D6D6;} + .st1861{clip-path:url(#SVGID_3720_);fill:#D7D7D7;} + .st1862{clip-path:url(#SVGID_3722_);fill:#D8D8D8;} + .st1863{clip-path:url(#SVGID_3724_);fill:#D9D9D9;} + .st1864{clip-path:url(#SVGID_3726_);fill:#DADADA;} + .st1865{clip-path:url(#SVGID_3728_);fill:#DBDBDB;} + .st1866{clip-path:url(#SVGID_3730_);fill:#DCDCDC;} + .st1867{clip-path:url(#SVGID_3732_);fill:#DDDDDD;} + .st1868{clip-path:url(#SVGID_3734_);fill:#DEDEDE;} + .st1869{clip-path:url(#SVGID_3736_);fill:#DFDFDF;} + .st1870{clip-path:url(#SVGID_3738_);fill:#E0E0E0;} + .st1871{clip-path:url(#SVGID_3740_);fill:#E1E1E1;} + .st1872{clip-path:url(#SVGID_3742_);fill:#E2E2E2;} + .st1873{clip-path:url(#SVGID_3744_);fill:#E3E3E3;} + .st1874{clip-path:url(#SVGID_3746_);fill:#E4E4E4;} + .st1875{clip-path:url(#SVGID_3748_);fill:#E5E5E5;} + .st1876{clip-path:url(#SVGID_3750_);fill:#E6E6E6;} + .st1877{clip-path:url(#SVGID_3752_);fill:#E7E7E7;} + .st1878{clip-path:url(#SVGID_3754_);fill:#E8E8E8;} + .st1879{clip-path:url(#SVGID_3756_);fill:#E9E9E9;} + .st1880{clip-path:url(#SVGID_3758_);fill:#EAEAEA;} + .st1881{clip-path:url(#SVGID_3760_);fill:#EBEBEB;} + .st1882{clip-path:url(#SVGID_3762_);fill:#ECECEC;} + .st1883{clip-path:url(#SVGID_3764_);fill:#EDEDED;} + .st1884{clip-path:url(#SVGID_3766_);fill:#EEEEEE;} + .st1885{clip-path:url(#SVGID_3768_);fill:#EFEFEF;} + .st1886{clip-path:url(#SVGID_3770_);fill:#F0F0F0;} + .st1887{clip-path:url(#SVGID_3772_);fill:#F0F0F0;} + .st1888{clip-path:url(#SVGID_3774_);fill:#F1F1F1;} + .st1889{clip-path:url(#SVGID_3776_);fill:#F2F2F2;} + .st1890{clip-path:url(#SVGID_3778_);fill:#F3F3F3;} + .st1891{clip-path:url(#SVGID_3780_);fill:#F4F4F4;} + .st1892{clip-path:url(#SVGID_3782_);fill:#F5F5F5;} + .st1893{clip-path:url(#SVGID_3784_);fill:#F7F7F7;} + .st1894{clip-path:url(#SVGID_3786_);fill:#F8F8F8;} + .st1895{clip-path:url(#SVGID_3788_);fill:#F9F9F9;} + .st1896{clip-path:url(#SVGID_3790_);fill:#FAFAFA;} + .st1897{clip-path:url(#SVGID_3792_);fill:#FBFBFB;} + .st1898{clip-path:url(#SVGID_3794_);fill:#FCFCFC;} + .st1899{clip-path:url(#SVGID_3796_);fill:#FDFDFD;} + .st1900{clip-path:url(#SVGID_3798_);} + .st1901{clip-path:url(#SVGID_3800_);fill:#B8B8B8;} + .st1902{clip-path:url(#SVGID_3802_);fill:#B8B8B8;} + .st1903{clip-path:url(#SVGID_3804_);fill:#B9B9B9;} + .st1904{clip-path:url(#SVGID_3806_);fill:#BABABA;} + .st1905{clip-path:url(#SVGID_3808_);fill:#BBBBBB;} + .st1906{clip-path:url(#SVGID_3810_);fill:#BCBCBC;} + .st1907{clip-path:url(#SVGID_3812_);fill:#BDBDBD;} + .st1908{clip-path:url(#SVGID_3814_);fill:#BEBEBE;} + .st1909{clip-path:url(#SVGID_3816_);fill:#BFBFBF;} + .st1910{clip-path:url(#SVGID_3818_);fill:#C0C0C0;} + .st1911{clip-path:url(#SVGID_3820_);fill:#C1C1C1;} + .st1912{clip-path:url(#SVGID_3822_);fill:#C2C2C2;} + .st1913{clip-path:url(#SVGID_3824_);fill:#C3C3C3;} + .st1914{clip-path:url(#SVGID_3826_);fill:#C4C4C4;} + .st1915{clip-path:url(#SVGID_3828_);fill:#C5C5C5;} + .st1916{clip-path:url(#SVGID_3830_);fill:#C6C6C6;} + .st1917{clip-path:url(#SVGID_3832_);fill:#C7C7C7;} + .st1918{clip-path:url(#SVGID_3834_);fill:#C8C8C8;} + .st1919{clip-path:url(#SVGID_3836_);fill:#C9C9C9;} + .st1920{clip-path:url(#SVGID_3838_);fill:#CACACA;} + .st1921{clip-path:url(#SVGID_3840_);fill:#CBCBCB;} + .st1922{clip-path:url(#SVGID_3842_);fill:#CCCCCC;} + .st1923{clip-path:url(#SVGID_3844_);fill:#CDCDCD;} + .st1924{clip-path:url(#SVGID_3846_);fill:#CECECE;} + .st1925{clip-path:url(#SVGID_3848_);fill:#CFCFCF;} + .st1926{clip-path:url(#SVGID_3850_);fill:#D0D0D0;} + .st1927{clip-path:url(#SVGID_3852_);fill:#D1D1D1;} + .st1928{clip-path:url(#SVGID_3854_);fill:#D2D2D2;} + .st1929{clip-path:url(#SVGID_3856_);fill:#D3D3D3;} + .st1930{clip-path:url(#SVGID_3858_);fill:#D5D5D5;} + .st1931{clip-path:url(#SVGID_3860_);fill:#D6D6D6;} + .st1932{clip-path:url(#SVGID_3862_);fill:#D7D7D7;} + .st1933{clip-path:url(#SVGID_3864_);fill:#D8D8D8;} + .st1934{clip-path:url(#SVGID_3866_);fill:#D9D9D9;} + .st1935{clip-path:url(#SVGID_3868_);fill:#DADADA;} + .st1936{clip-path:url(#SVGID_3870_);fill:#DBDBDB;} + .st1937{clip-path:url(#SVGID_3872_);fill:#DCDCDC;} + .st1938{clip-path:url(#SVGID_3874_);fill:#DDDDDD;} + .st1939{clip-path:url(#SVGID_3876_);fill:#DEDEDE;} + .st1940{clip-path:url(#SVGID_3878_);fill:#DFDFDF;} + .st1941{clip-path:url(#SVGID_3880_);fill:#E0E0E0;} + .st1942{clip-path:url(#SVGID_3882_);fill:#E1E1E1;} + .st1943{clip-path:url(#SVGID_3884_);fill:#E2E2E2;} + .st1944{clip-path:url(#SVGID_3886_);fill:#E3E3E3;} + .st1945{clip-path:url(#SVGID_3888_);fill:#E4E4E4;} + .st1946{clip-path:url(#SVGID_3890_);fill:#E5E5E5;} + .st1947{clip-path:url(#SVGID_3892_);fill:#E6E6E6;} + .st1948{clip-path:url(#SVGID_3894_);fill:#E7E7E7;} + .st1949{clip-path:url(#SVGID_3896_);fill:#E8E8E8;} + .st1950{clip-path:url(#SVGID_3898_);fill:#E9E9E9;} + .st1951{clip-path:url(#SVGID_3900_);fill:#EAEAEA;} + .st1952{clip-path:url(#SVGID_3902_);fill:#EBEBEB;} + .st1953{clip-path:url(#SVGID_3904_);fill:#ECECEC;} + .st1954{clip-path:url(#SVGID_3906_);fill:#EDEDED;} + .st1955{clip-path:url(#SVGID_3908_);fill:#EEEEEE;} + .st1956{clip-path:url(#SVGID_3910_);fill:#EFEFEF;} + .st1957{clip-path:url(#SVGID_3912_);fill:#F0F0F0;} + .st1958{clip-path:url(#SVGID_3914_);fill:#F0F0F0;} + .st1959{clip-path:url(#SVGID_3916_);fill:#F1F1F1;} + .st1960{clip-path:url(#SVGID_3918_);fill:#F2F2F2;} + .st1961{clip-path:url(#SVGID_3920_);fill:#F3F3F3;} + .st1962{clip-path:url(#SVGID_3922_);fill:#F4F4F4;} + .st1963{clip-path:url(#SVGID_3924_);fill:#F5F5F5;} + .st1964{clip-path:url(#SVGID_3926_);fill:#F7F7F7;} + .st1965{clip-path:url(#SVGID_3928_);fill:#F8F8F8;} + .st1966{clip-path:url(#SVGID_3930_);fill:#F9F9F9;} + .st1967{clip-path:url(#SVGID_3932_);fill:#FAFAFA;} + .st1968{clip-path:url(#SVGID_3934_);fill:#FBFBFB;} + .st1969{clip-path:url(#SVGID_3936_);fill:#FCFCFC;} + .st1970{clip-path:url(#SVGID_3938_);fill:#FDFDFD;} + .st1971{clip-path:url(#SVGID_3940_);} + .st1972{clip-path:url(#SVGID_3942_);fill:#B8B8B8;} + .st1973{clip-path:url(#SVGID_3944_);fill:#B8B8B8;} + .st1974{clip-path:url(#SVGID_3946_);fill:#B9B9B9;} + .st1975{clip-path:url(#SVGID_3948_);fill:#BABABA;} + .st1976{clip-path:url(#SVGID_3950_);fill:#BBBBBB;} + .st1977{clip-path:url(#SVGID_3952_);fill:#BCBCBC;} + .st1978{clip-path:url(#SVGID_3954_);fill:#BDBDBD;} + .st1979{clip-path:url(#SVGID_3956_);fill:#BEBEBE;} + .st1980{clip-path:url(#SVGID_3958_);fill:#BFBFBF;} + .st1981{clip-path:url(#SVGID_3960_);fill:#C0C0C0;} + .st1982{clip-path:url(#SVGID_3962_);fill:#C1C1C1;} + .st1983{clip-path:url(#SVGID_3964_);fill:#C2C2C2;} + .st1984{clip-path:url(#SVGID_3966_);fill:#C3C3C3;} + .st1985{clip-path:url(#SVGID_3968_);fill:#C4C4C4;} + .st1986{clip-path:url(#SVGID_3970_);fill:#C5C5C5;} + .st1987{clip-path:url(#SVGID_3972_);fill:#C6C6C6;} + .st1988{clip-path:url(#SVGID_3974_);fill:#C7C7C7;} + .st1989{clip-path:url(#SVGID_3976_);fill:#C8C8C8;} + .st1990{clip-path:url(#SVGID_3978_);fill:#C9C9C9;} + .st1991{clip-path:url(#SVGID_3980_);fill:#CACACA;} + .st1992{clip-path:url(#SVGID_3982_);fill:#CBCBCB;} + .st1993{clip-path:url(#SVGID_3984_);fill:#CCCCCC;} + .st1994{clip-path:url(#SVGID_3986_);fill:#CDCDCD;} + .st1995{clip-path:url(#SVGID_3988_);fill:#CECECE;} + .st1996{clip-path:url(#SVGID_3990_);fill:#CFCFCF;} + .st1997{clip-path:url(#SVGID_3992_);fill:#D0D0D0;} + .st1998{clip-path:url(#SVGID_3994_);fill:#D1D1D1;} + .st1999{clip-path:url(#SVGID_3996_);fill:#D2D2D2;} + .st2000{clip-path:url(#SVGID_3998_);fill:#D3D3D3;} + .st2001{clip-path:url(#SVGID_4000_);fill:#D5D5D5;} + .st2002{clip-path:url(#SVGID_4002_);fill:#D6D6D6;} + .st2003{clip-path:url(#SVGID_4004_);fill:#D7D7D7;} + .st2004{clip-path:url(#SVGID_4006_);fill:#D8D8D8;} + .st2005{clip-path:url(#SVGID_4008_);fill:#D9D9D9;} + .st2006{clip-path:url(#SVGID_4010_);fill:#DADADA;} + .st2007{clip-path:url(#SVGID_4012_);fill:#DBDBDB;} + .st2008{clip-path:url(#SVGID_4014_);fill:#DCDCDC;} + .st2009{clip-path:url(#SVGID_4016_);fill:#DDDDDD;} + .st2010{clip-path:url(#SVGID_4018_);fill:#DEDEDE;} + .st2011{clip-path:url(#SVGID_4020_);fill:#DFDFDF;} + .st2012{clip-path:url(#SVGID_4022_);fill:#E0E0E0;} + .st2013{clip-path:url(#SVGID_4024_);fill:#E1E1E1;} + .st2014{clip-path:url(#SVGID_4026_);fill:#E2E2E2;} + .st2015{clip-path:url(#SVGID_4028_);fill:#E3E3E3;} + .st2016{clip-path:url(#SVGID_4030_);fill:#E4E4E4;} + .st2017{clip-path:url(#SVGID_4032_);fill:#E5E5E5;} + .st2018{clip-path:url(#SVGID_4034_);fill:#E6E6E6;} + .st2019{clip-path:url(#SVGID_4036_);fill:#E7E7E7;} + .st2020{clip-path:url(#SVGID_4038_);fill:#E8E8E8;} + .st2021{clip-path:url(#SVGID_4040_);fill:#E9E9E9;} + .st2022{clip-path:url(#SVGID_4042_);fill:#EAEAEA;} + .st2023{clip-path:url(#SVGID_4044_);fill:#EBEBEB;} + .st2024{clip-path:url(#SVGID_4046_);fill:#ECECEC;} + .st2025{clip-path:url(#SVGID_4048_);fill:#EDEDED;} + .st2026{clip-path:url(#SVGID_4050_);fill:#EEEEEE;} + .st2027{clip-path:url(#SVGID_4052_);fill:#EFEFEF;} + .st2028{clip-path:url(#SVGID_4054_);fill:#F0F0F0;} + .st2029{clip-path:url(#SVGID_4056_);fill:#F0F0F0;} + .st2030{clip-path:url(#SVGID_4058_);fill:#F1F1F1;} + .st2031{clip-path:url(#SVGID_4060_);fill:#F2F2F2;} + .st2032{clip-path:url(#SVGID_4062_);fill:#F3F3F3;} + .st2033{clip-path:url(#SVGID_4064_);fill:#F4F4F4;} + .st2034{clip-path:url(#SVGID_4066_);fill:#F5F5F5;} + .st2035{clip-path:url(#SVGID_4068_);fill:#F7F7F7;} + .st2036{clip-path:url(#SVGID_4070_);fill:#F8F8F8;} + .st2037{clip-path:url(#SVGID_4072_);fill:#F9F9F9;} + .st2038{clip-path:url(#SVGID_4074_);fill:#FAFAFA;} + .st2039{clip-path:url(#SVGID_4076_);fill:#FBFBFB;} + .st2040{clip-path:url(#SVGID_4078_);fill:#FCFCFC;} + .st2041{clip-path:url(#SVGID_4080_);fill:#FDFDFD;} + .st2042{clip-path:url(#SVGID_4082_);} + .st2043{clip-path:url(#SVGID_4084_);fill:#B8B8B8;} + .st2044{clip-path:url(#SVGID_4086_);fill:#B8B8B8;} + .st2045{clip-path:url(#SVGID_4088_);fill:#B9B9B9;} + .st2046{clip-path:url(#SVGID_4090_);fill:#BABABA;} + .st2047{clip-path:url(#SVGID_4092_);fill:#BBBBBB;} + .st2048{clip-path:url(#SVGID_4094_);fill:#BCBCBC;} + .st2049{clip-path:url(#SVGID_4096_);fill:#BDBDBD;} + .st2050{clip-path:url(#SVGID_4098_);fill:#BEBEBE;} + .st2051{clip-path:url(#SVGID_4100_);fill:#BFBFBF;} + .st2052{clip-path:url(#SVGID_4102_);fill:#C0C0C0;} + .st2053{clip-path:url(#SVGID_4104_);fill:#C1C1C1;} + .st2054{clip-path:url(#SVGID_4106_);fill:#C2C2C2;} + .st2055{clip-path:url(#SVGID_4108_);fill:#C3C3C3;} + .st2056{clip-path:url(#SVGID_4110_);fill:#C4C4C4;} + .st2057{clip-path:url(#SVGID_4112_);fill:#C5C5C5;} + .st2058{clip-path:url(#SVGID_4114_);fill:#C6C6C6;} + .st2059{clip-path:url(#SVGID_4116_);fill:#C7C7C7;} + .st2060{clip-path:url(#SVGID_4118_);fill:#C8C8C8;} + .st2061{clip-path:url(#SVGID_4120_);fill:#C9C9C9;} + .st2062{clip-path:url(#SVGID_4122_);fill:#CACACA;} + .st2063{clip-path:url(#SVGID_4124_);fill:#CBCBCB;} + .st2064{clip-path:url(#SVGID_4126_);fill:#CCCCCC;} + .st2065{clip-path:url(#SVGID_4128_);fill:#CDCDCD;} + .st2066{clip-path:url(#SVGID_4130_);fill:#CECECE;} + .st2067{clip-path:url(#SVGID_4132_);fill:#CFCFCF;} + .st2068{clip-path:url(#SVGID_4134_);fill:#D0D0D0;} + .st2069{clip-path:url(#SVGID_4136_);fill:#D1D1D1;} + .st2070{clip-path:url(#SVGID_4138_);fill:#D2D2D2;} + .st2071{clip-path:url(#SVGID_4140_);fill:#D3D3D3;} + .st2072{clip-path:url(#SVGID_4142_);fill:#D5D5D5;} + .st2073{clip-path:url(#SVGID_4144_);fill:#D6D6D6;} + .st2074{clip-path:url(#SVGID_4146_);fill:#D7D7D7;} + .st2075{clip-path:url(#SVGID_4148_);fill:#D8D8D8;} + .st2076{clip-path:url(#SVGID_4150_);fill:#D9D9D9;} + .st2077{clip-path:url(#SVGID_4152_);fill:#DADADA;} + .st2078{clip-path:url(#SVGID_4154_);fill:#DBDBDB;} + .st2079{clip-path:url(#SVGID_4156_);fill:#DCDCDC;} + .st2080{clip-path:url(#SVGID_4158_);fill:#DDDDDD;} + .st2081{clip-path:url(#SVGID_4160_);fill:#DEDEDE;} + .st2082{clip-path:url(#SVGID_4162_);fill:#DFDFDF;} + .st2083{clip-path:url(#SVGID_4164_);fill:#E0E0E0;} + .st2084{clip-path:url(#SVGID_4166_);fill:#E1E1E1;} + .st2085{clip-path:url(#SVGID_4168_);fill:#E2E2E2;} + .st2086{clip-path:url(#SVGID_4170_);fill:#E3E3E3;} + .st2087{clip-path:url(#SVGID_4172_);fill:#E4E4E4;} + .st2088{clip-path:url(#SVGID_4174_);fill:#E5E5E5;} + .st2089{clip-path:url(#SVGID_4176_);fill:#E6E6E6;} + .st2090{clip-path:url(#SVGID_4178_);fill:#E7E7E7;} + .st2091{clip-path:url(#SVGID_4180_);fill:#E8E8E8;} + .st2092{clip-path:url(#SVGID_4182_);fill:#E9E9E9;} + .st2093{clip-path:url(#SVGID_4184_);fill:#EAEAEA;} + .st2094{clip-path:url(#SVGID_4186_);fill:#EBEBEB;} + .st2095{clip-path:url(#SVGID_4188_);fill:#ECECEC;} + .st2096{clip-path:url(#SVGID_4190_);fill:#EDEDED;} + .st2097{clip-path:url(#SVGID_4192_);fill:#EEEEEE;} + .st2098{clip-path:url(#SVGID_4194_);fill:#EFEFEF;} + .st2099{clip-path:url(#SVGID_4196_);fill:#F0F0F0;} + .st2100{clip-path:url(#SVGID_4198_);fill:#F0F0F0;} + .st2101{clip-path:url(#SVGID_4200_);fill:#F1F1F1;} + .st2102{clip-path:url(#SVGID_4202_);fill:#F2F2F2;} + .st2103{clip-path:url(#SVGID_4204_);fill:#F3F3F3;} + .st2104{clip-path:url(#SVGID_4206_);fill:#F4F4F4;} + .st2105{clip-path:url(#SVGID_4208_);fill:#F5F5F5;} + .st2106{clip-path:url(#SVGID_4210_);fill:#F7F7F7;} + .st2107{clip-path:url(#SVGID_4212_);fill:#F8F8F8;} + .st2108{clip-path:url(#SVGID_4214_);fill:#F9F9F9;} + .st2109{clip-path:url(#SVGID_4216_);fill:#FAFAFA;} + .st2110{clip-path:url(#SVGID_4218_);fill:#FBFBFB;} + .st2111{clip-path:url(#SVGID_4220_);fill:#FCFCFC;} + .st2112{clip-path:url(#SVGID_4222_);fill:#FDFDFD;} + .st2113{clip-path:url(#SVGID_4224_);} + .st2114{clip-path:url(#SVGID_4226_);fill:#B8B8B8;} + .st2115{clip-path:url(#SVGID_4228_);fill:#B8B8B8;} + .st2116{clip-path:url(#SVGID_4230_);fill:#B9B9B9;} + .st2117{clip-path:url(#SVGID_4232_);fill:#BABABA;} + .st2118{clip-path:url(#SVGID_4234_);fill:#BBBBBB;} + .st2119{clip-path:url(#SVGID_4236_);fill:#BCBCBC;} + .st2120{clip-path:url(#SVGID_4238_);fill:#BDBDBD;} + .st2121{clip-path:url(#SVGID_4240_);fill:#BEBEBE;} + .st2122{clip-path:url(#SVGID_4242_);fill:#BFBFBF;} + .st2123{clip-path:url(#SVGID_4244_);fill:#C0C0C0;} + .st2124{clip-path:url(#SVGID_4246_);fill:#C1C1C1;} + .st2125{clip-path:url(#SVGID_4248_);fill:#C2C2C2;} + .st2126{clip-path:url(#SVGID_4250_);fill:#C3C3C3;} + .st2127{clip-path:url(#SVGID_4252_);fill:#C4C4C4;} + .st2128{clip-path:url(#SVGID_4254_);fill:#C5C5C5;} + .st2129{clip-path:url(#SVGID_4256_);fill:#C6C6C6;} + .st2130{clip-path:url(#SVGID_4258_);fill:#C7C7C7;} + .st2131{clip-path:url(#SVGID_4260_);fill:#C8C8C8;} + .st2132{clip-path:url(#SVGID_4262_);fill:#C9C9C9;} + .st2133{clip-path:url(#SVGID_4264_);fill:#CACACA;} + .st2134{clip-path:url(#SVGID_4266_);fill:#CBCBCB;} + .st2135{clip-path:url(#SVGID_4268_);fill:#CCCCCC;} + .st2136{clip-path:url(#SVGID_4270_);fill:#CDCDCD;} + .st2137{clip-path:url(#SVGID_4272_);fill:#CECECE;} + .st2138{clip-path:url(#SVGID_4274_);fill:#CFCFCF;} + .st2139{clip-path:url(#SVGID_4276_);fill:#D0D0D0;} + .st2140{clip-path:url(#SVGID_4278_);fill:#D1D1D1;} + .st2141{clip-path:url(#SVGID_4280_);fill:#D2D2D2;} + .st2142{clip-path:url(#SVGID_4282_);fill:#D3D3D3;} + .st2143{clip-path:url(#SVGID_4284_);fill:#D5D5D5;} + .st2144{clip-path:url(#SVGID_4286_);fill:#D6D6D6;} + .st2145{clip-path:url(#SVGID_4288_);fill:#D7D7D7;} + .st2146{clip-path:url(#SVGID_4290_);fill:#D8D8D8;} + .st2147{clip-path:url(#SVGID_4292_);fill:#D9D9D9;} + .st2148{clip-path:url(#SVGID_4294_);fill:#DADADA;} + .st2149{clip-path:url(#SVGID_4296_);fill:#DBDBDB;} + .st2150{clip-path:url(#SVGID_4298_);fill:#DCDCDC;} + .st2151{clip-path:url(#SVGID_4300_);fill:#DDDDDD;} + .st2152{clip-path:url(#SVGID_4302_);fill:#DEDEDE;} + .st2153{clip-path:url(#SVGID_4304_);fill:#DFDFDF;} + .st2154{clip-path:url(#SVGID_4306_);fill:#E0E0E0;} + .st2155{clip-path:url(#SVGID_4308_);fill:#E1E1E1;} + .st2156{clip-path:url(#SVGID_4310_);fill:#E2E2E2;} + .st2157{clip-path:url(#SVGID_4312_);fill:#E3E3E3;} + .st2158{clip-path:url(#SVGID_4314_);fill:#E4E4E4;} + .st2159{clip-path:url(#SVGID_4316_);fill:#E5E5E5;} + .st2160{clip-path:url(#SVGID_4318_);fill:#E6E6E6;} + .st2161{clip-path:url(#SVGID_4320_);fill:#E7E7E7;} + .st2162{clip-path:url(#SVGID_4322_);fill:#E8E8E8;} + .st2163{clip-path:url(#SVGID_4324_);fill:#E9E9E9;} + .st2164{clip-path:url(#SVGID_4326_);fill:#EAEAEA;} + .st2165{clip-path:url(#SVGID_4328_);fill:#EBEBEB;} + .st2166{clip-path:url(#SVGID_4330_);fill:#ECECEC;} + .st2167{clip-path:url(#SVGID_4332_);fill:#EDEDED;} + .st2168{clip-path:url(#SVGID_4334_);fill:#EEEEEE;} + .st2169{clip-path:url(#SVGID_4336_);fill:#EFEFEF;} + .st2170{clip-path:url(#SVGID_4338_);fill:#F0F0F0;} + .st2171{clip-path:url(#SVGID_4340_);fill:#F0F0F0;} + .st2172{clip-path:url(#SVGID_4342_);fill:#F1F1F1;} + .st2173{clip-path:url(#SVGID_4344_);fill:#F2F2F2;} + .st2174{clip-path:url(#SVGID_4346_);fill:#F3F3F3;} + .st2175{clip-path:url(#SVGID_4348_);fill:#F4F4F4;} + .st2176{clip-path:url(#SVGID_4350_);fill:#F5F5F5;} + .st2177{clip-path:url(#SVGID_4352_);fill:#F7F7F7;} + .st2178{clip-path:url(#SVGID_4354_);fill:#F8F8F8;} + .st2179{clip-path:url(#SVGID_4356_);fill:#F9F9F9;} + .st2180{clip-path:url(#SVGID_4358_);fill:#FAFAFA;} + .st2181{clip-path:url(#SVGID_4360_);fill:#FBFBFB;} + .st2182{clip-path:url(#SVGID_4362_);fill:#FCFCFC;} + .st2183{clip-path:url(#SVGID_4364_);fill:#FDFDFD;} + .st2184{clip-path:url(#SVGID_4366_);} + .st2185{clip-path:url(#SVGID_4368_);fill:#B8B8B8;} + .st2186{clip-path:url(#SVGID_4370_);fill:#B8B8B8;} + .st2187{clip-path:url(#SVGID_4372_);fill:#B9B9B9;} + .st2188{clip-path:url(#SVGID_4374_);fill:#BABABA;} + .st2189{clip-path:url(#SVGID_4376_);fill:#BBBBBB;} + .st2190{clip-path:url(#SVGID_4378_);fill:#BCBCBC;} + .st2191{clip-path:url(#SVGID_4380_);fill:#BDBDBD;} + .st2192{clip-path:url(#SVGID_4382_);fill:#BEBEBE;} + .st2193{clip-path:url(#SVGID_4384_);fill:#BFBFBF;} + .st2194{clip-path:url(#SVGID_4386_);fill:#C0C0C0;} + .st2195{clip-path:url(#SVGID_4388_);fill:#C1C1C1;} + .st2196{clip-path:url(#SVGID_4390_);fill:#C2C2C2;} + .st2197{clip-path:url(#SVGID_4392_);fill:#C3C3C3;} + .st2198{clip-path:url(#SVGID_4394_);fill:#C4C4C4;} + .st2199{clip-path:url(#SVGID_4396_);fill:#C5C5C5;} + .st2200{clip-path:url(#SVGID_4398_);fill:#C6C6C6;} + .st2201{clip-path:url(#SVGID_4400_);fill:#C7C7C7;} + .st2202{clip-path:url(#SVGID_4402_);fill:#C8C8C8;} + .st2203{clip-path:url(#SVGID_4404_);fill:#C9C9C9;} + .st2204{clip-path:url(#SVGID_4406_);fill:#CACACA;} + .st2205{clip-path:url(#SVGID_4408_);fill:#CBCBCB;} + .st2206{clip-path:url(#SVGID_4410_);fill:#CCCCCC;} + .st2207{clip-path:url(#SVGID_4412_);fill:#CDCDCD;} + .st2208{clip-path:url(#SVGID_4414_);fill:#CECECE;} + .st2209{clip-path:url(#SVGID_4416_);fill:#CFCFCF;} + .st2210{clip-path:url(#SVGID_4418_);fill:#D0D0D0;} + .st2211{clip-path:url(#SVGID_4420_);fill:#D1D1D1;} + .st2212{clip-path:url(#SVGID_4422_);fill:#D2D2D2;} + .st2213{clip-path:url(#SVGID_4424_);fill:#D3D3D3;} + .st2214{clip-path:url(#SVGID_4426_);fill:#D5D5D5;} + .st2215{clip-path:url(#SVGID_4428_);fill:#D6D6D6;} + .st2216{clip-path:url(#SVGID_4430_);fill:#D7D7D7;} + .st2217{clip-path:url(#SVGID_4432_);fill:#D8D8D8;} + .st2218{clip-path:url(#SVGID_4434_);fill:#D9D9D9;} + .st2219{clip-path:url(#SVGID_4436_);fill:#DADADA;} + .st2220{clip-path:url(#SVGID_4438_);fill:#DBDBDB;} + .st2221{clip-path:url(#SVGID_4440_);fill:#DCDCDC;} + .st2222{clip-path:url(#SVGID_4442_);fill:#DDDDDD;} + .st2223{clip-path:url(#SVGID_4444_);fill:#DEDEDE;} + .st2224{clip-path:url(#SVGID_4446_);fill:#DFDFDF;} + .st2225{clip-path:url(#SVGID_4448_);fill:#E0E0E0;} + .st2226{clip-path:url(#SVGID_4450_);fill:#E1E1E1;} + .st2227{clip-path:url(#SVGID_4452_);fill:#E2E2E2;} + .st2228{clip-path:url(#SVGID_4454_);fill:#E3E3E3;} + .st2229{clip-path:url(#SVGID_4456_);fill:#E4E4E4;} + .st2230{clip-path:url(#SVGID_4458_);fill:#E5E5E5;} + .st2231{clip-path:url(#SVGID_4460_);fill:#E6E6E6;} + .st2232{clip-path:url(#SVGID_4462_);fill:#E7E7E7;} + .st2233{clip-path:url(#SVGID_4464_);fill:#E8E8E8;} + .st2234{clip-path:url(#SVGID_4466_);fill:#E9E9E9;} + .st2235{clip-path:url(#SVGID_4468_);fill:#EAEAEA;} + .st2236{clip-path:url(#SVGID_4470_);fill:#EBEBEB;} + .st2237{clip-path:url(#SVGID_4472_);fill:#ECECEC;} + .st2238{clip-path:url(#SVGID_4474_);fill:#EDEDED;} + .st2239{clip-path:url(#SVGID_4476_);fill:#EEEEEE;} + .st2240{clip-path:url(#SVGID_4478_);fill:#EFEFEF;} + .st2241{clip-path:url(#SVGID_4480_);fill:#F0F0F0;} + .st2242{clip-path:url(#SVGID_4482_);fill:#F0F0F0;} + .st2243{clip-path:url(#SVGID_4484_);fill:#F1F1F1;} + .st2244{clip-path:url(#SVGID_4486_);fill:#F2F2F2;} + .st2245{clip-path:url(#SVGID_4488_);fill:#F3F3F3;} + .st2246{clip-path:url(#SVGID_4490_);fill:#F4F4F4;} + .st2247{clip-path:url(#SVGID_4492_);fill:#F5F5F5;} + .st2248{clip-path:url(#SVGID_4494_);fill:#F7F7F7;} + .st2249{clip-path:url(#SVGID_4496_);fill:#F8F8F8;} + .st2250{clip-path:url(#SVGID_4498_);fill:#F9F9F9;} + .st2251{clip-path:url(#SVGID_4500_);fill:#FAFAFA;} + .st2252{clip-path:url(#SVGID_4502_);fill:#FBFBFB;} + .st2253{clip-path:url(#SVGID_4504_);fill:#FCFCFC;} + .st2254{clip-path:url(#SVGID_4506_);fill:#FDFDFD;} + .st2255{clip-path:url(#SVGID_4508_);} + .st2256{clip-path:url(#SVGID_4510_);fill:#B8B8B8;} + .st2257{clip-path:url(#SVGID_4512_);fill:#B8B8B8;} + .st2258{clip-path:url(#SVGID_4514_);fill:#B9B9B9;} + .st2259{clip-path:url(#SVGID_4516_);fill:#BABABA;} + .st2260{clip-path:url(#SVGID_4518_);fill:#BBBBBB;} + .st2261{clip-path:url(#SVGID_4520_);fill:#BCBCBC;} + .st2262{clip-path:url(#SVGID_4522_);fill:#BDBDBD;} + .st2263{clip-path:url(#SVGID_4524_);fill:#BEBEBE;} + .st2264{clip-path:url(#SVGID_4526_);fill:#BFBFBF;} + .st2265{clip-path:url(#SVGID_4528_);fill:#C0C0C0;} + .st2266{clip-path:url(#SVGID_4530_);fill:#C1C1C1;} + .st2267{clip-path:url(#SVGID_4532_);fill:#C2C2C2;} + .st2268{clip-path:url(#SVGID_4534_);fill:#C3C3C3;} + .st2269{clip-path:url(#SVGID_4536_);fill:#C4C4C4;} + .st2270{clip-path:url(#SVGID_4538_);fill:#C5C5C5;} + .st2271{clip-path:url(#SVGID_4540_);fill:#C6C6C6;} + .st2272{clip-path:url(#SVGID_4542_);fill:#C7C7C7;} + .st2273{clip-path:url(#SVGID_4544_);fill:#C8C8C8;} + .st2274{clip-path:url(#SVGID_4546_);fill:#C9C9C9;} + .st2275{clip-path:url(#SVGID_4548_);fill:#CACACA;} + .st2276{clip-path:url(#SVGID_4550_);fill:#CBCBCB;} + .st2277{clip-path:url(#SVGID_4552_);fill:#CCCCCC;} + .st2278{clip-path:url(#SVGID_4554_);fill:#CDCDCD;} + .st2279{clip-path:url(#SVGID_4556_);fill:#CECECE;} + .st2280{clip-path:url(#SVGID_4558_);fill:#CFCFCF;} + .st2281{clip-path:url(#SVGID_4560_);fill:#D0D0D0;} + .st2282{clip-path:url(#SVGID_4562_);fill:#D1D1D1;} + .st2283{clip-path:url(#SVGID_4564_);fill:#D2D2D2;} + .st2284{clip-path:url(#SVGID_4566_);fill:#D3D3D3;} + .st2285{clip-path:url(#SVGID_4568_);fill:#D5D5D5;} + .st2286{clip-path:url(#SVGID_4570_);fill:#D6D6D6;} + .st2287{clip-path:url(#SVGID_4572_);fill:#D7D7D7;} + .st2288{clip-path:url(#SVGID_4574_);fill:#D8D8D8;} + .st2289{clip-path:url(#SVGID_4576_);fill:#D9D9D9;} + .st2290{clip-path:url(#SVGID_4578_);fill:#DADADA;} + .st2291{clip-path:url(#SVGID_4580_);fill:#DBDBDB;} + .st2292{clip-path:url(#SVGID_4582_);fill:#DCDCDC;} + .st2293{clip-path:url(#SVGID_4584_);fill:#DDDDDD;} + .st2294{clip-path:url(#SVGID_4586_);fill:#DEDEDE;} + .st2295{clip-path:url(#SVGID_4588_);fill:#DFDFDF;} + .st2296{clip-path:url(#SVGID_4590_);fill:#E0E0E0;} + .st2297{clip-path:url(#SVGID_4592_);fill:#E1E1E1;} + .st2298{clip-path:url(#SVGID_4594_);fill:#E2E2E2;} + .st2299{clip-path:url(#SVGID_4596_);fill:#E3E3E3;} + .st2300{clip-path:url(#SVGID_4598_);fill:#E4E4E4;} + .st2301{clip-path:url(#SVGID_4600_);fill:#E5E5E5;} + .st2302{clip-path:url(#SVGID_4602_);fill:#E6E6E6;} + .st2303{clip-path:url(#SVGID_4604_);fill:#E7E7E7;} + .st2304{clip-path:url(#SVGID_4606_);fill:#E8E8E8;} + .st2305{clip-path:url(#SVGID_4608_);fill:#E9E9E9;} + .st2306{clip-path:url(#SVGID_4610_);fill:#EAEAEA;} + .st2307{clip-path:url(#SVGID_4612_);fill:#EBEBEB;} + .st2308{clip-path:url(#SVGID_4614_);fill:#ECECEC;} + .st2309{clip-path:url(#SVGID_4616_);fill:#EDEDED;} + .st2310{clip-path:url(#SVGID_4618_);fill:#EEEEEE;} + .st2311{clip-path:url(#SVGID_4620_);fill:#EFEFEF;} + .st2312{clip-path:url(#SVGID_4622_);fill:#F0F0F0;} + .st2313{clip-path:url(#SVGID_4624_);fill:#F0F0F0;} + .st2314{clip-path:url(#SVGID_4626_);fill:#F1F1F1;} + .st2315{clip-path:url(#SVGID_4628_);fill:#F2F2F2;} + .st2316{clip-path:url(#SVGID_4630_);fill:#F3F3F3;} + .st2317{clip-path:url(#SVGID_4632_);fill:#F4F4F4;} + .st2318{clip-path:url(#SVGID_4634_);fill:#F5F5F5;} + .st2319{clip-path:url(#SVGID_4636_);fill:#F7F7F7;} + .st2320{clip-path:url(#SVGID_4638_);fill:#F8F8F8;} + .st2321{clip-path:url(#SVGID_4640_);fill:#F9F9F9;} + .st2322{clip-path:url(#SVGID_4642_);fill:#FAFAFA;} + .st2323{clip-path:url(#SVGID_4644_);fill:#FBFBFB;} + .st2324{clip-path:url(#SVGID_4646_);fill:#FCFCFC;} + .st2325{clip-path:url(#SVGID_4648_);fill:#FDFDFD;} + .st2326{clip-path:url(#SVGID_4650_);} + .st2327{clip-path:url(#SVGID_4652_);fill:#B8B8B8;} + .st2328{clip-path:url(#SVGID_4654_);fill:#B8B8B8;} + .st2329{clip-path:url(#SVGID_4656_);fill:#B9B9B9;} + .st2330{clip-path:url(#SVGID_4658_);fill:#BABABA;} + .st2331{clip-path:url(#SVGID_4660_);fill:#BBBBBB;} + .st2332{clip-path:url(#SVGID_4662_);fill:#BCBCBC;} + .st2333{clip-path:url(#SVGID_4664_);fill:#BDBDBD;} + .st2334{clip-path:url(#SVGID_4666_);fill:#BEBEBE;} + .st2335{clip-path:url(#SVGID_4668_);fill:#BFBFBF;} + .st2336{clip-path:url(#SVGID_4670_);fill:#C0C0C0;} + .st2337{clip-path:url(#SVGID_4672_);fill:#C1C1C1;} + .st2338{clip-path:url(#SVGID_4674_);fill:#C2C2C2;} + .st2339{clip-path:url(#SVGID_4676_);fill:#C3C3C3;} + .st2340{clip-path:url(#SVGID_4678_);fill:#C4C4C4;} + .st2341{clip-path:url(#SVGID_4680_);fill:#C5C5C5;} + .st2342{clip-path:url(#SVGID_4682_);fill:#C6C6C6;} + .st2343{clip-path:url(#SVGID_4684_);fill:#C7C7C7;} + .st2344{clip-path:url(#SVGID_4686_);fill:#C8C8C8;} + .st2345{clip-path:url(#SVGID_4688_);fill:#C9C9C9;} + .st2346{clip-path:url(#SVGID_4690_);fill:#CACACA;} + .st2347{clip-path:url(#SVGID_4692_);fill:#CBCBCB;} + .st2348{clip-path:url(#SVGID_4694_);fill:#CCCCCC;} + .st2349{clip-path:url(#SVGID_4696_);fill:#CDCDCD;} + .st2350{clip-path:url(#SVGID_4698_);fill:#CECECE;} + .st2351{clip-path:url(#SVGID_4700_);fill:#CFCFCF;} + .st2352{clip-path:url(#SVGID_4702_);fill:#D0D0D0;} + .st2353{clip-path:url(#SVGID_4704_);fill:#D1D1D1;} + .st2354{clip-path:url(#SVGID_4706_);fill:#D2D2D2;} + .st2355{clip-path:url(#SVGID_4708_);fill:#D3D3D3;} + .st2356{clip-path:url(#SVGID_4710_);fill:#D5D5D5;} + .st2357{clip-path:url(#SVGID_4712_);fill:#D6D6D6;} + .st2358{clip-path:url(#SVGID_4714_);fill:#D7D7D7;} + .st2359{clip-path:url(#SVGID_4716_);fill:#D8D8D8;} + .st2360{clip-path:url(#SVGID_4718_);fill:#D9D9D9;} + .st2361{clip-path:url(#SVGID_4720_);fill:#DADADA;} + .st2362{clip-path:url(#SVGID_4722_);fill:#DBDBDB;} + .st2363{clip-path:url(#SVGID_4724_);fill:#DCDCDC;} + .st2364{clip-path:url(#SVGID_4726_);fill:#DDDDDD;} + .st2365{clip-path:url(#SVGID_4728_);fill:#DEDEDE;} + .st2366{clip-path:url(#SVGID_4730_);fill:#DFDFDF;} + .st2367{clip-path:url(#SVGID_4732_);fill:#E0E0E0;} + .st2368{clip-path:url(#SVGID_4734_);fill:#E1E1E1;} + .st2369{clip-path:url(#SVGID_4736_);fill:#E2E2E2;} + .st2370{clip-path:url(#SVGID_4738_);fill:#E3E3E3;} + .st2371{clip-path:url(#SVGID_4740_);fill:#E4E4E4;} + .st2372{clip-path:url(#SVGID_4742_);fill:#E5E5E5;} + .st2373{clip-path:url(#SVGID_4744_);fill:#E6E6E6;} + .st2374{clip-path:url(#SVGID_4746_);fill:#E7E7E7;} + .st2375{clip-path:url(#SVGID_4748_);fill:#E8E8E8;} + .st2376{clip-path:url(#SVGID_4750_);fill:#E9E9E9;} + .st2377{clip-path:url(#SVGID_4752_);fill:#EAEAEA;} + .st2378{clip-path:url(#SVGID_4754_);fill:#EBEBEB;} + .st2379{clip-path:url(#SVGID_4756_);fill:#ECECEC;} + .st2380{clip-path:url(#SVGID_4758_);fill:#EDEDED;} + .st2381{clip-path:url(#SVGID_4760_);fill:#EEEEEE;} + .st2382{clip-path:url(#SVGID_4762_);fill:#EFEFEF;} + .st2383{clip-path:url(#SVGID_4764_);fill:#F0F0F0;} + .st2384{clip-path:url(#SVGID_4766_);fill:#F0F0F0;} + .st2385{clip-path:url(#SVGID_4768_);fill:#F1F1F1;} + .st2386{clip-path:url(#SVGID_4770_);fill:#F2F2F2;} + .st2387{clip-path:url(#SVGID_4772_);fill:#F3F3F3;} + .st2388{clip-path:url(#SVGID_4774_);fill:#F4F4F4;} + .st2389{clip-path:url(#SVGID_4776_);fill:#F5F5F5;} + .st2390{clip-path:url(#SVGID_4778_);fill:#F7F7F7;} + .st2391{clip-path:url(#SVGID_4780_);fill:#F8F8F8;} + .st2392{clip-path:url(#SVGID_4782_);fill:#F9F9F9;} + .st2393{clip-path:url(#SVGID_4784_);fill:#FAFAFA;} + .st2394{clip-path:url(#SVGID_4786_);fill:#FBFBFB;} + .st2395{clip-path:url(#SVGID_4788_);fill:#FCFCFC;} + .st2396{clip-path:url(#SVGID_4790_);fill:#FDFDFD;} + .st2397{clip-path:url(#SVGID_4792_);fill:#FFDA07;} + .st2398{clip-path:url(#SVGID_4794_);fill:#C99009;} + .st2399{clip-path:url(#SVGID_4796_);fill:#FFDA07;} + .st2400{clip-path:url(#SVGID_4798_);fill:#C99009;} + .st2401{clip-path:url(#SVGID_4800_);fill:#FFDA07;} + .st2402{clip-path:url(#SVGID_4802_);fill:#C99009;} + .st2403{clip-path:url(#SVGID_4804_);fill:#FFDA07;} + .st2404{clip-path:url(#SVGID_4806_);fill:#C99009;} + .st2405{clip-path:url(#SVGID_4808_);} + .st2406{clip-path:url(#SVGID_4810_);fill:#B8B8B8;} + .st2407{clip-path:url(#SVGID_4812_);fill:#B8B8B8;} + .st2408{clip-path:url(#SVGID_4814_);fill:#B9B9B9;} + .st2409{clip-path:url(#SVGID_4816_);fill:#BABABA;} + .st2410{clip-path:url(#SVGID_4818_);fill:#BBBBBB;} + .st2411{clip-path:url(#SVGID_4820_);fill:#BCBCBC;} + .st2412{clip-path:url(#SVGID_4822_);fill:#BDBDBD;} + .st2413{clip-path:url(#SVGID_4824_);fill:#BEBEBE;} + .st2414{clip-path:url(#SVGID_4826_);fill:#BFBFBF;} + .st2415{clip-path:url(#SVGID_4828_);fill:#C0C0C0;} + .st2416{clip-path:url(#SVGID_4830_);fill:#C1C1C1;} + .st2417{clip-path:url(#SVGID_4832_);fill:#C2C2C2;} + .st2418{clip-path:url(#SVGID_4834_);fill:#C3C3C3;} + .st2419{clip-path:url(#SVGID_4836_);fill:#C4C4C4;} + .st2420{clip-path:url(#SVGID_4838_);fill:#C5C5C5;} + .st2421{clip-path:url(#SVGID_4840_);fill:#C6C6C6;} + .st2422{clip-path:url(#SVGID_4842_);fill:#C7C7C7;} + .st2423{clip-path:url(#SVGID_4844_);fill:#C8C8C8;} + .st2424{clip-path:url(#SVGID_4846_);fill:#C9C9C9;} + .st2425{clip-path:url(#SVGID_4848_);fill:#CACACA;} + .st2426{clip-path:url(#SVGID_4850_);fill:#CBCBCB;} + .st2427{clip-path:url(#SVGID_4852_);fill:#CCCCCC;} + .st2428{clip-path:url(#SVGID_4854_);fill:#CDCDCD;} + .st2429{clip-path:url(#SVGID_4856_);fill:#CECECE;} + .st2430{clip-path:url(#SVGID_4858_);fill:#CFCFCF;} + .st2431{clip-path:url(#SVGID_4860_);fill:#D0D0D0;} + .st2432{clip-path:url(#SVGID_4862_);fill:#D1D1D1;} + .st2433{clip-path:url(#SVGID_4864_);fill:#D2D2D2;} + .st2434{clip-path:url(#SVGID_4866_);fill:#D3D3D3;} + .st2435{clip-path:url(#SVGID_4868_);fill:#D5D5D5;} + .st2436{clip-path:url(#SVGID_4870_);fill:#D6D6D6;} + .st2437{clip-path:url(#SVGID_4872_);fill:#D7D7D7;} + .st2438{clip-path:url(#SVGID_4874_);fill:#D8D8D8;} + .st2439{clip-path:url(#SVGID_4876_);fill:#D9D9D9;} + .st2440{clip-path:url(#SVGID_4878_);fill:#DADADA;} + .st2441{clip-path:url(#SVGID_4880_);fill:#DBDBDB;} + .st2442{clip-path:url(#SVGID_4882_);fill:#DCDCDC;} + .st2443{clip-path:url(#SVGID_4884_);fill:#DDDDDD;} + .st2444{clip-path:url(#SVGID_4886_);fill:#DEDEDE;} + .st2445{clip-path:url(#SVGID_4888_);fill:#DFDFDF;} + .st2446{clip-path:url(#SVGID_4890_);fill:#E0E0E0;} + .st2447{clip-path:url(#SVGID_4892_);fill:#E1E1E1;} + .st2448{clip-path:url(#SVGID_4894_);fill:#E2E2E2;} + .st2449{clip-path:url(#SVGID_4896_);fill:#E3E3E3;} + .st2450{clip-path:url(#SVGID_4898_);fill:#E4E4E4;} + .st2451{clip-path:url(#SVGID_4900_);fill:#E5E5E5;} + .st2452{clip-path:url(#SVGID_4902_);fill:#E6E6E6;} + .st2453{clip-path:url(#SVGID_4904_);fill:#E7E7E7;} + .st2454{clip-path:url(#SVGID_4906_);fill:#E8E8E8;} + .st2455{clip-path:url(#SVGID_4908_);fill:#E9E9E9;} + .st2456{clip-path:url(#SVGID_4910_);fill:#EAEAEA;} + .st2457{clip-path:url(#SVGID_4912_);fill:#EBEBEB;} + .st2458{clip-path:url(#SVGID_4914_);fill:#ECECEC;} + .st2459{clip-path:url(#SVGID_4916_);fill:#EDEDED;} + .st2460{clip-path:url(#SVGID_4918_);fill:#EEEEEE;} + .st2461{clip-path:url(#SVGID_4920_);fill:#EFEFEF;} + .st2462{clip-path:url(#SVGID_4922_);fill:#F0F0F0;} + .st2463{clip-path:url(#SVGID_4924_);fill:#F0F0F0;} + .st2464{clip-path:url(#SVGID_4926_);fill:#F1F1F1;} + .st2465{clip-path:url(#SVGID_4928_);fill:#F2F2F2;} + .st2466{clip-path:url(#SVGID_4930_);fill:#F3F3F3;} + .st2467{clip-path:url(#SVGID_4932_);fill:#F4F4F4;} + .st2468{clip-path:url(#SVGID_4934_);fill:#F5F5F5;} + .st2469{clip-path:url(#SVGID_4936_);fill:#F7F7F7;} + .st2470{clip-path:url(#SVGID_4938_);fill:#F8F8F8;} + .st2471{clip-path:url(#SVGID_4940_);fill:#F9F9F9;} + .st2472{clip-path:url(#SVGID_4942_);fill:#FAFAFA;} + .st2473{clip-path:url(#SVGID_4944_);fill:#FBFBFB;} + .st2474{clip-path:url(#SVGID_4946_);fill:#FCFCFC;} + .st2475{clip-path:url(#SVGID_4948_);fill:#FDFDFD;} + .st2476{clip-path:url(#SVGID_4950_);fill:#3D7DE1;} + .st2477{clip-path:url(#SVGID_4952_);fill:#3D7DE1;} + .st2478{clip-path:url(#SVGID_4954_);fill:#3D7DE1;} + .st2479{clip-path:url(#SVGID_4956_);fill:#3D7DE1;} + .st2480{clip-path:url(#SVGID_4958_);fill:#3D7DE1;} + .st2481{clip-path:url(#SVGID_4960_);} + .st2482{clip-path:url(#SVGID_4962_);fill:#B8B8B8;} + .st2483{clip-path:url(#SVGID_4964_);fill:#B8B8B8;} + .st2484{clip-path:url(#SVGID_4966_);fill:#B9B9B9;} + .st2485{clip-path:url(#SVGID_4968_);fill:#BABABA;} + .st2486{clip-path:url(#SVGID_4970_);fill:#BBBBBB;} + .st2487{clip-path:url(#SVGID_4972_);fill:#BCBCBC;} + .st2488{clip-path:url(#SVGID_4974_);fill:#BDBDBD;} + .st2489{clip-path:url(#SVGID_4976_);fill:#BEBEBE;} + .st2490{clip-path:url(#SVGID_4978_);fill:#BFBFBF;} + .st2491{clip-path:url(#SVGID_4980_);fill:#C0C0C0;} + .st2492{clip-path:url(#SVGID_4982_);fill:#C1C1C1;} + .st2493{clip-path:url(#SVGID_4984_);fill:#C2C2C2;} + .st2494{clip-path:url(#SVGID_4986_);fill:#C3C3C3;} + .st2495{clip-path:url(#SVGID_4988_);fill:#C4C4C4;} + .st2496{clip-path:url(#SVGID_4990_);fill:#C5C5C5;} + .st2497{clip-path:url(#SVGID_4992_);fill:#C6C6C6;} + .st2498{clip-path:url(#SVGID_4994_);fill:#C7C7C7;} + .st2499{clip-path:url(#SVGID_4996_);fill:#C8C8C8;} + .st2500{clip-path:url(#SVGID_4998_);fill:#C9C9C9;} + .st2501{clip-path:url(#SVGID_5000_);fill:#CACACA;} + .st2502{clip-path:url(#SVGID_5002_);fill:#CBCBCB;} + .st2503{clip-path:url(#SVGID_5004_);fill:#CCCCCC;} + .st2504{clip-path:url(#SVGID_5006_);fill:#CDCDCD;} + .st2505{clip-path:url(#SVGID_5008_);fill:#CECECE;} + .st2506{clip-path:url(#SVGID_5010_);fill:#CFCFCF;} + .st2507{clip-path:url(#SVGID_5012_);fill:#D0D0D0;} + .st2508{clip-path:url(#SVGID_5014_);fill:#D1D1D1;} + .st2509{clip-path:url(#SVGID_5016_);fill:#D2D2D2;} + .st2510{clip-path:url(#SVGID_5018_);fill:#D3D3D3;} + .st2511{clip-path:url(#SVGID_5020_);fill:#D5D5D5;} + .st2512{clip-path:url(#SVGID_5022_);fill:#D6D6D6;} + .st2513{clip-path:url(#SVGID_5024_);fill:#D7D7D7;} + .st2514{clip-path:url(#SVGID_5026_);fill:#D8D8D8;} + .st2515{clip-path:url(#SVGID_5028_);fill:#D9D9D9;} + .st2516{clip-path:url(#SVGID_5030_);fill:#DADADA;} + .st2517{clip-path:url(#SVGID_5032_);fill:#DBDBDB;} + .st2518{clip-path:url(#SVGID_5034_);fill:#DCDCDC;} + .st2519{clip-path:url(#SVGID_5036_);fill:#DDDDDD;} + .st2520{clip-path:url(#SVGID_5038_);fill:#DEDEDE;} + .st2521{clip-path:url(#SVGID_5040_);fill:#DFDFDF;} + .st2522{clip-path:url(#SVGID_5042_);fill:#E0E0E0;} + .st2523{clip-path:url(#SVGID_5044_);fill:#E1E1E1;} + .st2524{clip-path:url(#SVGID_5046_);fill:#E2E2E2;} + .st2525{clip-path:url(#SVGID_5048_);fill:#E3E3E3;} + .st2526{clip-path:url(#SVGID_5050_);fill:#E4E4E4;} + .st2527{clip-path:url(#SVGID_5052_);fill:#E5E5E5;} + .st2528{clip-path:url(#SVGID_5054_);fill:#E6E6E6;} + .st2529{clip-path:url(#SVGID_5056_);fill:#E7E7E7;} + .st2530{clip-path:url(#SVGID_5058_);fill:#E8E8E8;} + .st2531{clip-path:url(#SVGID_5060_);fill:#E9E9E9;} + .st2532{clip-path:url(#SVGID_5062_);fill:#EAEAEA;} + .st2533{clip-path:url(#SVGID_5064_);fill:#EBEBEB;} + .st2534{clip-path:url(#SVGID_5066_);fill:#ECECEC;} + .st2535{clip-path:url(#SVGID_5068_);fill:#EDEDED;} + .st2536{clip-path:url(#SVGID_5070_);fill:#EEEEEE;} + .st2537{clip-path:url(#SVGID_5072_);fill:#EFEFEF;} + .st2538{clip-path:url(#SVGID_5074_);fill:#F0F0F0;} + .st2539{clip-path:url(#SVGID_5076_);fill:#F0F0F0;} + .st2540{clip-path:url(#SVGID_5078_);fill:#F1F1F1;} + .st2541{clip-path:url(#SVGID_5080_);fill:#F2F2F2;} + .st2542{clip-path:url(#SVGID_5082_);fill:#F3F3F3;} + .st2543{clip-path:url(#SVGID_5084_);fill:#F4F4F4;} + .st2544{clip-path:url(#SVGID_5086_);fill:#F5F5F5;} + .st2545{clip-path:url(#SVGID_5088_);fill:#F7F7F7;} + .st2546{clip-path:url(#SVGID_5090_);fill:#F8F8F8;} + .st2547{clip-path:url(#SVGID_5092_);fill:#F9F9F9;} + .st2548{clip-path:url(#SVGID_5094_);fill:#FAFAFA;} + .st2549{clip-path:url(#SVGID_5096_);fill:#FBFBFB;} + .st2550{clip-path:url(#SVGID_5098_);fill:#FCFCFC;} + .st2551{clip-path:url(#SVGID_5100_);fill:#FDFDFD;} + .st2552{clip-path:url(#SVGID_5102_);} + .st2553{clip-path:url(#SVGID_5104_);fill:#B8B8B8;} + .st2554{clip-path:url(#SVGID_5106_);fill:#B8B8B8;} + .st2555{clip-path:url(#SVGID_5108_);fill:#B9B9B9;} + .st2556{clip-path:url(#SVGID_5110_);fill:#BABABA;} + .st2557{clip-path:url(#SVGID_5112_);fill:#BBBBBB;} + .st2558{clip-path:url(#SVGID_5114_);fill:#BCBCBC;} + .st2559{clip-path:url(#SVGID_5116_);fill:#BDBDBD;} + .st2560{clip-path:url(#SVGID_5118_);fill:#BEBEBE;} + .st2561{clip-path:url(#SVGID_5120_);fill:#BFBFBF;} + .st2562{clip-path:url(#SVGID_5122_);fill:#C0C0C0;} + .st2563{clip-path:url(#SVGID_5124_);fill:#C1C1C1;} + .st2564{clip-path:url(#SVGID_5126_);fill:#C2C2C2;} + .st2565{clip-path:url(#SVGID_5128_);fill:#C3C3C3;} + .st2566{clip-path:url(#SVGID_5130_);fill:#C4C4C4;} + .st2567{clip-path:url(#SVGID_5132_);fill:#C5C5C5;} + .st2568{clip-path:url(#SVGID_5134_);fill:#C6C6C6;} + .st2569{clip-path:url(#SVGID_5136_);fill:#C7C7C7;} + .st2570{clip-path:url(#SVGID_5138_);fill:#C8C8C8;} + .st2571{clip-path:url(#SVGID_5140_);fill:#C9C9C9;} + .st2572{clip-path:url(#SVGID_5142_);fill:#CACACA;} + .st2573{clip-path:url(#SVGID_5144_);fill:#CBCBCB;} + .st2574{clip-path:url(#SVGID_5146_);fill:#CCCCCC;} + .st2575{clip-path:url(#SVGID_5148_);fill:#CDCDCD;} + .st2576{clip-path:url(#SVGID_5150_);fill:#CECECE;} + .st2577{clip-path:url(#SVGID_5152_);fill:#CFCFCF;} + .st2578{clip-path:url(#SVGID_5154_);fill:#D0D0D0;} + .st2579{clip-path:url(#SVGID_5156_);fill:#D1D1D1;} + .st2580{clip-path:url(#SVGID_5158_);fill:#D2D2D2;} + .st2581{clip-path:url(#SVGID_5160_);fill:#D3D3D3;} + .st2582{clip-path:url(#SVGID_5162_);fill:#D5D5D5;} + .st2583{clip-path:url(#SVGID_5164_);fill:#D6D6D6;} + .st2584{clip-path:url(#SVGID_5166_);fill:#D7D7D7;} + .st2585{clip-path:url(#SVGID_5168_);fill:#D8D8D8;} + .st2586{clip-path:url(#SVGID_5170_);fill:#D9D9D9;} + .st2587{clip-path:url(#SVGID_5172_);fill:#DADADA;} + .st2588{clip-path:url(#SVGID_5174_);fill:#DBDBDB;} + .st2589{clip-path:url(#SVGID_5176_);fill:#DCDCDC;} + .st2590{clip-path:url(#SVGID_5178_);fill:#DDDDDD;} + .st2591{clip-path:url(#SVGID_5180_);fill:#DEDEDE;} + .st2592{clip-path:url(#SVGID_5182_);fill:#DFDFDF;} + .st2593{clip-path:url(#SVGID_5184_);fill:#E0E0E0;} + .st2594{clip-path:url(#SVGID_5186_);fill:#E1E1E1;} + .st2595{clip-path:url(#SVGID_5188_);fill:#E2E2E2;} + .st2596{clip-path:url(#SVGID_5190_);fill:#E3E3E3;} + .st2597{clip-path:url(#SVGID_5192_);fill:#E4E4E4;} + .st2598{clip-path:url(#SVGID_5194_);fill:#E5E5E5;} + .st2599{clip-path:url(#SVGID_5196_);fill:#E6E6E6;} + .st2600{clip-path:url(#SVGID_5198_);fill:#E7E7E7;} + .st2601{clip-path:url(#SVGID_5200_);fill:#E8E8E8;} + .st2602{clip-path:url(#SVGID_5202_);fill:#E9E9E9;} + .st2603{clip-path:url(#SVGID_5204_);fill:#EAEAEA;} + .st2604{clip-path:url(#SVGID_5206_);fill:#EBEBEB;} + .st2605{clip-path:url(#SVGID_5208_);fill:#ECECEC;} + .st2606{clip-path:url(#SVGID_5210_);fill:#EDEDED;} + .st2607{clip-path:url(#SVGID_5212_);fill:#EEEEEE;} + .st2608{clip-path:url(#SVGID_5214_);fill:#EFEFEF;} + .st2609{clip-path:url(#SVGID_5216_);fill:#F0F0F0;} + .st2610{clip-path:url(#SVGID_5218_);fill:#F0F0F0;} + .st2611{clip-path:url(#SVGID_5220_);fill:#F1F1F1;} + .st2612{clip-path:url(#SVGID_5222_);fill:#F2F2F2;} + .st2613{clip-path:url(#SVGID_5224_);fill:#F3F3F3;} + .st2614{clip-path:url(#SVGID_5226_);fill:#F4F4F4;} + .st2615{clip-path:url(#SVGID_5228_);fill:#F5F5F5;} + .st2616{clip-path:url(#SVGID_5230_);fill:#F7F7F7;} + .st2617{clip-path:url(#SVGID_5232_);fill:#F8F8F8;} + .st2618{clip-path:url(#SVGID_5234_);fill:#F9F9F9;} + .st2619{clip-path:url(#SVGID_5236_);fill:#FAFAFA;} + .st2620{clip-path:url(#SVGID_5238_);fill:#FBFBFB;} + .st2621{clip-path:url(#SVGID_5240_);fill:#FCFCFC;} + .st2622{clip-path:url(#SVGID_5242_);fill:#FDFDFD;} + .st2623{clip-path:url(#SVGID_5244_);fill:#AD252C;} + .st2624{clip-path:url(#SVGID_5246_);fill:#FFDA07;} + .st2625{clip-path:url(#SVGID_5248_);fill:#C99009;} + .st2626{clip-path:url(#SVGID_5250_);fill:#FFDA07;} + .st2627{clip-path:url(#SVGID_5252_);fill:#C99009;} + .st2628{clip-path:url(#SVGID_5254_);} + .st2629{clip-path:url(#SVGID_5256_);fill:#B8B8B8;} + .st2630{clip-path:url(#SVGID_5258_);fill:#B8B8B8;} + .st2631{clip-path:url(#SVGID_5260_);fill:#B9B9B9;} + .st2632{clip-path:url(#SVGID_5262_);fill:#BABABA;} + .st2633{clip-path:url(#SVGID_5264_);fill:#BBBBBB;} + .st2634{clip-path:url(#SVGID_5266_);fill:#BCBCBC;} + .st2635{clip-path:url(#SVGID_5268_);fill:#BDBDBD;} + .st2636{clip-path:url(#SVGID_5270_);fill:#BEBEBE;} + .st2637{clip-path:url(#SVGID_5272_);fill:#BFBFBF;} + .st2638{clip-path:url(#SVGID_5274_);fill:#C0C0C0;} + .st2639{clip-path:url(#SVGID_5276_);fill:#C1C1C1;} + .st2640{clip-path:url(#SVGID_5278_);fill:#C2C2C2;} + .st2641{clip-path:url(#SVGID_5280_);fill:#C3C3C3;} + .st2642{clip-path:url(#SVGID_5282_);fill:#C4C4C4;} + .st2643{clip-path:url(#SVGID_5284_);fill:#C5C5C5;} + .st2644{clip-path:url(#SVGID_5286_);fill:#C6C6C6;} + .st2645{clip-path:url(#SVGID_5288_);fill:#C7C7C7;} + .st2646{clip-path:url(#SVGID_5290_);fill:#C8C8C8;} + .st2647{clip-path:url(#SVGID_5292_);fill:#C9C9C9;} + .st2648{clip-path:url(#SVGID_5294_);fill:#CACACA;} + .st2649{clip-path:url(#SVGID_5296_);fill:#CBCBCB;} + .st2650{clip-path:url(#SVGID_5298_);fill:#CCCCCC;} + .st2651{clip-path:url(#SVGID_5300_);fill:#CDCDCD;} + .st2652{clip-path:url(#SVGID_5302_);fill:#CECECE;} + .st2653{clip-path:url(#SVGID_5304_);fill:#CFCFCF;} + .st2654{clip-path:url(#SVGID_5306_);fill:#D0D0D0;} + .st2655{clip-path:url(#SVGID_5308_);fill:#D1D1D1;} + .st2656{clip-path:url(#SVGID_5310_);fill:#D2D2D2;} + .st2657{clip-path:url(#SVGID_5312_);fill:#D3D3D3;} + .st2658{clip-path:url(#SVGID_5314_);fill:#D5D5D5;} + .st2659{clip-path:url(#SVGID_5316_);fill:#D6D6D6;} + .st2660{clip-path:url(#SVGID_5318_);fill:#D7D7D7;} + .st2661{clip-path:url(#SVGID_5320_);fill:#D8D8D8;} + .st2662{clip-path:url(#SVGID_5322_);fill:#D9D9D9;} + .st2663{clip-path:url(#SVGID_5324_);fill:#DADADA;} + .st2664{clip-path:url(#SVGID_5326_);fill:#DBDBDB;} + .st2665{clip-path:url(#SVGID_5328_);fill:#DCDCDC;} + .st2666{clip-path:url(#SVGID_5330_);fill:#DDDDDD;} + .st2667{clip-path:url(#SVGID_5332_);fill:#DEDEDE;} + .st2668{clip-path:url(#SVGID_5334_);fill:#DFDFDF;} + .st2669{clip-path:url(#SVGID_5336_);fill:#E0E0E0;} + .st2670{clip-path:url(#SVGID_5338_);fill:#E1E1E1;} + .st2671{clip-path:url(#SVGID_5340_);fill:#E2E2E2;} + .st2672{clip-path:url(#SVGID_5342_);fill:#E3E3E3;} + .st2673{clip-path:url(#SVGID_5344_);fill:#E4E4E4;} + .st2674{clip-path:url(#SVGID_5346_);fill:#E5E5E5;} + .st2675{clip-path:url(#SVGID_5348_);fill:#E6E6E6;} + .st2676{clip-path:url(#SVGID_5350_);fill:#E7E7E7;} + .st2677{clip-path:url(#SVGID_5352_);fill:#E8E8E8;} + .st2678{clip-path:url(#SVGID_5354_);fill:#E9E9E9;} + .st2679{clip-path:url(#SVGID_5356_);fill:#EAEAEA;} + .st2680{clip-path:url(#SVGID_5358_);fill:#EBEBEB;} + .st2681{clip-path:url(#SVGID_5360_);fill:#ECECEC;} + .st2682{clip-path:url(#SVGID_5362_);fill:#EDEDED;} + .st2683{clip-path:url(#SVGID_5364_);fill:#EEEEEE;} + .st2684{clip-path:url(#SVGID_5366_);fill:#EFEFEF;} + .st2685{clip-path:url(#SVGID_5368_);fill:#F0F0F0;} + .st2686{clip-path:url(#SVGID_5370_);fill:#F0F0F0;} + .st2687{clip-path:url(#SVGID_5372_);fill:#F1F1F1;} + .st2688{clip-path:url(#SVGID_5374_);fill:#F2F2F2;} + .st2689{clip-path:url(#SVGID_5376_);fill:#F3F3F3;} + .st2690{clip-path:url(#SVGID_5378_);fill:#F4F4F4;} + .st2691{clip-path:url(#SVGID_5380_);fill:#F5F5F5;} + .st2692{clip-path:url(#SVGID_5382_);fill:#F7F7F7;} + .st2693{clip-path:url(#SVGID_5384_);fill:#F8F8F8;} + .st2694{clip-path:url(#SVGID_5386_);fill:#F9F9F9;} + .st2695{clip-path:url(#SVGID_5388_);fill:#FAFAFA;} + .st2696{clip-path:url(#SVGID_5390_);fill:#FBFBFB;} + .st2697{clip-path:url(#SVGID_5392_);fill:#FCFCFC;} + .st2698{clip-path:url(#SVGID_5394_);fill:#FDFDFD;} + .st2699{clip-path:url(#SVGID_5396_);} + .st2700{clip-path:url(#SVGID_5398_);fill:#B8B8B8;} + .st2701{clip-path:url(#SVGID_5400_);fill:#B8B8B8;} + .st2702{clip-path:url(#SVGID_5402_);fill:#B9B9B9;} + .st2703{clip-path:url(#SVGID_5404_);fill:#BABABA;} + .st2704{clip-path:url(#SVGID_5406_);fill:#BBBBBB;} + .st2705{clip-path:url(#SVGID_5408_);fill:#BCBCBC;} + .st2706{clip-path:url(#SVGID_5410_);fill:#BDBDBD;} + .st2707{clip-path:url(#SVGID_5412_);fill:#BEBEBE;} + .st2708{clip-path:url(#SVGID_5414_);fill:#BFBFBF;} + .st2709{clip-path:url(#SVGID_5416_);fill:#C0C0C0;} + .st2710{clip-path:url(#SVGID_5418_);fill:#C1C1C1;} + .st2711{clip-path:url(#SVGID_5420_);fill:#C2C2C2;} + .st2712{clip-path:url(#SVGID_5422_);fill:#C3C3C3;} + .st2713{clip-path:url(#SVGID_5424_);fill:#C4C4C4;} + .st2714{clip-path:url(#SVGID_5426_);fill:#C5C5C5;} + .st2715{clip-path:url(#SVGID_5428_);fill:#C6C6C6;} + .st2716{clip-path:url(#SVGID_5430_);fill:#C7C7C7;} + .st2717{clip-path:url(#SVGID_5432_);fill:#C8C8C8;} + .st2718{clip-path:url(#SVGID_5434_);fill:#C9C9C9;} + .st2719{clip-path:url(#SVGID_5436_);fill:#CACACA;} + .st2720{clip-path:url(#SVGID_5438_);fill:#CBCBCB;} + .st2721{clip-path:url(#SVGID_5440_);fill:#CCCCCC;} + .st2722{clip-path:url(#SVGID_5442_);fill:#CDCDCD;} + .st2723{clip-path:url(#SVGID_5444_);fill:#CECECE;} + .st2724{clip-path:url(#SVGID_5446_);fill:#CFCFCF;} + .st2725{clip-path:url(#SVGID_5448_);fill:#D0D0D0;} + .st2726{clip-path:url(#SVGID_5450_);fill:#D1D1D1;} + .st2727{clip-path:url(#SVGID_5452_);fill:#D2D2D2;} + .st2728{clip-path:url(#SVGID_5454_);fill:#D3D3D3;} + .st2729{clip-path:url(#SVGID_5456_);fill:#D5D5D5;} + .st2730{clip-path:url(#SVGID_5458_);fill:#D6D6D6;} + .st2731{clip-path:url(#SVGID_5460_);fill:#D7D7D7;} + .st2732{clip-path:url(#SVGID_5462_);fill:#D8D8D8;} + .st2733{clip-path:url(#SVGID_5464_);fill:#D9D9D9;} + .st2734{clip-path:url(#SVGID_5466_);fill:#DADADA;} + .st2735{clip-path:url(#SVGID_5468_);fill:#DBDBDB;} + .st2736{clip-path:url(#SVGID_5470_);fill:#DCDCDC;} + .st2737{clip-path:url(#SVGID_5472_);fill:#DDDDDD;} + .st2738{clip-path:url(#SVGID_5474_);fill:#DEDEDE;} + .st2739{clip-path:url(#SVGID_5476_);fill:#DFDFDF;} + .st2740{clip-path:url(#SVGID_5478_);fill:#E0E0E0;} + .st2741{clip-path:url(#SVGID_5480_);fill:#E1E1E1;} + .st2742{clip-path:url(#SVGID_5482_);fill:#E2E2E2;} + .st2743{clip-path:url(#SVGID_5484_);fill:#E3E3E3;} + .st2744{clip-path:url(#SVGID_5486_);fill:#E4E4E4;} + .st2745{clip-path:url(#SVGID_5488_);fill:#E5E5E5;} + .st2746{clip-path:url(#SVGID_5490_);fill:#E6E6E6;} + .st2747{clip-path:url(#SVGID_5492_);fill:#E7E7E7;} + .st2748{clip-path:url(#SVGID_5494_);fill:#E8E8E8;} + .st2749{clip-path:url(#SVGID_5496_);fill:#E9E9E9;} + .st2750{clip-path:url(#SVGID_5498_);fill:#EAEAEA;} + .st2751{clip-path:url(#SVGID_5500_);fill:#EBEBEB;} + .st2752{clip-path:url(#SVGID_5502_);fill:#ECECEC;} + .st2753{clip-path:url(#SVGID_5504_);fill:#EDEDED;} + .st2754{clip-path:url(#SVGID_5506_);fill:#EEEEEE;} + .st2755{clip-path:url(#SVGID_5508_);fill:#EFEFEF;} + .st2756{clip-path:url(#SVGID_5510_);fill:#F0F0F0;} + .st2757{clip-path:url(#SVGID_5512_);fill:#F0F0F0;} + .st2758{clip-path:url(#SVGID_5514_);fill:#F1F1F1;} + .st2759{clip-path:url(#SVGID_5516_);fill:#F2F2F2;} + .st2760{clip-path:url(#SVGID_5518_);fill:#F3F3F3;} + .st2761{clip-path:url(#SVGID_5520_);fill:#F4F4F4;} + .st2762{clip-path:url(#SVGID_5522_);fill:#F5F5F5;} + .st2763{clip-path:url(#SVGID_5524_);fill:#F7F7F7;} + .st2764{clip-path:url(#SVGID_5526_);fill:#F8F8F8;} + .st2765{clip-path:url(#SVGID_5528_);fill:#F9F9F9;} + .st2766{clip-path:url(#SVGID_5530_);fill:#FAFAFA;} + .st2767{clip-path:url(#SVGID_5532_);fill:#FBFBFB;} + .st2768{clip-path:url(#SVGID_5534_);fill:#FCFCFC;} + .st2769{clip-path:url(#SVGID_5536_);fill:#FDFDFD;} + .st2770{clip-path:url(#SVGID_5538_);} + .st2771{clip-path:url(#SVGID_5540_);fill:#B8B8B8;} + .st2772{clip-path:url(#SVGID_5542_);fill:#B8B8B8;} + .st2773{clip-path:url(#SVGID_5544_);fill:#B9B9B9;} + .st2774{clip-path:url(#SVGID_5546_);fill:#BABABA;} + .st2775{clip-path:url(#SVGID_5548_);fill:#BBBBBB;} + .st2776{clip-path:url(#SVGID_5550_);fill:#BCBCBC;} + .st2777{clip-path:url(#SVGID_5552_);fill:#BDBDBD;} + .st2778{clip-path:url(#SVGID_5554_);fill:#BEBEBE;} + .st2779{clip-path:url(#SVGID_5556_);fill:#BFBFBF;} + .st2780{clip-path:url(#SVGID_5558_);fill:#C0C0C0;} + .st2781{clip-path:url(#SVGID_5560_);fill:#C1C1C1;} + .st2782{clip-path:url(#SVGID_5562_);fill:#C2C2C2;} + .st2783{clip-path:url(#SVGID_5564_);fill:#C3C3C3;} + .st2784{clip-path:url(#SVGID_5566_);fill:#C4C4C4;} + .st2785{clip-path:url(#SVGID_5568_);fill:#C5C5C5;} + .st2786{clip-path:url(#SVGID_5570_);fill:#C6C6C6;} + .st2787{clip-path:url(#SVGID_5572_);fill:#C7C7C7;} + .st2788{clip-path:url(#SVGID_5574_);fill:#C8C8C8;} + .st2789{clip-path:url(#SVGID_5576_);fill:#C9C9C9;} + .st2790{clip-path:url(#SVGID_5578_);fill:#CACACA;} + .st2791{clip-path:url(#SVGID_5580_);fill:#CBCBCB;} + .st2792{clip-path:url(#SVGID_5582_);fill:#CCCCCC;} + .st2793{clip-path:url(#SVGID_5584_);fill:#CDCDCD;} + .st2794{clip-path:url(#SVGID_5586_);fill:#CECECE;} + .st2795{clip-path:url(#SVGID_5588_);fill:#CFCFCF;} + .st2796{clip-path:url(#SVGID_5590_);fill:#D0D0D0;} + .st2797{clip-path:url(#SVGID_5592_);fill:#D1D1D1;} + .st2798{clip-path:url(#SVGID_5594_);fill:#D2D2D2;} + .st2799{clip-path:url(#SVGID_5596_);fill:#D3D3D3;} + .st2800{clip-path:url(#SVGID_5598_);fill:#D5D5D5;} + .st2801{clip-path:url(#SVGID_5600_);fill:#D6D6D6;} + .st2802{clip-path:url(#SVGID_5602_);fill:#D7D7D7;} + .st2803{clip-path:url(#SVGID_5604_);fill:#D8D8D8;} + .st2804{clip-path:url(#SVGID_5606_);fill:#D9D9D9;} + .st2805{clip-path:url(#SVGID_5608_);fill:#DADADA;} + .st2806{clip-path:url(#SVGID_5610_);fill:#DBDBDB;} + .st2807{clip-path:url(#SVGID_5612_);fill:#DCDCDC;} + .st2808{clip-path:url(#SVGID_5614_);fill:#DDDDDD;} + .st2809{clip-path:url(#SVGID_5616_);fill:#DEDEDE;} + .st2810{clip-path:url(#SVGID_5618_);fill:#DFDFDF;} + .st2811{clip-path:url(#SVGID_5620_);fill:#E0E0E0;} + .st2812{clip-path:url(#SVGID_5622_);fill:#E1E1E1;} + .st2813{clip-path:url(#SVGID_5624_);fill:#E2E2E2;} + .st2814{clip-path:url(#SVGID_5626_);fill:#E3E3E3;} + .st2815{clip-path:url(#SVGID_5628_);fill:#E4E4E4;} + .st2816{clip-path:url(#SVGID_5630_);fill:#E5E5E5;} + .st2817{clip-path:url(#SVGID_5632_);fill:#E6E6E6;} + .st2818{clip-path:url(#SVGID_5634_);fill:#E7E7E7;} + .st2819{clip-path:url(#SVGID_5636_);fill:#E8E8E8;} + .st2820{clip-path:url(#SVGID_5638_);fill:#E9E9E9;} + .st2821{clip-path:url(#SVGID_5640_);fill:#EAEAEA;} + .st2822{clip-path:url(#SVGID_5642_);fill:#EBEBEB;} + .st2823{clip-path:url(#SVGID_5644_);fill:#ECECEC;} + .st2824{clip-path:url(#SVGID_5646_);fill:#EDEDED;} + .st2825{clip-path:url(#SVGID_5648_);fill:#EEEEEE;} + .st2826{clip-path:url(#SVGID_5650_);fill:#EFEFEF;} + .st2827{clip-path:url(#SVGID_5652_);fill:#F0F0F0;} + .st2828{clip-path:url(#SVGID_5654_);fill:#F0F0F0;} + .st2829{clip-path:url(#SVGID_5656_);fill:#F1F1F1;} + .st2830{clip-path:url(#SVGID_5658_);fill:#F2F2F2;} + .st2831{clip-path:url(#SVGID_5660_);fill:#F3F3F3;} + .st2832{clip-path:url(#SVGID_5662_);fill:#F4F4F4;} + .st2833{clip-path:url(#SVGID_5664_);fill:#F5F5F5;} + .st2834{clip-path:url(#SVGID_5666_);fill:#F7F7F7;} + .st2835{clip-path:url(#SVGID_5668_);fill:#F8F8F8;} + .st2836{clip-path:url(#SVGID_5670_);fill:#F9F9F9;} + .st2837{clip-path:url(#SVGID_5672_);fill:#FAFAFA;} + .st2838{clip-path:url(#SVGID_5674_);fill:#FBFBFB;} + .st2839{clip-path:url(#SVGID_5676_);fill:#FCFCFC;} + .st2840{clip-path:url(#SVGID_5678_);fill:#FDFDFD;} + .st2841{clip-path:url(#SVGID_5680_);} + .st2842{clip-path:url(#SVGID_5682_);fill:#B8B8B8;} + .st2843{clip-path:url(#SVGID_5684_);fill:#B8B8B8;} + .st2844{clip-path:url(#SVGID_5686_);fill:#B9B9B9;} + .st2845{clip-path:url(#SVGID_5688_);fill:#BABABA;} + .st2846{clip-path:url(#SVGID_5690_);fill:#BBBBBB;} + .st2847{clip-path:url(#SVGID_5692_);fill:#BCBCBC;} + .st2848{clip-path:url(#SVGID_5694_);fill:#BDBDBD;} + .st2849{clip-path:url(#SVGID_5696_);fill:#BEBEBE;} + .st2850{clip-path:url(#SVGID_5698_);fill:#BFBFBF;} + .st2851{clip-path:url(#SVGID_5700_);fill:#C0C0C0;} + .st2852{clip-path:url(#SVGID_5702_);fill:#C1C1C1;} + .st2853{clip-path:url(#SVGID_5704_);fill:#C2C2C2;} + .st2854{clip-path:url(#SVGID_5706_);fill:#C3C3C3;} + .st2855{clip-path:url(#SVGID_5708_);fill:#C4C4C4;} + .st2856{clip-path:url(#SVGID_5710_);fill:#C5C5C5;} + .st2857{clip-path:url(#SVGID_5712_);fill:#C6C6C6;} + .st2858{clip-path:url(#SVGID_5714_);fill:#C7C7C7;} + .st2859{clip-path:url(#SVGID_5716_);fill:#C8C8C8;} + .st2860{clip-path:url(#SVGID_5718_);fill:#C9C9C9;} + .st2861{clip-path:url(#SVGID_5720_);fill:#CACACA;} + .st2862{clip-path:url(#SVGID_5722_);fill:#CBCBCB;} + .st2863{clip-path:url(#SVGID_5724_);fill:#CCCCCC;} + .st2864{clip-path:url(#SVGID_5726_);fill:#CDCDCD;} + .st2865{clip-path:url(#SVGID_5728_);fill:#CECECE;} + .st2866{clip-path:url(#SVGID_5730_);fill:#CFCFCF;} + .st2867{clip-path:url(#SVGID_5732_);fill:#D0D0D0;} + .st2868{clip-path:url(#SVGID_5734_);fill:#D1D1D1;} + .st2869{clip-path:url(#SVGID_5736_);fill:#D2D2D2;} + .st2870{clip-path:url(#SVGID_5738_);fill:#D3D3D3;} + .st2871{clip-path:url(#SVGID_5740_);fill:#D5D5D5;} + .st2872{clip-path:url(#SVGID_5742_);fill:#D6D6D6;} + .st2873{clip-path:url(#SVGID_5744_);fill:#D7D7D7;} + .st2874{clip-path:url(#SVGID_5746_);fill:#D8D8D8;} + .st2875{clip-path:url(#SVGID_5748_);fill:#D9D9D9;} + .st2876{clip-path:url(#SVGID_5750_);fill:#DADADA;} + .st2877{clip-path:url(#SVGID_5752_);fill:#DBDBDB;} + .st2878{clip-path:url(#SVGID_5754_);fill:#DCDCDC;} + .st2879{clip-path:url(#SVGID_5756_);fill:#DDDDDD;} + .st2880{clip-path:url(#SVGID_5758_);fill:#DEDEDE;} + .st2881{clip-path:url(#SVGID_5760_);fill:#DFDFDF;} + .st2882{clip-path:url(#SVGID_5762_);fill:#E0E0E0;} + .st2883{clip-path:url(#SVGID_5764_);fill:#E1E1E1;} + .st2884{clip-path:url(#SVGID_5766_);fill:#E2E2E2;} + .st2885{clip-path:url(#SVGID_5768_);fill:#E3E3E3;} + .st2886{clip-path:url(#SVGID_5770_);fill:#E4E4E4;} + .st2887{clip-path:url(#SVGID_5772_);fill:#E5E5E5;} + .st2888{clip-path:url(#SVGID_5774_);fill:#E6E6E6;} + .st2889{clip-path:url(#SVGID_5776_);fill:#E7E7E7;} + .st2890{clip-path:url(#SVGID_5778_);fill:#E8E8E8;} + .st2891{clip-path:url(#SVGID_5780_);fill:#E9E9E9;} + .st2892{clip-path:url(#SVGID_5782_);fill:#EAEAEA;} + .st2893{clip-path:url(#SVGID_5784_);fill:#EBEBEB;} + .st2894{clip-path:url(#SVGID_5786_);fill:#ECECEC;} + .st2895{clip-path:url(#SVGID_5788_);fill:#EDEDED;} + .st2896{clip-path:url(#SVGID_5790_);fill:#EEEEEE;} + .st2897{clip-path:url(#SVGID_5792_);fill:#EFEFEF;} + .st2898{clip-path:url(#SVGID_5794_);fill:#F0F0F0;} + .st2899{clip-path:url(#SVGID_5796_);fill:#F0F0F0;} + .st2900{clip-path:url(#SVGID_5798_);fill:#F1F1F1;} + .st2901{clip-path:url(#SVGID_5800_);fill:#F2F2F2;} + .st2902{clip-path:url(#SVGID_5802_);fill:#F3F3F3;} + .st2903{clip-path:url(#SVGID_5804_);fill:#F4F4F4;} + .st2904{clip-path:url(#SVGID_5806_);fill:#F5F5F5;} + .st2905{clip-path:url(#SVGID_5808_);fill:#F7F7F7;} + .st2906{clip-path:url(#SVGID_5810_);fill:#F8F8F8;} + .st2907{clip-path:url(#SVGID_5812_);fill:#F9F9F9;} + .st2908{clip-path:url(#SVGID_5814_);fill:#FAFAFA;} + .st2909{clip-path:url(#SVGID_5816_);fill:#FBFBFB;} + .st2910{clip-path:url(#SVGID_5818_);fill:#FCFCFC;} + .st2911{clip-path:url(#SVGID_5820_);fill:#FDFDFD;} + .st2912{clip-path:url(#SVGID_5822_);} + .st2913{clip-path:url(#SVGID_5824_);fill:#B8B8B8;} + .st2914{clip-path:url(#SVGID_5826_);fill:#B8B8B8;} + .st2915{clip-path:url(#SVGID_5828_);fill:#B9B9B9;} + .st2916{clip-path:url(#SVGID_5830_);fill:#BABABA;} + .st2917{clip-path:url(#SVGID_5832_);fill:#BBBBBB;} + .st2918{clip-path:url(#SVGID_5834_);fill:#BCBCBC;} + .st2919{clip-path:url(#SVGID_5836_);fill:#BDBDBD;} + .st2920{clip-path:url(#SVGID_5838_);fill:#BEBEBE;} + .st2921{clip-path:url(#SVGID_5840_);fill:#BFBFBF;} + .st2922{clip-path:url(#SVGID_5842_);fill:#C0C0C0;} + .st2923{clip-path:url(#SVGID_5844_);fill:#C1C1C1;} + .st2924{clip-path:url(#SVGID_5846_);fill:#C2C2C2;} + .st2925{clip-path:url(#SVGID_5848_);fill:#C3C3C3;} + .st2926{clip-path:url(#SVGID_5850_);fill:#C4C4C4;} + .st2927{clip-path:url(#SVGID_5852_);fill:#C5C5C5;} + .st2928{clip-path:url(#SVGID_5854_);fill:#C6C6C6;} + .st2929{clip-path:url(#SVGID_5856_);fill:#C7C7C7;} + .st2930{clip-path:url(#SVGID_5858_);fill:#C8C8C8;} + .st2931{clip-path:url(#SVGID_5860_);fill:#C9C9C9;} + .st2932{clip-path:url(#SVGID_5862_);fill:#CACACA;} + .st2933{clip-path:url(#SVGID_5864_);fill:#CBCBCB;} + .st2934{clip-path:url(#SVGID_5866_);fill:#CCCCCC;} + .st2935{clip-path:url(#SVGID_5868_);fill:#CDCDCD;} + .st2936{clip-path:url(#SVGID_5870_);fill:#CECECE;} + .st2937{clip-path:url(#SVGID_5872_);fill:#CFCFCF;} + .st2938{clip-path:url(#SVGID_5874_);fill:#D0D0D0;} + .st2939{clip-path:url(#SVGID_5876_);fill:#D1D1D1;} + .st2940{clip-path:url(#SVGID_5878_);fill:#D2D2D2;} + .st2941{clip-path:url(#SVGID_5880_);fill:#D3D3D3;} + .st2942{clip-path:url(#SVGID_5882_);fill:#D5D5D5;} + .st2943{clip-path:url(#SVGID_5884_);fill:#D6D6D6;} + .st2944{clip-path:url(#SVGID_5886_);fill:#D7D7D7;} + .st2945{clip-path:url(#SVGID_5888_);fill:#D8D8D8;} + .st2946{clip-path:url(#SVGID_5890_);fill:#D9D9D9;} + .st2947{clip-path:url(#SVGID_5892_);fill:#DADADA;} + .st2948{clip-path:url(#SVGID_5894_);fill:#DBDBDB;} + .st2949{clip-path:url(#SVGID_5896_);fill:#DCDCDC;} + .st2950{clip-path:url(#SVGID_5898_);fill:#DDDDDD;} + .st2951{clip-path:url(#SVGID_5900_);fill:#DEDEDE;} + .st2952{clip-path:url(#SVGID_5902_);fill:#DFDFDF;} + .st2953{clip-path:url(#SVGID_5904_);fill:#E0E0E0;} + .st2954{clip-path:url(#SVGID_5906_);fill:#E1E1E1;} + .st2955{clip-path:url(#SVGID_5908_);fill:#E2E2E2;} + .st2956{clip-path:url(#SVGID_5910_);fill:#E3E3E3;} + .st2957{clip-path:url(#SVGID_5912_);fill:#E4E4E4;} + .st2958{clip-path:url(#SVGID_5914_);fill:#E5E5E5;} + .st2959{clip-path:url(#SVGID_5916_);fill:#E6E6E6;} + .st2960{clip-path:url(#SVGID_5918_);fill:#E7E7E7;} + .st2961{clip-path:url(#SVGID_5920_);fill:#E8E8E8;} + .st2962{clip-path:url(#SVGID_5922_);fill:#E9E9E9;} + .st2963{clip-path:url(#SVGID_5924_);fill:#EAEAEA;} + .st2964{clip-path:url(#SVGID_5926_);fill:#EBEBEB;} + .st2965{clip-path:url(#SVGID_5928_);fill:#ECECEC;} + .st2966{clip-path:url(#SVGID_5930_);fill:#EDEDED;} + .st2967{clip-path:url(#SVGID_5932_);fill:#EEEEEE;} + .st2968{clip-path:url(#SVGID_5934_);fill:#EFEFEF;} + .st2969{clip-path:url(#SVGID_5936_);fill:#F0F0F0;} + .st2970{clip-path:url(#SVGID_5938_);fill:#F0F0F0;} + .st2971{clip-path:url(#SVGID_5940_);fill:#F1F1F1;} + .st2972{clip-path:url(#SVGID_5942_);fill:#F2F2F2;} + .st2973{clip-path:url(#SVGID_5944_);fill:#F3F3F3;} + .st2974{clip-path:url(#SVGID_5946_);fill:#F4F4F4;} + .st2975{clip-path:url(#SVGID_5948_);fill:#F5F5F5;} + .st2976{clip-path:url(#SVGID_5950_);fill:#F7F7F7;} + .st2977{clip-path:url(#SVGID_5952_);fill:#F8F8F8;} + .st2978{clip-path:url(#SVGID_5954_);fill:#F9F9F9;} + .st2979{clip-path:url(#SVGID_5956_);fill:#FAFAFA;} + .st2980{clip-path:url(#SVGID_5958_);fill:#FBFBFB;} + .st2981{clip-path:url(#SVGID_5960_);fill:#FCFCFC;} + .st2982{clip-path:url(#SVGID_5962_);fill:#FDFDFD;} + .st2983{clip-path:url(#SVGID_5964_);} + .st2984{clip-path:url(#SVGID_5966_);fill:#B8B8B8;} + .st2985{clip-path:url(#SVGID_5968_);fill:#B8B8B8;} + .st2986{clip-path:url(#SVGID_5970_);fill:#B9B9B9;} + .st2987{clip-path:url(#SVGID_5972_);fill:#BABABA;} + .st2988{clip-path:url(#SVGID_5974_);fill:#BBBBBB;} + .st2989{clip-path:url(#SVGID_5976_);fill:#BCBCBC;} + .st2990{clip-path:url(#SVGID_5978_);fill:#BDBDBD;} + .st2991{clip-path:url(#SVGID_5980_);fill:#BEBEBE;} + .st2992{clip-path:url(#SVGID_5982_);fill:#BFBFBF;} + .st2993{clip-path:url(#SVGID_5984_);fill:#C0C0C0;} + .st2994{clip-path:url(#SVGID_5986_);fill:#C1C1C1;} + .st2995{clip-path:url(#SVGID_5988_);fill:#C2C2C2;} + .st2996{clip-path:url(#SVGID_5990_);fill:#C3C3C3;} + .st2997{clip-path:url(#SVGID_5992_);fill:#C4C4C4;} + .st2998{clip-path:url(#SVGID_5994_);fill:#C5C5C5;} + .st2999{clip-path:url(#SVGID_5996_);fill:#C6C6C6;} + .st3000{clip-path:url(#SVGID_5998_);fill:#C7C7C7;} + .st3001{clip-path:url(#SVGID_6000_);fill:#C8C8C8;} + .st3002{clip-path:url(#SVGID_6002_);fill:#C9C9C9;} + .st3003{clip-path:url(#SVGID_6004_);fill:#CACACA;} + .st3004{clip-path:url(#SVGID_6006_);fill:#CBCBCB;} + .st3005{clip-path:url(#SVGID_6008_);fill:#CCCCCC;} + .st3006{clip-path:url(#SVGID_6010_);fill:#CDCDCD;} + .st3007{clip-path:url(#SVGID_6012_);fill:#CECECE;} + .st3008{clip-path:url(#SVGID_6014_);fill:#CFCFCF;} + .st3009{clip-path:url(#SVGID_6016_);fill:#D0D0D0;} + .st3010{clip-path:url(#SVGID_6018_);fill:#D1D1D1;} + .st3011{clip-path:url(#SVGID_6020_);fill:#D2D2D2;} + .st3012{clip-path:url(#SVGID_6022_);fill:#D3D3D3;} + .st3013{clip-path:url(#SVGID_6024_);fill:#D5D5D5;} + .st3014{clip-path:url(#SVGID_6026_);fill:#D6D6D6;} + .st3015{clip-path:url(#SVGID_6028_);fill:#D7D7D7;} + .st3016{clip-path:url(#SVGID_6030_);fill:#D8D8D8;} + .st3017{clip-path:url(#SVGID_6032_);fill:#D9D9D9;} + .st3018{clip-path:url(#SVGID_6034_);fill:#DADADA;} + .st3019{clip-path:url(#SVGID_6036_);fill:#DBDBDB;} + .st3020{clip-path:url(#SVGID_6038_);fill:#DCDCDC;} + .st3021{clip-path:url(#SVGID_6040_);fill:#DDDDDD;} + .st3022{clip-path:url(#SVGID_6042_);fill:#DEDEDE;} + .st3023{clip-path:url(#SVGID_6044_);fill:#DFDFDF;} + .st3024{clip-path:url(#SVGID_6046_);fill:#E0E0E0;} + .st3025{clip-path:url(#SVGID_6048_);fill:#E1E1E1;} + .st3026{clip-path:url(#SVGID_6050_);fill:#E2E2E2;} + .st3027{clip-path:url(#SVGID_6052_);fill:#E3E3E3;} + .st3028{clip-path:url(#SVGID_6054_);fill:#E4E4E4;} + .st3029{clip-path:url(#SVGID_6056_);fill:#E5E5E5;} + .st3030{clip-path:url(#SVGID_6058_);fill:#E6E6E6;} + .st3031{clip-path:url(#SVGID_6060_);fill:#E7E7E7;} + .st3032{clip-path:url(#SVGID_6062_);fill:#E8E8E8;} + .st3033{clip-path:url(#SVGID_6064_);fill:#E9E9E9;} + .st3034{clip-path:url(#SVGID_6066_);fill:#EAEAEA;} + .st3035{clip-path:url(#SVGID_6068_);fill:#EBEBEB;} + .st3036{clip-path:url(#SVGID_6070_);fill:#ECECEC;} + .st3037{clip-path:url(#SVGID_6072_);fill:#EDEDED;} + .st3038{clip-path:url(#SVGID_6074_);fill:#EEEEEE;} + .st3039{clip-path:url(#SVGID_6076_);fill:#EFEFEF;} + .st3040{clip-path:url(#SVGID_6078_);fill:#F0F0F0;} + .st3041{clip-path:url(#SVGID_6080_);fill:#F0F0F0;} + .st3042{clip-path:url(#SVGID_6082_);fill:#F1F1F1;} + .st3043{clip-path:url(#SVGID_6084_);fill:#F2F2F2;} + .st3044{clip-path:url(#SVGID_6086_);fill:#F3F3F3;} + .st3045{clip-path:url(#SVGID_6088_);fill:#F4F4F4;} + .st3046{clip-path:url(#SVGID_6090_);fill:#F5F5F5;} + .st3047{clip-path:url(#SVGID_6092_);fill:#F7F7F7;} + .st3048{clip-path:url(#SVGID_6094_);fill:#F8F8F8;} + .st3049{clip-path:url(#SVGID_6096_);fill:#F9F9F9;} + .st3050{clip-path:url(#SVGID_6098_);fill:#FAFAFA;} + .st3051{clip-path:url(#SVGID_6100_);fill:#FBFBFB;} + .st3052{clip-path:url(#SVGID_6102_);fill:#FCFCFC;} + .st3053{clip-path:url(#SVGID_6104_);fill:#FDFDFD;} + .st3054{clip-path:url(#SVGID_6106_);fill:#FFDA07;} + .st3055{clip-path:url(#SVGID_6108_);fill:#C99009;} + .st3056{clip-path:url(#SVGID_6110_);fill:#E9C700;} + .st3057{clip-path:url(#SVGID_6112_);} + .st3058{clip-path:url(#SVGID_6114_);fill:#B8B8B8;} + .st3059{clip-path:url(#SVGID_6116_);fill:#B8B8B8;} + .st3060{clip-path:url(#SVGID_6118_);fill:#B9B9B9;} + .st3061{clip-path:url(#SVGID_6120_);fill:#BABABA;} + .st3062{clip-path:url(#SVGID_6122_);fill:#BBBBBB;} + .st3063{clip-path:url(#SVGID_6124_);fill:#BCBCBC;} + .st3064{clip-path:url(#SVGID_6126_);fill:#BDBDBD;} + .st3065{clip-path:url(#SVGID_6128_);fill:#BEBEBE;} + .st3066{clip-path:url(#SVGID_6130_);fill:#BFBFBF;} + .st3067{clip-path:url(#SVGID_6132_);fill:#C0C0C0;} + .st3068{clip-path:url(#SVGID_6134_);fill:#C1C1C1;} + .st3069{clip-path:url(#SVGID_6136_);fill:#C2C2C2;} + .st3070{clip-path:url(#SVGID_6138_);fill:#C3C3C3;} + .st3071{clip-path:url(#SVGID_6140_);fill:#C4C4C4;} + .st3072{clip-path:url(#SVGID_6142_);fill:#C5C5C5;} + .st3073{clip-path:url(#SVGID_6144_);fill:#C6C6C6;} + .st3074{clip-path:url(#SVGID_6146_);fill:#C7C7C7;} + .st3075{clip-path:url(#SVGID_6148_);fill:#C8C8C8;} + .st3076{clip-path:url(#SVGID_6150_);fill:#C9C9C9;} + .st3077{clip-path:url(#SVGID_6152_);fill:#CACACA;} + .st3078{clip-path:url(#SVGID_6154_);fill:#CBCBCB;} + .st3079{clip-path:url(#SVGID_6156_);fill:#CCCCCC;} + .st3080{clip-path:url(#SVGID_6158_);fill:#CDCDCD;} + .st3081{clip-path:url(#SVGID_6160_);fill:#CECECE;} + .st3082{clip-path:url(#SVGID_6162_);fill:#CFCFCF;} + .st3083{clip-path:url(#SVGID_6164_);fill:#D0D0D0;} + .st3084{clip-path:url(#SVGID_6166_);fill:#D1D1D1;} + .st3085{clip-path:url(#SVGID_6168_);fill:#D2D2D2;} + .st3086{clip-path:url(#SVGID_6170_);fill:#D3D3D3;} + .st3087{clip-path:url(#SVGID_6172_);fill:#D5D5D5;} + .st3088{clip-path:url(#SVGID_6174_);fill:#D6D6D6;} + .st3089{clip-path:url(#SVGID_6176_);fill:#D7D7D7;} + .st3090{clip-path:url(#SVGID_6178_);fill:#D8D8D8;} + .st3091{clip-path:url(#SVGID_6180_);fill:#D9D9D9;} + .st3092{clip-path:url(#SVGID_6182_);fill:#DADADA;} + .st3093{clip-path:url(#SVGID_6184_);fill:#DBDBDB;} + .st3094{clip-path:url(#SVGID_6186_);fill:#DCDCDC;} + .st3095{clip-path:url(#SVGID_6188_);fill:#DDDDDD;} + .st3096{clip-path:url(#SVGID_6190_);fill:#DEDEDE;} + .st3097{clip-path:url(#SVGID_6192_);fill:#DFDFDF;} + .st3098{clip-path:url(#SVGID_6194_);fill:#E0E0E0;} + .st3099{clip-path:url(#SVGID_6196_);fill:#E1E1E1;} + .st3100{clip-path:url(#SVGID_6198_);fill:#E2E2E2;} + .st3101{clip-path:url(#SVGID_6200_);fill:#E3E3E3;} + .st3102{clip-path:url(#SVGID_6202_);fill:#E4E4E4;} + .st3103{clip-path:url(#SVGID_6204_);fill:#E5E5E5;} + .st3104{clip-path:url(#SVGID_6206_);fill:#E6E6E6;} + .st3105{clip-path:url(#SVGID_6208_);fill:#E7E7E7;} + .st3106{clip-path:url(#SVGID_6210_);fill:#E8E8E8;} + .st3107{clip-path:url(#SVGID_6212_);fill:#E9E9E9;} + .st3108{clip-path:url(#SVGID_6214_);fill:#EAEAEA;} + .st3109{clip-path:url(#SVGID_6216_);fill:#EBEBEB;} + .st3110{clip-path:url(#SVGID_6218_);fill:#ECECEC;} + .st3111{clip-path:url(#SVGID_6220_);fill:#EDEDED;} + .st3112{clip-path:url(#SVGID_6222_);fill:#EEEEEE;} + .st3113{clip-path:url(#SVGID_6224_);fill:#EFEFEF;} + .st3114{clip-path:url(#SVGID_6226_);fill:#F0F0F0;} + .st3115{clip-path:url(#SVGID_6228_);fill:#F0F0F0;} + .st3116{clip-path:url(#SVGID_6230_);fill:#F1F1F1;} + .st3117{clip-path:url(#SVGID_6232_);fill:#F2F2F2;} + .st3118{clip-path:url(#SVGID_6234_);fill:#F3F3F3;} + .st3119{clip-path:url(#SVGID_6236_);fill:#F4F4F4;} + .st3120{clip-path:url(#SVGID_6238_);fill:#F5F5F5;} + .st3121{clip-path:url(#SVGID_6240_);fill:#F7F7F7;} + .st3122{clip-path:url(#SVGID_6242_);fill:#F8F8F8;} + .st3123{clip-path:url(#SVGID_6244_);fill:#F9F9F9;} + .st3124{clip-path:url(#SVGID_6246_);fill:#FAFAFA;} + .st3125{clip-path:url(#SVGID_6248_);fill:#FBFBFB;} + .st3126{clip-path:url(#SVGID_6250_);fill:#FCFCFC;} + .st3127{clip-path:url(#SVGID_6252_);fill:#FDFDFD;} + .st3128{clip-path:url(#SVGID_6254_);fill:#FFDA07;} + .st3129{clip-path:url(#SVGID_6256_);fill:#C99009;} + .st3130{clip-path:url(#SVGID_6258_);fill:#FFDA07;} + .st3131{clip-path:url(#SVGID_6260_);fill:#C99009;} + .st3132{clip-path:url(#SVGID_6262_);fill:#FFDA07;} + .st3133{clip-path:url(#SVGID_6264_);fill:#C99009;} + .st3134{clip-path:url(#SVGID_6266_);fill:#D6D6D6;} + .st3135{clip-path:url(#SVGID_6268_);fill:#ED1A23;} + .st3136{clip-path:url(#SVGID_6270_);fill:#FAE252;} + .st3137{clip-path:url(#SVGID_6272_);fill:#ED1A23;} + .st3138{clip-path:url(#SVGID_6274_);fill:#139354;} + .st3139{clip-path:url(#SVGID_6276_);fill:#139354;} + .st3140{clip-path:url(#SVGID_6278_);fill:#0CA3DE;} + .st3141{clip-path:url(#SVGID_6280_);fill:#F9F9F9;} + .st3142{clip-path:url(#SVGID_6282_);fill:#1A1A1A;} + .st3143{clip-path:url(#SVGID_6284_);fill:#1A1A1A;} + .st3144{clip-path:url(#SVGID_6286_);fill:#1A1A1A;} + .st3145{clip-path:url(#SVGID_6288_);fill:#1A1A1A;} + .st3146{clip-path:url(#SVGID_6290_);fill:#1A1A1A;} + .st3147{clip-path:url(#SVGID_6292_);fill:#1A1A1A;} + .st3148{clip-path:url(#SVGID_6294_);fill:#1A1A1A;} + .st3149{clip-path:url(#SVGID_6296_);fill:#1A1A1A;} + .st3150{clip-path:url(#SVGID_6298_);fill:#1A1A1A;} + .st3151{clip-path:url(#SVGID_6300_);fill:#1A1A1A;} + .st3152{clip-path:url(#SVGID_6302_);fill:#1A1A1A;} + .st3153{clip-path:url(#SVGID_6304_);fill:#1A1A1A;} + .st3154{clip-path:url(#SVGID_6306_);fill:#1A1A1A;} + .st3155{clip-path:url(#SVGID_6308_);} + .st3156{clip-path:url(#SVGID_6310_);fill:#B8B8B8;} + .st3157{clip-path:url(#SVGID_6312_);fill:#B8B8B8;} + .st3158{clip-path:url(#SVGID_6314_);fill:#B9B9B9;} + .st3159{clip-path:url(#SVGID_6316_);fill:#BABABA;} + .st3160{clip-path:url(#SVGID_6318_);fill:#BBBBBB;} + .st3161{clip-path:url(#SVGID_6320_);fill:#BCBCBC;} + .st3162{clip-path:url(#SVGID_6322_);fill:#BDBDBD;} + .st3163{clip-path:url(#SVGID_6324_);fill:#BEBEBE;} + .st3164{clip-path:url(#SVGID_6326_);fill:#BFBFBF;} + .st3165{clip-path:url(#SVGID_6328_);fill:#C0C0C0;} + .st3166{clip-path:url(#SVGID_6330_);fill:#C1C1C1;} + .st3167{clip-path:url(#SVGID_6332_);fill:#C2C2C2;} + .st3168{clip-path:url(#SVGID_6334_);fill:#C3C3C3;} + .st3169{clip-path:url(#SVGID_6336_);fill:#C4C4C4;} + .st3170{clip-path:url(#SVGID_6338_);fill:#C5C5C5;} + .st3171{clip-path:url(#SVGID_6340_);fill:#C6C6C6;} + .st3172{clip-path:url(#SVGID_6342_);fill:#C7C7C7;} + .st3173{clip-path:url(#SVGID_6344_);fill:#C8C8C8;} + .st3174{clip-path:url(#SVGID_6346_);fill:#C9C9C9;} + .st3175{clip-path:url(#SVGID_6348_);fill:#CACACA;} + .st3176{clip-path:url(#SVGID_6350_);fill:#CBCBCB;} + .st3177{clip-path:url(#SVGID_6352_);fill:#CCCCCC;} + .st3178{clip-path:url(#SVGID_6354_);fill:#CDCDCD;} + .st3179{clip-path:url(#SVGID_6356_);fill:#CECECE;} + .st3180{clip-path:url(#SVGID_6358_);fill:#CFCFCF;} + .st3181{clip-path:url(#SVGID_6360_);fill:#D0D0D0;} + .st3182{clip-path:url(#SVGID_6362_);fill:#D1D1D1;} + .st3183{clip-path:url(#SVGID_6364_);fill:#D2D2D2;} + .st3184{clip-path:url(#SVGID_6366_);fill:#D3D3D3;} + .st3185{clip-path:url(#SVGID_6368_);fill:#D5D5D5;} + .st3186{clip-path:url(#SVGID_6370_);fill:#D6D6D6;} + .st3187{clip-path:url(#SVGID_6372_);fill:#D7D7D7;} + .st3188{clip-path:url(#SVGID_6374_);fill:#D8D8D8;} + .st3189{clip-path:url(#SVGID_6376_);fill:#D9D9D9;} + .st3190{clip-path:url(#SVGID_6378_);fill:#DADADA;} + .st3191{clip-path:url(#SVGID_6380_);fill:#DBDBDB;} + .st3192{clip-path:url(#SVGID_6382_);fill:#DCDCDC;} + .st3193{clip-path:url(#SVGID_6384_);fill:#DDDDDD;} + .st3194{clip-path:url(#SVGID_6386_);fill:#DEDEDE;} + .st3195{clip-path:url(#SVGID_6388_);fill:#DFDFDF;} + .st3196{clip-path:url(#SVGID_6390_);fill:#E0E0E0;} + .st3197{clip-path:url(#SVGID_6392_);fill:#E1E1E1;} + .st3198{clip-path:url(#SVGID_6394_);fill:#E2E2E2;} + .st3199{clip-path:url(#SVGID_6396_);fill:#E3E3E3;} + .st3200{clip-path:url(#SVGID_6398_);fill:#E4E4E4;} + .st3201{clip-path:url(#SVGID_6400_);fill:#E5E5E5;} + .st3202{clip-path:url(#SVGID_6402_);fill:#E6E6E6;} + .st3203{clip-path:url(#SVGID_6404_);fill:#E7E7E7;} + .st3204{clip-path:url(#SVGID_6406_);fill:#E8E8E8;} + .st3205{clip-path:url(#SVGID_6408_);fill:#E9E9E9;} + .st3206{clip-path:url(#SVGID_6410_);fill:#EAEAEA;} + .st3207{clip-path:url(#SVGID_6412_);fill:#EBEBEB;} + .st3208{clip-path:url(#SVGID_6414_);fill:#ECECEC;} + .st3209{clip-path:url(#SVGID_6416_);fill:#EDEDED;} + .st3210{clip-path:url(#SVGID_6418_);fill:#EEEEEE;} + .st3211{clip-path:url(#SVGID_6420_);fill:#EFEFEF;} + .st3212{clip-path:url(#SVGID_6422_);fill:#F0F0F0;} + .st3213{clip-path:url(#SVGID_6424_);fill:#F0F0F0;} + .st3214{clip-path:url(#SVGID_6426_);fill:#F1F1F1;} + .st3215{clip-path:url(#SVGID_6428_);fill:#F2F2F2;} + .st3216{clip-path:url(#SVGID_6430_);fill:#F3F3F3;} + .st3217{clip-path:url(#SVGID_6432_);fill:#F4F4F4;} + .st3218{clip-path:url(#SVGID_6434_);fill:#F5F5F5;} + .st3219{clip-path:url(#SVGID_6436_);fill:#F7F7F7;} + .st3220{clip-path:url(#SVGID_6438_);fill:#F8F8F8;} + .st3221{clip-path:url(#SVGID_6440_);fill:#F9F9F9;} + .st3222{clip-path:url(#SVGID_6442_);fill:#FAFAFA;} + .st3223{clip-path:url(#SVGID_6444_);fill:#FBFBFB;} + .st3224{clip-path:url(#SVGID_6446_);fill:#FCFCFC;} + .st3225{clip-path:url(#SVGID_6448_);fill:#FDFDFD;} + .st3226{clip-path:url(#SVGID_6450_);} + .st3227{clip-path:url(#SVGID_6452_);fill:#B8B8B8;} + .st3228{clip-path:url(#SVGID_6454_);fill:#B8B8B8;} + .st3229{clip-path:url(#SVGID_6456_);fill:#B9B9B9;} + .st3230{clip-path:url(#SVGID_6458_);fill:#BABABA;} + .st3231{clip-path:url(#SVGID_6460_);fill:#BBBBBB;} + .st3232{clip-path:url(#SVGID_6462_);fill:#BCBCBC;} + .st3233{clip-path:url(#SVGID_6464_);fill:#BDBDBD;} + .st3234{clip-path:url(#SVGID_6466_);fill:#BEBEBE;} + .st3235{clip-path:url(#SVGID_6468_);fill:#BFBFBF;} + .st3236{clip-path:url(#SVGID_6470_);fill:#C0C0C0;} + .st3237{clip-path:url(#SVGID_6472_);fill:#C1C1C1;} + .st3238{clip-path:url(#SVGID_6474_);fill:#C2C2C2;} + .st3239{clip-path:url(#SVGID_6476_);fill:#C3C3C3;} + .st3240{clip-path:url(#SVGID_6478_);fill:#C4C4C4;} + .st3241{clip-path:url(#SVGID_6480_);fill:#C5C5C5;} + .st3242{clip-path:url(#SVGID_6482_);fill:#C6C6C6;} + .st3243{clip-path:url(#SVGID_6484_);fill:#C7C7C7;} + .st3244{clip-path:url(#SVGID_6486_);fill:#C8C8C8;} + .st3245{clip-path:url(#SVGID_6488_);fill:#C9C9C9;} + .st3246{clip-path:url(#SVGID_6490_);fill:#CACACA;} + .st3247{clip-path:url(#SVGID_6492_);fill:#CBCBCB;} + .st3248{clip-path:url(#SVGID_6494_);fill:#CCCCCC;} + .st3249{clip-path:url(#SVGID_6496_);fill:#CDCDCD;} + .st3250{clip-path:url(#SVGID_6498_);fill:#CECECE;} + .st3251{clip-path:url(#SVGID_6500_);fill:#CFCFCF;} + .st3252{clip-path:url(#SVGID_6502_);fill:#D0D0D0;} + .st3253{clip-path:url(#SVGID_6504_);fill:#D1D1D1;} + .st3254{clip-path:url(#SVGID_6506_);fill:#D2D2D2;} + .st3255{clip-path:url(#SVGID_6508_);fill:#D3D3D3;} + .st3256{clip-path:url(#SVGID_6510_);fill:#D5D5D5;} + .st3257{clip-path:url(#SVGID_6512_);fill:#D6D6D6;} + .st3258{clip-path:url(#SVGID_6514_);fill:#D7D7D7;} + .st3259{clip-path:url(#SVGID_6516_);fill:#D8D8D8;} + .st3260{clip-path:url(#SVGID_6518_);fill:#D9D9D9;} + .st3261{clip-path:url(#SVGID_6520_);fill:#DADADA;} + .st3262{clip-path:url(#SVGID_6522_);fill:#DBDBDB;} + .st3263{clip-path:url(#SVGID_6524_);fill:#DCDCDC;} + .st3264{clip-path:url(#SVGID_6526_);fill:#DDDDDD;} + .st3265{clip-path:url(#SVGID_6528_);fill:#DEDEDE;} + .st3266{clip-path:url(#SVGID_6530_);fill:#DFDFDF;} + .st3267{clip-path:url(#SVGID_6532_);fill:#E0E0E0;} + .st3268{clip-path:url(#SVGID_6534_);fill:#E1E1E1;} + .st3269{clip-path:url(#SVGID_6536_);fill:#E2E2E2;} + .st3270{clip-path:url(#SVGID_6538_);fill:#E3E3E3;} + .st3271{clip-path:url(#SVGID_6540_);fill:#E4E4E4;} + .st3272{clip-path:url(#SVGID_6542_);fill:#E5E5E5;} + .st3273{clip-path:url(#SVGID_6544_);fill:#E6E6E6;} + .st3274{clip-path:url(#SVGID_6546_);fill:#E7E7E7;} + .st3275{clip-path:url(#SVGID_6548_);fill:#E8E8E8;} + .st3276{clip-path:url(#SVGID_6550_);fill:#E9E9E9;} + .st3277{clip-path:url(#SVGID_6552_);fill:#EAEAEA;} + .st3278{clip-path:url(#SVGID_6554_);fill:#EBEBEB;} + .st3279{clip-path:url(#SVGID_6556_);fill:#ECECEC;} + .st3280{clip-path:url(#SVGID_6558_);fill:#EDEDED;} + .st3281{clip-path:url(#SVGID_6560_);fill:#EEEEEE;} + .st3282{clip-path:url(#SVGID_6562_);fill:#EFEFEF;} + .st3283{clip-path:url(#SVGID_6564_);fill:#F0F0F0;} + .st3284{clip-path:url(#SVGID_6566_);fill:#F0F0F0;} + .st3285{clip-path:url(#SVGID_6568_);fill:#F1F1F1;} + .st3286{clip-path:url(#SVGID_6570_);fill:#F2F2F2;} + .st3287{clip-path:url(#SVGID_6572_);fill:#F3F3F3;} + .st3288{clip-path:url(#SVGID_6574_);fill:#F4F4F4;} + .st3289{clip-path:url(#SVGID_6576_);fill:#F5F5F5;} + .st3290{clip-path:url(#SVGID_6578_);fill:#F7F7F7;} + .st3291{clip-path:url(#SVGID_6580_);fill:#F8F8F8;} + .st3292{clip-path:url(#SVGID_6582_);fill:#F9F9F9;} + .st3293{clip-path:url(#SVGID_6584_);fill:#FAFAFA;} + .st3294{clip-path:url(#SVGID_6586_);fill:#FBFBFB;} + .st3295{clip-path:url(#SVGID_6588_);fill:#FCFCFC;} + .st3296{clip-path:url(#SVGID_6590_);fill:#FDFDFD;} + .st3297{clip-path:url(#SVGID_6592_);} + .st3298{clip-path:url(#SVGID_6594_);fill:#B8B8B8;} + .st3299{clip-path:url(#SVGID_6596_);fill:#B8B8B8;} + .st3300{clip-path:url(#SVGID_6598_);fill:#B9B9B9;} + .st3301{clip-path:url(#SVGID_6600_);fill:#BABABA;} + .st3302{clip-path:url(#SVGID_6602_);fill:#BBBBBB;} + .st3303{clip-path:url(#SVGID_6604_);fill:#BCBCBC;} + .st3304{clip-path:url(#SVGID_6606_);fill:#BDBDBD;} + .st3305{clip-path:url(#SVGID_6608_);fill:#BEBEBE;} + .st3306{clip-path:url(#SVGID_6610_);fill:#BFBFBF;} + .st3307{clip-path:url(#SVGID_6612_);fill:#C0C0C0;} + .st3308{clip-path:url(#SVGID_6614_);fill:#C1C1C1;} + .st3309{clip-path:url(#SVGID_6616_);fill:#C2C2C2;} + .st3310{clip-path:url(#SVGID_6618_);fill:#C3C3C3;} + .st3311{clip-path:url(#SVGID_6620_);fill:#C4C4C4;} + .st3312{clip-path:url(#SVGID_6622_);fill:#C5C5C5;} + .st3313{clip-path:url(#SVGID_6624_);fill:#C6C6C6;} + .st3314{clip-path:url(#SVGID_6626_);fill:#C7C7C7;} + .st3315{clip-path:url(#SVGID_6628_);fill:#C8C8C8;} + .st3316{clip-path:url(#SVGID_6630_);fill:#C9C9C9;} + .st3317{clip-path:url(#SVGID_6632_);fill:#CACACA;} + .st3318{clip-path:url(#SVGID_6634_);fill:#CBCBCB;} + .st3319{clip-path:url(#SVGID_6636_);fill:#CCCCCC;} + .st3320{clip-path:url(#SVGID_6638_);fill:#CDCDCD;} + .st3321{clip-path:url(#SVGID_6640_);fill:#CECECE;} + .st3322{clip-path:url(#SVGID_6642_);fill:#CFCFCF;} + .st3323{clip-path:url(#SVGID_6644_);fill:#D0D0D0;} + .st3324{clip-path:url(#SVGID_6646_);fill:#D1D1D1;} + .st3325{clip-path:url(#SVGID_6648_);fill:#D2D2D2;} + .st3326{clip-path:url(#SVGID_6650_);fill:#D3D3D3;} + .st3327{clip-path:url(#SVGID_6652_);fill:#D5D5D5;} + .st3328{clip-path:url(#SVGID_6654_);fill:#D6D6D6;} + .st3329{clip-path:url(#SVGID_6656_);fill:#D7D7D7;} + .st3330{clip-path:url(#SVGID_6658_);fill:#D8D8D8;} + .st3331{clip-path:url(#SVGID_6660_);fill:#D9D9D9;} + .st3332{clip-path:url(#SVGID_6662_);fill:#DADADA;} + .st3333{clip-path:url(#SVGID_6664_);fill:#DBDBDB;} + .st3334{clip-path:url(#SVGID_6666_);fill:#DCDCDC;} + .st3335{clip-path:url(#SVGID_6668_);fill:#DDDDDD;} + .st3336{clip-path:url(#SVGID_6670_);fill:#DEDEDE;} + .st3337{clip-path:url(#SVGID_6672_);fill:#DFDFDF;} + .st3338{clip-path:url(#SVGID_6674_);fill:#E0E0E0;} + .st3339{clip-path:url(#SVGID_6676_);fill:#E1E1E1;} + .st3340{clip-path:url(#SVGID_6678_);fill:#E2E2E2;} + .st3341{clip-path:url(#SVGID_6680_);fill:#E3E3E3;} + .st3342{clip-path:url(#SVGID_6682_);fill:#E4E4E4;} + .st3343{clip-path:url(#SVGID_6684_);fill:#E5E5E5;} + .st3344{clip-path:url(#SVGID_6686_);fill:#E6E6E6;} + .st3345{clip-path:url(#SVGID_6688_);fill:#E7E7E7;} + .st3346{clip-path:url(#SVGID_6690_);fill:#E8E8E8;} + .st3347{clip-path:url(#SVGID_6692_);fill:#E9E9E9;} + .st3348{clip-path:url(#SVGID_6694_);fill:#EAEAEA;} + .st3349{clip-path:url(#SVGID_6696_);fill:#EBEBEB;} + .st3350{clip-path:url(#SVGID_6698_);fill:#ECECEC;} + .st3351{clip-path:url(#SVGID_6700_);fill:#EDEDED;} + .st3352{clip-path:url(#SVGID_6702_);fill:#EEEEEE;} + .st3353{clip-path:url(#SVGID_6704_);fill:#EFEFEF;} + .st3354{clip-path:url(#SVGID_6706_);fill:#F0F0F0;} + .st3355{clip-path:url(#SVGID_6708_);fill:#F0F0F0;} + .st3356{clip-path:url(#SVGID_6710_);fill:#F1F1F1;} + .st3357{clip-path:url(#SVGID_6712_);fill:#F2F2F2;} + .st3358{clip-path:url(#SVGID_6714_);fill:#F3F3F3;} + .st3359{clip-path:url(#SVGID_6716_);fill:#F4F4F4;} + .st3360{clip-path:url(#SVGID_6718_);fill:#F5F5F5;} + .st3361{clip-path:url(#SVGID_6720_);fill:#F7F7F7;} + .st3362{clip-path:url(#SVGID_6722_);fill:#F8F8F8;} + .st3363{clip-path:url(#SVGID_6724_);fill:#F9F9F9;} + .st3364{clip-path:url(#SVGID_6726_);fill:#FAFAFA;} + .st3365{clip-path:url(#SVGID_6728_);fill:#FBFBFB;} + .st3366{clip-path:url(#SVGID_6730_);fill:#FCFCFC;} + .st3367{clip-path:url(#SVGID_6732_);fill:#FDFDFD;} + .st3368{clip-path:url(#SVGID_6734_);} + .st3369{clip-path:url(#SVGID_6736_);fill:#B8B8B8;} + .st3370{clip-path:url(#SVGID_6738_);fill:#B8B8B8;} + .st3371{clip-path:url(#SVGID_6740_);fill:#B9B9B9;} + .st3372{clip-path:url(#SVGID_6742_);fill:#BABABA;} + .st3373{clip-path:url(#SVGID_6744_);fill:#BBBBBB;} + .st3374{clip-path:url(#SVGID_6746_);fill:#BCBCBC;} + .st3375{clip-path:url(#SVGID_6748_);fill:#BDBDBD;} + .st3376{clip-path:url(#SVGID_6750_);fill:#BEBEBE;} + .st3377{clip-path:url(#SVGID_6752_);fill:#BFBFBF;} + .st3378{clip-path:url(#SVGID_6754_);fill:#C0C0C0;} + .st3379{clip-path:url(#SVGID_6756_);fill:#C1C1C1;} + .st3380{clip-path:url(#SVGID_6758_);fill:#C2C2C2;} + .st3381{clip-path:url(#SVGID_6760_);fill:#C3C3C3;} + .st3382{clip-path:url(#SVGID_6762_);fill:#C4C4C4;} + .st3383{clip-path:url(#SVGID_6764_);fill:#C5C5C5;} + .st3384{clip-path:url(#SVGID_6766_);fill:#C6C6C6;} + .st3385{clip-path:url(#SVGID_6768_);fill:#C7C7C7;} + .st3386{clip-path:url(#SVGID_6770_);fill:#C8C8C8;} + .st3387{clip-path:url(#SVGID_6772_);fill:#C9C9C9;} + .st3388{clip-path:url(#SVGID_6774_);fill:#CACACA;} + .st3389{clip-path:url(#SVGID_6776_);fill:#CBCBCB;} + .st3390{clip-path:url(#SVGID_6778_);fill:#CCCCCC;} + .st3391{clip-path:url(#SVGID_6780_);fill:#CDCDCD;} + .st3392{clip-path:url(#SVGID_6782_);fill:#CECECE;} + .st3393{clip-path:url(#SVGID_6784_);fill:#CFCFCF;} + .st3394{clip-path:url(#SVGID_6786_);fill:#D0D0D0;} + .st3395{clip-path:url(#SVGID_6788_);fill:#D1D1D1;} + .st3396{clip-path:url(#SVGID_6790_);fill:#D2D2D2;} + .st3397{clip-path:url(#SVGID_6792_);fill:#D3D3D3;} + .st3398{clip-path:url(#SVGID_6794_);fill:#D5D5D5;} + .st3399{clip-path:url(#SVGID_6796_);fill:#D6D6D6;} + .st3400{clip-path:url(#SVGID_6798_);fill:#D7D7D7;} + .st3401{clip-path:url(#SVGID_6800_);fill:#D8D8D8;} + .st3402{clip-path:url(#SVGID_6802_);fill:#D9D9D9;} + .st3403{clip-path:url(#SVGID_6804_);fill:#DADADA;} + .st3404{clip-path:url(#SVGID_6806_);fill:#DBDBDB;} + .st3405{clip-path:url(#SVGID_6808_);fill:#DCDCDC;} + .st3406{clip-path:url(#SVGID_6810_);fill:#DDDDDD;} + .st3407{clip-path:url(#SVGID_6812_);fill:#DEDEDE;} + .st3408{clip-path:url(#SVGID_6814_);fill:#DFDFDF;} + .st3409{clip-path:url(#SVGID_6816_);fill:#E0E0E0;} + .st3410{clip-path:url(#SVGID_6818_);fill:#E1E1E1;} + .st3411{clip-path:url(#SVGID_6820_);fill:#E2E2E2;} + .st3412{clip-path:url(#SVGID_6822_);fill:#E3E3E3;} + .st3413{clip-path:url(#SVGID_6824_);fill:#E4E4E4;} + .st3414{clip-path:url(#SVGID_6826_);fill:#E5E5E5;} + .st3415{clip-path:url(#SVGID_6828_);fill:#E6E6E6;} + .st3416{clip-path:url(#SVGID_6830_);fill:#E7E7E7;} + .st3417{clip-path:url(#SVGID_6832_);fill:#E8E8E8;} + .st3418{clip-path:url(#SVGID_6834_);fill:#E9E9E9;} + .st3419{clip-path:url(#SVGID_6836_);fill:#EAEAEA;} + .st3420{clip-path:url(#SVGID_6838_);fill:#EBEBEB;} + .st3421{clip-path:url(#SVGID_6840_);fill:#ECECEC;} + .st3422{clip-path:url(#SVGID_6842_);fill:#EDEDED;} + .st3423{clip-path:url(#SVGID_6844_);fill:#EEEEEE;} + .st3424{clip-path:url(#SVGID_6846_);fill:#EFEFEF;} + .st3425{clip-path:url(#SVGID_6848_);fill:#F0F0F0;} + .st3426{clip-path:url(#SVGID_6850_);fill:#F0F0F0;} + .st3427{clip-path:url(#SVGID_6852_);fill:#F1F1F1;} + .st3428{clip-path:url(#SVGID_6854_);fill:#F2F2F2;} + .st3429{clip-path:url(#SVGID_6856_);fill:#F3F3F3;} + .st3430{clip-path:url(#SVGID_6858_);fill:#F4F4F4;} + .st3431{clip-path:url(#SVGID_6860_);fill:#F5F5F5;} + .st3432{clip-path:url(#SVGID_6862_);fill:#F7F7F7;} + .st3433{clip-path:url(#SVGID_6864_);fill:#F8F8F8;} + .st3434{clip-path:url(#SVGID_6866_);fill:#F9F9F9;} + .st3435{clip-path:url(#SVGID_6868_);fill:#FAFAFA;} + .st3436{clip-path:url(#SVGID_6870_);fill:#FBFBFB;} + .st3437{clip-path:url(#SVGID_6872_);fill:#FCFCFC;} + .st3438{clip-path:url(#SVGID_6874_);fill:#FDFDFD;} + .st3439{clip-path:url(#SVGID_6876_);} + .st3440{clip-path:url(#SVGID_6878_);fill:#B8B8B8;} + .st3441{clip-path:url(#SVGID_6880_);fill:#B8B8B8;} + .st3442{clip-path:url(#SVGID_6882_);fill:#B9B9B9;} + .st3443{clip-path:url(#SVGID_6884_);fill:#BABABA;} + .st3444{clip-path:url(#SVGID_6886_);fill:#BBBBBB;} + .st3445{clip-path:url(#SVGID_6888_);fill:#BCBCBC;} + .st3446{clip-path:url(#SVGID_6890_);fill:#BDBDBD;} + .st3447{clip-path:url(#SVGID_6892_);fill:#BEBEBE;} + .st3448{clip-path:url(#SVGID_6894_);fill:#BFBFBF;} + .st3449{clip-path:url(#SVGID_6896_);fill:#C0C0C0;} + .st3450{clip-path:url(#SVGID_6898_);fill:#C1C1C1;} + .st3451{clip-path:url(#SVGID_6900_);fill:#C2C2C2;} + .st3452{clip-path:url(#SVGID_6902_);fill:#C3C3C3;} + .st3453{clip-path:url(#SVGID_6904_);fill:#C4C4C4;} + .st3454{clip-path:url(#SVGID_6906_);fill:#C5C5C5;} + .st3455{clip-path:url(#SVGID_6908_);fill:#C6C6C6;} + .st3456{clip-path:url(#SVGID_6910_);fill:#C7C7C7;} + .st3457{clip-path:url(#SVGID_6912_);fill:#C8C8C8;} + .st3458{clip-path:url(#SVGID_6914_);fill:#C9C9C9;} + .st3459{clip-path:url(#SVGID_6916_);fill:#CACACA;} + .st3460{clip-path:url(#SVGID_6918_);fill:#CBCBCB;} + .st3461{clip-path:url(#SVGID_6920_);fill:#CCCCCC;} + .st3462{clip-path:url(#SVGID_6922_);fill:#CDCDCD;} + .st3463{clip-path:url(#SVGID_6924_);fill:#CECECE;} + .st3464{clip-path:url(#SVGID_6926_);fill:#CFCFCF;} + .st3465{clip-path:url(#SVGID_6928_);fill:#D0D0D0;} + .st3466{clip-path:url(#SVGID_6930_);fill:#D1D1D1;} + .st3467{clip-path:url(#SVGID_6932_);fill:#D2D2D2;} + .st3468{clip-path:url(#SVGID_6934_);fill:#D3D3D3;} + .st3469{clip-path:url(#SVGID_6936_);fill:#D5D5D5;} + .st3470{clip-path:url(#SVGID_6938_);fill:#D6D6D6;} + .st3471{clip-path:url(#SVGID_6940_);fill:#D7D7D7;} + .st3472{clip-path:url(#SVGID_6942_);fill:#D8D8D8;} + .st3473{clip-path:url(#SVGID_6944_);fill:#D9D9D9;} + .st3474{clip-path:url(#SVGID_6946_);fill:#DADADA;} + .st3475{clip-path:url(#SVGID_6948_);fill:#DBDBDB;} + .st3476{clip-path:url(#SVGID_6950_);fill:#DCDCDC;} + .st3477{clip-path:url(#SVGID_6952_);fill:#DDDDDD;} + .st3478{clip-path:url(#SVGID_6954_);fill:#DEDEDE;} + .st3479{clip-path:url(#SVGID_6956_);fill:#DFDFDF;} + .st3480{clip-path:url(#SVGID_6958_);fill:#E0E0E0;} + .st3481{clip-path:url(#SVGID_6960_);fill:#E1E1E1;} + .st3482{clip-path:url(#SVGID_6962_);fill:#E2E2E2;} + .st3483{clip-path:url(#SVGID_6964_);fill:#E3E3E3;} + .st3484{clip-path:url(#SVGID_6966_);fill:#E4E4E4;} + .st3485{clip-path:url(#SVGID_6968_);fill:#E5E5E5;} + .st3486{clip-path:url(#SVGID_6970_);fill:#E6E6E6;} + .st3487{clip-path:url(#SVGID_6972_);fill:#E7E7E7;} + .st3488{clip-path:url(#SVGID_6974_);fill:#E8E8E8;} + .st3489{clip-path:url(#SVGID_6976_);fill:#E9E9E9;} + .st3490{clip-path:url(#SVGID_6978_);fill:#EAEAEA;} + .st3491{clip-path:url(#SVGID_6980_);fill:#EBEBEB;} + .st3492{clip-path:url(#SVGID_6982_);fill:#ECECEC;} + .st3493{clip-path:url(#SVGID_6984_);fill:#EDEDED;} + .st3494{clip-path:url(#SVGID_6986_);fill:#EEEEEE;} + .st3495{clip-path:url(#SVGID_6988_);fill:#EFEFEF;} + .st3496{clip-path:url(#SVGID_6990_);fill:#F0F0F0;} + .st3497{clip-path:url(#SVGID_6992_);fill:#F0F0F0;} + .st3498{clip-path:url(#SVGID_6994_);fill:#F1F1F1;} + .st3499{clip-path:url(#SVGID_6996_);fill:#F2F2F2;} + .st3500{clip-path:url(#SVGID_6998_);fill:#F3F3F3;} + .st3501{clip-path:url(#SVGID_7000_);fill:#F4F4F4;} + .st3502{clip-path:url(#SVGID_7002_);fill:#F5F5F5;} + .st3503{clip-path:url(#SVGID_7004_);fill:#F7F7F7;} + .st3504{clip-path:url(#SVGID_7006_);fill:#F8F8F8;} + .st3505{clip-path:url(#SVGID_7008_);fill:#F9F9F9;} + .st3506{clip-path:url(#SVGID_7010_);fill:#FAFAFA;} + .st3507{clip-path:url(#SVGID_7012_);fill:#FBFBFB;} + .st3508{clip-path:url(#SVGID_7014_);fill:#FCFCFC;} + .st3509{clip-path:url(#SVGID_7016_);fill:#FDFDFD;} + .st3510{clip-path:url(#SVGID_7018_);} + .st3511{clip-path:url(#SVGID_7020_);fill:#B8B8B8;} + .st3512{clip-path:url(#SVGID_7022_);fill:#B8B8B8;} + .st3513{clip-path:url(#SVGID_7024_);fill:#B9B9B9;} + .st3514{clip-path:url(#SVGID_7026_);fill:#BABABA;} + .st3515{clip-path:url(#SVGID_7028_);fill:#BBBBBB;} + .st3516{clip-path:url(#SVGID_7030_);fill:#BCBCBC;} + .st3517{clip-path:url(#SVGID_7032_);fill:#BDBDBD;} + .st3518{clip-path:url(#SVGID_7034_);fill:#BEBEBE;} + .st3519{clip-path:url(#SVGID_7036_);fill:#BFBFBF;} + .st3520{clip-path:url(#SVGID_7038_);fill:#C0C0C0;} + .st3521{clip-path:url(#SVGID_7040_);fill:#C1C1C1;} + .st3522{clip-path:url(#SVGID_7042_);fill:#C2C2C2;} + .st3523{clip-path:url(#SVGID_7044_);fill:#C3C3C3;} + .st3524{clip-path:url(#SVGID_7046_);fill:#C4C4C4;} + .st3525{clip-path:url(#SVGID_7048_);fill:#C5C5C5;} + .st3526{clip-path:url(#SVGID_7050_);fill:#C6C6C6;} + .st3527{clip-path:url(#SVGID_7052_);fill:#C7C7C7;} + .st3528{clip-path:url(#SVGID_7054_);fill:#C8C8C8;} + .st3529{clip-path:url(#SVGID_7056_);fill:#C9C9C9;} + .st3530{clip-path:url(#SVGID_7058_);fill:#CACACA;} + .st3531{clip-path:url(#SVGID_7060_);fill:#CBCBCB;} + .st3532{clip-path:url(#SVGID_7062_);fill:#CCCCCC;} + .st3533{clip-path:url(#SVGID_7064_);fill:#CDCDCD;} + .st3534{clip-path:url(#SVGID_7066_);fill:#CECECE;} + .st3535{clip-path:url(#SVGID_7068_);fill:#CFCFCF;} + .st3536{clip-path:url(#SVGID_7070_);fill:#D0D0D0;} + .st3537{clip-path:url(#SVGID_7072_);fill:#D1D1D1;} + .st3538{clip-path:url(#SVGID_7074_);fill:#D2D2D2;} + .st3539{clip-path:url(#SVGID_7076_);fill:#D3D3D3;} + .st3540{clip-path:url(#SVGID_7078_);fill:#D5D5D5;} + .st3541{clip-path:url(#SVGID_7080_);fill:#D6D6D6;} + .st3542{clip-path:url(#SVGID_7082_);fill:#D7D7D7;} + .st3543{clip-path:url(#SVGID_7084_);fill:#D8D8D8;} + .st3544{clip-path:url(#SVGID_7086_);fill:#D9D9D9;} + .st3545{clip-path:url(#SVGID_7088_);fill:#DADADA;} + .st3546{clip-path:url(#SVGID_7090_);fill:#DBDBDB;} + .st3547{clip-path:url(#SVGID_7092_);fill:#DCDCDC;} + .st3548{clip-path:url(#SVGID_7094_);fill:#DDDDDD;} + .st3549{clip-path:url(#SVGID_7096_);fill:#DEDEDE;} + .st3550{clip-path:url(#SVGID_7098_);fill:#DFDFDF;} + .st3551{clip-path:url(#SVGID_7100_);fill:#E0E0E0;} + .st3552{clip-path:url(#SVGID_7102_);fill:#E1E1E1;} + .st3553{clip-path:url(#SVGID_7104_);fill:#E2E2E2;} + .st3554{clip-path:url(#SVGID_7106_);fill:#E3E3E3;} + .st3555{clip-path:url(#SVGID_7108_);fill:#E4E4E4;} + .st3556{clip-path:url(#SVGID_7110_);fill:#E5E5E5;} + .st3557{clip-path:url(#SVGID_7112_);fill:#E6E6E6;} + .st3558{clip-path:url(#SVGID_7114_);fill:#E7E7E7;} + .st3559{clip-path:url(#SVGID_7116_);fill:#E8E8E8;} + .st3560{clip-path:url(#SVGID_7118_);fill:#E9E9E9;} + .st3561{clip-path:url(#SVGID_7120_);fill:#EAEAEA;} + .st3562{clip-path:url(#SVGID_7122_);fill:#EBEBEB;} + .st3563{clip-path:url(#SVGID_7124_);fill:#ECECEC;} + .st3564{clip-path:url(#SVGID_7126_);fill:#EDEDED;} + .st3565{clip-path:url(#SVGID_7128_);fill:#EEEEEE;} + .st3566{clip-path:url(#SVGID_7130_);fill:#EFEFEF;} + .st3567{clip-path:url(#SVGID_7132_);fill:#F0F0F0;} + .st3568{clip-path:url(#SVGID_7134_);fill:#F0F0F0;} + .st3569{clip-path:url(#SVGID_7136_);fill:#F1F1F1;} + .st3570{clip-path:url(#SVGID_7138_);fill:#F2F2F2;} + .st3571{clip-path:url(#SVGID_7140_);fill:#F3F3F3;} + .st3572{clip-path:url(#SVGID_7142_);fill:#F4F4F4;} + .st3573{clip-path:url(#SVGID_7144_);fill:#F5F5F5;} + .st3574{clip-path:url(#SVGID_7146_);fill:#F7F7F7;} + .st3575{clip-path:url(#SVGID_7148_);fill:#F8F8F8;} + .st3576{clip-path:url(#SVGID_7150_);fill:#F9F9F9;} + .st3577{clip-path:url(#SVGID_7152_);fill:#FAFAFA;} + .st3578{clip-path:url(#SVGID_7154_);fill:#FBFBFB;} + .st3579{clip-path:url(#SVGID_7156_);fill:#FCFCFC;} + .st3580{clip-path:url(#SVGID_7158_);fill:#FDFDFD;} + .st3581{clip-path:url(#SVGID_7160_);} + .st3582{clip-path:url(#SVGID_7162_);fill:#B8B8B8;} + .st3583{clip-path:url(#SVGID_7164_);fill:#B8B8B8;} + .st3584{clip-path:url(#SVGID_7166_);fill:#B9B9B9;} + .st3585{clip-path:url(#SVGID_7168_);fill:#BABABA;} + .st3586{clip-path:url(#SVGID_7170_);fill:#BBBBBB;} + .st3587{clip-path:url(#SVGID_7172_);fill:#BCBCBC;} + .st3588{clip-path:url(#SVGID_7174_);fill:#BDBDBD;} + .st3589{clip-path:url(#SVGID_7176_);fill:#BEBEBE;} + .st3590{clip-path:url(#SVGID_7178_);fill:#BFBFBF;} + .st3591{clip-path:url(#SVGID_7180_);fill:#C0C0C0;} + .st3592{clip-path:url(#SVGID_7182_);fill:#C1C1C1;} + .st3593{clip-path:url(#SVGID_7184_);fill:#C2C2C2;} + .st3594{clip-path:url(#SVGID_7186_);fill:#C3C3C3;} + .st3595{clip-path:url(#SVGID_7188_);fill:#C4C4C4;} + .st3596{clip-path:url(#SVGID_7190_);fill:#C5C5C5;} + .st3597{clip-path:url(#SVGID_7192_);fill:#C6C6C6;} + .st3598{clip-path:url(#SVGID_7194_);fill:#C7C7C7;} + .st3599{clip-path:url(#SVGID_7196_);fill:#C8C8C8;} + .st3600{clip-path:url(#SVGID_7198_);fill:#C9C9C9;} + .st3601{clip-path:url(#SVGID_7200_);fill:#CACACA;} + .st3602{clip-path:url(#SVGID_7202_);fill:#CBCBCB;} + .st3603{clip-path:url(#SVGID_7204_);fill:#CCCCCC;} + .st3604{clip-path:url(#SVGID_7206_);fill:#CDCDCD;} + .st3605{clip-path:url(#SVGID_7208_);fill:#CECECE;} + .st3606{clip-path:url(#SVGID_7210_);fill:#CFCFCF;} + .st3607{clip-path:url(#SVGID_7212_);fill:#D0D0D0;} + .st3608{clip-path:url(#SVGID_7214_);fill:#D1D1D1;} + .st3609{clip-path:url(#SVGID_7216_);fill:#D2D2D2;} + .st3610{clip-path:url(#SVGID_7218_);fill:#D3D3D3;} + .st3611{clip-path:url(#SVGID_7220_);fill:#D5D5D5;} + .st3612{clip-path:url(#SVGID_7222_);fill:#D6D6D6;} + .st3613{clip-path:url(#SVGID_7224_);fill:#D7D7D7;} + .st3614{clip-path:url(#SVGID_7226_);fill:#D8D8D8;} + .st3615{clip-path:url(#SVGID_7228_);fill:#D9D9D9;} + .st3616{clip-path:url(#SVGID_7230_);fill:#DADADA;} + .st3617{clip-path:url(#SVGID_7232_);fill:#DBDBDB;} + .st3618{clip-path:url(#SVGID_7234_);fill:#DCDCDC;} + .st3619{clip-path:url(#SVGID_7236_);fill:#DDDDDD;} + .st3620{clip-path:url(#SVGID_7238_);fill:#DEDEDE;} + .st3621{clip-path:url(#SVGID_7240_);fill:#DFDFDF;} + .st3622{clip-path:url(#SVGID_7242_);fill:#E0E0E0;} + .st3623{clip-path:url(#SVGID_7244_);fill:#E1E1E1;} + .st3624{clip-path:url(#SVGID_7246_);fill:#E2E2E2;} + .st3625{clip-path:url(#SVGID_7248_);fill:#E3E3E3;} + .st3626{clip-path:url(#SVGID_7250_);fill:#E4E4E4;} + .st3627{clip-path:url(#SVGID_7252_);fill:#E5E5E5;} + .st3628{clip-path:url(#SVGID_7254_);fill:#E6E6E6;} + .st3629{clip-path:url(#SVGID_7256_);fill:#E7E7E7;} + .st3630{clip-path:url(#SVGID_7258_);fill:#E8E8E8;} + .st3631{clip-path:url(#SVGID_7260_);fill:#E9E9E9;} + .st3632{clip-path:url(#SVGID_7262_);fill:#EAEAEA;} + .st3633{clip-path:url(#SVGID_7264_);fill:#EBEBEB;} + .st3634{clip-path:url(#SVGID_7266_);fill:#ECECEC;} + .st3635{clip-path:url(#SVGID_7268_);fill:#EDEDED;} + .st3636{clip-path:url(#SVGID_7270_);fill:#EEEEEE;} + .st3637{clip-path:url(#SVGID_7272_);fill:#EFEFEF;} + .st3638{clip-path:url(#SVGID_7274_);fill:#F0F0F0;} + .st3639{clip-path:url(#SVGID_7276_);fill:#F0F0F0;} + .st3640{clip-path:url(#SVGID_7278_);fill:#F1F1F1;} + .st3641{clip-path:url(#SVGID_7280_);fill:#F2F2F2;} + .st3642{clip-path:url(#SVGID_7282_);fill:#F3F3F3;} + .st3643{clip-path:url(#SVGID_7284_);fill:#F4F4F4;} + .st3644{clip-path:url(#SVGID_7286_);fill:#F5F5F5;} + .st3645{clip-path:url(#SVGID_7288_);fill:#F7F7F7;} + .st3646{clip-path:url(#SVGID_7290_);fill:#F8F8F8;} + .st3647{clip-path:url(#SVGID_7292_);fill:#F9F9F9;} + .st3648{clip-path:url(#SVGID_7294_);fill:#FAFAFA;} + .st3649{clip-path:url(#SVGID_7296_);fill:#FBFBFB;} + .st3650{clip-path:url(#SVGID_7298_);fill:#FCFCFC;} + .st3651{clip-path:url(#SVGID_7300_);fill:#FDFDFD;} + .st3652{clip-path:url(#SVGID_7302_);} + .st3653{clip-path:url(#SVGID_7304_);fill:#B8B8B8;} + .st3654{clip-path:url(#SVGID_7306_);fill:#B8B8B8;} + .st3655{clip-path:url(#SVGID_7308_);fill:#B9B9B9;} + .st3656{clip-path:url(#SVGID_7310_);fill:#BABABA;} + .st3657{clip-path:url(#SVGID_7312_);fill:#BBBBBB;} + .st3658{clip-path:url(#SVGID_7314_);fill:#BCBCBC;} + .st3659{clip-path:url(#SVGID_7316_);fill:#BDBDBD;} + .st3660{clip-path:url(#SVGID_7318_);fill:#BEBEBE;} + .st3661{clip-path:url(#SVGID_7320_);fill:#BFBFBF;} + .st3662{clip-path:url(#SVGID_7322_);fill:#C0C0C0;} + .st3663{clip-path:url(#SVGID_7324_);fill:#C1C1C1;} + .st3664{clip-path:url(#SVGID_7326_);fill:#C2C2C2;} + .st3665{clip-path:url(#SVGID_7328_);fill:#C3C3C3;} + .st3666{clip-path:url(#SVGID_7330_);fill:#C4C4C4;} + .st3667{clip-path:url(#SVGID_7332_);fill:#C5C5C5;} + .st3668{clip-path:url(#SVGID_7334_);fill:#C6C6C6;} + .st3669{clip-path:url(#SVGID_7336_);fill:#C7C7C7;} + .st3670{clip-path:url(#SVGID_7338_);fill:#C8C8C8;} + .st3671{clip-path:url(#SVGID_7340_);fill:#C9C9C9;} + .st3672{clip-path:url(#SVGID_7342_);fill:#CACACA;} + .st3673{clip-path:url(#SVGID_7344_);fill:#CBCBCB;} + .st3674{clip-path:url(#SVGID_7346_);fill:#CCCCCC;} + .st3675{clip-path:url(#SVGID_7348_);fill:#CDCDCD;} + .st3676{clip-path:url(#SVGID_7350_);fill:#CECECE;} + .st3677{clip-path:url(#SVGID_7352_);fill:#CFCFCF;} + .st3678{clip-path:url(#SVGID_7354_);fill:#D0D0D0;} + .st3679{clip-path:url(#SVGID_7356_);fill:#D1D1D1;} + .st3680{clip-path:url(#SVGID_7358_);fill:#D2D2D2;} + .st3681{clip-path:url(#SVGID_7360_);fill:#D3D3D3;} + .st3682{clip-path:url(#SVGID_7362_);fill:#D5D5D5;} + .st3683{clip-path:url(#SVGID_7364_);fill:#D6D6D6;} + .st3684{clip-path:url(#SVGID_7366_);fill:#D7D7D7;} + .st3685{clip-path:url(#SVGID_7368_);fill:#D8D8D8;} + .st3686{clip-path:url(#SVGID_7370_);fill:#D9D9D9;} + .st3687{clip-path:url(#SVGID_7372_);fill:#DADADA;} + .st3688{clip-path:url(#SVGID_7374_);fill:#DBDBDB;} + .st3689{clip-path:url(#SVGID_7376_);fill:#DCDCDC;} + .st3690{clip-path:url(#SVGID_7378_);fill:#DDDDDD;} + .st3691{clip-path:url(#SVGID_7380_);fill:#DEDEDE;} + .st3692{clip-path:url(#SVGID_7382_);fill:#DFDFDF;} + .st3693{clip-path:url(#SVGID_7384_);fill:#E0E0E0;} + .st3694{clip-path:url(#SVGID_7386_);fill:#E1E1E1;} + .st3695{clip-path:url(#SVGID_7388_);fill:#E2E2E2;} + .st3696{clip-path:url(#SVGID_7390_);fill:#E3E3E3;} + .st3697{clip-path:url(#SVGID_7392_);fill:#E4E4E4;} + .st3698{clip-path:url(#SVGID_7394_);fill:#E5E5E5;} + .st3699{clip-path:url(#SVGID_7396_);fill:#E6E6E6;} + .st3700{clip-path:url(#SVGID_7398_);fill:#E7E7E7;} + .st3701{clip-path:url(#SVGID_7400_);fill:#E8E8E8;} + .st3702{clip-path:url(#SVGID_7402_);fill:#E9E9E9;} + .st3703{clip-path:url(#SVGID_7404_);fill:#EAEAEA;} + .st3704{clip-path:url(#SVGID_7406_);fill:#EBEBEB;} + .st3705{clip-path:url(#SVGID_7408_);fill:#ECECEC;} + .st3706{clip-path:url(#SVGID_7410_);fill:#EDEDED;} + .st3707{clip-path:url(#SVGID_7412_);fill:#EEEEEE;} + .st3708{clip-path:url(#SVGID_7414_);fill:#EFEFEF;} + .st3709{clip-path:url(#SVGID_7416_);fill:#F0F0F0;} + .st3710{clip-path:url(#SVGID_7418_);fill:#F0F0F0;} + .st3711{clip-path:url(#SVGID_7420_);fill:#F1F1F1;} + .st3712{clip-path:url(#SVGID_7422_);fill:#F2F2F2;} + .st3713{clip-path:url(#SVGID_7424_);fill:#F3F3F3;} + .st3714{clip-path:url(#SVGID_7426_);fill:#F4F4F4;} + .st3715{clip-path:url(#SVGID_7428_);fill:#F5F5F5;} + .st3716{clip-path:url(#SVGID_7430_);fill:#F7F7F7;} + .st3717{clip-path:url(#SVGID_7432_);fill:#F8F8F8;} + .st3718{clip-path:url(#SVGID_7434_);fill:#F9F9F9;} + .st3719{clip-path:url(#SVGID_7436_);fill:#FAFAFA;} + .st3720{clip-path:url(#SVGID_7438_);fill:#FBFBFB;} + .st3721{clip-path:url(#SVGID_7440_);fill:#FCFCFC;} + .st3722{clip-path:url(#SVGID_7442_);fill:#FDFDFD;} + .st3723{clip-path:url(#SVGID_7444_);} + .st3724{clip-path:url(#SVGID_7446_);fill:#B8B8B8;} + .st3725{clip-path:url(#SVGID_7448_);fill:#B8B8B8;} + .st3726{clip-path:url(#SVGID_7450_);fill:#B9B9B9;} + .st3727{clip-path:url(#SVGID_7452_);fill:#BABABA;} + .st3728{clip-path:url(#SVGID_7454_);fill:#BBBBBB;} + .st3729{clip-path:url(#SVGID_7456_);fill:#BCBCBC;} + .st3730{clip-path:url(#SVGID_7458_);fill:#BDBDBD;} + .st3731{clip-path:url(#SVGID_7460_);fill:#BEBEBE;} + .st3732{clip-path:url(#SVGID_7462_);fill:#BFBFBF;} + .st3733{clip-path:url(#SVGID_7464_);fill:#C0C0C0;} + .st3734{clip-path:url(#SVGID_7466_);fill:#C1C1C1;} + .st3735{clip-path:url(#SVGID_7468_);fill:#C2C2C2;} + .st3736{clip-path:url(#SVGID_7470_);fill:#C3C3C3;} + .st3737{clip-path:url(#SVGID_7472_);fill:#C4C4C4;} + .st3738{clip-path:url(#SVGID_7474_);fill:#C5C5C5;} + .st3739{clip-path:url(#SVGID_7476_);fill:#C6C6C6;} + .st3740{clip-path:url(#SVGID_7478_);fill:#C7C7C7;} + .st3741{clip-path:url(#SVGID_7480_);fill:#C8C8C8;} + .st3742{clip-path:url(#SVGID_7482_);fill:#C9C9C9;} + .st3743{clip-path:url(#SVGID_7484_);fill:#CACACA;} + .st3744{clip-path:url(#SVGID_7486_);fill:#CBCBCB;} + .st3745{clip-path:url(#SVGID_7488_);fill:#CCCCCC;} + .st3746{clip-path:url(#SVGID_7490_);fill:#CDCDCD;} + .st3747{clip-path:url(#SVGID_7492_);fill:#CECECE;} + .st3748{clip-path:url(#SVGID_7494_);fill:#CFCFCF;} + .st3749{clip-path:url(#SVGID_7496_);fill:#D0D0D0;} + .st3750{clip-path:url(#SVGID_7498_);fill:#D1D1D1;} + .st3751{clip-path:url(#SVGID_7500_);fill:#D2D2D2;} + .st3752{clip-path:url(#SVGID_7502_);fill:#D3D3D3;} + .st3753{clip-path:url(#SVGID_7504_);fill:#D5D5D5;} + .st3754{clip-path:url(#SVGID_7506_);fill:#D6D6D6;} + .st3755{clip-path:url(#SVGID_7508_);fill:#D7D7D7;} + .st3756{clip-path:url(#SVGID_7510_);fill:#D8D8D8;} + .st3757{clip-path:url(#SVGID_7512_);fill:#D9D9D9;} + .st3758{clip-path:url(#SVGID_7514_);fill:#DADADA;} + .st3759{clip-path:url(#SVGID_7516_);fill:#DBDBDB;} + .st3760{clip-path:url(#SVGID_7518_);fill:#DCDCDC;} + .st3761{clip-path:url(#SVGID_7520_);fill:#DDDDDD;} + .st3762{clip-path:url(#SVGID_7522_);fill:#DEDEDE;} + .st3763{clip-path:url(#SVGID_7524_);fill:#DFDFDF;} + .st3764{clip-path:url(#SVGID_7526_);fill:#E0E0E0;} + .st3765{clip-path:url(#SVGID_7528_);fill:#E1E1E1;} + .st3766{clip-path:url(#SVGID_7530_);fill:#E2E2E2;} + .st3767{clip-path:url(#SVGID_7532_);fill:#E3E3E3;} + .st3768{clip-path:url(#SVGID_7534_);fill:#E4E4E4;} + .st3769{clip-path:url(#SVGID_7536_);fill:#E5E5E5;} + .st3770{clip-path:url(#SVGID_7538_);fill:#E6E6E6;} + .st3771{clip-path:url(#SVGID_7540_);fill:#E7E7E7;} + .st3772{clip-path:url(#SVGID_7542_);fill:#E8E8E8;} + .st3773{clip-path:url(#SVGID_7544_);fill:#E9E9E9;} + .st3774{clip-path:url(#SVGID_7546_);fill:#EAEAEA;} + .st3775{clip-path:url(#SVGID_7548_);fill:#EBEBEB;} + .st3776{clip-path:url(#SVGID_7550_);fill:#ECECEC;} + .st3777{clip-path:url(#SVGID_7552_);fill:#EDEDED;} + .st3778{clip-path:url(#SVGID_7554_);fill:#EEEEEE;} + .st3779{clip-path:url(#SVGID_7556_);fill:#EFEFEF;} + .st3780{clip-path:url(#SVGID_7558_);fill:#F0F0F0;} + .st3781{clip-path:url(#SVGID_7560_);fill:#F0F0F0;} + .st3782{clip-path:url(#SVGID_7562_);fill:#F1F1F1;} + .st3783{clip-path:url(#SVGID_7564_);fill:#F2F2F2;} + .st3784{clip-path:url(#SVGID_7566_);fill:#F3F3F3;} + .st3785{clip-path:url(#SVGID_7568_);fill:#F4F4F4;} + .st3786{clip-path:url(#SVGID_7570_);fill:#F5F5F5;} + .st3787{clip-path:url(#SVGID_7572_);fill:#F7F7F7;} + .st3788{clip-path:url(#SVGID_7574_);fill:#F8F8F8;} + .st3789{clip-path:url(#SVGID_7576_);fill:#F9F9F9;} + .st3790{clip-path:url(#SVGID_7578_);fill:#FAFAFA;} + .st3791{clip-path:url(#SVGID_7580_);fill:#FBFBFB;} + .st3792{clip-path:url(#SVGID_7582_);fill:#FCFCFC;} + .st3793{clip-path:url(#SVGID_7584_);fill:#FDFDFD;} + .st3794{clip-path:url(#SVGID_7586_);} + .st3795{clip-path:url(#SVGID_7588_);fill:#B8B8B8;} + .st3796{clip-path:url(#SVGID_7590_);fill:#B8B8B8;} + .st3797{clip-path:url(#SVGID_7592_);fill:#B9B9B9;} + .st3798{clip-path:url(#SVGID_7594_);fill:#BABABA;} + .st3799{clip-path:url(#SVGID_7596_);fill:#BBBBBB;} + .st3800{clip-path:url(#SVGID_7598_);fill:#BCBCBC;} + .st3801{clip-path:url(#SVGID_7600_);fill:#BDBDBD;} + .st3802{clip-path:url(#SVGID_7602_);fill:#BEBEBE;} + .st3803{clip-path:url(#SVGID_7604_);fill:#BFBFBF;} + .st3804{clip-path:url(#SVGID_7606_);fill:#C0C0C0;} + .st3805{clip-path:url(#SVGID_7608_);fill:#C1C1C1;} + .st3806{clip-path:url(#SVGID_7610_);fill:#C2C2C2;} + .st3807{clip-path:url(#SVGID_7612_);fill:#C3C3C3;} + .st3808{clip-path:url(#SVGID_7614_);fill:#C4C4C4;} + .st3809{clip-path:url(#SVGID_7616_);fill:#C5C5C5;} + .st3810{clip-path:url(#SVGID_7618_);fill:#C6C6C6;} + .st3811{clip-path:url(#SVGID_7620_);fill:#C7C7C7;} + .st3812{clip-path:url(#SVGID_7622_);fill:#C8C8C8;} + .st3813{clip-path:url(#SVGID_7624_);fill:#C9C9C9;} + .st3814{clip-path:url(#SVGID_7626_);fill:#CACACA;} + .st3815{clip-path:url(#SVGID_7628_);fill:#CBCBCB;} + .st3816{clip-path:url(#SVGID_7630_);fill:#CCCCCC;} + .st3817{clip-path:url(#SVGID_7632_);fill:#CDCDCD;} + .st3818{clip-path:url(#SVGID_7634_);fill:#CECECE;} + .st3819{clip-path:url(#SVGID_7636_);fill:#CFCFCF;} + .st3820{clip-path:url(#SVGID_7638_);fill:#D0D0D0;} + .st3821{clip-path:url(#SVGID_7640_);fill:#D1D1D1;} + .st3822{clip-path:url(#SVGID_7642_);fill:#D2D2D2;} + .st3823{clip-path:url(#SVGID_7644_);fill:#D3D3D3;} + .st3824{clip-path:url(#SVGID_7646_);fill:#D5D5D5;} + .st3825{clip-path:url(#SVGID_7648_);fill:#D6D6D6;} + .st3826{clip-path:url(#SVGID_7650_);fill:#D7D7D7;} + .st3827{clip-path:url(#SVGID_7652_);fill:#D8D8D8;} + .st3828{clip-path:url(#SVGID_7654_);fill:#D9D9D9;} + .st3829{clip-path:url(#SVGID_7656_);fill:#DADADA;} + .st3830{clip-path:url(#SVGID_7658_);fill:#DBDBDB;} + .st3831{clip-path:url(#SVGID_7660_);fill:#DCDCDC;} + .st3832{clip-path:url(#SVGID_7662_);fill:#DDDDDD;} + .st3833{clip-path:url(#SVGID_7664_);fill:#DEDEDE;} + .st3834{clip-path:url(#SVGID_7666_);fill:#DFDFDF;} + .st3835{clip-path:url(#SVGID_7668_);fill:#E0E0E0;} + .st3836{clip-path:url(#SVGID_7670_);fill:#E1E1E1;} + .st3837{clip-path:url(#SVGID_7672_);fill:#E2E2E2;} + .st3838{clip-path:url(#SVGID_7674_);fill:#E3E3E3;} + .st3839{clip-path:url(#SVGID_7676_);fill:#E4E4E4;} + .st3840{clip-path:url(#SVGID_7678_);fill:#E5E5E5;} + .st3841{clip-path:url(#SVGID_7680_);fill:#E6E6E6;} + .st3842{clip-path:url(#SVGID_7682_);fill:#E7E7E7;} + .st3843{clip-path:url(#SVGID_7684_);fill:#E8E8E8;} + .st3844{clip-path:url(#SVGID_7686_);fill:#E9E9E9;} + .st3845{clip-path:url(#SVGID_7688_);fill:#EAEAEA;} + .st3846{clip-path:url(#SVGID_7690_);fill:#EBEBEB;} + .st3847{clip-path:url(#SVGID_7692_);fill:#ECECEC;} + .st3848{clip-path:url(#SVGID_7694_);fill:#EDEDED;} + .st3849{clip-path:url(#SVGID_7696_);fill:#EEEEEE;} + .st3850{clip-path:url(#SVGID_7698_);fill:#EFEFEF;} + .st3851{clip-path:url(#SVGID_7700_);fill:#F0F0F0;} + .st3852{clip-path:url(#SVGID_7702_);fill:#F0F0F0;} + .st3853{clip-path:url(#SVGID_7704_);fill:#F1F1F1;} + .st3854{clip-path:url(#SVGID_7706_);fill:#F2F2F2;} + .st3855{clip-path:url(#SVGID_7708_);fill:#F3F3F3;} + .st3856{clip-path:url(#SVGID_7710_);fill:#F4F4F4;} + .st3857{clip-path:url(#SVGID_7712_);fill:#F5F5F5;} + .st3858{clip-path:url(#SVGID_7714_);fill:#F7F7F7;} + .st3859{clip-path:url(#SVGID_7716_);fill:#F8F8F8;} + .st3860{clip-path:url(#SVGID_7718_);fill:#F9F9F9;} + .st3861{clip-path:url(#SVGID_7720_);fill:#FAFAFA;} + .st3862{clip-path:url(#SVGID_7722_);fill:#FBFBFB;} + .st3863{clip-path:url(#SVGID_7724_);fill:#FCFCFC;} + .st3864{clip-path:url(#SVGID_7726_);fill:#FDFDFD;} + .st3865{clip-path:url(#SVGID_7728_);} + .st3866{clip-path:url(#SVGID_7730_);fill:#B8B8B8;} + .st3867{clip-path:url(#SVGID_7732_);fill:#B8B8B8;} + .st3868{clip-path:url(#SVGID_7734_);fill:#B9B9B9;} + .st3869{clip-path:url(#SVGID_7736_);fill:#BABABA;} + .st3870{clip-path:url(#SVGID_7738_);fill:#BBBBBB;} + .st3871{clip-path:url(#SVGID_7740_);fill:#BCBCBC;} + .st3872{clip-path:url(#SVGID_7742_);fill:#BDBDBD;} + .st3873{clip-path:url(#SVGID_7744_);fill:#BEBEBE;} + .st3874{clip-path:url(#SVGID_7746_);fill:#BFBFBF;} + .st3875{clip-path:url(#SVGID_7748_);fill:#C0C0C0;} + .st3876{clip-path:url(#SVGID_7750_);fill:#C1C1C1;} + .st3877{clip-path:url(#SVGID_7752_);fill:#C2C2C2;} + .st3878{clip-path:url(#SVGID_7754_);fill:#C3C3C3;} + .st3879{clip-path:url(#SVGID_7756_);fill:#C4C4C4;} + .st3880{clip-path:url(#SVGID_7758_);fill:#C5C5C5;} + .st3881{clip-path:url(#SVGID_7760_);fill:#C6C6C6;} + .st3882{clip-path:url(#SVGID_7762_);fill:#C7C7C7;} + .st3883{clip-path:url(#SVGID_7764_);fill:#C8C8C8;} + .st3884{clip-path:url(#SVGID_7766_);fill:#C9C9C9;} + .st3885{clip-path:url(#SVGID_7768_);fill:#CACACA;} + .st3886{clip-path:url(#SVGID_7770_);fill:#CBCBCB;} + .st3887{clip-path:url(#SVGID_7772_);fill:#CCCCCC;} + .st3888{clip-path:url(#SVGID_7774_);fill:#CDCDCD;} + .st3889{clip-path:url(#SVGID_7776_);fill:#CECECE;} + .st3890{clip-path:url(#SVGID_7778_);fill:#CFCFCF;} + .st3891{clip-path:url(#SVGID_7780_);fill:#D0D0D0;} + .st3892{clip-path:url(#SVGID_7782_);fill:#D1D1D1;} + .st3893{clip-path:url(#SVGID_7784_);fill:#D2D2D2;} + .st3894{clip-path:url(#SVGID_7786_);fill:#D3D3D3;} + .st3895{clip-path:url(#SVGID_7788_);fill:#D5D5D5;} + .st3896{clip-path:url(#SVGID_7790_);fill:#D6D6D6;} + .st3897{clip-path:url(#SVGID_7792_);fill:#D7D7D7;} + .st3898{clip-path:url(#SVGID_7794_);fill:#D8D8D8;} + .st3899{clip-path:url(#SVGID_7796_);fill:#D9D9D9;} + .st3900{clip-path:url(#SVGID_7798_);fill:#DADADA;} + .st3901{clip-path:url(#SVGID_7800_);fill:#DBDBDB;} + .st3902{clip-path:url(#SVGID_7802_);fill:#DCDCDC;} + .st3903{clip-path:url(#SVGID_7804_);fill:#DDDDDD;} + .st3904{clip-path:url(#SVGID_7806_);fill:#DEDEDE;} + .st3905{clip-path:url(#SVGID_7808_);fill:#DFDFDF;} + .st3906{clip-path:url(#SVGID_7810_);fill:#E0E0E0;} + .st3907{clip-path:url(#SVGID_7812_);fill:#E1E1E1;} + .st3908{clip-path:url(#SVGID_7814_);fill:#E2E2E2;} + .st3909{clip-path:url(#SVGID_7816_);fill:#E3E3E3;} + .st3910{clip-path:url(#SVGID_7818_);fill:#E4E4E4;} + .st3911{clip-path:url(#SVGID_7820_);fill:#E5E5E5;} + .st3912{clip-path:url(#SVGID_7822_);fill:#E6E6E6;} + .st3913{clip-path:url(#SVGID_7824_);fill:#E7E7E7;} + .st3914{clip-path:url(#SVGID_7826_);fill:#E8E8E8;} + .st3915{clip-path:url(#SVGID_7828_);fill:#E9E9E9;} + .st3916{clip-path:url(#SVGID_7830_);fill:#EAEAEA;} + .st3917{clip-path:url(#SVGID_7832_);fill:#EBEBEB;} + .st3918{clip-path:url(#SVGID_7834_);fill:#ECECEC;} + .st3919{clip-path:url(#SVGID_7836_);fill:#EDEDED;} + .st3920{clip-path:url(#SVGID_7838_);fill:#EEEEEE;} + .st3921{clip-path:url(#SVGID_7840_);fill:#EFEFEF;} + .st3922{clip-path:url(#SVGID_7842_);fill:#F0F0F0;} + .st3923{clip-path:url(#SVGID_7844_);fill:#F0F0F0;} + .st3924{clip-path:url(#SVGID_7846_);fill:#F1F1F1;} + .st3925{clip-path:url(#SVGID_7848_);fill:#F2F2F2;} + .st3926{clip-path:url(#SVGID_7850_);fill:#F3F3F3;} + .st3927{clip-path:url(#SVGID_7852_);fill:#F4F4F4;} + .st3928{clip-path:url(#SVGID_7854_);fill:#F5F5F5;} + .st3929{clip-path:url(#SVGID_7856_);fill:#F7F7F7;} + .st3930{clip-path:url(#SVGID_7858_);fill:#F8F8F8;} + .st3931{clip-path:url(#SVGID_7860_);fill:#F9F9F9;} + .st3932{clip-path:url(#SVGID_7862_);fill:#FAFAFA;} + .st3933{clip-path:url(#SVGID_7864_);fill:#FBFBFB;} + .st3934{clip-path:url(#SVGID_7866_);fill:#FCFCFC;} + .st3935{clip-path:url(#SVGID_7868_);fill:#FDFDFD;} + .st3936{clip-path:url(#SVGID_7870_);} + .st3937{clip-path:url(#SVGID_7872_);fill:#B8B8B8;} + .st3938{clip-path:url(#SVGID_7874_);fill:#B8B8B8;} + .st3939{clip-path:url(#SVGID_7876_);fill:#B9B9B9;} + .st3940{clip-path:url(#SVGID_7878_);fill:#BABABA;} + .st3941{clip-path:url(#SVGID_7880_);fill:#BBBBBB;} + .st3942{clip-path:url(#SVGID_7882_);fill:#BCBCBC;} + .st3943{clip-path:url(#SVGID_7884_);fill:#BDBDBD;} + .st3944{clip-path:url(#SVGID_7886_);fill:#BEBEBE;} + .st3945{clip-path:url(#SVGID_7888_);fill:#BFBFBF;} + .st3946{clip-path:url(#SVGID_7890_);fill:#C0C0C0;} + .st3947{clip-path:url(#SVGID_7892_);fill:#C1C1C1;} + .st3948{clip-path:url(#SVGID_7894_);fill:#C2C2C2;} + .st3949{clip-path:url(#SVGID_7896_);fill:#C3C3C3;} + .st3950{clip-path:url(#SVGID_7898_);fill:#C4C4C4;} + .st3951{clip-path:url(#SVGID_7900_);fill:#C5C5C5;} + .st3952{clip-path:url(#SVGID_7902_);fill:#C6C6C6;} + .st3953{clip-path:url(#SVGID_7904_);fill:#C7C7C7;} + .st3954{clip-path:url(#SVGID_7906_);fill:#C8C8C8;} + .st3955{clip-path:url(#SVGID_7908_);fill:#C9C9C9;} + .st3956{clip-path:url(#SVGID_7910_);fill:#CACACA;} + .st3957{clip-path:url(#SVGID_7912_);fill:#CBCBCB;} + .st3958{clip-path:url(#SVGID_7914_);fill:#CCCCCC;} + .st3959{clip-path:url(#SVGID_7916_);fill:#CDCDCD;} + .st3960{clip-path:url(#SVGID_7918_);fill:#CECECE;} + .st3961{clip-path:url(#SVGID_7920_);fill:#CFCFCF;} + .st3962{clip-path:url(#SVGID_7922_);fill:#D0D0D0;} + .st3963{clip-path:url(#SVGID_7924_);fill:#D1D1D1;} + .st3964{clip-path:url(#SVGID_7926_);fill:#D2D2D2;} + .st3965{clip-path:url(#SVGID_7928_);fill:#D3D3D3;} + .st3966{clip-path:url(#SVGID_7930_);fill:#D5D5D5;} + .st3967{clip-path:url(#SVGID_7932_);fill:#D6D6D6;} + .st3968{clip-path:url(#SVGID_7934_);fill:#D7D7D7;} + .st3969{clip-path:url(#SVGID_7936_);fill:#D8D8D8;} + .st3970{clip-path:url(#SVGID_7938_);fill:#D9D9D9;} + .st3971{clip-path:url(#SVGID_7940_);fill:#DADADA;} + .st3972{clip-path:url(#SVGID_7942_);fill:#DBDBDB;} + .st3973{clip-path:url(#SVGID_7944_);fill:#DCDCDC;} + .st3974{clip-path:url(#SVGID_7946_);fill:#DDDDDD;} + .st3975{clip-path:url(#SVGID_7948_);fill:#DEDEDE;} + .st3976{clip-path:url(#SVGID_7950_);fill:#DFDFDF;} + .st3977{clip-path:url(#SVGID_7952_);fill:#E0E0E0;} + .st3978{clip-path:url(#SVGID_7954_);fill:#E1E1E1;} + .st3979{clip-path:url(#SVGID_7956_);fill:#E2E2E2;} + .st3980{clip-path:url(#SVGID_7958_);fill:#E3E3E3;} + .st3981{clip-path:url(#SVGID_7960_);fill:#E4E4E4;} + .st3982{clip-path:url(#SVGID_7962_);fill:#E5E5E5;} + .st3983{clip-path:url(#SVGID_7964_);fill:#E6E6E6;} + .st3984{clip-path:url(#SVGID_7966_);fill:#E7E7E7;} + .st3985{clip-path:url(#SVGID_7968_);fill:#E8E8E8;} + .st3986{clip-path:url(#SVGID_7970_);fill:#E9E9E9;} + .st3987{clip-path:url(#SVGID_7972_);fill:#EAEAEA;} + .st3988{clip-path:url(#SVGID_7974_);fill:#EBEBEB;} + .st3989{clip-path:url(#SVGID_7976_);fill:#ECECEC;} + .st3990{clip-path:url(#SVGID_7978_);fill:#EDEDED;} + .st3991{clip-path:url(#SVGID_7980_);fill:#EEEEEE;} + .st3992{clip-path:url(#SVGID_7982_);fill:#EFEFEF;} + .st3993{clip-path:url(#SVGID_7984_);fill:#F0F0F0;} + .st3994{clip-path:url(#SVGID_7986_);fill:#F0F0F0;} + .st3995{clip-path:url(#SVGID_7988_);fill:#F1F1F1;} + .st3996{clip-path:url(#SVGID_7990_);fill:#F2F2F2;} + .st3997{clip-path:url(#SVGID_7992_);fill:#F3F3F3;} + .st3998{clip-path:url(#SVGID_7994_);fill:#F4F4F4;} + .st3999{clip-path:url(#SVGID_7996_);fill:#F5F5F5;} + .st4000{clip-path:url(#SVGID_7998_);fill:#F7F7F7;} + .st4001{clip-path:url(#SVGID_8000_);fill:#F8F8F8;} + .st4002{clip-path:url(#SVGID_8002_);fill:#F9F9F9;} + .st4003{clip-path:url(#SVGID_8004_);fill:#FAFAFA;} + .st4004{clip-path:url(#SVGID_8006_);fill:#FBFBFB;} + .st4005{clip-path:url(#SVGID_8008_);fill:#FCFCFC;} + .st4006{clip-path:url(#SVGID_8010_);fill:#FDFDFD;} + .st4007{clip-path:url(#SVGID_8012_);} + .st4008{clip-path:url(#SVGID_8014_);fill:#B8B8B8;} + .st4009{clip-path:url(#SVGID_8016_);fill:#B8B8B8;} + .st4010{clip-path:url(#SVGID_8018_);fill:#B9B9B9;} + .st4011{clip-path:url(#SVGID_8020_);fill:#BABABA;} + .st4012{clip-path:url(#SVGID_8022_);fill:#BBBBBB;} + .st4013{clip-path:url(#SVGID_8024_);fill:#BCBCBC;} + .st4014{clip-path:url(#SVGID_8026_);fill:#BDBDBD;} + .st4015{clip-path:url(#SVGID_8028_);fill:#BEBEBE;} + .st4016{clip-path:url(#SVGID_8030_);fill:#BFBFBF;} + .st4017{clip-path:url(#SVGID_8032_);fill:#C0C0C0;} + .st4018{clip-path:url(#SVGID_8034_);fill:#C1C1C1;} + .st4019{clip-path:url(#SVGID_8036_);fill:#C2C2C2;} + .st4020{clip-path:url(#SVGID_8038_);fill:#C3C3C3;} + .st4021{clip-path:url(#SVGID_8040_);fill:#C4C4C4;} + .st4022{clip-path:url(#SVGID_8042_);fill:#C5C5C5;} + .st4023{clip-path:url(#SVGID_8044_);fill:#C6C6C6;} + .st4024{clip-path:url(#SVGID_8046_);fill:#C7C7C7;} + .st4025{clip-path:url(#SVGID_8048_);fill:#C8C8C8;} + .st4026{clip-path:url(#SVGID_8050_);fill:#C9C9C9;} + .st4027{clip-path:url(#SVGID_8052_);fill:#CACACA;} + .st4028{clip-path:url(#SVGID_8054_);fill:#CBCBCB;} + .st4029{clip-path:url(#SVGID_8056_);fill:#CCCCCC;} + .st4030{clip-path:url(#SVGID_8058_);fill:#CDCDCD;} + .st4031{clip-path:url(#SVGID_8060_);fill:#CECECE;} + .st4032{clip-path:url(#SVGID_8062_);fill:#CFCFCF;} + .st4033{clip-path:url(#SVGID_8064_);fill:#D0D0D0;} + .st4034{clip-path:url(#SVGID_8066_);fill:#D1D1D1;} + .st4035{clip-path:url(#SVGID_8068_);fill:#D2D2D2;} + .st4036{clip-path:url(#SVGID_8070_);fill:#D3D3D3;} + .st4037{clip-path:url(#SVGID_8072_);fill:#D5D5D5;} + .st4038{clip-path:url(#SVGID_8074_);fill:#D6D6D6;} + .st4039{clip-path:url(#SVGID_8076_);fill:#D7D7D7;} + .st4040{clip-path:url(#SVGID_8078_);fill:#D8D8D8;} + .st4041{clip-path:url(#SVGID_8080_);fill:#D9D9D9;} + .st4042{clip-path:url(#SVGID_8082_);fill:#DADADA;} + .st4043{clip-path:url(#SVGID_8084_);fill:#DBDBDB;} + .st4044{clip-path:url(#SVGID_8086_);fill:#DCDCDC;} + .st4045{clip-path:url(#SVGID_8088_);fill:#DDDDDD;} + .st4046{clip-path:url(#SVGID_8090_);fill:#DEDEDE;} + .st4047{clip-path:url(#SVGID_8092_);fill:#DFDFDF;} + .st4048{clip-path:url(#SVGID_8094_);fill:#E0E0E0;} + .st4049{clip-path:url(#SVGID_8096_);fill:#E1E1E1;} + .st4050{clip-path:url(#SVGID_8098_);fill:#E2E2E2;} + .st4051{clip-path:url(#SVGID_8100_);fill:#E3E3E3;} + .st4052{clip-path:url(#SVGID_8102_);fill:#E4E4E4;} + .st4053{clip-path:url(#SVGID_8104_);fill:#E5E5E5;} + .st4054{clip-path:url(#SVGID_8106_);fill:#E6E6E6;} + .st4055{clip-path:url(#SVGID_8108_);fill:#E7E7E7;} + .st4056{clip-path:url(#SVGID_8110_);fill:#E8E8E8;} + .st4057{clip-path:url(#SVGID_8112_);fill:#E9E9E9;} + .st4058{clip-path:url(#SVGID_8114_);fill:#EAEAEA;} + .st4059{clip-path:url(#SVGID_8116_);fill:#EBEBEB;} + .st4060{clip-path:url(#SVGID_8118_);fill:#ECECEC;} + .st4061{clip-path:url(#SVGID_8120_);fill:#EDEDED;} + .st4062{clip-path:url(#SVGID_8122_);fill:#EEEEEE;} + .st4063{clip-path:url(#SVGID_8124_);fill:#EFEFEF;} + .st4064{clip-path:url(#SVGID_8126_);fill:#F0F0F0;} + .st4065{clip-path:url(#SVGID_8128_);fill:#F0F0F0;} + .st4066{clip-path:url(#SVGID_8130_);fill:#F1F1F1;} + .st4067{clip-path:url(#SVGID_8132_);fill:#F2F2F2;} + .st4068{clip-path:url(#SVGID_8134_);fill:#F3F3F3;} + .st4069{clip-path:url(#SVGID_8136_);fill:#F4F4F4;} + .st4070{clip-path:url(#SVGID_8138_);fill:#F5F5F5;} + .st4071{clip-path:url(#SVGID_8140_);fill:#F7F7F7;} + .st4072{clip-path:url(#SVGID_8142_);fill:#F8F8F8;} + .st4073{clip-path:url(#SVGID_8144_);fill:#F9F9F9;} + .st4074{clip-path:url(#SVGID_8146_);fill:#FAFAFA;} + .st4075{clip-path:url(#SVGID_8148_);fill:#FBFBFB;} + .st4076{clip-path:url(#SVGID_8150_);fill:#FCFCFC;} + .st4077{clip-path:url(#SVGID_8152_);fill:#FDFDFD;} + .st4078{clip-path:url(#SVGID_8154_);} + .st4079{clip-path:url(#SVGID_8156_);fill:#B8B8B8;} + .st4080{clip-path:url(#SVGID_8158_);fill:#B8B8B8;} + .st4081{clip-path:url(#SVGID_8160_);fill:#B9B9B9;} + .st4082{clip-path:url(#SVGID_8162_);fill:#BABABA;} + .st4083{clip-path:url(#SVGID_8164_);fill:#BBBBBB;} + .st4084{clip-path:url(#SVGID_8166_);fill:#BCBCBC;} + .st4085{clip-path:url(#SVGID_8168_);fill:#BDBDBD;} + .st4086{clip-path:url(#SVGID_8170_);fill:#BEBEBE;} + .st4087{clip-path:url(#SVGID_8172_);fill:#BFBFBF;} + .st4088{clip-path:url(#SVGID_8174_);fill:#C0C0C0;} + .st4089{clip-path:url(#SVGID_8176_);fill:#C1C1C1;} + .st4090{clip-path:url(#SVGID_8178_);fill:#C2C2C2;} + .st4091{clip-path:url(#SVGID_8180_);fill:#C3C3C3;} + .st4092{clip-path:url(#SVGID_8182_);fill:#C4C4C4;} + .st4093{clip-path:url(#SVGID_8184_);fill:#C5C5C5;} + .st4094{clip-path:url(#SVGID_8186_);fill:#C6C6C6;} + .st4095{clip-path:url(#SVGID_8188_);fill:#C7C7C7;} + .st4096{clip-path:url(#SVGID_8190_);fill:#C8C8C8;} + .st4097{clip-path:url(#SVGID_8192_);fill:#C9C9C9;} + .st4098{clip-path:url(#SVGID_8194_);fill:#CACACA;} + .st4099{clip-path:url(#SVGID_8196_);fill:#CBCBCB;} + .st4100{clip-path:url(#SVGID_8198_);fill:#CCCCCC;} + .st4101{clip-path:url(#SVGID_8200_);fill:#CDCDCD;} + .st4102{clip-path:url(#SVGID_8202_);fill:#CECECE;} + .st4103{clip-path:url(#SVGID_8204_);fill:#CFCFCF;} + .st4104{clip-path:url(#SVGID_8206_);fill:#D0D0D0;} + .st4105{clip-path:url(#SVGID_8208_);fill:#D1D1D1;} + .st4106{clip-path:url(#SVGID_8210_);fill:#D2D2D2;} + .st4107{clip-path:url(#SVGID_8212_);fill:#D3D3D3;} + .st4108{clip-path:url(#SVGID_8214_);fill:#D5D5D5;} + .st4109{clip-path:url(#SVGID_8216_);fill:#D6D6D6;} + .st4110{clip-path:url(#SVGID_8218_);fill:#D7D7D7;} + .st4111{clip-path:url(#SVGID_8220_);fill:#D8D8D8;} + .st4112{clip-path:url(#SVGID_8222_);fill:#D9D9D9;} + .st4113{clip-path:url(#SVGID_8224_);fill:#DADADA;} + .st4114{clip-path:url(#SVGID_8226_);fill:#DBDBDB;} + .st4115{clip-path:url(#SVGID_8228_);fill:#DCDCDC;} + .st4116{clip-path:url(#SVGID_8230_);fill:#DDDDDD;} + .st4117{clip-path:url(#SVGID_8232_);fill:#DEDEDE;} + .st4118{clip-path:url(#SVGID_8234_);fill:#DFDFDF;} + .st4119{clip-path:url(#SVGID_8236_);fill:#E0E0E0;} + .st4120{clip-path:url(#SVGID_8238_);fill:#E1E1E1;} + .st4121{clip-path:url(#SVGID_8240_);fill:#E2E2E2;} + .st4122{clip-path:url(#SVGID_8242_);fill:#E3E3E3;} + .st4123{clip-path:url(#SVGID_8244_);fill:#E4E4E4;} + .st4124{clip-path:url(#SVGID_8246_);fill:#E5E5E5;} + .st4125{clip-path:url(#SVGID_8248_);fill:#E6E6E6;} + .st4126{clip-path:url(#SVGID_8250_);fill:#E7E7E7;} + .st4127{clip-path:url(#SVGID_8252_);fill:#E8E8E8;} + .st4128{clip-path:url(#SVGID_8254_);fill:#E9E9E9;} + .st4129{clip-path:url(#SVGID_8256_);fill:#EAEAEA;} + .st4130{clip-path:url(#SVGID_8258_);fill:#EBEBEB;} + .st4131{clip-path:url(#SVGID_8260_);fill:#ECECEC;} + .st4132{clip-path:url(#SVGID_8262_);fill:#EDEDED;} + .st4133{clip-path:url(#SVGID_8264_);fill:#EEEEEE;} + .st4134{clip-path:url(#SVGID_8266_);fill:#EFEFEF;} + .st4135{clip-path:url(#SVGID_8268_);fill:#F0F0F0;} + .st4136{clip-path:url(#SVGID_8270_);fill:#F0F0F0;} + .st4137{clip-path:url(#SVGID_8272_);fill:#F1F1F1;} + .st4138{clip-path:url(#SVGID_8274_);fill:#F2F2F2;} + .st4139{clip-path:url(#SVGID_8276_);fill:#F3F3F3;} + .st4140{clip-path:url(#SVGID_8278_);fill:#F4F4F4;} + .st4141{clip-path:url(#SVGID_8280_);fill:#F5F5F5;} + .st4142{clip-path:url(#SVGID_8282_);fill:#F7F7F7;} + .st4143{clip-path:url(#SVGID_8284_);fill:#F8F8F8;} + .st4144{clip-path:url(#SVGID_8286_);fill:#F9F9F9;} + .st4145{clip-path:url(#SVGID_8288_);fill:#FAFAFA;} + .st4146{clip-path:url(#SVGID_8290_);fill:#FBFBFB;} + .st4147{clip-path:url(#SVGID_8292_);fill:#FCFCFC;} + .st4148{clip-path:url(#SVGID_8294_);fill:#FDFDFD;} + .st4149{clip-path:url(#SVGID_8296_);} + .st4150{clip-path:url(#SVGID_8298_);fill:#B8B8B8;} + .st4151{clip-path:url(#SVGID_8300_);fill:#B8B8B8;} + .st4152{clip-path:url(#SVGID_8302_);fill:#B9B9B9;} + .st4153{clip-path:url(#SVGID_8304_);fill:#BABABA;} + .st4154{clip-path:url(#SVGID_8306_);fill:#BBBBBB;} + .st4155{clip-path:url(#SVGID_8308_);fill:#BCBCBC;} + .st4156{clip-path:url(#SVGID_8310_);fill:#BDBDBD;} + .st4157{clip-path:url(#SVGID_8312_);fill:#BEBEBE;} + .st4158{clip-path:url(#SVGID_8314_);fill:#BFBFBF;} + .st4159{clip-path:url(#SVGID_8316_);fill:#C0C0C0;} + .st4160{clip-path:url(#SVGID_8318_);fill:#C1C1C1;} + .st4161{clip-path:url(#SVGID_8320_);fill:#C2C2C2;} + .st4162{clip-path:url(#SVGID_8322_);fill:#C3C3C3;} + .st4163{clip-path:url(#SVGID_8324_);fill:#C4C4C4;} + .st4164{clip-path:url(#SVGID_8326_);fill:#C5C5C5;} + .st4165{clip-path:url(#SVGID_8328_);fill:#C6C6C6;} + .st4166{clip-path:url(#SVGID_8330_);fill:#C7C7C7;} + .st4167{clip-path:url(#SVGID_8332_);fill:#C8C8C8;} + .st4168{clip-path:url(#SVGID_8334_);fill:#C9C9C9;} + .st4169{clip-path:url(#SVGID_8336_);fill:#CACACA;} + .st4170{clip-path:url(#SVGID_8338_);fill:#CBCBCB;} + .st4171{clip-path:url(#SVGID_8340_);fill:#CCCCCC;} + .st4172{clip-path:url(#SVGID_8342_);fill:#CDCDCD;} + .st4173{clip-path:url(#SVGID_8344_);fill:#CECECE;} + .st4174{clip-path:url(#SVGID_8346_);fill:#CFCFCF;} + .st4175{clip-path:url(#SVGID_8348_);fill:#D0D0D0;} + .st4176{clip-path:url(#SVGID_8350_);fill:#D1D1D1;} + .st4177{clip-path:url(#SVGID_8352_);fill:#D2D2D2;} + .st4178{clip-path:url(#SVGID_8354_);fill:#D3D3D3;} + .st4179{clip-path:url(#SVGID_8356_);fill:#D5D5D5;} + .st4180{clip-path:url(#SVGID_8358_);fill:#D6D6D6;} + .st4181{clip-path:url(#SVGID_8360_);fill:#D7D7D7;} + .st4182{clip-path:url(#SVGID_8362_);fill:#D8D8D8;} + .st4183{clip-path:url(#SVGID_8364_);fill:#D9D9D9;} + .st4184{clip-path:url(#SVGID_8366_);fill:#DADADA;} + .st4185{clip-path:url(#SVGID_8368_);fill:#DBDBDB;} + .st4186{clip-path:url(#SVGID_8370_);fill:#DCDCDC;} + .st4187{clip-path:url(#SVGID_8372_);fill:#DDDDDD;} + .st4188{clip-path:url(#SVGID_8374_);fill:#DEDEDE;} + .st4189{clip-path:url(#SVGID_8376_);fill:#DFDFDF;} + .st4190{clip-path:url(#SVGID_8378_);fill:#E0E0E0;} + .st4191{clip-path:url(#SVGID_8380_);fill:#E1E1E1;} + .st4192{clip-path:url(#SVGID_8382_);fill:#E2E2E2;} + .st4193{clip-path:url(#SVGID_8384_);fill:#E3E3E3;} + .st4194{clip-path:url(#SVGID_8386_);fill:#E4E4E4;} + .st4195{clip-path:url(#SVGID_8388_);fill:#E5E5E5;} + .st4196{clip-path:url(#SVGID_8390_);fill:#E6E6E6;} + .st4197{clip-path:url(#SVGID_8392_);fill:#E7E7E7;} + .st4198{clip-path:url(#SVGID_8394_);fill:#E8E8E8;} + .st4199{clip-path:url(#SVGID_8396_);fill:#E9E9E9;} + .st4200{clip-path:url(#SVGID_8398_);fill:#EAEAEA;} + .st4201{clip-path:url(#SVGID_8400_);fill:#EBEBEB;} + .st4202{clip-path:url(#SVGID_8402_);fill:#ECECEC;} + .st4203{clip-path:url(#SVGID_8404_);fill:#EDEDED;} + .st4204{clip-path:url(#SVGID_8406_);fill:#EEEEEE;} + .st4205{clip-path:url(#SVGID_8408_);fill:#EFEFEF;} + .st4206{clip-path:url(#SVGID_8410_);fill:#F0F0F0;} + .st4207{clip-path:url(#SVGID_8412_);fill:#F0F0F0;} + .st4208{clip-path:url(#SVGID_8414_);fill:#F1F1F1;} + .st4209{clip-path:url(#SVGID_8416_);fill:#F2F2F2;} + .st4210{clip-path:url(#SVGID_8418_);fill:#F3F3F3;} + .st4211{clip-path:url(#SVGID_8420_);fill:#F4F4F4;} + .st4212{clip-path:url(#SVGID_8422_);fill:#F5F5F5;} + .st4213{clip-path:url(#SVGID_8424_);fill:#F7F7F7;} + .st4214{clip-path:url(#SVGID_8426_);fill:#F8F8F8;} + .st4215{clip-path:url(#SVGID_8428_);fill:#F9F9F9;} + .st4216{clip-path:url(#SVGID_8430_);fill:#FAFAFA;} + .st4217{clip-path:url(#SVGID_8432_);fill:#FBFBFB;} + .st4218{clip-path:url(#SVGID_8434_);fill:#FCFCFC;} + .st4219{clip-path:url(#SVGID_8436_);fill:#FDFDFD;} + .st4220{clip-path:url(#SVGID_8438_);} + .st4221{clip-path:url(#SVGID_8440_);fill:#B8B8B8;} + .st4222{clip-path:url(#SVGID_8442_);fill:#B8B8B8;} + .st4223{clip-path:url(#SVGID_8444_);fill:#B9B9B9;} + .st4224{clip-path:url(#SVGID_8446_);fill:#BABABA;} + .st4225{clip-path:url(#SVGID_8448_);fill:#BBBBBB;} + .st4226{clip-path:url(#SVGID_8450_);fill:#BCBCBC;} + .st4227{clip-path:url(#SVGID_8452_);fill:#BDBDBD;} + .st4228{clip-path:url(#SVGID_8454_);fill:#BEBEBE;} + .st4229{clip-path:url(#SVGID_8456_);fill:#BFBFBF;} + .st4230{clip-path:url(#SVGID_8458_);fill:#C0C0C0;} + .st4231{clip-path:url(#SVGID_8460_);fill:#C1C1C1;} + .st4232{clip-path:url(#SVGID_8462_);fill:#C2C2C2;} + .st4233{clip-path:url(#SVGID_8464_);fill:#C3C3C3;} + .st4234{clip-path:url(#SVGID_8466_);fill:#C4C4C4;} + .st4235{clip-path:url(#SVGID_8468_);fill:#C5C5C5;} + .st4236{clip-path:url(#SVGID_8470_);fill:#C6C6C6;} + .st4237{clip-path:url(#SVGID_8472_);fill:#C7C7C7;} + .st4238{clip-path:url(#SVGID_8474_);fill:#C8C8C8;} + .st4239{clip-path:url(#SVGID_8476_);fill:#C9C9C9;} + .st4240{clip-path:url(#SVGID_8478_);fill:#CACACA;} + .st4241{clip-path:url(#SVGID_8480_);fill:#CBCBCB;} + .st4242{clip-path:url(#SVGID_8482_);fill:#CCCCCC;} + .st4243{clip-path:url(#SVGID_8484_);fill:#CDCDCD;} + .st4244{clip-path:url(#SVGID_8486_);fill:#CECECE;} + .st4245{clip-path:url(#SVGID_8488_);fill:#CFCFCF;} + .st4246{clip-path:url(#SVGID_8490_);fill:#D0D0D0;} + .st4247{clip-path:url(#SVGID_8492_);fill:#D1D1D1;} + .st4248{clip-path:url(#SVGID_8494_);fill:#D2D2D2;} + .st4249{clip-path:url(#SVGID_8496_);fill:#D3D3D3;} + .st4250{clip-path:url(#SVGID_8498_);fill:#D5D5D5;} + .st4251{clip-path:url(#SVGID_8500_);fill:#D6D6D6;} + .st4252{clip-path:url(#SVGID_8502_);fill:#D7D7D7;} + .st4253{clip-path:url(#SVGID_8504_);fill:#D8D8D8;} + .st4254{clip-path:url(#SVGID_8506_);fill:#D9D9D9;} + .st4255{clip-path:url(#SVGID_8508_);fill:#DADADA;} + .st4256{clip-path:url(#SVGID_8510_);fill:#DBDBDB;} + .st4257{clip-path:url(#SVGID_8512_);fill:#DCDCDC;} + .st4258{clip-path:url(#SVGID_8514_);fill:#DDDDDD;} + .st4259{clip-path:url(#SVGID_8516_);fill:#DEDEDE;} + .st4260{clip-path:url(#SVGID_8518_);fill:#DFDFDF;} + .st4261{clip-path:url(#SVGID_8520_);fill:#E0E0E0;} + .st4262{clip-path:url(#SVGID_8522_);fill:#E1E1E1;} + .st4263{clip-path:url(#SVGID_8524_);fill:#E2E2E2;} + .st4264{clip-path:url(#SVGID_8526_);fill:#E3E3E3;} + .st4265{clip-path:url(#SVGID_8528_);fill:#E4E4E4;} + .st4266{clip-path:url(#SVGID_8530_);fill:#E5E5E5;} + .st4267{clip-path:url(#SVGID_8532_);fill:#E6E6E6;} + .st4268{clip-path:url(#SVGID_8534_);fill:#E7E7E7;} + .st4269{clip-path:url(#SVGID_8536_);fill:#E8E8E8;} + .st4270{clip-path:url(#SVGID_8538_);fill:#E9E9E9;} + .st4271{clip-path:url(#SVGID_8540_);fill:#EAEAEA;} + .st4272{clip-path:url(#SVGID_8542_);fill:#EBEBEB;} + .st4273{clip-path:url(#SVGID_8544_);fill:#ECECEC;} + .st4274{clip-path:url(#SVGID_8546_);fill:#EDEDED;} + .st4275{clip-path:url(#SVGID_8548_);fill:#EEEEEE;} + .st4276{clip-path:url(#SVGID_8550_);fill:#EFEFEF;} + .st4277{clip-path:url(#SVGID_8552_);fill:#F0F0F0;} + .st4278{clip-path:url(#SVGID_8554_);fill:#F0F0F0;} + .st4279{clip-path:url(#SVGID_8556_);fill:#F1F1F1;} + .st4280{clip-path:url(#SVGID_8558_);fill:#F2F2F2;} + .st4281{clip-path:url(#SVGID_8560_);fill:#F3F3F3;} + .st4282{clip-path:url(#SVGID_8562_);fill:#F4F4F4;} + .st4283{clip-path:url(#SVGID_8564_);fill:#F5F5F5;} + .st4284{clip-path:url(#SVGID_8566_);fill:#F7F7F7;} + .st4285{clip-path:url(#SVGID_8568_);fill:#F8F8F8;} + .st4286{clip-path:url(#SVGID_8570_);fill:#F9F9F9;} + .st4287{clip-path:url(#SVGID_8572_);fill:#FAFAFA;} + .st4288{clip-path:url(#SVGID_8574_);fill:#FBFBFB;} + .st4289{clip-path:url(#SVGID_8576_);fill:#FCFCFC;} + .st4290{clip-path:url(#SVGID_8578_);fill:#FDFDFD;} + .st4291{clip-path:url(#SVGID_8580_);fill:#FFDA07;} + .st4292{clip-path:url(#SVGID_8582_);fill:#C99009;} + .st4293{clip-path:url(#SVGID_8584_);fill:#FFDA07;} + .st4294{clip-path:url(#SVGID_8586_);fill:#C99009;} + .st4295{clip-path:url(#SVGID_8588_);fill:#FFDA07;} + .st4296{clip-path:url(#SVGID_8590_);fill:#C99009;} + .st4297{clip-path:url(#SVGID_8592_);fill:#FFDA07;} + .st4298{clip-path:url(#SVGID_8594_);fill:#C99009;} + .st4299{clip-path:url(#SVGID_8596_);} + .st4300{clip-path:url(#SVGID_8598_);fill:#B8B8B8;} + .st4301{clip-path:url(#SVGID_8600_);fill:#B8B8B8;} + .st4302{clip-path:url(#SVGID_8602_);fill:#B9B9B9;} + .st4303{clip-path:url(#SVGID_8604_);fill:#BABABA;} + .st4304{clip-path:url(#SVGID_8606_);fill:#BBBBBB;} + .st4305{clip-path:url(#SVGID_8608_);fill:#BCBCBC;} + .st4306{clip-path:url(#SVGID_8610_);fill:#BDBDBD;} + .st4307{clip-path:url(#SVGID_8612_);fill:#BEBEBE;} + .st4308{clip-path:url(#SVGID_8614_);fill:#BFBFBF;} + .st4309{clip-path:url(#SVGID_8616_);fill:#C0C0C0;} + .st4310{clip-path:url(#SVGID_8618_);fill:#C1C1C1;} + .st4311{clip-path:url(#SVGID_8620_);fill:#C2C2C2;} + .st4312{clip-path:url(#SVGID_8622_);fill:#C3C3C3;} + .st4313{clip-path:url(#SVGID_8624_);fill:#C4C4C4;} + .st4314{clip-path:url(#SVGID_8626_);fill:#C5C5C5;} + .st4315{clip-path:url(#SVGID_8628_);fill:#C6C6C6;} + .st4316{clip-path:url(#SVGID_8630_);fill:#C7C7C7;} + .st4317{clip-path:url(#SVGID_8632_);fill:#C8C8C8;} + .st4318{clip-path:url(#SVGID_8634_);fill:#C9C9C9;} + .st4319{clip-path:url(#SVGID_8636_);fill:#CACACA;} + .st4320{clip-path:url(#SVGID_8638_);fill:#CBCBCB;} + .st4321{clip-path:url(#SVGID_8640_);fill:#CCCCCC;} + .st4322{clip-path:url(#SVGID_8642_);fill:#CDCDCD;} + .st4323{clip-path:url(#SVGID_8644_);fill:#CECECE;} + .st4324{clip-path:url(#SVGID_8646_);fill:#CFCFCF;} + .st4325{clip-path:url(#SVGID_8648_);fill:#D0D0D0;} + .st4326{clip-path:url(#SVGID_8650_);fill:#D1D1D1;} + .st4327{clip-path:url(#SVGID_8652_);fill:#D2D2D2;} + .st4328{clip-path:url(#SVGID_8654_);fill:#D3D3D3;} + .st4329{clip-path:url(#SVGID_8656_);fill:#D5D5D5;} + .st4330{clip-path:url(#SVGID_8658_);fill:#D6D6D6;} + .st4331{clip-path:url(#SVGID_8660_);fill:#D7D7D7;} + .st4332{clip-path:url(#SVGID_8662_);fill:#D8D8D8;} + .st4333{clip-path:url(#SVGID_8664_);fill:#D9D9D9;} + .st4334{clip-path:url(#SVGID_8666_);fill:#DADADA;} + .st4335{clip-path:url(#SVGID_8668_);fill:#DBDBDB;} + .st4336{clip-path:url(#SVGID_8670_);fill:#DCDCDC;} + .st4337{clip-path:url(#SVGID_8672_);fill:#DDDDDD;} + .st4338{clip-path:url(#SVGID_8674_);fill:#DEDEDE;} + .st4339{clip-path:url(#SVGID_8676_);fill:#DFDFDF;} + .st4340{clip-path:url(#SVGID_8678_);fill:#E0E0E0;} + .st4341{clip-path:url(#SVGID_8680_);fill:#E1E1E1;} + .st4342{clip-path:url(#SVGID_8682_);fill:#E2E2E2;} + .st4343{clip-path:url(#SVGID_8684_);fill:#E3E3E3;} + .st4344{clip-path:url(#SVGID_8686_);fill:#E4E4E4;} + .st4345{clip-path:url(#SVGID_8688_);fill:#E5E5E5;} + .st4346{clip-path:url(#SVGID_8690_);fill:#E6E6E6;} + .st4347{clip-path:url(#SVGID_8692_);fill:#E7E7E7;} + .st4348{clip-path:url(#SVGID_8694_);fill:#E8E8E8;} + .st4349{clip-path:url(#SVGID_8696_);fill:#E9E9E9;} + .st4350{clip-path:url(#SVGID_8698_);fill:#EAEAEA;} + .st4351{clip-path:url(#SVGID_8700_);fill:#EBEBEB;} + .st4352{clip-path:url(#SVGID_8702_);fill:#ECECEC;} + .st4353{clip-path:url(#SVGID_8704_);fill:#EDEDED;} + .st4354{clip-path:url(#SVGID_8706_);fill:#EEEEEE;} + .st4355{clip-path:url(#SVGID_8708_);fill:#EFEFEF;} + .st4356{clip-path:url(#SVGID_8710_);fill:#F0F0F0;} + .st4357{clip-path:url(#SVGID_8712_);fill:#F0F0F0;} + .st4358{clip-path:url(#SVGID_8714_);fill:#F1F1F1;} + .st4359{clip-path:url(#SVGID_8716_);fill:#F2F2F2;} + .st4360{clip-path:url(#SVGID_8718_);fill:#F3F3F3;} + .st4361{clip-path:url(#SVGID_8720_);fill:#F4F4F4;} + .st4362{clip-path:url(#SVGID_8722_);fill:#F5F5F5;} + .st4363{clip-path:url(#SVGID_8724_);fill:#F7F7F7;} + .st4364{clip-path:url(#SVGID_8726_);fill:#F8F8F8;} + .st4365{clip-path:url(#SVGID_8728_);fill:#F9F9F9;} + .st4366{clip-path:url(#SVGID_8730_);fill:#FAFAFA;} + .st4367{clip-path:url(#SVGID_8732_);fill:#FBFBFB;} + .st4368{clip-path:url(#SVGID_8734_);fill:#FCFCFC;} + .st4369{clip-path:url(#SVGID_8736_);fill:#FDFDFD;} + .st4370{clip-path:url(#SVGID_8738_);fill:#FBC71F;} + .st4371{clip-path:url(#SVGID_8740_);} + .st4372{clip-path:url(#SVGID_8742_);fill:#FBC71F;} + .st4373{clip-path:url(#SVGID_8744_);} + .st4374{clip-path:url(#SVGID_8746_);fill:#FBC71F;} + .st4375{clip-path:url(#SVGID_8748_);} + .st4376{clip-path:url(#SVGID_8750_);fill:#FBC71F;} + .st4377{clip-path:url(#SVGID_8752_);} + .st4378{clip-path:url(#SVGID_8754_);fill:#FBC71F;} + .st4379{clip-path:url(#SVGID_8756_);} + .st4380{clip-path:url(#SVGID_8758_);fill:#FBC71F;} + .st4381{clip-path:url(#SVGID_8760_);} + .st4382{clip-path:url(#SVGID_8762_);fill:#FBC71F;} + .st4383{clip-path:url(#SVGID_8764_);} + .st4384{clip-path:url(#SVGID_8766_);fill:#FBC71F;} + .st4385{clip-path:url(#SVGID_8768_);} + .st4386{clip-path:url(#SVGID_8770_);fill:#FBC71F;} + .st4387{clip-path:url(#SVGID_8772_);} + .st4388{clip-path:url(#SVGID_8774_);fill:#FBC71F;} + .st4389{clip-path:url(#SVGID_8776_);} + .st4390{clip-path:url(#SVGID_8778_);fill:#FBC71F;} + .st4391{clip-path:url(#SVGID_8780_);} + .st4392{clip-path:url(#SVGID_8782_);fill:#FBC71F;} + .st4393{clip-path:url(#SVGID_8784_);} + .st4394{clip-path:url(#SVGID_8786_);fill:#FBC71F;} + .st4395{clip-path:url(#SVGID_8788_);} + .st4396{clip-path:url(#SVGID_8790_);fill:#FBC71F;} + .st4397{clip-path:url(#SVGID_8792_);} + .st4398{clip-path:url(#SVGID_8794_);fill:#FBC71F;} + .st4399{clip-path:url(#SVGID_8796_);} + .st4400{clip-path:url(#SVGID_8798_);fill:#FBC71F;} + .st4401{clip-path:url(#SVGID_8800_);} + .st4402{clip-path:url(#SVGID_8802_);fill:#FBC71F;} + .st4403{clip-path:url(#SVGID_8804_);} + .st4404{clip-path:url(#SVGID_8806_);fill:#FBC71F;} + .st4405{clip-path:url(#SVGID_8808_);} + .st4406{clip-path:url(#SVGID_8810_);fill:#FBC71F;} + .st4407{clip-path:url(#SVGID_8812_);} + .st4408{clip-path:url(#SVGID_8814_);fill:#FBC71F;} + .st4409{clip-path:url(#SVGID_8816_);} + .st4410{clip-path:url(#SVGID_8818_);fill:#FBC71F;} + .st4411{clip-path:url(#SVGID_8820_);} + .st4412{clip-path:url(#SVGID_8822_);fill:#FBC71F;} + .st4413{clip-path:url(#SVGID_8824_);} + .st4414{clip-path:url(#SVGID_8826_);fill:none;} + .st4415{clip-path:url(#SVGID_8828_);} + .st4416{clip-path:url(#SVGID_8830_);fill:#FBC71F;} + .st4417{clip-path:url(#SVGID_8832_);} + .st4418{clip-path:url(#SVGID_8834_);fill:#FBC71F;} + .st4419{clip-path:url(#SVGID_8836_);} + .st4420{clip-path:url(#SVGID_8838_);fill:none;} + .st4421{clip-path:url(#SVGID_8840_);} + .st4422{clip-path:url(#SVGID_8842_);fill:none;} + .st4423{clip-path:url(#SVGID_8844_);} + .st4424{clip-path:url(#SVGID_8846_);} + .st4425{clip-path:url(#SVGID_8848_);} + .st4426{clip-path:url(#SVGID_8850_);} + .st4427{clip-path:url(#SVGID_8852_);fill:#81B48D;} + .st4428{clip-path:url(#SVGID_8854_);} + .st4429{clip-path:url(#SVGID_8856_);fill:#FBC71F;} + .st4430{clip-path:url(#SVGID_8858_);} + .st4431{clip-path:url(#SVGID_8860_);} + .st4432{clip-path:url(#SVGID_8862_);} + .st4433{clip-path:url(#SVGID_8864_);} + .st4434{clip-path:url(#SVGID_8866_);fill:#FFFFFF;} + .st4435{clip-path:url(#SVGID_8868_);} + .st4436{clip-path:url(#SVGID_8870_);fill:#FFFFFF;} + .st4437{clip-path:url(#SVGID_8872_);fill:#FFFFFF;} + .st4438{clip-path:url(#SVGID_8874_);fill:#FFFFFF;} + .st4439{clip-path:url(#SVGID_8876_);fill:#FFFFFF;} + .st4440{clip-path:url(#SVGID_8878_);} + .st4441{clip-path:url(#SVGID_8880_);fill:#CE1126;} + .st4442{clip-path:url(#SVGID_8882_);} + .st4443{clip-path:url(#SVGID_8884_);fill:#CE1126;} + .st4444{clip-path:url(#SVGID_8886_);fill:#CE1126;} + .st4445{clip-path:url(#SVGID_8888_);fill:#CE1126;} + .st4446{clip-path:url(#SVGID_8890_);fill:#CE1126;} + .st4447{clip-path:url(#SVGID_8892_);fill:#CE1126;} + .st4448{clip-path:url(#SVGID_8894_);fill:#CE1126;} + .st4449{clip-path:url(#SVGID_8896_);} + .st4450{clip-path:url(#SVGID_8898_);} + .st4451{clip-path:url(#SVGID_8900_);} + .st4452{clip-path:url(#SVGID_8902_);} + .st4453{clip-path:url(#SVGID_8904_);fill:#CE1126;} + .st4454{clip-path:url(#SVGID_8906_);fill:#CE1126;} + .st4455{clip-path:url(#SVGID_8908_);fill:#CE1126;} + .st4456{clip-path:url(#SVGID_8910_);} + .st4457{clip-path:url(#SVGID_8912_);} + .st4458{clip-path:url(#SVGID_8914_);} + .st4459{clip-path:url(#SVGID_8916_);} + .st4460{clip-path:url(#SVGID_8918_);} + .st4461{clip-path:url(#SVGID_8920_);} + .st4462{clip-path:url(#SVGID_8922_);} + .st4463{clip-path:url(#SVGID_8924_);} + .st4464{clip-path:url(#SVGID_8926_);} + .st4465{clip-path:url(#SVGID_8928_);} + .st4466{clip-path:url(#SVGID_8930_);} + .st4467{clip-path:url(#SVGID_8932_);} + .st4468{clip-path:url(#SVGID_8934_);} + .st4469{clip-path:url(#SVGID_8936_);} + .st4470{clip-path:url(#SVGID_8938_);} + .st4471{clip-path:url(#SVGID_8940_);fill:#CE1126;} + .st4472{clip-path:url(#SVGID_8942_);fill:#CE1126;} + .st4473{clip-path:url(#SVGID_8944_);fill:#CE1126;} + .st4474{clip-path:url(#SVGID_8946_);fill:#CE1126;} + .st4475{clip-path:url(#SVGID_8948_);} + .st4476{clip-path:url(#SVGID_8950_);} + .st4477{clip-path:url(#SVGID_8952_);} + .st4478{clip-path:url(#SVGID_8954_);} + .st4479{clip-path:url(#SVGID_8956_);} + .st4480{clip-path:url(#SVGID_8958_);} + .st4481{clip-path:url(#SVGID_8960_);} + .st4482{clip-path:url(#SVGID_8962_);} + .st4483{clip-path:url(#SVGID_8964_);} + .st4484{clip-path:url(#SVGID_8966_);} + .st4485{clip-path:url(#SVGID_8968_);} + .st4486{clip-path:url(#SVGID_8970_);} + .st4487{clip-path:url(#SVGID_8972_);} + .st4488{clip-path:url(#SVGID_8974_);} + .st4489{clip-path:url(#SVGID_8976_);} + .st4490{clip-path:url(#SVGID_8978_);} + .st4491{clip-path:url(#SVGID_8980_);} + .st4492{clip-path:url(#SVGID_8982_);} + .st4493{clip-path:url(#SVGID_8984_);} + .st4494{clip-path:url(#SVGID_8986_);} + .st4495{clip-path:url(#SVGID_8988_);} + .st4496{clip-path:url(#SVGID_8990_);} + .st4497{clip-path:url(#SVGID_8992_);} + .st4498{clip-path:url(#SVGID_8994_);} + .st4499{clip-path:url(#SVGID_8996_);} + .st4500{clip-path:url(#SVGID_8998_);} + .st4501{clip-path:url(#SVGID_9000_);} + .st4502{clip-path:url(#SVGID_9002_);} + .st4503{clip-path:url(#SVGID_9004_);} + .st4504{clip-path:url(#SVGID_9006_);} + .st4505{clip-path:url(#SVGID_9008_);} + .st4506{clip-path:url(#SVGID_9010_);} + .st4507{clip-path:url(#SVGID_9012_);} + .st4508{clip-path:url(#SVGID_9014_);} + .st4509{clip-path:url(#SVGID_9016_);} + .st4510{clip-path:url(#SVGID_9018_);} + .st4511{clip-path:url(#SVGID_9020_);} + .st4512{clip-path:url(#SVGID_9022_);} + .st4513{clip-path:url(#SVGID_9024_);} + .st4514{clip-path:url(#SVGID_9026_);} + .st4515{clip-path:url(#SVGID_9028_);} + .st4516{clip-path:url(#SVGID_9030_);} + .st4517{clip-path:url(#SVGID_9032_);} + .st4518{clip-path:url(#SVGID_9034_);} + .st4519{clip-path:url(#SVGID_9036_);} + .st4520{clip-path:url(#SVGID_9038_);} + .st4521{clip-path:url(#SVGID_9040_);} + .st4522{clip-path:url(#SVGID_9042_);} + .st4523{clip-path:url(#SVGID_9044_);} + .st4524{clip-path:url(#SVGID_9046_);} + .st4525{clip-path:url(#SVGID_9048_);} + .st4526{clip-path:url(#SVGID_9050_);} + .st4527{clip-path:url(#SVGID_9052_);} + .st4528{clip-path:url(#SVGID_9054_);} + .st4529{clip-path:url(#SVGID_9056_);} + .st4530{clip-path:url(#SVGID_9058_);} + .st4531{clip-path:url(#SVGID_9060_);} + .st4532{clip-path:url(#SVGID_9062_);} + .st4533{clip-path:url(#SVGID_9064_);} + .st4534{clip-path:url(#SVGID_9066_);} + .st4535{clip-path:url(#SVGID_9068_);} + .st4536{clip-path:url(#SVGID_9070_);fill:#FFFFFF;} + .st4537{clip-path:url(#SVGID_9072_);} + .st4538{clip-path:url(#SVGID_9074_);fill:#FFFFFF;} + .st4539{clip-path:url(#SVGID_9076_);fill:#FFFFFF;} + .st4540{clip-path:url(#SVGID_9078_);fill:#FFFFFF;} + .st4541{clip-path:url(#SVGID_9080_);fill:#FFFFFF;} + .st4542{clip-path:url(#SVGID_9082_);fill:#FFFFFF;} + .st4543{clip-path:url(#SVGID_9084_);fill:#FFFFFF;} + .st4544{clip-path:url(#SVGID_9086_);} + .st4545{clip-path:url(#SVGID_9088_);fill:#FFFFFF;} + .st4546{clip-path:url(#SVGID_9090_);fill:#FFFFFF;} + .st4547{clip-path:url(#SVGID_9092_);fill:#FFFFFF;} + .st4548{clip-path:url(#SVGID_9094_);fill:#FFFFFF;} + .st4549{clip-path:url(#SVGID_9096_);fill:#FFFFFF;} + .st4550{clip-path:url(#SVGID_9098_);fill:#FFFFFF;} + .st4551{clip-path:url(#SVGID_9100_);fill:#FFFFFF;} + .st4552{clip-path:url(#SVGID_9102_);} + .st4553{clip-path:url(#SVGID_9104_);fill:#252A37;} + .st4554{clip-path:url(#SVGID_9106_);} + .st4555{clip-path:url(#SVGID_9108_);fill:#FFFFFF;} + .st4556{clip-path:url(#SVGID_9110_);fill:#FFFFFF;} + .st4557{clip-path:url(#SVGID_9112_);fill:#FFFFFF;} + .st4558{clip-path:url(#SVGID_9114_);fill:#FFFFFF;} + .st4559{clip-path:url(#SVGID_9116_);fill:#FFFFFF;} + .st4560{clip-path:url(#SVGID_9118_);fill:#FFFFFF;} + .st4561{clip-path:url(#SVGID_9120_);fill:#FFFFFF;} + .st4562{clip-path:url(#SVGID_9122_);fill:#FFFFFF;} + .st4563{clip-path:url(#SVGID_9124_);fill:#FFFFFF;} + .st4564{clip-path:url(#SVGID_9126_);} + .st4565{clip-path:url(#SVGID_9128_);} + .st4566{clip-path:url(#SVGID_9130_);fill:#FFFFFF;} + .st4567{clip-path:url(#SVGID_9132_);} + .st4568{clip-path:url(#SVGID_9134_);} + .st4569{clip-path:url(#SVGID_9136_);} + .st4570{fill:#FFFFFF;} + .st4571{font-family:'Titillium Web', sans-serif;} + .st4572{font-size:12px;} +</style> +<title>170x60px_AU</title> +<g> + <path class="st0" d="M155.8,10.3l0.5-3.3h-1.8l0.1-0.8h4.5L159,7h-1.8l-0.5,3.3H155.8z M165.5,10.3l0.3-1.9c0.1-0.6,0.1-1,0.2-1.3 + c-0.2,0.3-0.4,0.6-0.8,1.1l-1.5,2.1h-1l-0.9-2.1c-0.2-0.5-0.3-0.8-0.5-1.1c-0.1,0.4-0.1,0.7-0.2,1.3l-0.3,1.9h-1l0.6-4.1h1.4 + l1.4,3.3l2.4-3.3h1.4l-0.6,4.1C166.4,10.3,165.5,10.3,165.5,10.3z"/> + <polygon class="st0" points="75.4,28.9 76.7,19.4 59.2,19.4 57.9,28.9 52.3,28.9 55.4,6.4 61.1,6.4 59.9,15 77.3,15 78.5,6.4 + 84.2,6.4 81,28.9 "/> + <polygon class="st0" points="86.9,28.9 90,6.4 114.1,6.4 113.4,11 94.6,11 94.1,15 112.5,15 111.9,19.2 93.5,19.2 92.8,24.4 + 111.6,24.4 111,28.9 "/> + <polygon class="st0" points="141.2,28.9 133.5,20.2 123.4,28.9 116.1,28.9 130.5,17.1 119.8,6.2 127,6.2 134.2,14.1 144,6.2 + 151,6.2 137.5,17.2 148.3,28.9 "/> + <path class="st1" d="M21.9,44.4c-1.2,0-2.4-0.3-3.4-0.9L5.7,36.1c-2.1-1.2-3.4-3.5-3.4-6V15.3c0-2.5,1.3-4.7,3.4-6l12.8-7.4 + c2.1-1.2,4.8-1.2,6.9,0l12.8,7.4c2.1,1.2,3.4,3.5,3.4,6v14.8c0,2.5-1.3,4.7-3.4,6l-12.8,7.4C24.3,44.1,23.2,44.4,21.9,44.4"/> + <g> + <g> + <defs> + <path id="SVGID_1_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3l8.8-5.1 + c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2_"> + <use xlink:href="#SVGID_1_" style="overflow:visible;"/> + </clipPath> + <polyline class="st2" points="7.9,7.5 36.1,7.5 36.1,38.3 7.9,38.3 7.9,7.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3l8.8-5.1 + c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4_"> + <use xlink:href="#SVGID_3_" style="overflow:visible;"/> + </clipPath> + <g class="st3"> + <g> + <defs> + <path id="SVGID_5_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_6_"> + <use xlink:href="#SVGID_5_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4" points="29.4,16.6 29.2,17.1 29.1,17.1 29,17 29,16.6 "/> + </g> + <g> + <defs> + <path id="SVGID_7_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_8_"> + <use xlink:href="#SVGID_7_" style="overflow:visible;"/> + </clipPath> + <path class="st5" d="M29.4,16.6l-0.2,0.5L29.4,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_9_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_10_"> + <use xlink:href="#SVGID_9_" style="overflow:visible;"/> + </clipPath> + <path class="st6" d="M29.4,16.6l-0.2,0.5L29.4,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_11_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_12_"> + <use xlink:href="#SVGID_11_" style="overflow:visible;"/> + </clipPath> + <polygon class="st7" points="29.5,16.6 29.2,17.1 29.4,16.6 "/> + </g> + <g> + <defs> + <path id="SVGID_13_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_14_"> + <use xlink:href="#SVGID_13_" style="overflow:visible;"/> + </clipPath> + <path class="st8" d="M29.5,16.6l-0.3,0.5L29.5,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_15_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_16_"> + <use xlink:href="#SVGID_15_" style="overflow:visible;"/> + </clipPath> + <path class="st9" d="M29.5,16.6l-0.3,0.5L29.5,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_17_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_18_"> + <use xlink:href="#SVGID_17_" style="overflow:visible;"/> + </clipPath> + <path class="st10" d="M29.5,16.6l-0.3,0.5L29.5,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_19_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_20_"> + <use xlink:href="#SVGID_19_" style="overflow:visible;"/> + </clipPath> + <path class="st11" d="M29.5,16.6l-0.3,0.5L29.5,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_21_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_22_"> + <use xlink:href="#SVGID_21_" style="overflow:visible;"/> + </clipPath> + <polygon class="st12" points="29.5,16.6 29.3,17.1 29.2,17.1 "/> + </g> + <g> + <defs> + <path id="SVGID_23_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_24_"> + <use xlink:href="#SVGID_23_" style="overflow:visible;"/> + </clipPath> + <path class="st13" d="M29.5,16.6l-0.2,0.5L29.5,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_25_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_26_"> + <use xlink:href="#SVGID_25_" style="overflow:visible;"/> + </clipPath> + <path class="st14" d="M29.5,16.6l-0.2,0.5L29.5,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_27_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_28_"> + <use xlink:href="#SVGID_27_" style="overflow:visible;"/> + </clipPath> + <path class="st15" d="M29.5,16.6l-0.2,0.5L29.5,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_29_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_30_"> + <use xlink:href="#SVGID_29_" style="overflow:visible;"/> + </clipPath> + <path class="st16" d="M29.5,16.6l-0.2,0.5L29.5,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_31_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_32_"> + <use xlink:href="#SVGID_31_" style="overflow:visible;"/> + </clipPath> + <path class="st17" d="M29.5,16.6l-0.2,0.5L29.5,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_33_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_34_"> + <use xlink:href="#SVGID_33_" style="overflow:visible;"/> + </clipPath> + <path class="st18" d="M29.5,16.6l-0.2,0.5L29.5,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_35_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_36_"> + <use xlink:href="#SVGID_35_" style="overflow:visible;"/> + </clipPath> + <path class="st19" d="M29.5,16.6l-0.2,0.5L29.5,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_37_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_38_"> + <use xlink:href="#SVGID_37_" style="overflow:visible;"/> + </clipPath> + <path class="st20" d="M29.5,16.6l-0.2,0.5L29.5,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_39_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_40_"> + <use xlink:href="#SVGID_39_" style="overflow:visible;"/> + </clipPath> + <path class="st21" d="M29.5,16.6l-0.2,0.5L29.5,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_41_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_42_"> + <use xlink:href="#SVGID_41_" style="overflow:visible;"/> + </clipPath> + <path class="st22" d="M29.5,16.6l-0.2,0.5L29.5,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_43_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_44_"> + <use xlink:href="#SVGID_43_" style="overflow:visible;"/> + </clipPath> + <path class="st23" d="M29.5,16.6l-0.2,0.5L29.5,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_45_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_46_"> + <use xlink:href="#SVGID_45_" style="overflow:visible;"/> + </clipPath> + <polygon class="st24" points="29.6,16.6 29.3,17.1 29.5,16.6 "/> + </g> + <g> + <defs> + <path id="SVGID_47_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_48_"> + <use xlink:href="#SVGID_47_" style="overflow:visible;"/> + </clipPath> + <path class="st25" d="M29.6,16.6l-0.3,0.5L29.6,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_49_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_50_"> + <use xlink:href="#SVGID_49_" style="overflow:visible;"/> + </clipPath> + <path class="st26" d="M29.6,16.6l-0.3,0.5L29.6,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_51_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_52_"> + <use xlink:href="#SVGID_51_" style="overflow:visible;"/> + </clipPath> + <path class="st27" d="M29.6,16.6l-0.3,0.5L29.6,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_53_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_54_"> + <use xlink:href="#SVGID_53_" style="overflow:visible;"/> + </clipPath> + <polygon class="st28" points="29.6,16.6 29.4,17.1 29.3,17.1 "/> + </g> + <g> + <defs> + <path id="SVGID_55_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_56_"> + <use xlink:href="#SVGID_55_" style="overflow:visible;"/> + </clipPath> + <path class="st29" d="M29.6,16.6l-0.2,0.5L29.6,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_57_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_58_"> + <use xlink:href="#SVGID_57_" style="overflow:visible;"/> + </clipPath> + <path class="st30" d="M29.6,16.6l-0.2,0.5L29.6,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_59_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_60_"> + <use xlink:href="#SVGID_59_" style="overflow:visible;"/> + </clipPath> + <path class="st31" d="M29.6,16.6l-0.2,0.5L29.6,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_61_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_62_"> + <use xlink:href="#SVGID_61_" style="overflow:visible;"/> + </clipPath> + <path class="st32" d="M29.6,16.6l-0.2,0.5L29.6,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_63_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_64_"> + <use xlink:href="#SVGID_63_" style="overflow:visible;"/> + </clipPath> + <path class="st33" d="M29.6,16.6l-0.2,0.5L29.6,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_65_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_66_"> + <use xlink:href="#SVGID_65_" style="overflow:visible;"/> + </clipPath> + <path class="st34" d="M29.6,16.6l-0.2,0.5L29.6,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_67_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_68_"> + <use xlink:href="#SVGID_67_" style="overflow:visible;"/> + </clipPath> + <path class="st35" d="M29.6,16.6l-0.2,0.5L29.6,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_69_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_70_"> + <use xlink:href="#SVGID_69_" style="overflow:visible;"/> + </clipPath> + <path class="st36" d="M29.6,16.6l-0.2,0.5L29.6,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_71_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_72_"> + <use xlink:href="#SVGID_71_" style="overflow:visible;"/> + </clipPath> + <path class="st37" d="M29.6,16.6l-0.2,0.5L29.6,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_73_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_74_"> + <use xlink:href="#SVGID_73_" style="overflow:visible;"/> + </clipPath> + <path class="st38" d="M29.6,16.6l-0.2,0.5L29.6,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_75_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_76_"> + <use xlink:href="#SVGID_75_" style="overflow:visible;"/> + </clipPath> + <path class="st39" d="M29.6,16.6l-0.2,0.5L29.6,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_77_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_78_"> + <use xlink:href="#SVGID_77_" style="overflow:visible;"/> + </clipPath> + <polygon class="st40" points="29.7,16.6 29.4,17.1 29.6,16.6 "/> + </g> + <g> + <defs> + <path id="SVGID_79_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_80_"> + <use xlink:href="#SVGID_79_" style="overflow:visible;"/> + </clipPath> + <path class="st41" d="M29.7,16.6l-0.3,0.5L29.7,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_81_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_82_"> + <use xlink:href="#SVGID_81_" style="overflow:visible;"/> + </clipPath> + <path class="st42" d="M29.7,16.6l-0.3,0.5L29.7,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_83_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_84_"> + <use xlink:href="#SVGID_83_" style="overflow:visible;"/> + </clipPath> + <path class="st43" d="M29.7,16.6l-0.3,0.5L29.7,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_85_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_86_"> + <use xlink:href="#SVGID_85_" style="overflow:visible;"/> + </clipPath> + <path class="st44" d="M29.7,16.6l-0.3,0.5L29.7,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_87_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_88_"> + <use xlink:href="#SVGID_87_" style="overflow:visible;"/> + </clipPath> + <polygon class="st45" points="29.7,16.6 29.5,17.1 29.4,17.1 "/> + </g> + <g> + <defs> + <path id="SVGID_89_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_90_"> + <use xlink:href="#SVGID_89_" style="overflow:visible;"/> + </clipPath> + <path class="st46" d="M29.7,16.6l-0.2,0.5L29.7,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_91_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_92_"> + <use xlink:href="#SVGID_91_" style="overflow:visible;"/> + </clipPath> + <path class="st47" d="M29.7,16.6l-0.2,0.5L29.7,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_93_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_94_"> + <use xlink:href="#SVGID_93_" style="overflow:visible;"/> + </clipPath> + <path class="st48" d="M29.7,16.6l-0.2,0.5L29.7,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_95_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_96_"> + <use xlink:href="#SVGID_95_" style="overflow:visible;"/> + </clipPath> + <path class="st49" d="M29.7,16.6l-0.2,0.5L29.7,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_97_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_98_"> + <use xlink:href="#SVGID_97_" style="overflow:visible;"/> + </clipPath> + <path class="st50" d="M29.7,16.6l-0.2,0.5L29.7,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_99_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_100_"> + <use xlink:href="#SVGID_99_" style="overflow:visible;"/> + </clipPath> + <path class="st51" d="M29.7,16.6l-0.2,0.5L29.7,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_101_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_102_"> + <use xlink:href="#SVGID_101_" style="overflow:visible;"/> + </clipPath> + <path class="st52" d="M29.7,16.6l-0.2,0.5L29.7,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_103_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_104_"> + <use xlink:href="#SVGID_103_" style="overflow:visible;"/> + </clipPath> + <path class="st53" d="M29.7,16.6l-0.2,0.5L29.7,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_105_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_106_"> + <use xlink:href="#SVGID_105_" style="overflow:visible;"/> + </clipPath> + <path class="st54" d="M29.7,16.6l-0.2,0.5L29.7,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_107_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_108_"> + <use xlink:href="#SVGID_107_" style="overflow:visible;"/> + </clipPath> + <path class="st55" d="M29.7,16.6l-0.2,0.5L29.7,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_109_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_110_"> + <use xlink:href="#SVGID_109_" style="overflow:visible;"/> + </clipPath> + <path class="st56" d="M29.7,16.6l-0.2,0.5L29.7,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_111_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_112_"> + <use xlink:href="#SVGID_111_" style="overflow:visible;"/> + </clipPath> + <polygon class="st57" points="29.8,16.6 29.5,17.1 29.7,16.6 "/> + </g> + <g> + <defs> + <path id="SVGID_113_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_114_"> + <use xlink:href="#SVGID_113_" style="overflow:visible;"/> + </clipPath> + <path class="st58" d="M29.8,16.6l-0.3,0.5L29.8,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_115_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_116_"> + <use xlink:href="#SVGID_115_" style="overflow:visible;"/> + </clipPath> + <path class="st59" d="M29.8,16.6l-0.3,0.5L29.8,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_117_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_118_"> + <use xlink:href="#SVGID_117_" style="overflow:visible;"/> + </clipPath> + <path class="st60" d="M29.8,16.6l-0.3,0.5L29.8,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_119_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_120_"> + <use xlink:href="#SVGID_119_" style="overflow:visible;"/> + </clipPath> + <path class="st61" d="M29.8,16.6l-0.3,0.5L29.8,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_121_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_122_"> + <use xlink:href="#SVGID_121_" style="overflow:visible;"/> + </clipPath> + <polygon class="st62" points="29.8,16.6 29.6,17.1 29.5,17.1 "/> + </g> + <g> + <defs> + <path id="SVGID_123_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_124_"> + <use xlink:href="#SVGID_123_" style="overflow:visible;"/> + </clipPath> + <path class="st63" d="M29.8,16.6l-0.2,0.5L29.8,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_125_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_126_"> + <use xlink:href="#SVGID_125_" style="overflow:visible;"/> + </clipPath> + <path class="st64" d="M29.8,16.6l-0.2,0.5L29.8,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_127_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_128_"> + <use xlink:href="#SVGID_127_" style="overflow:visible;"/> + </clipPath> + <path class="st65" d="M29.8,16.6l-0.2,0.5L29.8,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_129_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_130_"> + <use xlink:href="#SVGID_129_" style="overflow:visible;"/> + </clipPath> + <path class="st66" d="M29.8,16.6l-0.2,0.5L29.8,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_131_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_132_"> + <use xlink:href="#SVGID_131_" style="overflow:visible;"/> + </clipPath> + <path class="st67" d="M29.8,16.6l-0.2,0.5L29.8,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_133_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_134_"> + <use xlink:href="#SVGID_133_" style="overflow:visible;"/> + </clipPath> + <path class="st68" d="M29.8,16.6l-0.2,0.5L29.8,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_135_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_136_"> + <use xlink:href="#SVGID_135_" style="overflow:visible;"/> + </clipPath> + <path class="st69" d="M29.8,16.6l-0.2,0.5L29.8,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_137_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_138_"> + <use xlink:href="#SVGID_137_" style="overflow:visible;"/> + </clipPath> + <path class="st70" d="M29.8,16.6l-0.2,0.5L29.8,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_139_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_140_"> + <use xlink:href="#SVGID_139_" style="overflow:visible;"/> + </clipPath> + <path class="st71" d="M29.8,16.6l-0.2,0.5L29.8,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_141_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_142_"> + <use xlink:href="#SVGID_141_" style="overflow:visible;"/> + </clipPath> + <path class="st72" d="M29.8,16.6l-0.2,0.5L29.8,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_143_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_144_"> + <use xlink:href="#SVGID_143_" style="overflow:visible;"/> + </clipPath> + <polygon class="st73" points="29.9,16.6 29.6,17.1 29.8,16.6 "/> + </g> + <g> + <defs> + <path id="SVGID_145_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_146_"> + <use xlink:href="#SVGID_145_" style="overflow:visible;"/> + </clipPath> + <path class="st74" d="M29.9,16.6l-0.3,0.5L29.9,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_147_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_148_"> + <use xlink:href="#SVGID_147_" style="overflow:visible;"/> + </clipPath> + <path class="st75" d="M29.9,16.6l-0.3,0.5L29.9,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_149_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_150_"> + <use xlink:href="#SVGID_149_" style="overflow:visible;"/> + </clipPath> + <path class="st76" d="M29.9,16.6l-0.3,0.5L29.9,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_151_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_152_"> + <use xlink:href="#SVGID_151_" style="overflow:visible;"/> + </clipPath> + <path class="st77" d="M29.9,16.6l-0.3,0.5L29.9,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_153_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_154_"> + <use xlink:href="#SVGID_153_" style="overflow:visible;"/> + </clipPath> + <polygon class="st78" points="29.9,16.6 29.7,17.1 29.6,17.1 "/> + </g> + <g> + <defs> + <path id="SVGID_155_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_156_"> + <use xlink:href="#SVGID_155_" style="overflow:visible;"/> + </clipPath> + <path class="st79" d="M29.9,16.6l-0.2,0.5L29.9,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_157_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_158_"> + <use xlink:href="#SVGID_157_" style="overflow:visible;"/> + </clipPath> + <path class="st80" d="M29.9,16.6l-0.2,0.5L29.9,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_159_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_160_"> + <use xlink:href="#SVGID_159_" style="overflow:visible;"/> + </clipPath> + <path class="st81" d="M29.9,16.6l-0.2,0.5L29.9,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_161_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_162_"> + <use xlink:href="#SVGID_161_" style="overflow:visible;"/> + </clipPath> + <path class="st82" d="M29.9,16.6l-0.2,0.5L29.9,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_163_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_164_"> + <use xlink:href="#SVGID_163_" style="overflow:visible;"/> + </clipPath> + <path class="st83" d="M29.9,16.6l-0.2,0.5L29.9,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_165_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_166_"> + <use xlink:href="#SVGID_165_" style="overflow:visible;"/> + </clipPath> + <path class="st84" d="M29.9,16.6l-0.2,0.5L29.9,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_167_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_168_"> + <use xlink:href="#SVGID_167_" style="overflow:visible;"/> + </clipPath> + <path class="st85" d="M29.9,16.6l-0.2,0.5L29.9,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_169_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_170_"> + <use xlink:href="#SVGID_169_" style="overflow:visible;"/> + </clipPath> + <path class="st86" d="M29.9,16.6l-0.2,0.5L29.9,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_171_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_172_"> + <use xlink:href="#SVGID_171_" style="overflow:visible;"/> + </clipPath> + <path class="st87" d="M29.9,16.6l-0.2,0.5L29.9,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_173_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_174_"> + <use xlink:href="#SVGID_173_" style="overflow:visible;"/> + </clipPath> + <path class="st88" d="M29.9,16.6l-0.2,0.5L29.9,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_175_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_176_"> + <use xlink:href="#SVGID_175_" style="overflow:visible;"/> + </clipPath> + <path class="st89" d="M29.9,16.6l-0.2,0.5L29.9,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_177_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_178_"> + <use xlink:href="#SVGID_177_" style="overflow:visible;"/> + </clipPath> + <polygon class="st90" points="30,16.6 29.7,17.1 29.9,16.6 "/> + </g> + <g> + <defs> + <path id="SVGID_179_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_180_"> + <use xlink:href="#SVGID_179_" style="overflow:visible;"/> + </clipPath> + <path class="st91" d="M30,16.6l-0.3,0.5L30,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_181_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_182_"> + <use xlink:href="#SVGID_181_" style="overflow:visible;"/> + </clipPath> + <path class="st92" d="M30,16.6l-0.3,0.5L30,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_183_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_184_"> + <use xlink:href="#SVGID_183_" style="overflow:visible;"/> + </clipPath> + <path class="st93" d="M30,16.6l-0.3,0.5L30,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_185_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_186_"> + <use xlink:href="#SVGID_185_" style="overflow:visible;"/> + </clipPath> + <polygon class="st94" points="30,16.6 29.8,17.1 29.7,17.1 "/> + </g> + <g> + <defs> + <path id="SVGID_187_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_188_"> + <use xlink:href="#SVGID_187_" style="overflow:visible;"/> + </clipPath> + <path class="st95" d="M30,16.6l-0.2,0.5L30,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_189_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_190_"> + <use xlink:href="#SVGID_189_" style="overflow:visible;"/> + </clipPath> + <path class="st96" d="M30,16.6l-0.2,0.5L30,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_191_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_192_"> + <use xlink:href="#SVGID_191_" style="overflow:visible;"/> + </clipPath> + <path class="st97" d="M30,16.6l-0.2,0.5L30,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_193_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_194_"> + <use xlink:href="#SVGID_193_" style="overflow:visible;"/> + </clipPath> + <path class="st98" d="M30,16.6l-0.2,0.5L30,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_195_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_196_"> + <use xlink:href="#SVGID_195_" style="overflow:visible;"/> + </clipPath> + <path class="st99" d="M30,16.6l-0.2,0.5L30,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_197_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_198_"> + <use xlink:href="#SVGID_197_" style="overflow:visible;"/> + </clipPath> + <polygon class="st100" points="30,16.7 29.8,17.1 30,16.6 "/> + </g> + <g> + <defs> + <path id="SVGID_199_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_200_"> + <use xlink:href="#SVGID_199_" style="overflow:visible;"/> + </clipPath> + <path class="st101" d="M30,16.7l-0.2,0.4L30,16.7z"/> + </g> + <g> + <defs> + <path id="SVGID_201_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_202_"> + <use xlink:href="#SVGID_201_" style="overflow:visible;"/> + </clipPath> + <path class="st102" d="M30,16.7l-0.2,0.4L30,16.7z"/> + </g> + <g> + <defs> + <path id="SVGID_203_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_204_"> + <use xlink:href="#SVGID_203_" style="overflow:visible;"/> + </clipPath> + <path class="st103" d="M30,16.7l-0.2,0.4L30,16.7z"/> + </g> + <g> + <defs> + <path id="SVGID_205_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_206_"> + <use xlink:href="#SVGID_205_" style="overflow:visible;"/> + </clipPath> + <path class="st104" d="M30,16.7l-0.2,0.4L30,16.7z"/> + </g> + <g> + <defs> + <path id="SVGID_207_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_208_"> + <use xlink:href="#SVGID_207_" style="overflow:visible;"/> + </clipPath> + <path class="st105" d="M30,16.7l-0.2,0.4L30,16.7z"/> + </g> + <g> + <defs> + <path id="SVGID_209_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_210_"> + <use xlink:href="#SVGID_209_" style="overflow:visible;"/> + </clipPath> + <path class="st106" d="M30,16.7l-0.2,0.4L30,16.7z"/> + </g> + <g> + <defs> + <path id="SVGID_211_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_212_"> + <use xlink:href="#SVGID_211_" style="overflow:visible;"/> + </clipPath> + <path class="st107" d="M30,16.7l-0.2,0.4L30,16.7z"/> + </g> + <g> + <defs> + <path id="SVGID_213_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_214_"> + <use xlink:href="#SVGID_213_" style="overflow:visible;"/> + </clipPath> + <polygon class="st108" points="30,16.8 29.8,17.1 30,16.7 "/> + </g> + <g> + <defs> + <path id="SVGID_215_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_216_"> + <use xlink:href="#SVGID_215_" style="overflow:visible;"/> + </clipPath> + <path class="st109" d="M30,16.8l-0.2,0.3L30,16.8z"/> + </g> + <g> + <defs> + <path id="SVGID_217_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_218_"> + <use xlink:href="#SVGID_217_" style="overflow:visible;"/> + </clipPath> + <path class="st110" d="M30,16.8l-0.2,0.3L30,16.8z"/> + </g> + <g> + <defs> + <path id="SVGID_219_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_220_"> + <use xlink:href="#SVGID_219_" style="overflow:visible;"/> + </clipPath> + <polygon class="st111" points="30,16.8 29.9,17.1 29.8,17.1 "/> + </g> + <g> + <defs> + <path id="SVGID_221_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_222_"> + <use xlink:href="#SVGID_221_" style="overflow:visible;"/> + </clipPath> + <path class="st112" d="M30,16.8l-0.1,0.3L30,16.8z"/> + </g> + <g> + <defs> + <path id="SVGID_223_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_224_"> + <use xlink:href="#SVGID_223_" style="overflow:visible;"/> + </clipPath> + <path class="st113" d="M30,16.8l-0.1,0.3L30,16.8z"/> + </g> + <g> + <defs> + <path id="SVGID_225_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_226_"> + <use xlink:href="#SVGID_225_" style="overflow:visible;"/> + </clipPath> + <path class="st114" d="M30,16.8l-0.1,0.3L30,16.8z"/> + </g> + <g> + <defs> + <path id="SVGID_227_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_228_"> + <use xlink:href="#SVGID_227_" style="overflow:visible;"/> + </clipPath> + <polygon class="st115" points="30,16.9 29.9,17.1 30,16.8 "/> + </g> + <g> + <defs> + <path id="SVGID_229_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_230_"> + <use xlink:href="#SVGID_229_" style="overflow:visible;"/> + </clipPath> + <path class="st116" d="M30,16.9l-0.1,0.2L30,16.9z"/> + </g> + <g> + <defs> + <path id="SVGID_231_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_232_"> + <use xlink:href="#SVGID_231_" style="overflow:visible;"/> + </clipPath> + <path class="st117" d="M30,16.9l-0.1,0.2L30,16.9z"/> + </g> + <g> + <defs> + <path id="SVGID_233_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_234_"> + <use xlink:href="#SVGID_233_" style="overflow:visible;"/> + </clipPath> + <path class="st118" d="M30,16.9l-0.1,0.2L30,16.9z"/> + </g> + <g> + <defs> + <path id="SVGID_235_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_236_"> + <use xlink:href="#SVGID_235_" style="overflow:visible;"/> + </clipPath> + <path class="st119" d="M30,16.9l-0.1,0.2L30,16.9z"/> + </g> + <g> + <defs> + <path id="SVGID_237_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_238_"> + <use xlink:href="#SVGID_237_" style="overflow:visible;"/> + </clipPath> + <path class="st120" d="M30,16.9l-0.1,0.2L30,16.9z"/> + </g> + <g> + <defs> + <path id="SVGID_239_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_240_"> + <use xlink:href="#SVGID_239_" style="overflow:visible;"/> + </clipPath> + <path class="st121" d="M30,16.9l-0.1,0.2L30,16.9z"/> + </g> + <g> + <defs> + <path id="SVGID_241_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_242_"> + <use xlink:href="#SVGID_241_" style="overflow:visible;"/> + </clipPath> + <path class="st122" d="M30,16.9l-0.1,0.2L30,16.9z"/> + </g> + <g> + <defs> + <path id="SVGID_243_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_244_"> + <use xlink:href="#SVGID_243_" style="overflow:visible;"/> + </clipPath> + <polygon class="st123" points="30,17 29.9,17.1 30,16.9 "/> + </g> + <g> + <defs> + <path id="SVGID_245_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_246_"> + <use xlink:href="#SVGID_245_" style="overflow:visible;"/> + </clipPath> + <path class="st124" d="M30,17l-0.1,0.1L30,17z"/> + </g> + <g> + <defs> + <path id="SVGID_247_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_248_"> + <use xlink:href="#SVGID_247_" style="overflow:visible;"/> + </clipPath> + <path class="st125" d="M30,17l-0.1,0.1L30,17z"/> + </g> + <g> + <defs> + <path id="SVGID_249_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_250_"> + <use xlink:href="#SVGID_249_" style="overflow:visible;"/> + </clipPath> + <path class="st126" d="M30,17l-0.1,0.1L30,17z"/> + </g> + <g> + <defs> + <path id="SVGID_251_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_252_"> + <use xlink:href="#SVGID_251_" style="overflow:visible;"/> + </clipPath> + <path class="st127" d="M30,17l-0.1,0.1L30,17z"/> + </g> + <g> + <defs> + <path id="SVGID_253_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_254_"> + <use xlink:href="#SVGID_253_" style="overflow:visible;"/> + </clipPath> + <polygon class="st128" points="30,17 30,17.1 29.9,17.1 "/> + </g> + <g> + <defs> + <path id="SVGID_255_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_256_"> + <use xlink:href="#SVGID_255_" style="overflow:visible;"/> + </clipPath> + <path class="st129" d="M30,17v0.1V17z"/> + </g> + <g> + <defs> + <path id="SVGID_257_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_258_"> + <use xlink:href="#SVGID_257_" style="overflow:visible;"/> + </clipPath> + <path class="st130" d="M30,17v0.1V17z"/> + </g> + <g> + <defs> + <path id="SVGID_259_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_260_"> + <use xlink:href="#SVGID_259_" style="overflow:visible;"/> + </clipPath> + <polygon class="st131" points="30,17.1 30,17.1 30,17 "/> + </g> + <g> + <defs> + <path id="SVGID_261_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_262_"> + <use xlink:href="#SVGID_261_" style="overflow:visible;"/> + </clipPath> + <path class="st132" d="M30,17.1L30,17.1z"/> + </g> + <g> + <defs> + <path id="SVGID_263_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_264_"> + <use xlink:href="#SVGID_263_" style="overflow:visible;"/> + </clipPath> + <path class="st133" d="M30,17.1L30,17.1z"/> + </g> + <g> + <defs> + <path id="SVGID_265_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_266_"> + <use xlink:href="#SVGID_265_" style="overflow:visible;"/> + </clipPath> + <path class="st134" d="M30,17.1L30,17.1z"/> + </g> + <g> + <defs> + <path id="SVGID_267_" d="M30,17.1c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,16.9,30,17,30,17.1"/> + </defs> + <clipPath id="SVGID_268_"> + <use xlink:href="#SVGID_267_" style="overflow:visible;"/> + </clipPath> + <path class="st135" d="M30,17.1L30,17.1z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_269_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_270_"> + <use xlink:href="#SVGID_269_" style="overflow:visible;"/> + </clipPath> + <path class="st136" d="M30,17.1L30,17.1c-0.2-0.1-0.3-0.1-0.5-0.2c-0.1,0-0.3-0.1-0.5-0.1c0.1-0.1,0.2-0.1,0.4-0.1 + c0.1,0,0.2-0.1,0.3-0.1h0.1c0.1,0.1,0.1,0.2,0.2,0.3C30,17,30,17,30,17.1z M29.7,16.6c-0.1,0-0.2,0-0.3,0.1 + c-0.1,0-0.3,0.1-0.4,0.1c0.2,0,0.3,0.1,0.5,0.1s0.3,0.1,0.4,0.2c0-0.1,0-0.1,0-0.2C29.9,16.8,29.8,16.7,29.7,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_271_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_272_"> + <use xlink:href="#SVGID_271_" style="overflow:visible;"/> + </clipPath> + <g class="st137"> + <g> + <defs> + <path id="SVGID_273_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_274_"> + <use xlink:href="#SVGID_273_" style="overflow:visible;"/> + </clipPath> + <rect x="30.4" y="33.3" class="st138" width="0.4" height="0.4"/> + </g> + <g> + <defs> + <path id="SVGID_275_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_276_"> + <use xlink:href="#SVGID_275_" style="overflow:visible;"/> + </clipPath> + <path class="st139" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_277_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_278_"> + <use xlink:href="#SVGID_277_" style="overflow:visible;"/> + </clipPath> + <path class="st140" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_279_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_280_"> + <use xlink:href="#SVGID_279_" style="overflow:visible;"/> + </clipPath> + <path class="st141" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_281_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_282_"> + <use xlink:href="#SVGID_281_" style="overflow:visible;"/> + </clipPath> + <path class="st142" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_283_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_284_"> + <use xlink:href="#SVGID_283_" style="overflow:visible;"/> + </clipPath> + <path class="st143" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_285_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_286_"> + <use xlink:href="#SVGID_285_" style="overflow:visible;"/> + </clipPath> + <path class="st144" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_287_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_288_"> + <use xlink:href="#SVGID_287_" style="overflow:visible;"/> + </clipPath> + <path class="st145" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_289_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_290_"> + <use xlink:href="#SVGID_289_" style="overflow:visible;"/> + </clipPath> + <path class="st146" d="M30.7,33.4c0.1,0,0.2,0.1,0.2,0.2c0,0.1-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.6,33.4,30.7,33.4z"/> + </g> + <g> + <defs> + <path id="SVGID_291_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_292_"> + <use xlink:href="#SVGID_291_" style="overflow:visible;"/> + </clipPath> + <path class="st147" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_293_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_294_"> + <use xlink:href="#SVGID_293_" style="overflow:visible;"/> + </clipPath> + <path class="st148" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_295_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_296_"> + <use xlink:href="#SVGID_295_" style="overflow:visible;"/> + </clipPath> + <path class="st149" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_297_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_298_"> + <use xlink:href="#SVGID_297_" style="overflow:visible;"/> + </clipPath> + <path class="st150" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_299_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_300_"> + <use xlink:href="#SVGID_299_" style="overflow:visible;"/> + </clipPath> + <path class="st151" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_301_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_302_"> + <use xlink:href="#SVGID_301_" style="overflow:visible;"/> + </clipPath> + <path class="st152" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_303_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_304_"> + <use xlink:href="#SVGID_303_" style="overflow:visible;"/> + </clipPath> + <path class="st153" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_305_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_306_"> + <use xlink:href="#SVGID_305_" style="overflow:visible;"/> + </clipPath> + <path class="st154" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_307_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_308_"> + <use xlink:href="#SVGID_307_" style="overflow:visible;"/> + </clipPath> + <path class="st155" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_309_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_310_"> + <use xlink:href="#SVGID_309_" style="overflow:visible;"/> + </clipPath> + <path class="st156" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_311_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_312_"> + <use xlink:href="#SVGID_311_" style="overflow:visible;"/> + </clipPath> + <path class="st157" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_313_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_314_"> + <use xlink:href="#SVGID_313_" style="overflow:visible;"/> + </clipPath> + <path class="st158" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_315_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_316_"> + <use xlink:href="#SVGID_315_" style="overflow:visible;"/> + </clipPath> + <path class="st159" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_317_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_318_"> + <use xlink:href="#SVGID_317_" style="overflow:visible;"/> + </clipPath> + <path class="st160" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_319_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_320_"> + <use xlink:href="#SVGID_319_" style="overflow:visible;"/> + </clipPath> + <path class="st161" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_321_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_322_"> + <use xlink:href="#SVGID_321_" style="overflow:visible;"/> + </clipPath> + <path class="st162" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_323_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_324_"> + <use xlink:href="#SVGID_323_" style="overflow:visible;"/> + </clipPath> + <path class="st163" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_325_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_326_"> + <use xlink:href="#SVGID_325_" style="overflow:visible;"/> + </clipPath> + <path class="st164" d="M30.6,33.3c0.1,0,0.2,0.1,0.2,0.2s-0.1,0.2-0.2,0.2s-0.2-0.1-0.2-0.2S30.5,33.3,30.6,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_327_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_328_"> + <use xlink:href="#SVGID_327_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st165" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_329_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_330_"> + <use xlink:href="#SVGID_329_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st166" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_331_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_332_"> + <use xlink:href="#SVGID_331_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st167" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_333_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_334_"> + <use xlink:href="#SVGID_333_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st168" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_335_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_336_"> + <use xlink:href="#SVGID_335_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st169" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_337_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_338_"> + <use xlink:href="#SVGID_337_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st170" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_339_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_340_"> + <use xlink:href="#SVGID_339_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st171" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_341_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_342_"> + <use xlink:href="#SVGID_341_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st172" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_343_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_344_"> + <use xlink:href="#SVGID_343_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st173" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_345_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_346_"> + <use xlink:href="#SVGID_345_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st174" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_347_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_348_"> + <use xlink:href="#SVGID_347_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st175" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_349_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_350_"> + <use xlink:href="#SVGID_349_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st176" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_351_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_352_"> + <use xlink:href="#SVGID_351_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st177" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_353_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_354_"> + <use xlink:href="#SVGID_353_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st178" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_355_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_356_"> + <use xlink:href="#SVGID_355_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st179" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_357_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_358_"> + <use xlink:href="#SVGID_357_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st180" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_359_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_360_"> + <use xlink:href="#SVGID_359_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st181" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_361_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_362_"> + <use xlink:href="#SVGID_361_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st182" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_363_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_364_"> + <use xlink:href="#SVGID_363_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st183" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_365_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_366_"> + <use xlink:href="#SVGID_365_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st184" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_367_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_368_"> + <use xlink:href="#SVGID_367_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st185" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_369_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_370_"> + <use xlink:href="#SVGID_369_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st186" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_371_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_372_"> + <use xlink:href="#SVGID_371_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st187" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_373_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_374_"> + <use xlink:href="#SVGID_373_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st188" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_375_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_376_"> + <use xlink:href="#SVGID_375_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st189" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_377_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_378_"> + <use xlink:href="#SVGID_377_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st190" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_379_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_380_"> + <use xlink:href="#SVGID_379_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st191" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_381_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_382_"> + <use xlink:href="#SVGID_381_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st192" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_383_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_384_"> + <use xlink:href="#SVGID_383_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st193" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_385_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_386_"> + <use xlink:href="#SVGID_385_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st194" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_387_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_388_"> + <use xlink:href="#SVGID_387_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st195" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_389_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_390_"> + <use xlink:href="#SVGID_389_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st196" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_391_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_392_"> + <use xlink:href="#SVGID_391_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st197" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_393_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_394_"> + <use xlink:href="#SVGID_393_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st198" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_395_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_396_"> + <use xlink:href="#SVGID_395_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st199" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_397_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_398_"> + <use xlink:href="#SVGID_397_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st200" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_399_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_400_"> + <use xlink:href="#SVGID_399_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st201" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_401_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_402_"> + <use xlink:href="#SVGID_401_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st202" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_403_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_404_"> + <use xlink:href="#SVGID_403_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st203" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_405_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_406_"> + <use xlink:href="#SVGID_405_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st204" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_407_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_408_"> + <use xlink:href="#SVGID_407_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st205" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_409_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_410_"> + <use xlink:href="#SVGID_409_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st206" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_411_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_412_"> + <use xlink:href="#SVGID_411_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st207" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_413_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_414_"> + <use xlink:href="#SVGID_413_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st208" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_415_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_416_"> + <use xlink:href="#SVGID_415_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st209" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_417_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_418_"> + <use xlink:href="#SVGID_417_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st210" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_419_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_420_"> + <use xlink:href="#SVGID_419_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st211" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_421_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_422_"> + <use xlink:href="#SVGID_421_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st212" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_423_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_424_"> + <use xlink:href="#SVGID_423_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st213" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_425_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_426_"> + <use xlink:href="#SVGID_425_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st214" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_427_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_428_"> + <use xlink:href="#SVGID_427_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st215" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_429_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_430_"> + <use xlink:href="#SVGID_429_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st216" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_431_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_432_"> + <use xlink:href="#SVGID_431_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st217" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_433_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_434_"> + <use xlink:href="#SVGID_433_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st218" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_435_" d="M30.8,33.5c0.1-0.1,0-0.1-0.1-0.2c-0.1-0.1-0.1,0-0.2,0.1s0,0.1,0.1,0.2 + C30.6,33.6,30.8,33.6,30.8,33.5"/> + </defs> + <clipPath id="SVGID_436_"> + <use xlink:href="#SVGID_435_" style="overflow:visible;"/> + </clipPath> + + <rect x="30.5" y="33.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -14.7445 31.5131)" class="st219" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_437_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_438_"> + <use xlink:href="#SVGID_437_" style="overflow:visible;"/> + </clipPath> + <path class="st220" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_439_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_440_"> + <use xlink:href="#SVGID_439_" style="overflow:visible;"/> + </clipPath> + <path class="st221" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_441_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_442_"> + <use xlink:href="#SVGID_441_" style="overflow:visible;"/> + </clipPath> + <path class="st222" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_443_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_444_"> + <use xlink:href="#SVGID_443_" style="overflow:visible;"/> + </clipPath> + <path class="st223" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_445_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_446_"> + <use xlink:href="#SVGID_445_" style="overflow:visible;"/> + </clipPath> + <path class="st224" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_447_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_448_"> + <use xlink:href="#SVGID_447_" style="overflow:visible;"/> + </clipPath> + <path class="st225" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_449_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_450_"> + <use xlink:href="#SVGID_449_" style="overflow:visible;"/> + </clipPath> + <path class="st226" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_451_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_452_"> + <use xlink:href="#SVGID_451_" style="overflow:visible;"/> + </clipPath> + <path class="st227" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_453_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_454_"> + <use xlink:href="#SVGID_453_" style="overflow:visible;"/> + </clipPath> + <path class="st228" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_455_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_456_"> + <use xlink:href="#SVGID_455_" style="overflow:visible;"/> + </clipPath> + <path class="st229" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_457_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_458_"> + <use xlink:href="#SVGID_457_" style="overflow:visible;"/> + </clipPath> + <path class="st230" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_459_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_460_"> + <use xlink:href="#SVGID_459_" style="overflow:visible;"/> + </clipPath> + <path class="st231" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_461_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_462_"> + <use xlink:href="#SVGID_461_" style="overflow:visible;"/> + </clipPath> + <path class="st232" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_463_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_464_"> + <use xlink:href="#SVGID_463_" style="overflow:visible;"/> + </clipPath> + <path class="st233" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_465_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_466_"> + <use xlink:href="#SVGID_465_" style="overflow:visible;"/> + </clipPath> + <path class="st234" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_467_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_468_"> + <use xlink:href="#SVGID_467_" style="overflow:visible;"/> + </clipPath> + <path class="st235" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_469_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_470_"> + <use xlink:href="#SVGID_469_" style="overflow:visible;"/> + </clipPath> + <path class="st236" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_471_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_472_"> + <use xlink:href="#SVGID_471_" style="overflow:visible;"/> + </clipPath> + <path class="st237" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_473_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_474_"> + <use xlink:href="#SVGID_473_" style="overflow:visible;"/> + </clipPath> + <path class="st238" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_475_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_476_"> + <use xlink:href="#SVGID_475_" style="overflow:visible;"/> + </clipPath> + <path class="st239" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_477_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_478_"> + <use xlink:href="#SVGID_477_" style="overflow:visible;"/> + </clipPath> + <path class="st240" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_479_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_480_"> + <use xlink:href="#SVGID_479_" style="overflow:visible;"/> + </clipPath> + <path class="st241" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_481_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_482_"> + <use xlink:href="#SVGID_481_" style="overflow:visible;"/> + </clipPath> + <path class="st242" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_483_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_484_"> + <use xlink:href="#SVGID_483_" style="overflow:visible;"/> + </clipPath> + <path class="st243" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_485_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_486_"> + <use xlink:href="#SVGID_485_" style="overflow:visible;"/> + </clipPath> + <path class="st244" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_487_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_488_"> + <use xlink:href="#SVGID_487_" style="overflow:visible;"/> + </clipPath> + <path class="st245" d="M30.6,33.5L30.6,33.5z"/> + </g> + <g> + <defs> + <path id="SVGID_489_" d="M30.7,33.6c0.1,0,0.1-0.1,0.1-0.2c0-0.1-0.1-0.1-0.2-0.1s-0.1,0.1-0.1,0.2 + C30.5,33.6,30.6,33.7,30.7,33.6"/> + </defs> + <clipPath id="SVGID_490_"> + <use xlink:href="#SVGID_489_" style="overflow:visible;"/> + </clipPath> + <path class="st246" d="M30.6,33.5L30.6,33.5z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_491_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_492_"> + <use xlink:href="#SVGID_491_" style="overflow:visible;"/> + </clipPath> + <path class="st247" d="M30.6,33.7c-0.1,0-0.1,0-0.2-0.1v-0.1l0.1-0.1c0.1,0,0.2,0,0.3,0.1C30.9,33.6,30.8,33.6,30.6,33.7 + C30.7,33.7,30.6,33.7,30.6,33.7z M30.5,33.3L30.5,33.3C30.5,33.3,30.5,33.4,30.5,33.3c-0.1,0.1-0.1,0.2-0.1,0.2 + c0,0.1,0.1,0.1,0.2,0.1s0.1-0.1,0.1-0.2C30.7,33.3,30.6,33.3,30.5,33.3C30.6,33.3,30.5,33.3,30.5,33.3z"/> + </g> + <g> + <defs> + <path id="SVGID_493_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_494_"> + <use xlink:href="#SVGID_493_" style="overflow:visible;"/> + </clipPath> + <path class="st248" d="M16.3,21c0,0,1.1-0.3,1.2-0.3c0.2,0,0.8,0,0.8,0s-1.1,0.5-1.3,0.6c-0.3,0.2-0.6,0.4-0.9,0.6 + C16.1,21.7,16.2,21.4,16.3,21"/> + </g> + <g> + <defs> + <path id="SVGID_495_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_496_"> + <use xlink:href="#SVGID_495_" style="overflow:visible;"/> + </clipPath> + <path class="st249" d="M16,22L16,22L16,22c0.1-0.4,0.2-0.7,0.2-1c0,0,1.1-0.3,1.3-0.3c0.2,0,0.8,0,0.8,0v0.1c0,0-1.1,0.5-1.3,0.6 + l-0.3,0.2C16.5,21.7,16.2,21.9,16,22C16,22,16,22.1,16,22z M16.3,21.1c0,0.3-0.1,0.5-0.2,0.8c0.1-0.1,0.3-0.2,0.6-0.3l0.2-0.1 + c0.4-0.2,0.8-0.4,1.2-0.6c-0.2,0-0.4,0-0.6,0C17.4,20.8,16.5,21,16.3,21.1z"/> + </g> + <g> + <defs> + <path id="SVGID_497_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_498_"> + <use xlink:href="#SVGID_497_" style="overflow:visible;"/> + </clipPath> + <path class="st250" d="M10.2,29.8c-0.1,0-0.2-0.1-0.2-0.2s0.1-0.2,0.2-0.2c0,0,0,0,0.1,0s0.2,0.1,0.2,0.2 + C10.3,29.7,10.3,29.7,10.2,29.8"/> + </g> + <g> + <defs> + <path id="SVGID_499_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_500_"> + <use xlink:href="#SVGID_499_" style="overflow:visible;"/> + </clipPath> + <path class="st251" d="M10.2,29.8c-0.1,0-0.2-0.1-0.2-0.2s0.1-0.2,0.2-0.2c0.1,0,0.2,0.1,0.2,0.2C10.4,29.7,10.3,29.8,10.2,29.8 + M10.2,29.4c-0.1,0-0.2,0.1-0.2,0.2s0.1,0.2,0.2,0.2c0.1,0,0.2-0.1,0.2-0.2S10.3,29.4,10.2,29.4"/> + </g> + <g> + <defs> + <path id="SVGID_501_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_502_"> + <use xlink:href="#SVGID_501_" style="overflow:visible;"/> + </clipPath> + <path class="st252" d="M10.3,29.5c0,0.1-0.1,0.2-0.2,0.2c-0.1,0-0.2-0.1-0.2-0.2c0,0.1,0,0.2,0.1,0.2c0,0,0,0,0.1,0 + C10.4,29.8,10.4,29.5,10.3,29.5"/> + </g> + <g> + <defs> + <path id="SVGID_503_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_504_"> + <use xlink:href="#SVGID_503_" style="overflow:visible;"/> + </clipPath> + <path class="st253" d="M10,29.4c-0.1,0-0.2-0.1-0.2-0.2S9.9,29,10,29c0,0,0,0,0.1,0s0.2,0.1,0.2,0.2C10.2,29.3,10.1,29.4,10,29.4 + "/> + </g> + <g> + <defs> + <path id="SVGID_505_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_506_"> + <use xlink:href="#SVGID_505_" style="overflow:visible;"/> + </clipPath> + <path class="st254" d="M10,29.4c-0.1,0-0.2-0.1-0.2-0.2S9.9,29,10,29c0,0,0,0,0.1,0s0.2,0.1,0.2,0.2S10.2,29.4,10,29.4 + C10.1,29.4,10.1,29.4,10,29.4 M10,29c-0.1,0-0.2,0.1-0.2,0.2s0.1,0.2,0.2,0.2c0.1,0,0.2-0.1,0.2-0.2S10.1,29,10,29"/> + </g> + <g> + <defs> + <path id="SVGID_507_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_508_"> + <use xlink:href="#SVGID_507_" style="overflow:visible;"/> + </clipPath> + <path class="st255" d="M10.2,29.1c0,0.1-0.1,0.2-0.2,0.2c-0.1,0-0.2-0.1-0.2-0.2c0,0.1,0,0.2,0.1,0.2c0,0,0,0,0.1,0 + C10.3,29.4,10.2,29.1,10.2,29.1"/> + </g> + <g> + <defs> + <path id="SVGID_509_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_510_"> + <use xlink:href="#SVGID_509_" style="overflow:visible;"/> + </clipPath> + <path class="st256" d="M9.8,29.6c-0.1,0-0.2-0.1-0.2-0.2s0.1-0.2,0.2-0.2c0.1,0,0.2,0.1,0.2,0.2C10,29.6,9.9,29.6,9.8,29.6"/> + </g> + <g> + <defs> + <path id="SVGID_511_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_512_"> + <use xlink:href="#SVGID_511_" style="overflow:visible;"/> + </clipPath> + <path class="st257" d="M9.8,29.7c-0.1,0-0.2-0.1-0.2-0.2s0.1-0.2,0.2-0.2c0.1,0,0.2,0.1,0.2,0.2S9.9,29.7,9.8,29.7 M9.8,29.3 + c-0.1,0-0.2,0.1-0.2,0.2s0.1,0.2,0.2,0.2c0.1,0,0.2-0.1,0.2-0.2S9.9,29.3,9.8,29.3"/> + </g> + <g> + <defs> + <path id="SVGID_513_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_514_"> + <use xlink:href="#SVGID_513_" style="overflow:visible;"/> + </clipPath> + <g class="st258"> + <g> + <defs> + <path id="SVGID_515_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_516_"> + <use xlink:href="#SVGID_515_" style="overflow:visible;"/> + </clipPath> + <polygon class="st259" points="34.9,34.4 33.8,31.3 33.8,30.1 35.9,29.3 35.9,34.4 "/> + </g> + <g> + <defs> + <path id="SVGID_517_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_518_"> + <use xlink:href="#SVGID_517_" style="overflow:visible;"/> + </clipPath> + <polygon class="st260" points="33.8,30 35.9,29.2 35.9,29.3 33.8,30.1 "/> + </g> + <g> + <defs> + <path id="SVGID_519_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_520_"> + <use xlink:href="#SVGID_519_" style="overflow:visible;"/> + </clipPath> + <path class="st261" d="M33.8,30l2.1-0.8L33.8,30z"/> + </g> + <g> + <defs> + <path id="SVGID_521_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_522_"> + <use xlink:href="#SVGID_521_" style="overflow:visible;"/> + </clipPath> + <polygon class="st262" points="33.8,29.9 35.9,29.1 35.9,29.2 33.8,30 "/> + </g> + <g> + <defs> + <path id="SVGID_523_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_524_"> + <use xlink:href="#SVGID_523_" style="overflow:visible;"/> + </clipPath> + <path class="st263" d="M33.8,29.9l2.1-0.8L33.8,29.9z"/> + </g> + <g> + <defs> + <path id="SVGID_525_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_526_"> + <use xlink:href="#SVGID_525_" style="overflow:visible;"/> + </clipPath> + <polygon class="st264" points="33.8,29.8 35.9,29 35.9,29.1 33.8,29.9 "/> + </g> + <g> + <defs> + <path id="SVGID_527_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_528_"> + <use xlink:href="#SVGID_527_" style="overflow:visible;"/> + </clipPath> + <path class="st265" d="M33.8,29.8l2.1-0.8L33.8,29.8z"/> + </g> + <g> + <defs> + <path id="SVGID_529_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_530_"> + <use xlink:href="#SVGID_529_" style="overflow:visible;"/> + </clipPath> + <polygon class="st266" points="33.8,29.7 35.9,28.9 35.9,29 33.8,29.8 "/> + </g> + <g> + <defs> + <path id="SVGID_531_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_532_"> + <use xlink:href="#SVGID_531_" style="overflow:visible;"/> + </clipPath> + <path class="st267" d="M33.8,29.7l2.1-0.8L33.8,29.7z"/> + </g> + <g> + <defs> + <path id="SVGID_533_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_534_"> + <use xlink:href="#SVGID_533_" style="overflow:visible;"/> + </clipPath> + <polygon class="st268" points="33.8,29.6 35.9,28.8 35.9,28.9 33.8,29.7 "/> + </g> + <g> + <defs> + <path id="SVGID_535_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_536_"> + <use xlink:href="#SVGID_535_" style="overflow:visible;"/> + </clipPath> + <path class="st269" d="M33.8,29.6l2.1-0.8L33.8,29.6z"/> + </g> + <g> + <defs> + <path id="SVGID_537_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_538_"> + <use xlink:href="#SVGID_537_" style="overflow:visible;"/> + </clipPath> + <polygon class="st270" points="33.8,29.5 35.9,28.7 35.9,28.8 33.8,29.6 "/> + </g> + <g> + <defs> + <path id="SVGID_539_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_540_"> + <use xlink:href="#SVGID_539_" style="overflow:visible;"/> + </clipPath> + <path class="st271" d="M33.8,29.5l2.1-0.8L33.8,29.5z"/> + </g> + <g> + <defs> + <path id="SVGID_541_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_542_"> + <use xlink:href="#SVGID_541_" style="overflow:visible;"/> + </clipPath> + <polygon class="st272" points="33.8,29.4 35.9,28.6 35.9,28.7 33.8,29.5 "/> + </g> + <g> + <defs> + <path id="SVGID_543_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_544_"> + <use xlink:href="#SVGID_543_" style="overflow:visible;"/> + </clipPath> + <path class="st273" d="M33.8,29.4l2.1-0.8L33.8,29.4z"/> + </g> + <g> + <defs> + <path id="SVGID_545_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_546_"> + <use xlink:href="#SVGID_545_" style="overflow:visible;"/> + </clipPath> + <polygon class="st274" points="33.8,29.3 35.8,28.6 35.9,28.6 33.8,29.4 "/> + </g> + <g> + <defs> + <path id="SVGID_547_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_548_"> + <use xlink:href="#SVGID_547_" style="overflow:visible;"/> + </clipPath> + <polygon class="st275" points="33.8,29.3 35.8,28.5 35.8,28.6 "/> + </g> + <g> + <defs> + <path id="SVGID_549_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_550_"> + <use xlink:href="#SVGID_549_" style="overflow:visible;"/> + </clipPath> + <polygon class="st276" points="33.8,29.2 35.8,28.5 33.8,29.3 "/> + </g> + <g> + <defs> + <path id="SVGID_551_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_552_"> + <use xlink:href="#SVGID_551_" style="overflow:visible;"/> + </clipPath> + <polygon class="st277" points="33.8,29.2 35.8,28.4 35.8,28.5 "/> + </g> + <g> + <defs> + <path id="SVGID_553_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_554_"> + <use xlink:href="#SVGID_553_" style="overflow:visible;"/> + </clipPath> + <polygon class="st278" points="33.8,29.1 35.8,28.4 33.8,29.2 "/> + </g> + <g> + <defs> + <path id="SVGID_555_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_556_"> + <use xlink:href="#SVGID_555_" style="overflow:visible;"/> + </clipPath> + <polygon class="st279" points="33.8,29.1 35.8,28.3 35.8,28.4 "/> + </g> + <g> + <defs> + <path id="SVGID_557_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_558_"> + <use xlink:href="#SVGID_557_" style="overflow:visible;"/> + </clipPath> + <polygon class="st280" points="33.8,29.1 35.7,28.3 35.8,28.3 "/> + </g> + <g> + <defs> + <path id="SVGID_559_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_560_"> + <use xlink:href="#SVGID_559_" style="overflow:visible;"/> + </clipPath> + <polygon class="st281" points="33.8,29 35.7,28.3 33.8,29.1 "/> + </g> + <g> + <defs> + <path id="SVGID_561_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_562_"> + <use xlink:href="#SVGID_561_" style="overflow:visible;"/> + </clipPath> + <polygon class="st282" points="33.8,29 35.7,28.2 35.7,28.3 "/> + </g> + <g> + <defs> + <path id="SVGID_563_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_564_"> + <use xlink:href="#SVGID_563_" style="overflow:visible;"/> + </clipPath> + <polygon class="st283" points="33.8,28.9 35.7,28.2 33.8,29 "/> + </g> + <g> + <defs> + <path id="SVGID_565_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_566_"> + <use xlink:href="#SVGID_565_" style="overflow:visible;"/> + </clipPath> + <polygon class="st284" points="33.8,28.9 35.7,28.1 35.7,28.2 "/> + </g> + <g> + <defs> + <path id="SVGID_567_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_568_"> + <use xlink:href="#SVGID_567_" style="overflow:visible;"/> + </clipPath> + <polygon class="st285" points="33.8,28.8 35.7,28.1 33.8,28.9 "/> + </g> + <g> + <defs> + <path id="SVGID_569_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_570_"> + <use xlink:href="#SVGID_569_" style="overflow:visible;"/> + </clipPath> + <polygon class="st286" points="33.8,28.8 35.6,28 35.7,28.1 "/> + </g> + <g> + <defs> + <path id="SVGID_571_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_572_"> + <use xlink:href="#SVGID_571_" style="overflow:visible;"/> + </clipPath> + <polygon class="st287" points="33.8,28.7 35.6,28 33.8,28.8 "/> + </g> + <g> + <defs> + <path id="SVGID_573_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_574_"> + <use xlink:href="#SVGID_573_" style="overflow:visible;"/> + </clipPath> + <path class="st288" d="M33.8,28.7l1.8-0.7L33.8,28.7z"/> + </g> + <g> + <defs> + <path id="SVGID_575_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_576_"> + <use xlink:href="#SVGID_575_" style="overflow:visible;"/> + </clipPath> + <polygon class="st289" points="33.8,28.6 35.6,27.9 35.6,28 33.8,28.7 "/> + </g> + <g> + <defs> + <path id="SVGID_577_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_578_"> + <use xlink:href="#SVGID_577_" style="overflow:visible;"/> + </clipPath> + <path class="st290" d="M33.8,28.6l1.8-0.7L33.8,28.6z"/> + </g> + <g> + <defs> + <path id="SVGID_579_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_580_"> + <use xlink:href="#SVGID_579_" style="overflow:visible;"/> + </clipPath> + <polygon class="st291" points="33.8,28.5 35.6,27.8 35.6,27.9 33.8,28.6 "/> + </g> + <g> + <defs> + <path id="SVGID_581_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_582_"> + <use xlink:href="#SVGID_581_" style="overflow:visible;"/> + </clipPath> + <polygon class="st292" points="33.8,28.5 35.5,27.8 35.6,27.8 "/> + </g> + <g> + <defs> + <path id="SVGID_583_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_584_"> + <use xlink:href="#SVGID_583_" style="overflow:visible;"/> + </clipPath> + <polygon class="st293" points="33.8,28.4 35.5,27.7 35.5,27.8 33.8,28.5 "/> + </g> + <g> + <defs> + <path id="SVGID_585_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_586_"> + <use xlink:href="#SVGID_585_" style="overflow:visible;"/> + </clipPath> + <polygon class="st294" points="33.8,28.4 35.4,27.7 35.5,27.7 "/> + </g> + <g> + <defs> + <path id="SVGID_587_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_588_"> + <use xlink:href="#SVGID_587_" style="overflow:visible;"/> + </clipPath> + <polygon class="st295" points="33.8,28.3 35.3,27.7 35.4,27.7 33.8,28.4 "/> + </g> + <g> + <defs> + <path id="SVGID_589_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_590_"> + <use xlink:href="#SVGID_589_" style="overflow:visible;"/> + </clipPath> + <polygon class="st296" points="33.8,28.3 35.2,27.7 35.3,27.7 "/> + </g> + <g> + <defs> + <path id="SVGID_591_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_592_"> + <use xlink:href="#SVGID_591_" style="overflow:visible;"/> + </clipPath> + <polygon class="st297" points="33.8,28.2 35,27.7 35.2,27.7 33.8,28.3 "/> + </g> + <g> + <defs> + <path id="SVGID_593_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_594_"> + <use xlink:href="#SVGID_593_" style="overflow:visible;"/> + </clipPath> + <polygon class="st298" points="33.8,28.2 34.9,27.7 35,27.7 "/> + </g> + <g> + <defs> + <path id="SVGID_595_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_596_"> + <use xlink:href="#SVGID_595_" style="overflow:visible;"/> + </clipPath> + <polygon class="st299" points="33.8,28.1 34.8,27.7 34.9,27.7 33.8,28.2 "/> + </g> + <g> + <defs> + <path id="SVGID_597_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_598_"> + <use xlink:href="#SVGID_597_" style="overflow:visible;"/> + </clipPath> + <polygon class="st300" points="33.8,28.1 34.6,27.7 34.8,27.7 "/> + </g> + <g> + <defs> + <path id="SVGID_599_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_600_"> + <use xlink:href="#SVGID_599_" style="overflow:visible;"/> + </clipPath> + <polygon class="st301" points="33.8,28 34.5,27.7 34.6,27.7 33.8,28.1 "/> + </g> + <g> + <defs> + <path id="SVGID_601_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_602_"> + <use xlink:href="#SVGID_601_" style="overflow:visible;"/> + </clipPath> + <polygon class="st302" points="33.8,28 34.4,27.7 34.5,27.7 "/> + </g> + <g> + <defs> + <path id="SVGID_603_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_604_"> + <use xlink:href="#SVGID_603_" style="overflow:visible;"/> + </clipPath> + <polygon class="st303" points="33.8,27.9 34.3,27.7 34.4,27.7 33.8,28 "/> + </g> + <g> + <defs> + <path id="SVGID_605_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_606_"> + <use xlink:href="#SVGID_605_" style="overflow:visible;"/> + </clipPath> + <polygon class="st304" points="33.8,27.9 34.1,27.7 34.3,27.7 "/> + </g> + <g> + <defs> + <path id="SVGID_607_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_608_"> + <use xlink:href="#SVGID_607_" style="overflow:visible;"/> + </clipPath> + <polygon class="st305" points="33.8,27.8 34,27.7 34.1,27.7 33.8,27.9 "/> + </g> + <g> + <defs> + <path id="SVGID_609_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_610_"> + <use xlink:href="#SVGID_609_" style="overflow:visible;"/> + </clipPath> + <polygon class="st306" points="33.8,27.8 33.9,27.7 34,27.7 "/> + </g> + <g> + <defs> + <path id="SVGID_611_" d="M35.4,28.3c0,0-0.3-0.3-0.4-0.4c-0.1-0.1-0.1,0-0.1,0s-0.8,0.1-1,0.1c0.5,0.3,0.8,0.8,1.1,1.3 + c0.2,0.6,0.1,0.9,0.2,1c0.1,0,0.6-0.6,0.1,4.2c0,0,0.4-4.5,0.7-5c0-0.1,0-0.1,0-0.1C35.9,29.2,35.3,28.6,35.4,28.3"/> + </defs> + <clipPath id="SVGID_612_"> + <use xlink:href="#SVGID_611_" style="overflow:visible;"/> + </clipPath> + <polygon class="st307" points="33.9,27.7 33.8,27.8 33.8,27.7 "/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_613_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_614_"> + <use xlink:href="#SVGID_613_" style="overflow:visible;"/> + </clipPath> + <path class="st308" d="M27.2,30.7c0.5-0.3,0.7-0.9,0.6-1.5v-8.5h-11v8.5c-0.1,0.6,0.1,1.1,0.6,1.5c0.7,0.6,0.3,0.4,4.9,3.1 + C22.3,33.8,23.1,33.7,27.2,30.7"/> + </g> + <g> + <defs> + <path id="SVGID_615_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_616_"> + <use xlink:href="#SVGID_615_" style="overflow:visible;"/> + </clipPath> + <path class="st309" d="M21.7,32.2c-0.3-0.1-0.6-0.3-0.8-0.4l-0.2-0.1v-4.8h3.1v4.7L23,32c-0.4,0.2-0.8,0.4-0.8,0.4 + S22,32.4,21.7,32.2z"/> + </g> + <g> + <defs> + <path id="SVGID_617_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_618_"> + <use xlink:href="#SVGID_617_" style="overflow:visible;"/> + </clipPath> + <path class="st310" d="M22.3,32.5L22.3,32.5c0,0-0.4-0.2-0.6-0.3L21,31.8l-0.2-0.1v-4.8h3.1v4.7L23.1,32 + C23,32.1,22.3,32.5,22.3,32.5z M21.7,32.2l0.5,0.3c0,0,0.4-0.2,0.8-0.4l0.8-0.4v-4.6h-3.1v4.7l0.2,0.1 + C21.1,31.9,21.4,32,21.7,32.2z"/> + </g> + <g> + <defs> + <path id="SVGID_619_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_620_"> + <use xlink:href="#SVGID_619_" style="overflow:visible;"/> + </clipPath> + <path class="st311" d="M20.2,31.4c-0.2-0.1-0.6-0.4-0.8-0.5l-0.7-0.5c-0.4-0.3-0.5-0.3-0.6-0.5c-0.2-0.3-0.2-0.5-0.2-1.8v-1.2 + h2.8v2.3c0,1.3,0,2.4,0,2.4L20.2,31.4z M19,27.9L19,27.9C19,28,19.1,28,19,27.9C19.1,28,19.1,28,19,27.9z"/> + </g> + <g> + <defs> + <path id="SVGID_621_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_622_"> + <use xlink:href="#SVGID_621_" style="overflow:visible;"/> + </clipPath> + <path class="st312" d="M20.7,31.7L20.7,31.7l-0.4-0.3c-0.2-0.1-0.6-0.4-0.8-0.5l-0.8-0.5c-0.4-0.3-0.5-0.3-0.6-0.5 + c-0.2-0.3-0.2-0.5-0.2-1.8v-1.3h2.8v2.4c0,0.6,0,1.1,0,1.5C20.7,31.6,20.7,31.6,20.7,31.7z M17.9,26.9v1.3c0,1.3,0,1.4,0.2,1.7 + c0.1,0.2,0.1,0.2,0.6,0.5l0.8,0.5c0.2,0.1,0.6,0.4,0.8,0.5l0.3,0.2h0.1c0-0.1,0-0.4,0-0.9v-3.8C20.7,26.9,17.9,26.9,17.9,26.9z + M19.1,28L19.1,28C19.1,28,19,28,19.1,28L19,27.8L19.1,28C19,27.9,19.1,28,19.1,28z"/> + </g> + <g> + <defs> + <path id="SVGID_623_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_624_"> + <use xlink:href="#SVGID_623_" style="overflow:visible;"/> + </clipPath> + <path class="st313" d="M22.3,33.9L22.3,33.9c-4.1-2.4-4.2-2.6-4.7-3l-0.2-0.2c-0.4-0.3-0.7-0.9-0.6-1.5v-8.6h11.1v8.6v0.1 + c0.1,0.6-0.1,1.1-0.6,1.4C23.2,33.8,22.3,33.9,22.3,33.9z M16.9,20.8v8.4v0.1c-0.1,0.5,0.1,1,0.6,1.4l0.2,0.2 + c0.4,0.4,0.6,0.5,4.7,2.9c0.1,0,1.1-0.4,4.9-3.1c0.4-0.3,0.6-0.8,0.5-1.3v-0.1v-8.4H16.9V20.8z"/> + </g> + <g> + <defs> + <path id="SVGID_625_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_626_"> + <use xlink:href="#SVGID_625_" style="overflow:visible;"/> + </clipPath> + <rect x="20.7" y="21.6" class="st314" width="3.1" height="5.3"/> + </g> + <g> + <defs> + <path id="SVGID_627_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_628_"> + <use xlink:href="#SVGID_627_" style="overflow:visible;"/> + </clipPath> + <path class="st315" d="M22.3,21.6L22.3,21.6v-0.3C22.3,21.3,22.3,21.4,22.3,21.6C22.4,21.5,22.3,21.5,22.3,21.6 + C22.3,21.5,22.3,21.5,22.3,21.6C22.3,21.5,22.3,21.5,22.3,21.6"/> + </g> + <g> + <defs> + <path id="SVGID_629_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_630_"> + <use xlink:href="#SVGID_629_" style="overflow:visible;"/> + </clipPath> + <path class="st316" d="M22.3,21.2c0.1,0,0.2,0,0.3,0C22.6,21.2,22.4,21.2,22.3,21.2"/> + </g> + <g> + <defs> + <path id="SVGID_631_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_632_"> + <use xlink:href="#SVGID_631_" style="overflow:visible;"/> + </clipPath> + <path class="st317" d="M22.3,21.2c0-0.1,0-0.2,0-0.3C22.3,20.9,22.3,21.1,22.3,21.2"/> + </g> + <g> + <defs> + <path id="SVGID_633_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_634_"> + <use xlink:href="#SVGID_633_" style="overflow:visible;"/> + </clipPath> + <path class="st318" d="M22.2,21.2c-0.1,0-0.2,0-0.3,0C22,21.1,22.1,21.1,22.2,21.2"/> + </g> + <g> + <defs> + <path id="SVGID_635_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_636_"> + <use xlink:href="#SVGID_635_" style="overflow:visible;"/> + </clipPath> + <path class="st319" d="M19.8,21.5L19.8,21.5h-0.1l0.1-0.3C19.8,21.3,19.8,21.4,19.8,21.5"/> + </g> + <g> + <defs> + <path id="SVGID_637_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_638_"> + <use xlink:href="#SVGID_637_" style="overflow:visible;"/> + </clipPath> + <path class="st320" d="M19.8,21.2c0.1,0,0.2,0,0.3,0C20,21.2,19.9,21.2,19.8,21.2"/> + </g> + <g> + <defs> + <path id="SVGID_639_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_640_"> + <use xlink:href="#SVGID_639_" style="overflow:visible;"/> + </clipPath> + <path class="st321" d="M19.8,21.1c0-0.1,0-0.2,0-0.3C19.8,20.9,19.8,21,19.8,21.1"/> + </g> + <g> + <defs> + <path id="SVGID_641_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_642_"> + <use xlink:href="#SVGID_641_" style="overflow:visible;"/> + </clipPath> + <path class="st322" d="M19.7,21.2c-0.1,0-0.2,0-0.3,0C19.5,21.1,19.6,21.1,19.7,21.2"/> + </g> + <g> + <defs> + <path id="SVGID_643_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_644_"> + <use xlink:href="#SVGID_643_" style="overflow:visible;"/> + </clipPath> + <path class="st323" d="M17.4,21.6L17.4,21.6l-0.1-0.1c0.1,0,0.1-0.3,0.1-0.3C17.4,21.4,17.4,21.5,17.4,21.6 + C17.5,21.6,17.4,21.6,17.4,21.6"/> + </g> + <g> + <defs> + <path id="SVGID_645_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_646_"> + <use xlink:href="#SVGID_645_" style="overflow:visible;"/> + </clipPath> + <path class="st324" d="M17.5,21.3c0.1,0,0.2,0,0.3,0C17.7,21.3,17.6,21.3,17.5,21.3"/> + </g> + <g> + <defs> + <path id="SVGID_647_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_648_"> + <use xlink:href="#SVGID_647_" style="overflow:visible;"/> + </clipPath> + <path class="st325" d="M17.4,21.2c0-0.1,0-0.2,0-0.3C17.5,21,17.5,21.1,17.4,21.2"/> + </g> + <g> + <defs> + <path id="SVGID_649_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_650_"> + <use xlink:href="#SVGID_649_" style="overflow:visible;"/> + </clipPath> + <path class="st326" d="M17.4,21.3c-0.1,0-0.2,0-0.3,0C17.1,21.2,17.3,21.2,17.4,21.3"/> + </g> + <g> + <defs> + <path id="SVGID_651_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_652_"> + <use xlink:href="#SVGID_651_" style="overflow:visible;"/> + </clipPath> + <path class="st327" d="M17.3,24.5C17.3,24.5,17.3,24.4,17.3,24.5l-0.1-0.1l0.1-0.3C17.3,24.2,17.3,24.3,17.3,24.5 + C17.4,24.4,17.3,24.4,17.3,24.5C17.3,24.4,17.3,24.4,17.3,24.5"/> + </g> + <g> + <defs> + <path id="SVGID_653_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_654_"> + <use xlink:href="#SVGID_653_" style="overflow:visible;"/> + </clipPath> + <path class="st328" d="M17.4,24.1c0.1,0,0.2,0,0.3,0C17.6,24.1,17.5,24.1,17.4,24.1"/> + </g> + <g> + <defs> + <path id="SVGID_655_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_656_"> + <use xlink:href="#SVGID_655_" style="overflow:visible;"/> + </clipPath> + <path class="st329" d="M17.3,24c0-0.1,0-0.2,0-0.3C17.4,23.8,17.4,23.9,17.3,24"/> + </g> + <g> + <defs> + <path id="SVGID_657_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_658_"> + <use xlink:href="#SVGID_657_" style="overflow:visible;"/> + </clipPath> + <path class="st330" d="M17.3,24.1c-0.1,0-0.2,0-0.3,0C17,24,17.2,24,17.3,24.1"/> + </g> + <g> + <defs> + <path id="SVGID_659_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_660_"> + <use xlink:href="#SVGID_659_" style="overflow:visible;"/> + </clipPath> + <path class="st331" d="M20,32.3L20,32.3V32C20,32,20,32.1,20,32.3C20.1,32.2,20,32.2,20,32.3C20,32.2,20,32.2,20,32.3 + C20,32.2,20,32.3,20,32.3"/> + </g> + <g> + <defs> + <path id="SVGID_661_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_662_"> + <use xlink:href="#SVGID_661_" style="overflow:visible;"/> + </clipPath> + <path class="st332" d="M20,31.9c0.1,0,0.2,0,0.3,0C20.3,32,20.1,32,20,31.9"/> + </g> + <g> + <defs> + <path id="SVGID_663_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_664_"> + <use xlink:href="#SVGID_663_" style="overflow:visible;"/> + </clipPath> + <path class="st333" d="M20,31.9c0-0.1,0-0.2,0-0.3C20,31.6,20,31.8,20,31.9"/> + </g> + <g> + <defs> + <path id="SVGID_665_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_666_"> + <use xlink:href="#SVGID_665_" style="overflow:visible;"/> + </clipPath> + <path class="st334" d="M19.9,31.9c-0.1,0-0.2,0-0.3,0C19.7,31.9,19.8,31.9,19.9,31.9"/> + </g> + <g> + <defs> + <path id="SVGID_667_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_668_"> + <use xlink:href="#SVGID_667_" style="overflow:visible;"/> + </clipPath> + <path class="st335" d="M17.5,30.4L17.5,30.4v-0.3C17.5,30.2,17.5,30.3,17.5,30.4C17.6,30.4,17.5,30.4,17.5,30.4 + C17.5,30.3,17.5,30.3,17.5,30.4C17.5,30.3,17.5,30.4,17.5,30.4"/> + </g> + <g> + <defs> + <path id="SVGID_669_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_670_"> + <use xlink:href="#SVGID_669_" style="overflow:visible;"/> + </clipPath> + <path class="st336" d="M17.5,30c0.1,0,0.2,0,0.3,0C17.8,30.1,17.6,30.1,17.5,30"/> + </g> + <g> + <defs> + <path id="SVGID_671_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_672_"> + <use xlink:href="#SVGID_671_" style="overflow:visible;"/> + </clipPath> + <path class="st337" d="M17.5,30c0-0.1,0-0.2,0-0.3C17.5,29.8,17.5,29.9,17.5,30"/> + </g> + <g> + <defs> + <path id="SVGID_673_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_674_"> + <use xlink:href="#SVGID_673_" style="overflow:visible;"/> + </clipPath> + <path class="st338" d="M17.4,30c-0.1,0-0.2,0-0.3,0C17.2,30,17.3,30,17.4,30"/> + </g> + <g> + <defs> + <path id="SVGID_675_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_676_"> + <use xlink:href="#SVGID_675_" style="overflow:visible;"/> + </clipPath> + <path class="st339" d="M22.3,33.5L22.3,33.5v-0.3c0,0.1,0,0.2,0.1,0.3H22.3"/> + </g> + <g> + <defs> + <path id="SVGID_677_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_678_"> + <use xlink:href="#SVGID_677_" style="overflow:visible;"/> + </clipPath> + <path class="st340" d="M22.4,33.2c0.1,0,0.2,0,0.3,0C22.6,33.2,22.5,33.2,22.4,33.2"/> + </g> + <g> + <defs> + <path id="SVGID_679_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_680_"> + <use xlink:href="#SVGID_679_" style="overflow:visible;"/> + </clipPath> + <path class="st341" d="M22.3,33.1c0-0.1,0-0.2,0-0.3C22.3,32.9,22.3,33,22.3,33.1"/> + </g> + <g> + <defs> + <path id="SVGID_681_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_682_"> + <use xlink:href="#SVGID_681_" style="overflow:visible;"/> + </clipPath> + <path class="st342" d="M22.3,33.2c-0.1,0-0.2,0-0.3,0C22,33.1,22.2,33.1,22.3,33.2"/> + </g> + <g> + <defs> + <path id="SVGID_683_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_684_"> + <use xlink:href="#SVGID_683_" style="overflow:visible;"/> + </clipPath> + <path class="st343" d="M24.8,21.5L24.8,21.5v-0.3c0,0.1,0,0.2-0.1,0.3H24.8"/> + </g> + <g> + <defs> + <path id="SVGID_685_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_686_"> + <use xlink:href="#SVGID_685_" style="overflow:visible;"/> + </clipPath> + <path class="st344" d="M24.8,21.2c-0.1,0-0.2,0-0.3,0C24.6,21.2,24.7,21.2,24.8,21.2"/> + </g> + <g> + <defs> + <path id="SVGID_687_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_688_"> + <use xlink:href="#SVGID_687_" style="overflow:visible;"/> + </clipPath> + <path class="st345" d="M24.8,21.1c0-0.1,0-0.2,0-0.3C24.8,20.9,24.8,21,24.8,21.1"/> + </g> + <g> + <defs> + <path id="SVGID_689_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_690_"> + <use xlink:href="#SVGID_689_" style="overflow:visible;"/> + </clipPath> + <path class="st346" d="M24.9,21.2c0.1,0,0.2,0,0.3,0C25.1,21.1,25,21.1,24.9,21.2"/> + </g> + <g> + <defs> + <path id="SVGID_691_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_692_"> + <use xlink:href="#SVGID_691_" style="overflow:visible;"/> + </clipPath> + <path class="st347" d="M27.3,21.5L27.3,21.5v-0.3c0,0.1,0,0.2-0.1,0.3C27.2,21.5,27.2,21.5,27.3,21.5 + C27.2,21.5,27.2,21.5,27.3,21.5C27.2,21.5,27.2,21.5,27.3,21.5"/> + </g> + <g> + <defs> + <path id="SVGID_693_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_694_"> + <use xlink:href="#SVGID_693_" style="overflow:visible;"/> + </clipPath> + <path class="st348" d="M27.2,21.2c-0.1,0-0.2,0-0.3,0C27,21.2,27.1,21.2,27.2,21.2"/> + </g> + <g> + <defs> + <path id="SVGID_695_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_696_"> + <use xlink:href="#SVGID_695_" style="overflow:visible;"/> + </clipPath> + <path class="st349" d="M27.3,21.1c0-0.1,0-0.2,0-0.3C27.2,20.9,27.2,21,27.3,21.1"/> + </g> + <g> + <defs> + <path id="SVGID_697_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_698_"> + <use xlink:href="#SVGID_697_" style="overflow:visible;"/> + </clipPath> + <path class="st350" d="M27.3,21.2c0.1,0,0.2,0,0.3,0C27.5,21.1,27.4,21.1,27.3,21.2"/> + </g> + <g> + <defs> + <path id="SVGID_699_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_700_"> + <use xlink:href="#SVGID_699_" style="overflow:visible;"/> + </clipPath> + <path class="st351" d="M27.3,24.5L27.3,24.5v-0.3c0,0.1,0,0.2-0.1,0.3C27.2,24.4,27.2,24.4,27.3,24.5 + C27.2,24.4,27.2,24.4,27.3,24.5C27.2,24.4,27.2,24.4,27.3,24.5"/> + </g> + <g> + <defs> + <path id="SVGID_701_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_702_"> + <use xlink:href="#SVGID_701_" style="overflow:visible;"/> + </clipPath> + <path class="st352" d="M27.2,24.1c-0.1,0-0.2,0-0.3,0C27,24.1,27.1,24.1,27.2,24.1"/> + </g> + <g> + <defs> + <path id="SVGID_703_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_704_"> + <use xlink:href="#SVGID_703_" style="overflow:visible;"/> + </clipPath> + <path class="st353" d="M27.3,24c0-0.1,0-0.2,0-0.3C27.2,23.8,27.2,23.9,27.3,24"/> + </g> + <g> + <defs> + <path id="SVGID_705_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_706_"> + <use xlink:href="#SVGID_705_" style="overflow:visible;"/> + </clipPath> + <path class="st354" d="M27.3,24.1c0.1,0,0.2,0,0.3,0C27.5,24,27.4,24,27.3,24.1"/> + </g> + <g> + <defs> + <path id="SVGID_707_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_708_"> + <use xlink:href="#SVGID_707_" style="overflow:visible;"/> + </clipPath> + <path class="st355" d="M24.6,32.3C24.6,32.3,24.6,32.2,24.6,32.3l0.1-0.1l-0.1-0.3C24.6,32,24.6,32.1,24.6,32.3 + C24.5,32.2,24.6,32.2,24.6,32.3C24.6,32.2,24.6,32.3,24.6,32.3"/> + </g> + <g> + <defs> + <path id="SVGID_709_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_710_"> + <use xlink:href="#SVGID_709_" style="overflow:visible;"/> + </clipPath> + <path class="st356" d="M24.5,31.9c-0.1,0-0.2,0-0.3,0C24.3,32,24.4,32,24.5,31.9"/> + </g> + <g> + <defs> + <path id="SVGID_711_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_712_"> + <use xlink:href="#SVGID_711_" style="overflow:visible;"/> + </clipPath> + <path class="st357" d="M24.6,31.9c0-0.1,0-0.2,0-0.3C24.5,31.6,24.5,31.8,24.6,31.9"/> + </g> + <g> + <defs> + <path id="SVGID_713_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_714_"> + <use xlink:href="#SVGID_713_" style="overflow:visible;"/> + </clipPath> + <path class="st358" d="M24.6,31.9c0.1,0,0.2,0,0.3,0C24.8,31.9,24.7,31.9,24.6,31.9"/> + </g> + <g> + <defs> + <path id="SVGID_715_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_716_"> + <use xlink:href="#SVGID_715_" style="overflow:visible;"/> + </clipPath> + <path class="st359" d="M27.1,30.4L27.1,30.4v-0.3c0,0.1,0,0.2-0.1,0.3C27,30.4,27.1,30.3,27.1,30.4 + C27.1,30.3,27.1,30.4,27.1,30.4"/> + </g> + <g> + <defs> + <path id="SVGID_717_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_718_"> + <use xlink:href="#SVGID_717_" style="overflow:visible;"/> + </clipPath> + <path class="st360" d="M27,30c-0.1,0-0.2,0-0.3,0C26.8,30.1,26.9,30.1,27,30"/> + </g> + <g> + <defs> + <path id="SVGID_719_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_720_"> + <use xlink:href="#SVGID_719_" style="overflow:visible;"/> + </clipPath> + <path class="st361" d="M27.1,30c0-0.1,0-0.2,0-0.3C27,29.8,27,29.9,27.1,30"/> + </g> + <g> + <defs> + <path id="SVGID_721_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_722_"> + <use xlink:href="#SVGID_721_" style="overflow:visible;"/> + </clipPath> + <path class="st362" d="M27.1,30c0.1,0,0.2,0,0.3,0C27.4,30,27.2,30,27.1,30"/> + </g> + <g> + <defs> + <path id="SVGID_723_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_724_"> + <use xlink:href="#SVGID_723_" style="overflow:visible;"/> + </clipPath> + <path class="st363" d="M27.3,27.6L27.3,27.6v-0.3c0,0.1,0,0.2-0.1,0.3C27.2,27.5,27.2,27.5,27.3,27.6 + C27.2,27.5,27.2,27.5,27.3,27.6C27.2,27.5,27.2,27.5,27.3,27.6"/> + </g> + <g> + <defs> + <path id="SVGID_725_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_726_"> + <use xlink:href="#SVGID_725_" style="overflow:visible;"/> + </clipPath> + <path class="st364" d="M27.2,27.2c-0.1,0-0.2,0-0.3,0C27,27.2,27.1,27.2,27.2,27.2"/> + </g> + <g> + <defs> + <path id="SVGID_727_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_728_"> + <use xlink:href="#SVGID_727_" style="overflow:visible;"/> + </clipPath> + <path class="st365" d="M27.3,27.1c0-0.1,0-0.2,0-0.3C27.2,26.9,27.2,27,27.3,27.1"/> + </g> + <g> + <defs> + <path id="SVGID_729_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_730_"> + <use xlink:href="#SVGID_729_" style="overflow:visible;"/> + </clipPath> + <path class="st366" d="M27.3,27.2c0.1,0,0.2,0,0.3,0C27.5,27.1,27.4,27.1,27.3,27.2"/> + </g> + <g> + <defs> + <path id="SVGID_731_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_732_"> + <use xlink:href="#SVGID_731_" style="overflow:visible;"/> + </clipPath> + <polygon class="st367" points="20.7,31.7 20.7,31.7 20.7,26.9 17.9,26.9 20.7,26.9 20.7,21.6 20.7,26.9 23.8,26.9 23.8,21.6 + 23.9,21.6 23.9,26.9 26.7,26.9 23.9,26.9 23.9,31.6 23.8,31.6 23.8,26.9 20.7,26.9 "/> + </g> + <g> + <defs> + <path id="SVGID_733_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_734_"> + <use xlink:href="#SVGID_733_" style="overflow:visible;"/> + </clipPath> + <polyline class="st368" points="26.7,25.1 25.2,24.3 26.7,23.5 26.5,24.3 26.7,25.1 "/> + </g> + <g> + <defs> + <path id="SVGID_735_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_736_"> + <use xlink:href="#SVGID_735_" style="overflow:visible;"/> + </clipPath> + <path class="st369" d="M26.7,25.1l-1.5-0.8l1.5-0.8c-0.1,0.3-0.2,0.8-0.2,0.8S26.7,24.8,26.7,25.1z M25.3,24.3l1.4,0.8 + c-0.1-0.2-0.2-0.7-0.2-0.8c0,0,0.2-0.6,0.2-0.8L25.3,24.3z"/> + </g> + <g> + <defs> + <path id="SVGID_737_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_738_"> + <use xlink:href="#SVGID_737_" style="overflow:visible;"/> + </clipPath> + <polyline class="st370" points="23.8,25.1 25.3,24.3 23.8,23.5 24,24.3 23.8,25.1 "/> + </g> + <g> + <defs> + <path id="SVGID_739_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_740_"> + <use xlink:href="#SVGID_739_" style="overflow:visible;"/> + </clipPath> + <path class="st371" d="M23.8,25.1L23.8,25.1c0.1-0.3,0.2-0.8,0.2-0.8s-0.1-0.5-0.2-0.8l1.5,0.8L23.8,25.1z M23.9,23.5 + c0,0.2,0.2,0.7,0.2,0.8c0,0.1-0.2,0.6-0.2,0.8l1.4-0.8L23.9,23.5z"/> + </g> + <g> + <defs> + <path id="SVGID_741_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_742_"> + <use xlink:href="#SVGID_741_" style="overflow:visible;"/> + </clipPath> + <polyline class="st372" points="22.7,25.9 22.8,25.7 22.6,25.6 22.8,25.6 22.9,25.4 23,25.6 23.2,25.6 23,25.7 23.1,25.9 + 22.9,25.8 22.7,25.9 "/> + </g> + <g> + <defs> + <path id="SVGID_743_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_744_"> + <use xlink:href="#SVGID_743_" style="overflow:visible;"/> + </clipPath> + <polyline class="st373" points="20.7,24.9 20.7,23.9 19.8,23.9 19.8,21.6 18.8,21.6 18.8,23.9 17.9,23.9 17.9,24.9 18.8,24.9 + 18.8,26.9 19.8,26.9 19.8,24.9 20.7,24.9 "/> + </g> + <g> + <defs> + <path id="SVGID_745_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_746_"> + <use xlink:href="#SVGID_745_" style="overflow:visible;"/> + </clipPath> + <path class="st374" d="M19.8,26.9h-1v-2h-0.9v-1h0.9v-2.3h1v2.3h0.9v1h-0.9V26.9z M18.8,26.9h1v-2h0.9v-1h-0.9v-2.3h-1v2.3h-0.9 + v1h0.9V26.9z"/> + </g> + <g> + <defs> + <path id="SVGID_747_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_748_"> + <use xlink:href="#SVGID_747_" style="overflow:visible;"/> + </clipPath> + <polyline class="st375" points="19.2,26.1 19.3,25.9 19.4,26.1 19.6,26 19.4,26.2 19.6,26.3 19.4,26.3 19.4,26.5 19.3,26.4 + 19.2,26.5 19.2,26.3 19,26.3 19.2,26.2 19.1,26 19.2,26.1 "/> + </g> + <g> + <defs> + <path id="SVGID_749_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_750_"> + <use xlink:href="#SVGID_749_" style="overflow:visible;"/> + </clipPath> + <path class="st376" d="M19.4,26.6L19.4,26.6l-0.2-0.1l-0.1,0.1v-0.2h-0.2l0.2-0.1L19,26.1h0.2l0.1-0.2l0.1,0.2h0.2l-0.2,0.1 + l0.2,0.1h-0.2C19.4,26.3,19.4,26.6,19.4,26.6z M19.3,26.4L19.3,26.4l0.1,0.1v-0.2h0.2l-0.2-0.1l0.1-0.2h-0.2l-0.1-0.2L19.1,26 + h-0.2l0.1,0.2l-0.2,0.1H19v0.2L19.3,26.4z"/> + </g> + <g> + <defs> + <path id="SVGID_751_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_752_"> + <use xlink:href="#SVGID_751_" style="overflow:visible;"/> + </clipPath> + <polyline class="st377" points="18.2,24.2 18.3,24 18.4,24.2 18.6,24.2 18.5,24.4 18.7,24.5 18.5,24.5 18.5,24.7 18.4,24.6 + 18.3,24.7 18.3,24.5 18.1,24.5 18.3,24.4 18,24.2 18.2,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_753_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_754_"> + <use xlink:href="#SVGID_753_" style="overflow:visible;"/> + </clipPath> + <path class="st378" d="M18.4,24.7L18.4,24.7l-0.1-0.1l-0.1,0.1v-0.2H18l0.2-0.1L18,24.2h0.2l0.1-0.2l0.1,0.2h0.2l-0.1,0.2 + l0.2,0.1h-0.2L18.4,24.7z M18.3,24.6L18.3,24.6l0.1,0.1v-0.2h0.2l-0.2-0.1l0.1-0.2h-0.2L18.2,24l-0.1,0.2h-0.2l0.1,0.2l-0.2,0.1 + H18v0.2L18.3,24.6z"/> + </g> + <g> + <defs> + <path id="SVGID_755_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_756_"> + <use xlink:href="#SVGID_755_" style="overflow:visible;"/> + </clipPath> + <polyline class="st379" points="20.2,24.3 20.3,24.1 20.4,24.3 20.6,24.2 20.5,24.4 20.7,24.5 20.5,24.5 20.5,24.7 20.4,24.6 + 20.3,24.7 20.3,24.5 20.1,24.5 20.3,24.4 20,24.2 20.2,24.3 "/> + </g> + <g> + <defs> + <path id="SVGID_757_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_758_"> + <use xlink:href="#SVGID_757_" style="overflow:visible;"/> + </clipPath> + <path class="st380" d="M20.4,24.7L20.4,24.7l-0.1-0.1l-0.1,0.1v-0.2H20l0.2-0.1L20,24.2h0.2l0.1-0.2l0.1,0.2h0.2l-0.1,0.2 + l0.2,0.1h-0.2L20.4,24.7z M20.3,24.6L20.3,24.6l0.1,0.1v-0.2h0.2l-0.2-0.1l0.1-0.1h-0.2l-0.1-0.2l-0.1,0.2h-0.2l0.1,0.2l-0.1,0.1 + h0.2v0.2L20.3,24.6z"/> + </g> + <g> + <defs> + <path id="SVGID_759_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_760_"> + <use xlink:href="#SVGID_759_" style="overflow:visible;"/> + </clipPath> + <polyline class="st381" points="19.2,22.1 19.3,21.9 19.4,22.1 19.6,22.1 19.5,22.3 19.7,22.4 19.5,22.4 19.5,22.6 19.4,22.5 + 19.3,22.6 19.3,22.4 19.1,22.4 19.3,22.3 19.2,22.1 "/> + </g> + <g> + <defs> + <path id="SVGID_761_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_762_"> + <use xlink:href="#SVGID_761_" style="overflow:visible;"/> + </clipPath> + <path class="st382" d="M19.4,22.6L19.4,22.6l-0.2-0.1l-0.1,0.1v-0.2h-0.2l0.2-0.1L19,22.1h0.2l0.1-0.2l0.1,0.2l0.2-0.1l-0.1,0.2 + l0.2,0.1h-0.2L19.4,22.6z M19.3,22.5L19.3,22.5l0.1,0.1v-0.2h0.2l-0.2-0.1l0.1-0.2l-0.2,0.1L19.2,22l-0.1,0.2h-0.2l0.1,0.2 + l-0.1,0.1h0.2v0.2L19.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_763_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_764_"> + <use xlink:href="#SVGID_763_" style="overflow:visible;"/> + </clipPath> + <path class="st383" d="M22.3,32.6L22.3,32.6c-1.1-0.5-2.3-1.2-3.3-1.9c-0.3-0.2-0.4-0.3-0.6-0.4c-0.5-0.3-0.5-1.2-0.5-1.5 + c0,0,0,0,0-0.1v-7.1h8.9v7.1c0,0.9-0.3,1.3-0.5,1.4C25,31,23.7,31.8,22.3,32.6z M17.9,21.7v7.1c0,0.8,0.1,1.3,0.5,1.5 + c0.2,0.1,0.4,0.2,0.6,0.4c1.1,0.7,2.2,1.3,3.3,1.9c1.4-0.7,2.7-1.5,4-2.4c0.2-0.2,0.4-0.5,0.4-1.4v-7L17.9,21.7z"/> + </g> + <g> + <defs> + <path id="SVGID_765_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_766_"> + <use xlink:href="#SVGID_765_" style="overflow:visible;"/> + </clipPath> + <path class="st384" d="M38.1,28.3c0.4,0,0.6-0.3,0.6-0.7c0-0.1,0-0.2-0.1-0.3c-0.2-0.4,0,0-0.2-0.8s-0.5-0.8-2-2.1s-4-1-4.6-0.9 + c-2,0.4-2.1-1.6-1.6-2.4c0.5-0.7,1-2.2,1.3-3.5c0.1-0.8-0.1-1.4-0.8-1.4c-1.3,0.5-0.5,0.3-0.4,1.1c0.1,0.7,0,1.3-0.2,2 + c-0.5,1-1,1.9-1.6,2.8c-0.4,0.7-1.4,2.5,0.2,4.7c0.7,1,2.4,1.2,3.7,1.6c1.1,0.2,2.2,0.2,3.2,0h0.7c0.1,0,0.4-0.1,0.5,0 + c0.2-0.2,0.4-0.2,0.6-0.1C37.6,28.4,37.9,28.4,38.1,28.3"/> + </g> + <g> + <defs> + <path id="SVGID_767_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_768_"> + <use xlink:href="#SVGID_767_" style="overflow:visible;"/> + </clipPath> + <path class="st385" d="M30.3,16.6c0,0,0.3-0.3,0.5,0C30.7,16.7,30.5,16.7,30.3,16.6C30.4,16.6,30.4,16.6,30.3,16.6"/> + </g> + <g> + <defs> + <path id="SVGID_769_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_770_"> + <use xlink:href="#SVGID_769_" style="overflow:visible;"/> + </clipPath> + <g class="st386"> + <g> + <defs> + <path id="SVGID_771_" d="M30.1,16.2c-0.2,0.1-0.3,0.2-0.4,0.4c0,0,0.2,0,0.2,0.4c0,0.1,0,0.1,0.1,0.1s0.1,0,0.1,0.2 + c0.1,1-0.2,2.1-0.8,2.9c-0.2,0.4-0.4,0.7-0.6,1.1c-0.1,0.1,0,0.1,0.1,0c0.2-0.1,0.5-0.1,0.5,0.9c0.6-0.8,1.1-1.8,1.5-2.7 + c0.4-0.8,0.6-1.6,0.7-2.5c0-0.5-0.4-1-1-1C30.4,16.1,30.2,16.2,30.1,16.2 M30.8,16.4c0.1,0.2,0.2,0.4-0.1,0.4 + c-0.4,0.1-0.4-0.2-0.4-0.4C30.4,16.3,30.7,16.3,30.8,16.4"/> + </defs> + <clipPath id="SVGID_772_"> + <use xlink:href="#SVGID_771_" style="overflow:visible;"/> + </clipPath> + <rect x="30.2" y="16.2" class="st387" width="0.8" height="0.7"/> + </g> + <g> + <defs> + <path id="SVGID_773_" d="M30.1,16.2c-0.2,0.1-0.3,0.2-0.4,0.4c0,0,0.2,0,0.2,0.4c0,0.1,0,0.1,0.1,0.1s0.1,0,0.1,0.2 + c0.1,1-0.2,2.1-0.8,2.9c-0.2,0.4-0.4,0.7-0.6,1.1c-0.1,0.1,0,0.1,0.1,0c0.2-0.1,0.5-0.1,0.5,0.9c0.6-0.8,1.1-1.8,1.5-2.7 + c0.4-0.8,0.6-1.6,0.7-2.5c0-0.5-0.4-1-1-1C30.4,16.1,30.2,16.2,30.1,16.2 M30.8,16.4c0.1,0.2,0.2,0.4-0.1,0.4 + c-0.4,0.1-0.4-0.2-0.4-0.4C30.4,16.3,30.7,16.3,30.8,16.4"/> + </defs> + <clipPath id="SVGID_774_"> + <use xlink:href="#SVGID_773_" style="overflow:visible;"/> + </clipPath> + <polygon class="st388" points="31.6,19.3 31.3,19.7 28.7,18.2 29.9,16 31.6,16 "/> + </g> + <g> + <defs> + <path id="SVGID_775_" d="M30.1,16.2c-0.2,0.1-0.3,0.2-0.4,0.4c0,0,0.2,0,0.2,0.4c0,0.1,0,0.1,0.1,0.1s0.1,0,0.1,0.2 + c0.1,1-0.2,2.1-0.8,2.9c-0.2,0.4-0.4,0.7-0.6,1.1c-0.1,0.1,0,0.1,0.1,0c0.2-0.1,0.5-0.1,0.5,0.9c0.6-0.8,1.1-1.8,1.5-2.7 + c0.4-0.8,0.6-1.6,0.7-2.5c0-0.5-0.4-1-1-1C30.4,16.1,30.2,16.2,30.1,16.2 M30.8,16.4c0.1,0.2,0.2,0.4-0.1,0.4 + c-0.4,0.1-0.4-0.2-0.4-0.4C30.4,16.3,30.7,16.3,30.8,16.4"/> + </defs> + <clipPath id="SVGID_776_"> + <use xlink:href="#SVGID_775_" style="overflow:visible;"/> + </clipPath> + <polygon class="st389" points="31.3,19.7 30.1,21.9 28.6,21 28.6,18.3 28.7,18.2 "/> + </g> + <g> + <defs> + <path id="SVGID_777_" d="M30.1,16.2c-0.2,0.1-0.3,0.2-0.4,0.4c0,0,0.2,0,0.2,0.4c0,0.1,0,0.1,0.1,0.1s0.1,0,0.1,0.2 + c0.1,1-0.2,2.1-0.8,2.9c-0.2,0.4-0.4,0.7-0.6,1.1c-0.1,0.1,0,0.1,0.1,0c0.2-0.1,0.5-0.1,0.5,0.9c0.6-0.8,1.1-1.8,1.5-2.7 + c0.4-0.8,0.6-1.6,0.7-2.5c0-0.5-0.4-1-1-1C30.4,16.1,30.2,16.2,30.1,16.2 M30.8,16.4c0.1,0.2,0.2,0.4-0.1,0.4 + c-0.4,0.1-0.4-0.2-0.4-0.4C30.4,16.3,30.7,16.3,30.8,16.4"/> + </defs> + <clipPath id="SVGID_778_"> + <use xlink:href="#SVGID_777_" style="overflow:visible;"/> + </clipPath> + <polygon class="st390" points="30.1,21.9 29.8,22.4 28.6,22.4 28.6,21 "/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_779_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_780_"> + <use xlink:href="#SVGID_779_" style="overflow:visible;"/> + </clipPath> + <path class="st391" d="M36.3,28.4c0.4,0-1.2-0.4-1.2-0.4C35.5,28.1,35.9,28.3,36.3,28.4"/> + </g> + <g> + <defs> + <path id="SVGID_781_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_782_"> + <use xlink:href="#SVGID_781_" style="overflow:visible;"/> + </clipPath> + <path class="st392" d="M37.5,28.1c-0.4,0-2.3-1.2-2.3-1.2"/> + </g> + <g> + <defs> + <path id="SVGID_783_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_784_"> + <use xlink:href="#SVGID_783_" style="overflow:visible;"/> + </clipPath> + <path class="st393" d="M28.6,22.9c-0.2,0.7-0.1,1.5,0.3,2.1C29,25,28.4,23.6,28.6,22.9"/> + </g> + <g> + <defs> + <path id="SVGID_785_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_786_"> + <use xlink:href="#SVGID_785_" style="overflow:visible;"/> + </clipPath> + <path class="st394" d="M29.1,26.7c-0.5-0.7-0.9-1.5-1-2.3c0-0.3,0-0.5,0.1-0.8C28.2,24.7,28.5,25.8,29.1,26.7z M28.2,23.7 + c-0.1,0.2-0.1,0.5-0.1,0.7c0.1,0.7,0.4,1.5,0.8,2.1C28.4,25.6,28.2,24.6,28.2,23.7z M29,25c-0.3-0.5-0.4-1-0.4-1.5 + c0-0.2,0-0.4,0.1-0.6C28.4,23.6,28.9,25,29,25z M28.6,23.1c-0.1,0.6,0,1.3,0.3,1.8C28.7,24.3,28.6,23.7,28.6,23.1z"/> + </g> + <g> + <defs> + <path id="SVGID_787_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_788_"> + <use xlink:href="#SVGID_787_" style="overflow:visible;"/> + </clipPath> + <path class="st395" d="M28.6,24.5c0.6,1.6,1.9,2.8,3.5,3.3C32.1,27.8,29.5,26.6,28.6,24.5"/> + </g> + <g> + <defs> + <path id="SVGID_789_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_790_"> + <use xlink:href="#SVGID_789_" style="overflow:visible;"/> + </clipPath> + <path class="st396" d="M28.6,24.5c0.6,1.6,1.9,2.8,3.5,3.3C32.1,27.8,29.4,26.6,28.6,24.5z"/> + </g> + <g> + <defs> + <path id="SVGID_791_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_792_"> + <use xlink:href="#SVGID_791_" style="overflow:visible;"/> + </clipPath> + <path class="st397" d="M32.1,27.8c-0.6-0.2-1.2-0.5-1.7-0.9c-0.4-0.3-0.8-0.7-1.1-1.1c-0.2-0.3-0.4-0.6-0.6-0.9 + c-0.1-0.1-0.1-0.3-0.2-0.4c0.2,0.5,0.5,1,0.9,1.4c0.3,0.4,0.7,0.7,1.1,1C31.1,27.3,31.6,27.6,32.1,27.8z M28.7,24.6 + c0.2,0.5,0.4,0.9,0.7,1.3c0.7,0.9,1.6,1.6,2.7,2c-0.5-0.2-1-0.5-1.4-0.9c-0.4-0.3-0.8-0.6-1.1-1C29.2,25.6,28.9,25.1,28.7,24.6z" + /> + </g> + <g> + <defs> + <path id="SVGID_793_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_794_"> + <use xlink:href="#SVGID_793_" style="overflow:visible;"/> + </clipPath> + <path class="st398" d="M31.8,27.6c-1.2-0.5-2.6-2.3-2.6-2.3C29.3,25.3,30.6,27.1,31.8,27.6z M30.2,26.7c-0.9-0.9-1-1.1-1.4-2.2 + c-0.4-1.4,0.3-2.9,0.3-2.9s-0.7,1.6-0.3,2.9C29.2,25.6,29.3,25.7,30.2,26.7z M30.5,26.1c-0.6-0.3-1.2-0.8-1.4-1.5 + c-0.1-0.3-0.2-0.6-0.2-0.9c0,0.3,0.1,0.6,0.2,0.9C29.3,25.3,29.8,25.8,30.5,26.1z"/> + </g> + <g> + <defs> + <path id="SVGID_795_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_796_"> + <use xlink:href="#SVGID_795_" style="overflow:visible;"/> + </clipPath> + <path class="st399" d="M30.1,25.7c0.5,0.5,1.1,1,1.7,1.4C31.8,27.1,30.7,26.1,30.1,25.7"/> + </g> + <g> + <defs> + <path id="SVGID_797_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_798_"> + <use xlink:href="#SVGID_797_" style="overflow:visible;"/> + </clipPath> + <path class="st400" d="M32,27.6l-1.5-1L32,27.6z M31.7,27.1c-0.6-0.4-1.2-0.9-1.6-1.4C30.6,26.1,31.7,27.1,31.7,27.1z M30.2,25.8 + c0.4,0.5,0.9,0.9,1.5,1.2C31.5,26.9,30.7,26.2,30.2,25.8z"/> + </g> + <g> + <defs> + <path id="SVGID_799_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_800_"> + <use xlink:href="#SVGID_799_" style="overflow:visible;"/> + </clipPath> + <path class="st401" d="M31,25c0,0,2.1,1.4,2.2,1.9C32.7,26.1,31.9,25.4,31,25"/> + </g> + <g> + <defs> + <path id="SVGID_801_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_802_"> + <use xlink:href="#SVGID_801_" style="overflow:visible;"/> + </clipPath> + <path class="st402" d="M32.7,26.8c0,0,1.1,1.4,1.5,1.5C34.2,28.3,33.7,28.3,32.7,26.8"/> + </g> + <g> + <defs> + <path id="SVGID_803_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_804_"> + <use xlink:href="#SVGID_803_" style="overflow:visible;"/> + </clipPath> + <path class="st403" d="M34.2,28.3c-0.1,0-0.5-0.1-1.5-1.5l-1.1-1l1.1,1C32.7,26.8,33.9,28.2,34.2,28.3z M32.8,26.9 + c0.7,1.1,1.1,1.3,1.3,1.3C33.6,27.9,33.2,27.4,32.8,26.9z"/> + </g> + <g> + <defs> + <path id="SVGID_805_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_806_"> + <use xlink:href="#SVGID_805_" style="overflow:visible;"/> + </clipPath> + <path class="st404" d="M31.8,26.2c0,0,1.4,1.3,1.5,2C32.8,27.5,32.3,26.8,31.8,26.2"/> + </g> + <g> + <defs> + <path id="SVGID_807_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_808_"> + <use xlink:href="#SVGID_807_" style="overflow:visible;"/> + </clipPath> + <path class="st405" d="M32.7,23.8c1.1-0.1,2.2,0.2,3.1,0.9C35.8,24.7,34,23.8,32.7,23.8"/> + </g> + <g> + <defs> + <path id="SVGID_809_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_810_"> + <use xlink:href="#SVGID_809_" style="overflow:visible;"/> + </clipPath> + <path class="st406" d="M30.5,23.9c0.8,0.4,1.5,0.8,2.3,1.2C32,24.8,31.2,24.4,30.5,23.9"/> + </g> + <g> + <defs> + <path id="SVGID_811_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_812_"> + <use xlink:href="#SVGID_811_" style="overflow:visible;"/> + </clipPath> + <path class="st407" d="M30.5,23.9c0.8,0.4,1.5,0.8,2.3,1.2C32,24.8,31.2,24.4,30.5,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_813_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_814_"> + <use xlink:href="#SVGID_813_" style="overflow:visible;"/> + </clipPath> + <path class="st408" d="M32.8,25.1c0,0-0.3-0.1-0.8-0.3c-0.5-0.3-1-0.6-1.5-0.9C31.3,24.2,32,24.7,32.8,25.1z M30.5,23.9 + c0.5,0.3,1,0.6,1.5,0.9c0.4,0.2,0.7,0.3,0.8,0.3C32,24.7,31.3,24.2,30.5,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_815_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_816_"> + <use xlink:href="#SVGID_815_" style="overflow:visible;"/> + </clipPath> + <path class="st409" d="M28.3,24.6c0,0,0.4,2.6,2.7,3.2C31.1,27.8,28.7,26.5,28.3,24.6"/> + </g> + <g> + <defs> + <path id="SVGID_817_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_818_"> + <use xlink:href="#SVGID_817_" style="overflow:visible;"/> + </clipPath> + <path class="st410" d="M31.1,27.8c-1-0.3-1.8-0.9-2.3-1.8c-0.2-0.4-0.4-0.9-0.5-1.4c0.3,0.9,0.8,1.7,1.5,2.3 + C30.2,27.2,30.6,27.5,31.1,27.8z M28.4,25c0.1,0.3,0.2,0.6,0.4,0.9c0.5,0.9,1.2,1.5,2.2,1.8c-0.4-0.2-0.8-0.5-1.2-0.8 + C29.2,26.4,28.8,25.8,28.4,25z"/> + </g> + <g> + <defs> + <path id="SVGID_819_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_820_"> + <use xlink:href="#SVGID_819_" style="overflow:visible;"/> + </clipPath> + <path class="st411" d="M29.6,21.5c0,0-0.6,2.2,1.4,2.3C30.9,23.8,29.3,23.7,29.6,21.5"/> + </g> + <g> + <defs> + <path id="SVGID_821_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_822_"> + <use xlink:href="#SVGID_821_" style="overflow:visible;"/> + </clipPath> + <path class="st412" d="M30.9,23.8c-0.5,0-0.9-0.2-1.2-0.6c-0.5-0.7-0.2-1.7-0.2-1.7c-0.1,0.6,0,1.3,0.4,1.8 + C30.2,23.6,30.5,23.8,30.9,23.8z M29.6,21.7c-0.1,0.5-0.1,1.1,0.2,1.6c0.2,0.3,0.6,0.5,1,0.6c-0.3-0.1-0.6-0.3-0.8-0.5 + C29.6,22.8,29.5,22.2,29.6,21.7z"/> + </g> + <g> + <defs> + <path id="SVGID_823_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_824_"> + <use xlink:href="#SVGID_823_" style="overflow:visible;"/> + </clipPath> + <path class="st413" d="M33.5,23.5c1,0,1.9,0.3,2.7,0.9C35.4,23.9,34.4,23.6,33.5,23.5"/> + </g> + <g> + <defs> + <path id="SVGID_825_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_826_"> + <use xlink:href="#SVGID_825_" style="overflow:visible;"/> + </clipPath> + <path class="st414" d="M36.2,24.4c-0.8-0.5-1.7-0.8-2.7-0.9C34.5,23.5,35.4,23.8,36.2,24.4z M33.6,23.5c0.9,0.1,1.7,0.4,2.4,0.8 + C35.4,23.8,34.5,23.5,33.6,23.5z"/> + </g> + <g> + <defs> + <path id="SVGID_827_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_828_"> + <use xlink:href="#SVGID_827_" style="overflow:visible;"/> + </clipPath> + <path class="st415" d="M34.2,25.9c0.7,0.7,1.8,0.9,2.7,0.6C36.9,26.5,35.2,26.8,34.2,25.9"/> + </g> + <g> + <defs> + <path id="SVGID_829_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_830_"> + <use xlink:href="#SVGID_829_" style="overflow:visible;"/> + </clipPath> + <path class="st416" d="M36.1,26.7c-0.4,0-0.8-0.1-1.2-0.2c-0.3-0.1-0.5-0.3-0.8-0.5c1,0.8,2.7,0.6,2.7,0.6 + C36.6,26.6,36.4,26.7,36.1,26.7z M34.4,26.1c0.2,0.1,0.4,0.3,0.6,0.3c0.6,0.3,1.3,0.3,1.9,0.2C36,26.6,35.1,26.5,34.4,26.1z"/> + </g> + <g> + <defs> + <path id="SVGID_831_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_832_"> + <use xlink:href="#SVGID_831_" style="overflow:visible;"/> + </clipPath> + <g class="st417"> + <g> + <defs> + <path id="SVGID_833_" d="M32.3,28.3c0,0.5,0,1.1-0.2,1.6c-0.3,0.7-0.3,0.7-0.3,0.7s0.6-0.5-1.3,3.6c0,0,1.8-3.5,2.1-4.1 + c0.2-0.3,0.4-0.6,0.7-0.8c0,0,0.2-0.3,0.1-0.4c0-0.1-0.2-0.5-0.2-0.5C32.9,28.4,32.6,28.4,32.3,28.3"/> + </defs> + <clipPath id="SVGID_834_"> + <use xlink:href="#SVGID_833_" style="overflow:visible;"/> + </clipPath> + <polygon class="st418" points="30.5,30.1 33.5,28.8 33.5,34.2 30.5,34.2 "/> + </g> + <g> + <defs> + <path id="SVGID_835_" d="M32.3,28.3c0,0.5,0,1.1-0.2,1.6c-0.3,0.7-0.3,0.7-0.3,0.7s0.6-0.5-1.3,3.6c0,0,1.8-3.5,2.1-4.1 + c0.2-0.3,0.4-0.6,0.7-0.8c0,0,0.2-0.3,0.1-0.4c0-0.1-0.2-0.5-0.2-0.5C32.9,28.4,32.6,28.4,32.3,28.3"/> + </defs> + <clipPath id="SVGID_836_"> + <use xlink:href="#SVGID_835_" style="overflow:visible;"/> + </clipPath> + <polygon class="st419" points="33.5,28.3 33.5,28.5 33.5,28.8 30.5,30.1 30.5,28.3 "/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_837_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_838_"> + <use xlink:href="#SVGID_837_" style="overflow:visible;"/> + </clipPath> + <path class="st420" d="M34.5,26.3c0,0,3.1,1.6,3.3,1.9C37.8,28.2,34.6,26.5,34.5,26.3"/> + </g> + <g> + <defs> + <path id="SVGID_839_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_840_"> + <use xlink:href="#SVGID_839_" style="overflow:visible;"/> + </clipPath> + <path class="st421" d="M34.5,26.3c0,0,3.1,1.6,3.3,1.9C37.8,28.2,34.6,26.4,34.5,26.3z"/> + </g> + <g> + <defs> + <path id="SVGID_841_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_842_"> + <use xlink:href="#SVGID_841_" style="overflow:visible;"/> + </clipPath> + <path class="st422" d="M37.8,28.2L37.8,28.2c0,0-3.2-1.8-3.3-1.9c0,0,0.8,0.4,1.6,0.8c0.4,0.3,0.8,0.5,1.1,0.6 + C37.4,27.9,37.6,28,37.8,28.2z M34.5,26.3c0.1,0.1,3.2,1.9,3.3,1.9c-0.5-0.4-1.1-0.8-1.7-1.1C35.3,26.7,34.5,26.3,34.5,26.3z"/> + </g> + <g> + <defs> + <path id="SVGID_843_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_844_"> + <use xlink:href="#SVGID_843_" style="overflow:visible;"/> + </clipPath> + <path class="st423" d="M34.7,26.6c0,0,1.4,0.9,1.7,1.1C36.3,27.8,34.8,27.2,34.7,26.6"/> + </g> + <g> + <defs> + <path id="SVGID_845_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_846_"> + <use xlink:href="#SVGID_845_" style="overflow:visible;"/> + </clipPath> + <path class="st424" d="M34.7,26.6c0,0,1.4,0.9,1.7,1.1C36.3,27.8,34.8,27.2,34.7,26.6z"/> + </g> + <g> + <defs> + <path id="SVGID_847_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_848_"> + <use xlink:href="#SVGID_847_" style="overflow:visible;"/> + </clipPath> + <path class="st425" d="M36.3,27.8c-0.3-0.1-0.5-0.2-0.8-0.4c-0.2-0.1-0.4-0.2-0.6-0.4c-0.2-0.1-0.3-0.3-0.3-0.4 + C34.7,26.6,36,27.5,36.3,27.8z M34.7,26.6c0.1,0.2,0.2,0.3,0.3,0.4c0.2,0.1,0.4,0.3,0.6,0.4c0.3,0.1,0.5,0.3,0.8,0.4 + C36,27.6,34.7,26.7,34.7,26.6z"/> + </g> + <g> + <defs> + <path id="SVGID_849_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_850_"> + <use xlink:href="#SVGID_849_" style="overflow:visible;"/> + </clipPath> + <path class="st426" d="M32.1,24.2c0,0,2.7-0.1,3.7,1.4C35.9,25.6,35.1,24.7,32.1,24.2"/> + </g> + <g> + <defs> + <path id="SVGID_851_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_852_"> + <use xlink:href="#SVGID_851_" style="overflow:visible;"/> + </clipPath> + <path class="st427" d="M35.9,25.6c-0.2-0.2-0.5-0.4-0.7-0.5c-0.4-0.2-0.8-0.3-1.1-0.4c-0.6-0.2-1.2-0.3-1.8-0.4h0.1 + c0.5,0,0.9,0,1.4,0.1c0.4,0.1,0.8,0.2,1.2,0.4C35.2,25,35.6,25.3,35.9,25.6z M32.1,24.2c0.6,0.1,1.2,0.3,1.8,0.4 + c0.4,0.1,0.8,0.3,1.1,0.4s0.5,0.3,0.7,0.5c-0.3-0.4-0.6-0.6-1-0.8s-0.8-0.3-1.2-0.4C33.1,24.3,32.6,24.2,32.1,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_853_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_854_"> + <use xlink:href="#SVGID_853_" style="overflow:visible;"/> + </clipPath> + <path class="st428" d="M34.4,25.2c0,0,1.2,0.7,1.5,0.7C35.4,25.6,34.9,25.4,34.4,25.2"/> + </g> + <g> + <defs> + <path id="SVGID_855_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_856_"> + <use xlink:href="#SVGID_855_" style="overflow:visible;"/> + </clipPath> + <path class="st429" d="M35.8,25.9c-0.4,0-1.4-0.6-1.5-0.7C34.9,25.4,35.4,25.6,35.8,25.9z M34.4,25.3c0.4,0.3,0.9,0.5,1.4,0.6 + C35.7,25.8,34.8,25.4,34.4,25.3z"/> + </g> + <g> + <defs> + <path id="SVGID_857_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_858_"> + <use xlink:href="#SVGID_857_" style="overflow:visible;"/> + </clipPath> + <path class="st430" d="M30.6,23.8c0,0,0.3,0.5,2.3,0.2c0.3,0,3.2,0.4,3.6,2c-0.9-1.1-2.3-1.8-3.7-1.8 + C30.3,24.1,31.7,24.4,30.6,23.8"/> + </g> + <g> + <defs> + <path id="SVGID_859_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_860_"> + <use xlink:href="#SVGID_859_" style="overflow:visible;"/> + </clipPath> + <path class="st431" d="M30.6,23.8c0,0,0.3,0.5,2.3,0.2c0.3,0,3.2,0.4,3.6,2c-0.9-1.1-2.3-1.8-3.7-1.8 + C30.3,24.1,31.7,24.4,30.6,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_861_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_862_"> + <use xlink:href="#SVGID_861_" style="overflow:visible;"/> + </clipPath> + <path class="st432" d="M36.5,25.9c-0.1-0.1-0.1-0.2-0.2-0.3c-0.2-0.2-0.4-0.4-0.7-0.6c-0.4-0.3-0.7-0.5-1.2-0.6 + c-0.5-0.2-1.1-0.3-1.6-0.3s-1,0-1.5,0c-0.1,0-0.1,0-0.2,0C31,24,31,24,30.9,23.9c-0.1,0-0.2-0.1-0.3-0.2c0.1,0.1,0.2,0.1,0.3,0.2 + H31c0.2,0.1,0.5,0.1,0.7,0.1c0.4,0,0.8,0,1.1-0.1c0.2,0,0.4,0,0.6,0.1c0.4,0.1,0.8,0.2,1.1,0.3C35.4,24.6,36.3,25.1,36.5,25.9z + M32.3,24.1h0.5c0.6,0,1.1,0.1,1.6,0.3c0.4,0.1,0.8,0.3,1.2,0.6c0.2,0.2,0.5,0.4,0.7,0.6c0.1,0.1,0.2,0.2,0.2,0.3 + c-0.2-0.8-1.2-1.3-1.9-1.6c-0.4-0.1-0.7-0.3-1.1-0.3c-0.2,0-0.4-0.1-0.6-0.1C32.5,24,32.1,24,31.8,24c-0.2,0-0.5,0-0.7-0.1H31 + c0.1,0.1,0.1,0.1,0.2,0.2c0,0,0,0,0.2,0C31.7,24.1,32,24.1,32.3,24.1z M30.6,23.8c0.1,0.1,0.2,0.1,0.3,0.2 + C30.8,23.9,30.7,23.8,30.6,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_863_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_864_"> + <use xlink:href="#SVGID_863_" style="overflow:visible;"/> + </clipPath> + <path class="st433" d="M31.4,24.2c0,0,2.6,1.2,2.7,2.4C34.2,26.6,34.1,24.9,31.4,24.2"/> + </g> + <g> + <defs> + <path id="SVGID_865_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_866_"> + <use xlink:href="#SVGID_865_" style="overflow:visible;"/> + </clipPath> + <path class="st434" d="M34.2,26.6c-0.1-0.3-0.2-0.6-0.5-0.9s-0.6-0.6-0.9-0.8c-0.4-0.3-0.9-0.5-1.3-0.8c0.6,0.1,1.1,0.4,1.6,0.7 + c0.3,0.2,0.6,0.5,0.8,0.8c0.1,0.2,0.3,0.4,0.3,0.7C34.2,26.4,34.2,26.5,34.2,26.6z M31.4,24.2c0.5,0.2,0.9,0.5,1.3,0.8 + c0.3,0.2,0.7,0.5,0.9,0.8c0.2,0.2,0.4,0.5,0.5,0.9c0-0.1,0-0.2-0.1-0.2c-0.1-0.2-0.2-0.5-0.3-0.7c-0.2-0.3-0.5-0.6-0.8-0.8 + C32.5,24.6,32,24.3,31.4,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_867_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_868_"> + <use xlink:href="#SVGID_867_" style="overflow:visible;"/> + </clipPath> + <path class="st435" d="M32.4,24.5c0.5,0.2,1,0.4,1.4,0.7c0.6,0.4,1.3,0.7,2,0.9c-0.7-0.3-1.4-0.7-2-1.1 + C33.4,24.6,32.7,24.5,32.4,24.5"/> + </g> + <g> + <defs> + <path id="SVGID_869_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_870_"> + <use xlink:href="#SVGID_869_" style="overflow:visible;"/> + </clipPath> + <path class="st436" d="M32.4,24.5c0.5,0.2,1,0.4,1.4,0.7c0.6,0.4,1.3,0.7,2,0.9c-0.7-0.3-1.4-0.7-2-1.1 + C33.4,24.6,32.7,24.5,32.4,24.5z"/> + </g> + <g> + <defs> + <path id="SVGID_871_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_872_"> + <use xlink:href="#SVGID_871_" style="overflow:visible;"/> + </clipPath> + <path class="st437" d="M35.8,26.1c-0.3-0.1-0.7-0.2-1-0.3c-0.4-0.1-0.7-0.3-1-0.6c-0.4-0.3-0.9-0.5-1.4-0.7c0.1,0,0.2,0,0.3,0.1 + c0.4,0,0.8,0.2,1.1,0.4C34.4,25.4,35.1,25.8,35.8,26.1z M32.4,24.5c0.5,0.2,1,0.4,1.4,0.7c0.3,0.2,0.7,0.4,1,0.6 + c0.3,0.1,0.6,0.3,1,0.3c-0.7-0.3-1.4-0.7-2-1.1c-0.3-0.2-0.7-0.4-1.1-0.4L32.4,24.5z"/> + </g> + <g> + <defs> + <path id="SVGID_873_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_874_"> + <use xlink:href="#SVGID_873_" style="overflow:visible;"/> + </clipPath> + <path class="st438" d="M30,25.3c0,0,1.9,1.4,2.8,2.9C32.8,28.2,30.5,25.7,30,25.3"/> + </g> + <g> + <defs> + <path id="SVGID_875_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_876_"> + <use xlink:href="#SVGID_875_" style="overflow:visible;"/> + </clipPath> + <path class="st439" d="M30,25.3c0,0,1.9,1.4,2.8,2.9C32.8,28.2,30.5,25.7,30,25.3z"/> + </g> + <g> + <defs> + <path id="SVGID_877_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_878_"> + <use xlink:href="#SVGID_877_" style="overflow:visible;"/> + </clipPath> + <path class="st440" d="M32.8,28.2c0,0-2.3-2.4-2.8-2.9c0.4,0.3,0.7,0.6,1.1,0.9c0.3,0.3,0.6,0.6,0.9,0.9 + C32.3,27.5,32.6,27.8,32.8,28.2z M30,25.3c0.5,0.4,2.7,2.8,2.8,2.9c-0.2-0.4-0.5-0.7-0.8-1.1c-0.3-0.3-0.6-0.6-0.9-0.9 + C30.6,25.7,30.1,25.4,30,25.3z"/> + </g> + <g> + <defs> + <path id="SVGID_879_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_880_"> + <use xlink:href="#SVGID_879_" style="overflow:visible;"/> + </clipPath> + <path class="st441" d="M29.7,23.4c0,0,0.5,1,2.3,1.5C31,24.8,30.2,24.2,29.7,23.4"/> + </g> + <g> + <defs> + <path id="SVGID_881_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_882_"> + <use xlink:href="#SVGID_881_" style="overflow:visible;"/> + </clipPath> + <path class="st442" d="M29.7,23.4c0,0,0.5,1,2.3,1.5C31,24.8,30.2,24.2,29.7,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_883_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_884_"> + <use xlink:href="#SVGID_883_" style="overflow:visible;"/> + </clipPath> + <path class="st443" d="M32,24.9c-0.3,0-0.6-0.1-0.8-0.2c-0.3-0.1-0.5-0.3-0.8-0.4c-0.2-0.2-0.4-0.3-0.5-0.5 + c-0.1-0.1-0.1-0.2-0.2-0.3c0.1,0.1,0.1,0.2,0.2,0.3c0.1,0.1,0.2,0.2,0.3,0.3c0.2,0.2,0.5,0.4,0.7,0.5 + C31.2,24.7,31.6,24.8,32,24.9z M29.9,23.7c0.1,0.2,0.3,0.4,0.5,0.5c0.2,0.2,0.5,0.3,0.7,0.4c0.3,0.1,0.5,0.2,0.8,0.2 + c-0.4-0.1-0.8-0.3-1.1-0.4c-0.3-0.1-0.5-0.3-0.7-0.5C30,23.9,30,23.8,29.9,23.7z M29.7,23.4c0.1,0.1,0.1,0.2,0.2,0.3 + C29.8,23.6,29.7,23.5,29.7,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_885_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_886_"> + <use xlink:href="#SVGID_885_" style="overflow:visible;"/> + </clipPath> + <path class="st444" d="M32.3,25.1c0,0,1.9,1.3,1.9,2.3C34.2,27.4,33.3,25.6,32.3,25.1"/> + </g> + <g> + <defs> + <path id="SVGID_887_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_888_"> + <use xlink:href="#SVGID_887_" style="overflow:visible;"/> + </clipPath> + <path class="st445" d="M32.3,25.1c0,0,1.9,1.3,1.9,2.3C34.2,27.4,33.3,25.6,32.3,25.1z"/> + </g> + <g> + <defs> + <path id="SVGID_889_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_890_"> + <use xlink:href="#SVGID_889_" style="overflow:visible;"/> + </clipPath> + <path class="st446" d="M34.2,27.4c-0.2-0.3-0.4-0.7-0.6-1c-0.2-0.3-0.4-0.5-0.6-0.8l-0.1-0.1c-0.2-0.2-0.4-0.3-0.6-0.4 + c0.2,0.1,0.4,0.3,0.6,0.4c0.1,0.1,0.2,0.2,0.4,0.3c0.2,0.2,0.5,0.5,0.6,0.7C34.1,26.8,34.2,27.1,34.2,27.4z M32.9,25.5l0.1,0.1 + c0.2,0.2,0.4,0.5,0.6,0.8c0.2,0.3,0.4,0.6,0.6,1c0-0.3-0.1-0.6-0.3-0.8c-0.2-0.3-0.4-0.5-0.6-0.7C33.1,25.7,33,25.6,32.9,25.5z + M32.3,25.1c0.2,0.1,0.4,0.3,0.5,0.4C32.7,25.3,32.5,25.2,32.3,25.1z"/> + </g> + <g> + <defs> + <path id="SVGID_891_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_892_"> + <use xlink:href="#SVGID_891_" style="overflow:visible;"/> + </clipPath> + <path class="st447" d="M30.7,27.4c0,0,1.2,0.5,1.9,0.8C32.6,28.2,32.1,28.4,30.7,27.4"/> + </g> + <g> + <defs> + <path id="SVGID_893_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_894_"> + <use xlink:href="#SVGID_893_" style="overflow:visible;"/> + </clipPath> + <path class="st448" d="M32.4,28.3c-0.2,0-0.8-0.1-1.8-0.8C30.6,27.5,31.8,28,32.4,28.3C32.5,28.2,32.5,28.3,32.4,28.3z + M30.8,27.5c0.4,0.3,0.9,0.6,1.4,0.7c0.1,0,0.3,0,0.4,0C32,28,31,27.6,30.8,27.5z"/> + </g> + <g> + <defs> + <path id="SVGID_895_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_896_"> + <use xlink:href="#SVGID_895_" style="overflow:visible;"/> + </clipPath> + <path class="st449" d="M28.6,21.8c0,0-0.8,1.5-0.7,2.4C27.9,24.2,28.2,22.2,28.6,21.8"/> + </g> + <g> + <defs> + <path id="SVGID_897_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_898_"> + <use xlink:href="#SVGID_897_" style="overflow:visible;"/> + </clipPath> + <path class="st450" d="M28.8,21.9c0,0-0.7,0.9-0.5,1.7C28.2,23.6,28.5,22.2,28.8,21.9"/> + </g> + <g> + <defs> + <path id="SVGID_899_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_900_"> + <use xlink:href="#SVGID_899_" style="overflow:visible;"/> + </clipPath> + <path class="st451" d="M28.2,23.6c0-0.4,0-0.8,0.2-1.1c0-0.1,0.1-0.2,0.1-0.3s0.1-0.2,0.2-0.3c0,0-0.1,0.1-0.2,0.3 + C28.4,22.7,28.3,23.1,28.2,23.6z M28.5,22.4c-0.2,0.4-0.3,0.8-0.3,1.2C28.3,23.2,28.4,22.8,28.5,22.4z"/> + </g> + <g> + <defs> + <path id="SVGID_901_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_902_"> + <use xlink:href="#SVGID_901_" style="overflow:visible;"/> + </clipPath> + <path class="st452" d="M28,24.5c0,0,0.4,2.3,1.4,2.5C29.4,27,27.8,25.7,28,24.5"/> + </g> + <g> + <defs> + <path id="SVGID_903_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_904_"> + <use xlink:href="#SVGID_903_" style="overflow:visible;"/> + </clipPath> + <path class="st453" d="M29.4,27L29.4,27c-0.3,0-0.7-0.3-1-1.1c-0.1-0.2-0.2-0.3-0.3-0.5c-0.1-0.3-0.2-0.6-0.1-0.9 + c0.1,0.4,0.2,0.8,0.3,1.2c0,0.1,0,0.1,0.1,0.2c0,0.1,0.1,0.2,0.2,0.3C28.8,26.5,29.1,26.8,29.4,27z M28.4,26c0.3,0.7,0.7,1,0.9,1 + c-0.3-0.2-0.5-0.5-0.7-0.8C28.5,26.2,28.5,26.1,28.4,26z M28,24.6c0,0.4,0.1,0.9,0.3,1.2v-0.1C28.1,25.3,28,25,28,24.6z"/> + </g> + <g> + <defs> + <path id="SVGID_905_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_906_"> + <use xlink:href="#SVGID_905_" style="overflow:visible;"/> + </clipPath> + <path class="st454" d="M28.6,25.6c0.2,0.8,0.9,1.5,1.7,1.7C29.6,26.9,29,26.3,28.6,25.6"/> + </g> + <g> + <defs> + <path id="SVGID_907_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_908_"> + <use xlink:href="#SVGID_907_" style="overflow:visible;"/> + </clipPath> + <path class="st455" d="M30.3,27.3c-0.6-0.1-1.1-0.5-1.4-1c-0.1-0.2-0.3-0.5-0.3-0.7C29,26.3,29.6,26.9,30.3,27.3z M28.7,25.7 + c0.1,0.2,0.2,0.4,0.3,0.6c0.3,0.5,0.8,0.8,1.3,0.9C29.6,26.9,29.1,26.3,28.7,25.7z"/> + </g> + <g> + <defs> + <path id="SVGID_909_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_910_"> + <use xlink:href="#SVGID_909_" style="overflow:visible;"/> + </clipPath> + <path class="st456" d="M33.4,24.6c0,0,3,0.9,3.5,1.7C36.8,26.3,34.6,25,33.4,24.6"/> + </g> + <g> + <defs> + <path id="SVGID_911_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_912_"> + <use xlink:href="#SVGID_911_" style="overflow:visible;"/> + </clipPath> + <path class="st457" d="M33.4,24.6c0,0,3,0.9,3.5,1.7C36.8,26.3,34.6,25,33.4,24.6z"/> + </g> + <g> + <defs> + <path id="SVGID_913_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_914_"> + <use xlink:href="#SVGID_913_" style="overflow:visible;"/> + </clipPath> + <path class="st458" d="M36.8,26.3L36.8,26.3c0,0-0.6-0.3-1.3-0.7c-0.7-0.4-1.3-0.7-2-1h-0.1h0.1c0.2,0.1,0.8,0.3,1.4,0.5 + c0.4,0.2,0.8,0.3,1.2,0.6C36.4,25.8,36.7,26.1,36.8,26.3z M33.6,24.7c0.7,0.3,1.4,0.6,2,0.9c0.7,0.4,1.2,0.7,1.3,0.7 + c-0.2-0.3-0.4-0.5-0.7-0.6c-0.4-0.2-0.8-0.4-1.2-0.6C34.4,24.9,33.9,24.7,33.6,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_915_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_916_"> + <use xlink:href="#SVGID_915_" style="overflow:visible;"/> + </clipPath> + <path class="st459" d="M29.9,23.8c0.4,0.6,1,1,1.7,1.1C30.8,25,30.2,24.5,29.9,23.8"/> + </g> + <g> + <defs> + <path id="SVGID_917_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_918_"> + <use xlink:href="#SVGID_917_" style="overflow:visible;"/> + </clipPath> + <path class="st460" d="M29.9,23.8c0.4,0.6,1,1,1.7,1.1C30.8,25,30.2,24.5,29.9,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_919_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_920_"> + <use xlink:href="#SVGID_919_" style="overflow:visible;"/> + </clipPath> + <path class="st461" d="M31.6,25c-0.2,0-0.5-0.1-0.7-0.2s-0.4-0.2-0.6-0.3c-0.2-0.2-0.3-0.4-0.4-0.6c0.1,0.2,0.3,0.3,0.4,0.5 + c0.2,0.1,0.3,0.3,0.5,0.4C31.1,24.8,31.3,24.9,31.6,25z M29.9,23.8c0.1,0.2,0.2,0.5,0.4,0.6c0.2,0.1,0.4,0.3,0.6,0.3 + c0.2,0.1,0.4,0.1,0.7,0.2c-0.3-0.1-0.5-0.2-0.7-0.3c-0.2-0.1-0.4-0.2-0.5-0.4C30.2,24.2,30,24,29.9,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_921_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_922_"> + <use xlink:href="#SVGID_921_" style="overflow:visible;"/> + </clipPath> + <path class="st462" d="M29.5,23.6c0.1,0.3,0.3,0.6,0.5,0.8"/> + </g> + <g> + <defs> + <path id="SVGID_923_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_924_"> + <use xlink:href="#SVGID_923_" style="overflow:visible;"/> + </clipPath> + <path class="st463" d="M30,24.4c-0.2-0.2-0.4-0.5-0.5-0.8C29.6,23.9,29.8,24.2,30,24.4z"/> + </g> + <g> + <defs> + <path id="SVGID_925_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_926_"> + <use xlink:href="#SVGID_925_" style="overflow:visible;"/> + </clipPath> + <path class="st464" d="M28.1,24.6c0,0,0.1,1.1,0.7,1.6C28.4,25.8,28.1,25.2,28.1,24.6"/> + </g> + <g> + <defs> + <path id="SVGID_927_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_928_"> + <use xlink:href="#SVGID_927_" style="overflow:visible;"/> + </clipPath> + <path class="st465" d="M28.8,26.2c-0.1-0.1-0.2-0.3-0.3-0.4c-0.2-0.4-0.3-0.8-0.4-1.2c0.1,0.4,0.2,0.8,0.4,1.2 + C28.6,26,28.7,26.1,28.8,26.2z"/> + </g> + <g> + <defs> + <path id="SVGID_929_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_930_"> + <use xlink:href="#SVGID_929_" style="overflow:visible;"/> + </clipPath> + <path class="st466" d="M28.6,24.9c0.4,1.1,1.1,2,2.1,2.5C29.7,26.9,28.9,26,28.6,24.9"/> + </g> + <g> + <defs> + <path id="SVGID_931_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_932_"> + <use xlink:href="#SVGID_931_" style="overflow:visible;"/> + </clipPath> + <path class="st467" d="M28.6,24.9c0.4,1.1,1.1,2,2.1,2.5C29.7,26.9,28.9,26,28.6,24.9z"/> + </g> + <g> + <defs> + <path id="SVGID_933_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_934_"> + <use xlink:href="#SVGID_933_" style="overflow:visible;"/> + </clipPath> + <path class="st468" d="M30.7,27.4c-0.3-0.2-0.6-0.4-0.9-0.6s-0.5-0.5-0.7-0.8s-0.4-0.7-0.5-1.1c0.1,0.3,0.3,0.6,0.4,0.9 + c0.2,0.3,0.4,0.6,0.6,0.8C30,27,30.3,27.2,30.7,27.4z M28.6,25c0.1,0.4,0.3,0.8,0.5,1.1c0.4,0.6,0.9,1,1.5,1.4 + c-0.4-0.2-0.7-0.5-1-0.8c-0.2-0.3-0.5-0.5-0.6-0.8C28.8,25.6,28.7,25.3,28.6,25z"/> + </g> + <g> + <defs> + <path id="SVGID_935_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_936_"> + <use xlink:href="#SVGID_935_" style="overflow:visible;"/> + </clipPath> + <path class="st469" d="M34.1,26.1c0,0,0,2,2.7,2.3C36.8,28.3,34.5,27.8,34.1,26.1z"/> + </g> + <g> + <defs> + <path id="SVGID_937_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_938_"> + <use xlink:href="#SVGID_937_" style="overflow:visible;"/> + </clipPath> + <path class="st470" d="M36.8,28.3c-0.5,0-1.1-0.2-1.6-0.5c-0.3-0.2-0.6-0.4-0.8-0.8c-0.1-0.2-0.2-0.5-0.3-0.7c0-0.1,0-0.2,0-0.3 + c0.1,0.4,0.3,0.8,0.6,1.1c0.3,0.3,0.6,0.5,0.9,0.7C36,28.1,36.4,28.2,36.8,28.3z M34.1,26.1c0,0.1,0,0.2,0,0.3 + c0.1,0.3,0.2,0.5,0.3,0.7c0.2,0.3,0.5,0.6,0.8,0.8c0.5,0.3,1,0.4,1.6,0.5c-0.4-0.1-0.8-0.3-1.2-0.5c-0.3-0.2-0.6-0.4-0.9-0.7 + C34.4,26.8,34.2,26.5,34.1,26.1z"/> + </g> + <g> + <defs> + <path id="SVGID_939_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_940_"> + <use xlink:href="#SVGID_939_" style="overflow:visible;"/> + </clipPath> + <path class="st471" d="M35,27.2c0.6,0.5,1.2,0.8,1.9,1C36.3,27.9,35.6,27.6,35,27.2"/> + </g> + <g> + <defs> + <path id="SVGID_941_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_942_"> + <use xlink:href="#SVGID_941_" style="overflow:visible;"/> + </clipPath> + <path class="st472" d="M36.9,28.2c-0.7-0.2-1.4-0.5-1.9-1C35.6,27.6,36.3,27.9,36.9,28.2z M35.2,27.4c0.5,0.4,1.1,0.7,1.7,0.9 + C36.6,28.1,35.7,27.7,35.2,27.4z"/> + </g> + <g> + <defs> + <path id="SVGID_943_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_944_"> + <use xlink:href="#SVGID_943_" style="overflow:visible;"/> + </clipPath> + <path class="st473" d="M35.1,26.5c0.6,0.3,1.4,0.4,2,0.1C37.1,26.6,36.6,27.4,35.1,26.5"/> + </g> + <g> + <defs> + <path id="SVGID_945_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_946_"> + <use xlink:href="#SVGID_945_" style="overflow:visible;"/> + </clipPath> + <path class="st474" d="M35.1,26.5c0.6,0.3,1.4,0.4,2,0.1C37.1,26.6,36.6,27.4,35.1,26.5z"/> + </g> + <g> + <defs> + <path id="SVGID_947_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_948_"> + <use xlink:href="#SVGID_947_" style="overflow:visible;"/> + </clipPath> + <path class="st475" d="M36.4,26.9c-0.1,0-0.2,0-0.3,0c-0.3-0.1-0.6-0.2-0.9-0.4c0.2,0.1,0.3,0.1,0.5,0.2c0.2,0,0.4,0.1,0.6,0.1 + L36.4,26.9c0.3-0.1,0.6-0.2,0.8-0.2l-0.1,0.1c-0.1,0.1-0.2,0.1-0.3,0.2C36.6,26.9,36.5,26.9,36.4,26.9z M35.1,26.5 + c0.3,0.2,0.6,0.3,0.9,0.4c0.2,0,0.4,0,0.6,0c0.1,0,0.2-0.1,0.3-0.2l0.1-0.1c-0.3,0.1-0.5,0.1-0.8,0.1h-0.1c-0.2,0-0.4,0-0.6-0.1 + C35.5,26.7,35.3,26.6,35.1,26.5z"/> + </g> + <g> + <defs> + <path id="SVGID_949_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_950_"> + <use xlink:href="#SVGID_949_" style="overflow:visible;"/> + </clipPath> + <path class="st476" d="M34.2,27.4c0,0,0.9,0.9,1.4,1C34.9,28.4,34.3,28,34.2,27.4"/> + </g> + <g> + <defs> + <path id="SVGID_951_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_952_"> + <use xlink:href="#SVGID_951_" style="overflow:visible;"/> + </clipPath> + <path class="st477" d="M35.5,28.4c-0.6,0-1.1-0.4-1.3-1C34.2,27.4,35.1,28.3,35.5,28.4z M34.2,27.4c0.1,0.4,0.4,0.7,0.8,0.9 + c0.2,0.1,0.3,0.1,0.5,0.1C35,28.1,34.6,27.8,34.2,27.4z"/> + </g> + <g> + <defs> + <path id="SVGID_953_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_954_"> + <use xlink:href="#SVGID_953_" style="overflow:visible;"/> + </clipPath> + <path class="st478" d="M32.1,28.2c0,0,1.8,0.4,2.6,0.3"/> + </g> + <g> + <defs> + <path id="SVGID_955_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_956_"> + <use xlink:href="#SVGID_955_" style="overflow:visible;"/> + </clipPath> + <path class="st479" d="M35.1,30.1C35.1,30.1,35,30.1,35.1,30.1C35,30.2,35,30.2,35.1,30.1l-0.4,4.3c0,0.1,0,0.3-0.1,0.4 + c-0.1,0.2-0.2,0.1-0.4,0.1s-0.4-0.1-0.9-0.2c-0.3-0.1-0.5,0-0.5,0.1c-0.1,0.1,0,0.1-0.1,0.1c0,0,0.1,0.1,0.2,0 + c0.1,0,0.1,0.1,0.2,0.1s0.2,0,0.3-0.1c0.2,0,0.4,0,0.5,0.1s0.3,0.1,0.4,0.1c-0.1,0.1-0.2,0.1-0.3,0.1c-0.3,0-0.6,0.1-0.9,0.1 + c-0.2,0-0.4,0.1-0.4,0.3c0,0.1,0.1,0.1,0.1,0.1s0.1,0,0.2,0s0.2-0.1,0.2-0.1c0.3-0.1,0.5-0.1,0.8-0.2c0.2,0,0.4-0.1,0.5-0.3 + c-0.1,0.1-0.1,0.2-0.2,0.2c-0.3,0.2-0.5,0.4-0.7,0.6c-0.1,0.2-0.1,0.4,0,0.5s0.1-0.1,0.1-0.1c0.1,0,0.2-0.1,0.2-0.2 + c0.1-0.1,0-0.2,0-0.2l0.1-0.1c0.1-0.1,0.1-0.1,0.1-0.2c0.1-0.1,0.3-0.3,0.4-0.4c0,0,0.2,0,0.4,0s0.4,0.1,0.7,0.1 + c0.1,0,0.2-0.1,0.2-0.2c0,0,0.3,0.2,0.3,0.1c0.1,0-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.4-0.1c-0.1,0-0.2,0-0.3,0s0,0-0.1,0.1 + c-0.1,0,0,0-0.1,0l-0.2-0.1l0.1-0.1c0,0-0.1-0.2,0-0.3s0-0.1,0-0.2c0-0.1,0-0.1,0-0.1l0.4-4.2v-0.1L35.1,30.1z"/> + </g> + <g> + <defs> + <path id="SVGID_957_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_958_"> + <use xlink:href="#SVGID_957_" style="overflow:visible;"/> + </clipPath> + <path class="st480" d="M18.4,35.5c0-0.2-0.7-0.5-0.7-0.5S18.4,35.3,18.4,35.5z M17.9,35.3c0-0.1-0.6-0.3-0.6-0.3 + C17.4,35,17.9,35.2,17.9,35.3z"/> + </g> + <g> + <defs> + <path id="SVGID_959_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_960_"> + <use xlink:href="#SVGID_959_" style="overflow:visible;"/> + </clipPath> + <path class="st481" d="M15.3,15.9c0-0.3,0.1-0.6,0.2-0.9c0.2-0.2,0.4-0.6,0.4-0.6s0.1,1.1-0.3,1.5H15.3"/> + </g> + <g> + <defs> + <path id="SVGID_961_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_962_"> + <use xlink:href="#SVGID_961_" style="overflow:visible;"/> + </clipPath> + <path class="st482" d="M15.3,15.9c0-0.3,0.1-0.6,0.2-0.9c0.2-0.2,0.4-0.6,0.4-0.6c0,0.2,0,0.4,0,0.6c0,0.2,0,0.3-0.1,0.5 + c0,0.1-0.1,0.3-0.2,0.4H15.3 M15.3,15.9h0.3c0.1-0.1,0.2-0.2,0.2-0.4c0.1-0.2,0.1-0.3,0.1-0.5s0-0.4,0-0.6c0,0-0.2,0.4-0.4,0.6 + C15.4,15.3,15.3,15.6,15.3,15.9"/> + </g> + <g> + <defs> + <path id="SVGID_963_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_964_"> + <use xlink:href="#SVGID_963_" style="overflow:visible;"/> + </clipPath> + <path class="st483" d="M15.9,14.4c-0.4,0.4-0.6,0.9-0.6,1.5c-0.2,0-0.3,0-0.3,0c-0.1-0.3-0.2-0.5-0.4-0.8 + c-0.2-0.1-0.4-0.6-0.6-0.6c-0.2,0-0.3,0-0.2,0.2c0.1,0.4,0.2,0.7,0.4,1.1c0.1,0.1,0.2,0.2,0.3,0.4c-0.1,0.5-0.2,1-0.2,1.6 + c-0.1,0.6-0.2,1.2-0.4,1.8c-0.9,1.4-1.9,2.7-3.1,4c-2.6,2.7-2.7,6-2.6,6.5c0.2,0.8,0.4,1.7,0.5,2.5c0,0.5,0.1,1.3-1.7,1.9 + c-1.4,0.4-8.3,0.3-8.3,0.3c0.1,0-0.4-0.1-0.5,0c-0.4,0.3,2.7,0.4,3.5,0.4c1,0,5.9,0.2,6.4,0.1c0.9,0,1.7-0.5,2.1-1.3 + c0.4-0.6,0.9-1.4,1.2-1.8c0.1-0.1,0.2-0.2,0.3-0.1c0.1,0.7,0,1.5-0.3,2.2c-0.4,1.1,0.3,1.1,0.6,1c0.3,0,2.8,0,4.3,0 + c1.8,0,2.6,0.4,2.6,0.4c-0.6-0.6-1.4-1-2.3-1c-0.6,0-2.5,0-2.7,0c-0.4-0.1-0.7-0.5-0.8-0.9c0-0.5,0.8-4.9,0.8-5.4 + c0-0.1,0-0.3-0.1-0.4c0.2-0.1,0.2-0.3,0.3-0.5c0.4-0.7,0.6-1.4,0.8-2.2c0.1-0.4,0.3-0.9,0.4-1.3c0.1,0.1,0.3,0.1,0.4,0.2 + c0.7,0.3,1.3,1.4,1.4,1.6s0.1,0.4,0.1,0.6s0,0.5,0,0.6c-0.1,0.4,0,0.5,0,0.5c0.1-0.1,0.1-0.3,0.1-0.4c0,0.1,0,0.1,0,0.2 + c0,0.2,0,0.3,0.1,0.5c0.1-0.2,0.1-0.5,0.1-0.7c0,0.3,0,0.6,0,0.6s0.1-0.5,0.1-0.7s0-1,0-1.2c0-0.6-0.7-1.4-1-1.7 + c-0.4-0.5-0.7-1-0.9-1.5c0.2-0.4,0.4-0.9,0.5-1.4s0-1.1-0.2-1.6c-0.1-0.5-0.1-1,0-1.5c0.4-0.1,0.9-0.1,1.4-0.1 + c0.1,0,0.1-0.1,0.2-0.1c0.2-0.1,0.2-0.6,0.2-0.6s0.1-0.2,0-0.2s-0.8-0.5-0.9-0.5s0-0.2-0.1-0.3c-0.3-0.3-0.6-0.5-1-0.6 + c0,0-0.2-0.8,0.3-1L15.9,14.4 M17.5,26.2c0,0.1,0,0.3,0,0.4C17.5,26.4,17.5,26.2,17.5,26.2 M12,27.1c-0.4,0.1-0.8,0.4-1,0.8 + C11.2,27.5,11.6,27.3,12,27.1"/> + </g> + <g> + <defs> + <path id="SVGID_965_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_966_"> + <use xlink:href="#SVGID_965_" style="overflow:visible;"/> + </clipPath> + <g class="st484"> + <g> + <defs> + <path id="SVGID_967_" d="M13.9,20.7c0.1,1.3-0.8,2.3-1.5,3.4c-0.7,1-1.4,2-2.3,3c-0.5,0.9-0.7,3-0.1,3.5 + c0.6,0.6,0.7,1,2.4-0.1l-0.7,2.8c-0.1,0.2-0.1,0.4-0.2,0.7c0,0.1-0.1,0.3-0.1,0.4c0,0.1-0.2,0.6,0.2,0.7 + c0.4,0.1,0.2,0.1,0.2,0.1c-0.3,0-1,0-0.6-1c0.2-0.7,0.3-1.4,0.3-2.2c-0.1,0-0.2,0-0.3,0.1c-0.3,0.4-0.8,1.1-1.2,1.8 + c-0.4,0.8-1.2,1.3-2.1,1.3C7.4,35.3,1.8,35,0.7,35c-0.8,0-2.4-0.1-2.8-0.3c-0.2-0.1,0.4,0,0.1-0.1c0,0,7.2,0.2,8.7-0.3 + c1.8-0.5,1.7-1.4,1.7-1.9c-0.1-0.9-0.3-1.7-0.5-2.5c-0.1-0.5,0-3.7,2.6-6.5c1.1-1.2,2.1-2.6,3-4c0.3-0.6,0.4-1.2,0.4-1.8 + c0-0.5,0.1-1.1,0.2-1.6c0,0-0.1-0.3-0.2-0.4c0.1,0.1,0.3,0.3,0.4,0.4c0,0.1,0.3,0.4,0.2,0.7L13.9,20.7"/> + </defs> + <clipPath id="SVGID_968_"> + <use xlink:href="#SVGID_967_" style="overflow:visible;"/> + </clipPath> + <polyline class="st485" points="14.5,15.8 14.8,16 14.8,18.9 -0.5,35.3 -1.7,35.3 -2,35 -2,15.8 14.5,15.8 "/> + </g> + <g> + <defs> + <path id="SVGID_969_" d="M13.9,20.7c0.1,1.3-0.8,2.3-1.5,3.4c-0.7,1-1.4,2-2.3,3c-0.5,0.9-0.7,3-0.1,3.5 + c0.6,0.6,0.7,1,2.4-0.1l-0.7,2.8c-0.1,0.2-0.1,0.4-0.2,0.7c0,0.1-0.1,0.3-0.1,0.4c0,0.1-0.2,0.6,0.2,0.7 + c0.4,0.1,0.2,0.1,0.2,0.1c-0.3,0-1,0-0.6-1c0.2-0.7,0.3-1.4,0.3-2.2c-0.1,0-0.2,0-0.3,0.1c-0.3,0.4-0.8,1.1-1.2,1.8 + c-0.4,0.8-1.2,1.3-2.1,1.3C7.4,35.3,1.8,35,0.7,35c-0.8,0-2.4-0.1-2.8-0.3c-0.2-0.1,0.4,0,0.1-0.1c0,0,7.2,0.2,8.7-0.3 + c1.8-0.5,1.7-1.4,1.7-1.9c-0.1-0.9-0.3-1.7-0.5-2.5c-0.1-0.5,0-3.7,2.6-6.5c1.1-1.2,2.1-2.6,3-4c0.3-0.6,0.4-1.2,0.4-1.8 + c0-0.5,0.1-1.1,0.2-1.6c0,0-0.1-0.3-0.2-0.4c0.1,0.1,0.3,0.3,0.4,0.4c0,0.1,0.3,0.4,0.2,0.7L13.9,20.7"/> + </defs> + <clipPath id="SVGID_970_"> + <use xlink:href="#SVGID_969_" style="overflow:visible;"/> + </clipPath> + <polyline class="st486" points="14.8,27.2 7.2,35.3 -0.5,35.3 14.8,18.9 14.8,27.2 "/> + </g> + <g> + <defs> + <path id="SVGID_971_" d="M13.9,20.7c0.1,1.3-0.8,2.3-1.5,3.4c-0.7,1-1.4,2-2.3,3c-0.5,0.9-0.7,3-0.1,3.5 + c0.6,0.6,0.7,1,2.4-0.1l-0.7,2.8c-0.1,0.2-0.1,0.4-0.2,0.7c0,0.1-0.1,0.3-0.1,0.4c0,0.1-0.2,0.6,0.2,0.7 + c0.4,0.1,0.2,0.1,0.2,0.1c-0.3,0-1,0-0.6-1c0.2-0.7,0.3-1.4,0.3-2.2c-0.1,0-0.2,0-0.3,0.1c-0.3,0.4-0.8,1.1-1.2,1.8 + c-0.4,0.8-1.2,1.3-2.1,1.3C7.4,35.3,1.8,35,0.7,35c-0.8,0-2.4-0.1-2.8-0.3c-0.2-0.1,0.4,0,0.1-0.1c0,0,7.2,0.2,8.7-0.3 + c1.8-0.5,1.7-1.4,1.7-1.9c-0.1-0.9-0.3-1.7-0.5-2.5c-0.1-0.5,0-3.7,2.6-6.5c1.1-1.2,2.1-2.6,3-4c0.3-0.6,0.4-1.2,0.4-1.8 + c0-0.5,0.1-1.1,0.2-1.6c0,0-0.1-0.3-0.2-0.4c0.1,0.1,0.3,0.3,0.4,0.4c0,0.1,0.3,0.4,0.2,0.7L13.9,20.7"/> + </defs> + <clipPath id="SVGID_972_"> + <use xlink:href="#SVGID_971_" style="overflow:visible;"/> + </clipPath> + <polyline class="st487" points="7.2,35.3 14.8,27.2 14.8,35.3 7.2,35.3 "/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_973_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_974_"> + <use xlink:href="#SVGID_973_" style="overflow:visible;"/> + </clipPath> + <path class="st488" d="M15.7,18.7c-0.1,0-0.2,0.2-0.5,0.8c-0.3,0.9-0.2,1.8,0.2,2.6l0.3,0.4c0-0.1,0.1-0.2,0.1-0.4 + c0.4-0.6,0.5-1.3,0.3-2c-0.1-0.3-0.2-0.6-0.2-0.9C15.9,19.3,15.9,18.7,15.7,18.7 M14.6,23.7l-0.3,0.5c-0.3,0.4-1.1,1-1.6,2.4 + c0,0.1-0.1,0.3-0.2,0.4c0,0,1,0.2,1.2,0.8c0.3-0.5,0.5-1.1,0.7-1.6c0.2-0.8,0.4-1.5,0.7-2.3C15,23.9,14.8,23.8,14.6,23.7"/> + </g> + <g> + <defs> + <path id="SVGID_975_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_976_"> + <use xlink:href="#SVGID_975_" style="overflow:visible;"/> + </clipPath> + <path class="st489" d="M17.3,27.8c0-0.2-0.1-0.3-0.1-0.4c0,0.1,0,0.1-0.1,0.1c0,0-0.1-0.1,0-0.5c0-0.1,0-0.2,0-0.3 + c0-0.1,0-0.2,0-0.3c0-0.2,0-0.4-0.1-0.6s-0.7-1.3-1.4-1.6c-0.5-0.2-1.1-0.5-1.6-0.8c-0.1-0.1-0.1-0.2-0.2-0.2 + c0.1,0,0.2,0.2,0.2,0.2c0.5,0.3,1,0.6,1.5,0.8c0.7,0.3,1.3,1.3,1.4,1.6C17,26,17,26.2,17,26.4c0,0.1,0,0.2,0,0.3 + c0,0.1,0,0.2,0,0.3c0,0.1,0,0.3,0,0.4c0-0.1,0.1-0.2,0.1-0.4c0-0.1,0-0.3,0-0.4v-0.1v-0.1h0.1v0.1c0,0.2,0,0.4-0.1,0.6 + c0,0.1,0,0.1,0,0.2s0,0.3,0,0.4c0.1-0.2,0.1-0.4,0.1-0.6c0-0.1,0-0.2,0-0.3c0-0.1,0-0.2,0-0.3c0-0.1,0-0.2,0-0.3h0.1 + c0,0.1,0,0.2,0,0.3c0,0.1,0,0.3,0,0.5s0,0.4,0,0.6c0.1-0.2,0.1-0.4,0.1-0.6c0-0.1,0-0.6,0-1.2s-0.7-1.4-1-1.6 + c-0.4-0.5-0.7-1-0.9-1.5c-0.1-0.2-0.2-0.3-0.3-0.4c0.1,0.1,0.2,0.3,0.3,0.5c0.2,0.5,0.5,1.1,0.9,1.5c0.3,0.3,1,1.1,1,1.7 + c0,0.4,0,1,0,1.2s-0.1,0.7-0.1,0.7L17.3,27.8C17.5,27.6,17.4,27.7,17.3,27.8"/> + </g> + <g> + <defs> + <path id="SVGID_977_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_978_"> + <use xlink:href="#SVGID_977_" style="overflow:visible;"/> + </clipPath> + <path class="st490" d="M12.6,27.2c0,0,1.2,0.2,1.1,1.2c-0.1,0.8-0.3,1.7-0.4,2.7c-0.2,1-0.3,2.2-0.3,2.4c-0.1,0.3,0,0.6,0.2,0.8 + c0.1,0.1,0.2,0.2,0.4,0.3c0.1,0.1,0.1,0.1,0.8,0.1c0.8,0,1.6,0,1.7,0c0.5,0,1,0,1.5,0.2c0.3,0.1,0.5,0.2,0.7,0.3 + c-0.8-0.1-1.6-0.2-2.4-0.2c-1.4,0.1-3.6,0.1-3.8,0.1s-0.4-0.2-0.4-0.4c0-0.1,0-0.1,0-0.2c0.2-0.4,1.4-5.6,1.5-5.7 + c0.1-0.2,0.1-0.4,0.1-0.7c0-0.3-0.2-0.6-0.6-0.7c-0.2-0.1-0.4-0.1-0.7-0.1C12.3,27.2,12.4,27.2,12.6,27.2"/> + </g> + <g> + <defs> + <path id="SVGID_979_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_980_"> + <use xlink:href="#SVGID_979_" style="overflow:visible;"/> + </clipPath> + <path class="st491" d="M18.2,20.7c0.1-0.1,0.4,0,0.4,0.1c0.1,0.1,0.4,0.1,0.5,0s-0.1-0.2-0.2-0.3c-0.3-0.1-0.6-0.1-0.9-0.1 + c-0.2,0.1-0.5,0.2-0.7,0.3H18.2"/> + </g> + <g> + <defs> + <path id="SVGID_981_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_982_"> + <use xlink:href="#SVGID_981_" style="overflow:visible;"/> + </clipPath> + <path class="st492" d="M18.2,20.7c0.1-0.1,0.4,0,0.4,0.1c0.1,0.1,0.4,0.1,0.5,0s-0.1-0.2-0.2-0.3c-0.3-0.1-0.6-0.1-0.9-0.1 + c-0.2,0.1-0.5,0.2-0.7,0.3H18.2z"/> + </g> + <g> + <defs> + <path id="SVGID_983_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_984_"> + <use xlink:href="#SVGID_983_" style="overflow:visible;"/> + </clipPath> + <path class="st493" d="M18.9,20.9c-0.1,0-0.2,0-0.3-0.1s-0.4-0.1-0.4-0.1h-1l0.1-0.1c0.2-0.1,0.5-0.2,0.7-0.3 + c0.3,0,0.6,0,0.9,0.1c0.1,0,0.2,0.1,0.3,0.2v0.1l-0.1,0.1C19,20.9,19,20.9,18.9,20.9z M18.3,20.6c0.1,0,0.3,0.1,0.4,0.1 + s0.2,0.1,0.4,0c-0.1-0.1-0.1-0.1-0.2-0.2c-0.3-0.1-0.6-0.1-0.8-0.1c-0.2,0.1-0.4,0.1-0.6,0.2H18.3C18.2,20.6,18.3,20.6,18.3,20.6 + z"/> + </g> + <g> + <defs> + <path id="SVGID_985_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_986_"> + <use xlink:href="#SVGID_985_" style="overflow:visible;"/> + </clipPath> + <path class="st494" d="M18.2,20.4c0.2,0,0.4-0.1,0.6-0.1s0.6,0.2,0.6,0.3h-0.2H19c0,0,0-0.1-0.3-0.2 + C18.6,20.5,18.4,20.4,18.2,20.4"/> + </g> + <g> + <defs> + <path id="SVGID_987_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_988_"> + <use xlink:href="#SVGID_987_" style="overflow:visible;"/> + </clipPath> + <path class="st495" d="M18.2,20.4c0.2,0,0.4-0.1,0.6-0.1s0.6,0.2,0.6,0.3h-0.2H19c0,0,0-0.1-0.3-0.2 + C18.6,20.5,18.4,20.4,18.2,20.4z"/> + </g> + <g> + <defs> + <path id="SVGID_989_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_990_"> + <use xlink:href="#SVGID_989_" style="overflow:visible;"/> + </clipPath> + <path class="st496" d="M19.3,20.7H19c0,0,0-0.1-0.3-0.1c-0.2-0.1-0.4-0.1-0.6-0.1v-0.1c0.2,0,0.4-0.1,0.7-0.1 + c0.1,0,0.6,0.1,0.7,0.3L19.3,20.7z M19.1,20.6h0.2h0.1c-0.2-0.1-0.4-0.2-0.6-0.2c-0.1,0-0.2,0-0.3,0c0.1,0,0.2,0,0.3,0.1 + C19,20.6,19.1,20.6,19.1,20.6z"/> + </g> + <g> + <defs> + <path id="SVGID_991_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_992_"> + <use xlink:href="#SVGID_991_" style="overflow:visible;"/> + </clipPath> + <polygon class="st497" points="19.2,14.5 21.1,14.8 20.9,16.6 22.3,15.4 23.7,16.6 23.6,14.8 25.4,14.5 23.9,13.5 24.7,11.9 + 23,12.4 22.3,10.7 21.6,12.3 19.9,11.8 20.7,13.4 "/> + </g> + <g> + <defs> + <path id="SVGID_993_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_994_"> + <use xlink:href="#SVGID_993_" style="overflow:visible;"/> + </clipPath> + <polygon class="st498" points="22.5,13.7 24.7,11.9 23.1,12.4 "/> + </g> + <g> + <defs> + <path id="SVGID_995_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_996_"> + <use xlink:href="#SVGID_995_" style="overflow:visible;"/> + </clipPath> + <polygon class="st499" points="22.3,10.7 22.3,13.7 23,12.3 "/> + </g> + <g> + <defs> + <path id="SVGID_997_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_998_"> + <use xlink:href="#SVGID_997_" style="overflow:visible;"/> + </clipPath> + <polygon class="st500" points="22.5,13.8 23.8,13.5 25.4,14.5 "/> + </g> + <g> + <defs> + <path id="SVGID_999_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1000_"> + <use xlink:href="#SVGID_999_" style="overflow:visible;"/> + </clipPath> + <polygon class="st501" points="22.2,13.7 22.2,13.7 20.1,12 20,11.8 21.6,12.3 "/> + </g> + <g> + <defs> + <path id="SVGID_1001_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1002_"> + <use xlink:href="#SVGID_1001_" style="overflow:visible;"/> + </clipPath> + <polygon class="st502" points="22.2,13.8 22.2,13.8 20.7,13.5 19.3,14.4 19.4,14.5 "/> + </g> + <g> + <defs> + <path id="SVGID_1003_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1004_"> + <use xlink:href="#SVGID_1003_" style="overflow:visible;"/> + </clipPath> + <polygon class="st503" points="22.2,13.9 22.2,13.9 21.1,16.5 20.9,16.6 21.1,14.8 "/> + </g> + <g> + <defs> + <path id="SVGID_1005_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1006_"> + <use xlink:href="#SVGID_1005_" style="overflow:visible;"/> + </clipPath> + <polygon class="st504" points="22.4,14 22.4,14 23.6,16.5 23.7,16.6 23.6,14.9 "/> + </g> + <g> + <defs> + <path id="SVGID_1007_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1008_"> + <use xlink:href="#SVGID_1007_" style="overflow:visible;"/> + </clipPath> + <path class="st505" d="M19.6,16.7c-0.7,0.1-0.5,0.9,0.2,0.9h4.9c0.4,0.1,0.7-0.2,0.7-0.4c0-0.2-0.2-0.5-0.7-0.4h-5.1"/> + </g> + <g> + <defs> + <path id="SVGID_1009_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1010_"> + <use xlink:href="#SVGID_1009_" style="overflow:visible;"/> + </clipPath> + <path class="st506" d="M19.7,17.6c-0.3,0-0.6-0.2-0.6-0.5c0-0.2,0.1-0.4,0.4-0.5h5.2c0.2,0,0.5,0,0.6,0.2c0.1,0.1,0.1,0.3,0,0.4 + c-0.1,0.2-0.4,0.3-0.6,0.2h-2.5L19.7,17.6 M19.6,16.7c-0.3,0-0.4,0.2-0.4,0.4c0,0.3,0.3,0.5,0.6,0.4h4.9c0.2,0,0.4,0,0.6-0.2 + c0.1-0.1,0.1-0.3,0-0.4c-0.1-0.2-0.3-0.2-0.5-0.2L19.6,16.7"/> + </g> + <g> + <defs> + <path id="SVGID_1011_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1012_"> + <use xlink:href="#SVGID_1011_" style="overflow:visible;"/> + </clipPath> + <polyline class="st507" points="20,16.7 20.5,17.6 21.5,17.6 21,16.7 20,16.7 "/> + </g> + <g> + <defs> + <path id="SVGID_1013_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1014_"> + <use xlink:href="#SVGID_1013_" style="overflow:visible;"/> + </clipPath> + <polygon class="st508" points="21,16.7 21.5,17.6 22.5,17.6 22,16.7 "/> + </g> + <g> + <defs> + <path id="SVGID_1015_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1016_"> + <use xlink:href="#SVGID_1015_" style="overflow:visible;"/> + </clipPath> + <polygon class="st509" points="22,16.7 22.2,17 22.5,17.5 23.5,17.5 23.1,16.9 22.9,16.6 "/> + </g> + <g> + <defs> + <path id="SVGID_1017_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1018_"> + <use xlink:href="#SVGID_1017_" style="overflow:visible;"/> + </clipPath> + <polygon class="st510" points="23.1,16.7 23.6,17.6 24.6,17.6 24.1,16.7 "/> + </g> + <g> + <defs> + <path id="SVGID_1019_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1020_"> + <use xlink:href="#SVGID_1019_" style="overflow:visible;"/> + </clipPath> + <path class="st511" d="M24.1,16.7l0.5,0.9c0.2,0,0.3,0,0.5-0.1c0.1-0.1,0.2-0.1,0.2-0.4c0-0.4-0.5-0.4-0.7-0.4H24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1021_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1022_"> + <use xlink:href="#SVGID_1021_" style="overflow:visible;"/> + </clipPath> + <path class="st512" d="M19.8,16.7c-0.1,0-0.2,0-0.3,0c-0.2,0-0.3,0.2-0.3,0.4c0,0.5,0.6,0.4,0.8,0.4h0.5L20,16.6L19.8,16.7"/> + </g> + <g> + <defs> + <path id="SVGID_1023_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1024_"> + <use xlink:href="#SVGID_1023_" style="overflow:visible;"/> + </clipPath> + <g class="st513"> + <g> + <defs> + <path id="SVGID_1025_" d="M20,16.6l-0.2,0.1c-0.1,0-0.2,0-0.3,0c-0.2,0-0.3,0.2-0.3,0.4c0,0.4,0.3,0.4,0.6,0.4 + c0.1,0,0.2,0,0.2,0h0.5l-0.4-0.8L20,16.6"/> + </defs> + <clipPath id="SVGID_1026_"> + <use xlink:href="#SVGID_1025_" style="overflow:visible;"/> + </clipPath> + <rect x="19.2" y="16.6" class="st514" width="1.3" height="0.9"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_1027_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1028_"> + <use xlink:href="#SVGID_1027_" style="overflow:visible;"/> + </clipPath> + <path class="st515" d="M15.8,14.4c-0.4,0.4-0.6,0.9-0.6,1.5h0.1c0-0.5,0.2-1,0.5-1.4V14.4"/> + </g> + <g> + <defs> + <path id="SVGID_1029_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1030_"> + <use xlink:href="#SVGID_1029_" style="overflow:visible;"/> + </clipPath> + <path class="st516" d="M16.2,17.6c0,0-0.1,0.3,0.1,0.4L16.2,17.6 M15.9,17.5c0,0-0.1,0.6,0.1,0.6L15.9,17.5 M15.8,17.4 + c0,0-0.2,0.7,0.1,0.7L15.8,17.4 M15.4,17.2c0,0-0.2,0.7,0.2,0.9V18l0.1,0.1l-0.1-0.8c0,0-0.1,0.2-0.1,0.3L15.4,17.2 M14.7,16.8 + c-0.1,0.1-0.4,0.9,0.2,1.2l0,0c0,0.1,0.1,0.1,0.2,0.1v-0.2c0,0.1,0.1,0.2,0.2,0.2v-0.2l0.1,0.1l-0.2-0.9c0,0,0,0.1,0,0.3 + l-0.1-0.3c0,0-0.1,0.3-0.1,0.5L14.9,17c0,0-0.1,0.2-0.1,0.4L14.7,16.8 M16,16.5c-0.2,0-0.3,0-0.4,0.1c0.1,0.1,0.3,0.2,0.5,0.2 + l0.3-0.1C16.4,16.6,16.5,16.5,16,16.5 M16.4,16.5c0,0.1,0,0.1,0.1,0.1c0.1,0.1,0.8,0.5,0.8,0.5L16.4,16.5 M14.6,16.3l0.1,0.5l0,0 + C14.8,16.7,14.7,16.5,14.6,16.3 M15.8,16l0.6,0.5c0,0,0,0,0-0.1C16.3,16.2,16,16.1,15.8,16 M15.8,14.5c-0.3,0.4-0.5,0.8-0.5,1.4 + l0.2-0.1c0,0-0.2-0.8,0.3-1V14.5"/> + </g> + <g> + <defs> + <path id="SVGID_1031_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1032_"> + <use xlink:href="#SVGID_1031_" style="overflow:visible;"/> + </clipPath> + <path class="st517" d="M16.2,18L16.2,18C16.2,18.1,16.2,18.1,16.2,18L16.2,18"/> + </g> + <g> + <defs> + <path id="SVGID_1033_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1034_"> + <use xlink:href="#SVGID_1033_" style="overflow:visible;"/> + </clipPath> + <path class="st518" d="M14,20L14,20l0.1,0.5C14.1,20.3,14,20.1,14,20 M14.3,19.8c0,0.2,0,0.4,0,0.6V19.8 M14.3,19.7l0.1,0.6 + c0-0.1,0-0.2,0-0.3C14.4,19.7,14.3,19.7,14.3,19.7 M14.3,19.1l0.2,0.8C14.5,19.6,14.4,19.4,14.3,19.1 M14.5,18.4c0,0.3,0,0.7,0,1 + V18.4 M14.8,18.1c-0.2,0.3-0.2,0.7-0.1,1.1L14.8,18.1 M16.5,17.8c0,0-0.1,0.1,0,0.2V17.8 M17.3,17.8c-0.2,0-0.5,0.2-0.5,0.2 + l0.7-0.2H17.3C17.4,17.8,17.3,17.8,17.3,17.8 M16.4,17.7c0,0-0.1,0.2,0,0.3V17.7 M16.1,17.6c0,0-0.1,0.3,0.1,0.5l0,0L16.1,17.6" + /> + </g> + <g> + <defs> + <path id="SVGID_1035_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1036_"> + <use xlink:href="#SVGID_1035_" style="overflow:visible;"/> + </clipPath> + <polyline class="st519" points="14,20 14,20 14,20 14,20 "/> + </g> + <g> + <defs> + <path id="SVGID_1037_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1038_"> + <use xlink:href="#SVGID_1037_" style="overflow:visible;"/> + </clipPath> + <path class="st520" d="M14,20.3l-0.1,0.4c0,0.2,0,0.4,0,0.6l0.3,1.3c-0.1-0.4-0.1-0.7-0.1-1C14,21.4,14,21.2,14,21c0,0,0,0,0-0.1 + l0.3,1.2c-0.1-0.4-0.1-0.6-0.1-1C14.2,20.8,14.1,20.5,14,20.3"/> + </g> + <g> + <defs> + <path id="SVGID_1039_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1040_"> + <use xlink:href="#SVGID_1039_" style="overflow:visible;"/> + </clipPath> + <path class="st521" d="M13.8,20.1l0.1,0.4c-0.1-0.1-0.2-0.1-0.3-0.2l0.1,0.4l0,0l0,0l0.2,0.6c0-0.2,0-0.4,0-0.6l0.1-0.4 + C13.9,20.2,13.9,20.1,13.8,20.1"/> + </g> + <g> + <defs> + <path id="SVGID_1041_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1042_"> + <use xlink:href="#SVGID_1041_" style="overflow:visible;"/> + </clipPath> + <path class="st522" d="M14.4,20.3c0,0.1,0,0.2,0,0.3V20.3"/> + </g> + <g> + <defs> + <path id="SVGID_1043_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1044_"> + <use xlink:href="#SVGID_1043_" style="overflow:visible;"/> + </clipPath> + <path class="st523" d="M13.5,20.4c0.1,0.1,0.1,0.2,0.2,0.3L13.5,20.4"/> + </g> + <g> + <defs> + <path id="SVGID_1045_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1046_"> + <use xlink:href="#SVGID_1045_" style="overflow:visible;"/> + </clipPath> + <path class="st524" d="M13.8,21.6c0,0.1,0,0.2-0.1,0.2l0.2,1c0-0.4-0.1-0.9-0.1-1.1C13.8,21.7,13.8,21.7,13.8,21.6 M14.1,20.5 + c0.1,0.2,0.1,0.4,0.2,0.5L14.1,20.5"/> + </g> + <g> + <defs> + <path id="SVGID_1047_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1048_"> + <use xlink:href="#SVGID_1047_" style="overflow:visible;"/> + </clipPath> + <path class="st525" d="M13.4,20.6l0.1,0.4l0.2,0.9c0-0.1,0.1-0.2,0.1-0.2c0-0.4-0.1-0.7-0.3-1v0.1C13.5,20.7,13.4,20.7,13.4,20.6 + "/> + </g> + <g> + <defs> + <path id="SVGID_1049_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1050_"> + <use xlink:href="#SVGID_1049_" style="overflow:visible;"/> + </clipPath> + <path class="st526" d="M13.6,22.1c0,0.1-0.1,0.2-0.1,0.3v0.4c0-0.2,0-0.3,0.1-0.5C13.6,22.2,13.6,22.2,13.6,22.1"/> + </g> + <g> + <defs> + <path id="SVGID_1051_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1052_"> + <use xlink:href="#SVGID_1051_" style="overflow:visible;"/> + </clipPath> + <path class="st527" d="M13.3,21.4v1C13.4,22.1,13.4,21.7,13.3,21.4 M13.4,20.8l0.1,0.8c-0.1-0.2-0.1-0.5-0.3-0.7l0.3,0.7v0.7 + c0-0.1,0.1-0.2,0.1-0.3C13.7,21.7,13.6,21.2,13.4,20.8"/> + </g> + <g> + <defs> + <path id="SVGID_1053_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1054_"> + <use xlink:href="#SVGID_1053_" style="overflow:visible;"/> + </clipPath> + <path class="st528" d="M13.1,23L13.1,23c0,0.4,0,0.8,0,1.1V23"/> + </g> + <g> + <defs> + <path id="SVGID_1055_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1056_"> + <use xlink:href="#SVGID_1055_" style="overflow:visible;"/> + </clipPath> + <path class="st529" d="M13,21.7v0.8C13,22.1,13,21.7,13,21.7 M13.1,21.6c0,0.3,0,0.7,0,1c0,0.1,0,0.3,0,0.5c0,0,0-0.1,0.1-0.1 + L13.1,21.6"/> + </g> + <g> + <defs> + <path id="SVGID_1057_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1058_"> + <use xlink:href="#SVGID_1057_" style="overflow:visible;"/> + </clipPath> + <path class="st530" d="M12.8,23.5L12.8,23.5c0,0.4,0,0.7,0,0.7V23.5"/> + </g> + <g> + <defs> + <path id="SVGID_1059_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1060_"> + <use xlink:href="#SVGID_1059_" style="overflow:visible;"/> + </clipPath> + <path class="st531" d="M12.6,22.1v1V22.1 M12.8,22c0,0,0,0.9,0,1.5l0,0V22"/> + </g> + <g> + <defs> + <path id="SVGID_1061_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1062_"> + <use xlink:href="#SVGID_1061_" style="overflow:visible;"/> + </clipPath> + <path class="st532" d="M12.5,23.9L12.5,23.9c0,0.3,0,0.5,0,0.6V23.9 M14.3,22.1C14.3,22.1,14.3,22.2,14.3,22.1L14.3,22.1"/> + </g> + <g> + <defs> + <path id="SVGID_1063_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1064_"> + <use xlink:href="#SVGID_1063_" style="overflow:visible;"/> + </clipPath> + <path class="st533" d="M12.5,22.2c0,0,0,1.1,0,1.7l0,0V22.2"/> + </g> + <g> + <defs> + <path id="SVGID_1065_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1066_"> + <use xlink:href="#SVGID_1065_" style="overflow:visible;"/> + </clipPath> + <path class="st534" d="M13.3,22.6c0,0,0,0.1-0.1,0.1c0,0.5,0.1,0.7,0.1,1V22.6"/> + </g> + <g> + <defs> + <path id="SVGID_1067_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1068_"> + <use xlink:href="#SVGID_1067_" style="overflow:visible;"/> + </clipPath> + <path class="st535" d="M12.4,22.4c0,0.2,0,0.4,0,0.6V22.4 M13.3,22.3v0.1c0,0.1,0,0.2,0,0.3l0.1-0.1L13.3,22.3"/> + </g> + <g> + <defs> + <path id="SVGID_1069_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1070_"> + <use xlink:href="#SVGID_1069_" style="overflow:visible;"/> + </clipPath> + <path class="st536" d="M12.9,23.3L12.9,23.3c-0.1,0.3,0,0.5,0,0.7V23.3"/> + </g> + <g> + <defs> + <path id="SVGID_1071_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1072_"> + <use xlink:href="#SVGID_1071_" style="overflow:visible;"/> + </clipPath> + <path class="st537" d="M13,22.5c0,0.2,0,0.4-0.1,0.4c0,0.1,0,0.3,0,0.5c0,0,0-0.1,0.1-0.1V22.5"/> + </g> + <g> + <defs> + <path id="SVGID_1073_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1074_"> + <use xlink:href="#SVGID_1073_" style="overflow:visible;"/> + </clipPath> + <path class="st538" d="M12.4,24.1L12.4,24.1c0,0.2,0,0.3,0,0.5V24.1"/> + </g> + <g> + <defs> + <path id="SVGID_1075_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1076_"> + <use xlink:href="#SVGID_1075_" style="overflow:visible;"/> + </clipPath> + <path class="st539" d="M12.1,22.7v0.4V22.7 M12.2,22.6v0.3V22.6 M12.3,22.5c0,0.6,0,1.1,0.1,1.7l0,0L12.3,22.5"/> + </g> + <g> + <defs> + <path id="SVGID_1077_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1078_"> + <use xlink:href="#SVGID_1077_" style="overflow:visible;"/> + </clipPath> + <path class="st540" d="M13.5,22.8c0,0.3,0,0.7,0.1,1L13.5,22.8"/> + </g> + <g> + <defs> + <path id="SVGID_1079_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1080_"> + <use xlink:href="#SVGID_1079_" style="overflow:visible;"/> + </clipPath> + <path class="st541" d="M11.8,23.8c0,0.3,0.1,0.6,0.1,0.8L11.8,23.8 M11.2,23.8v0.9C11.3,24.4,11.2,24.1,11.2,23.8 M11.1,23.7 + l0.1,0.8C11.2,24.3,11.2,24,11.1,23.7 M11.3,23.5l0.1,0.6C11.4,23.9,11.4,23.7,11.3,23.5 M11.4,23.3l0.1,1.4 + C11.5,24.3,11.5,23.8,11.4,23.3 M11.6,23.1l0.1,0.6L11.6,23.1 M11.7,23l0.1,0.8C11.8,23.5,11.7,23.2,11.7,23 M11.9,22.9v0.3V22.9 + "/> + </g> + <g> + <defs> + <path id="SVGID_1081_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1082_"> + <use xlink:href="#SVGID_1081_" style="overflow:visible;"/> + </clipPath> + <path class="st542" d="M11.1,25.9L11,26c0,0.1,0.1,0.2,0.1,0.2V25.9 M11.1,25.8C11.1,25.8,11.1,25.9,11.1,25.8c0,0.2,0,0.3,0,0.4 + V25.8C11.2,25.9,11.2,25.8,11.1,25.8 M12.9,24v0.5C12.9,24.4,12.9,24.2,12.9,24 M13.4,23.8L13.4,23.8 + C13.4,23.9,13.4,23.8,13.4,23.8"/> + </g> + <g> + <defs> + <path id="SVGID_1083_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1084_"> + <use xlink:href="#SVGID_1083_" style="overflow:visible;"/> + </clipPath> + <path class="st543" d="M11.1,24c0,0.3,0,0.7,0,1.1c0,0.2-0.1,0.3-0.1,0.4L10.9,24c0,0,0,1.1,0,1.4c-0.1,0.2,0,0.4,0.1,0.7 + l0.1-0.1v-0.1c0,0,0,0,0,0.1c0,0,0-0.1,0.1-0.1c-0.1-0.2-0.1-0.6,0-0.9L11.1,24"/> + </g> + <g> + <defs> + <path id="SVGID_1085_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1086_"> + <use xlink:href="#SVGID_1085_" style="overflow:visible;"/> + </clipPath> + <path class="st544" d="M10.8,26.3C10.7,26.3,10.7,26.4,10.8,26.3c0,0.5,0,0.9,0,1.4V26.3 M13.2,24v0.3 + C13.2,24.2,13.2,24.1,13.2,24"/> + </g> + <g> + <defs> + <path id="SVGID_1087_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1088_"> + <use xlink:href="#SVGID_1087_" style="overflow:visible;"/> + </clipPath> + <path class="st545" d="M10.7,24.2v1.3V24.2 M10.7,24.2c0,0,0,1.1,0,1.4s0,0.5,0,0.8c0,0,0,0,0.1-0.1L10.7,24.2"/> + </g> + <g> + <defs> + <path id="SVGID_1089_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1090_"> + <use xlink:href="#SVGID_1089_" style="overflow:visible;"/> + </clipPath> + <path class="st546" d="M10.6,26.5c-0.1,0.1-0.1,0.2-0.2,0.2c0,0.3,0.1,0.6,0.1,0.9V27c0,0.1,0.1,0.2,0.1,0.4L10.6,26.5"/> + </g> + <g> + <defs> + <path id="SVGID_1091_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1092_"> + <use xlink:href="#SVGID_1091_" style="overflow:visible;"/> + </clipPath> + <path class="st547" d="M10.5,24.4c0,0-0.1,1.1-0.1,1.4c0,0.1,0,0.1,0,0.2l0,0c0,0.3,0,0.5,0,0.8c0.1-0.1,0.1-0.2,0.2-0.2 + L10.5,24.4"/> + </g> + <g> + <defs> + <path id="SVGID_1093_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1094_"> + <use xlink:href="#SVGID_1093_" style="overflow:visible;"/> + </clipPath> + <path class="st548" d="M11.2,25.8L11.2,25.8v0.1l0,0V25.8"/> + </g> + <g> + <defs> + <path id="SVGID_1095_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1096_"> + <use xlink:href="#SVGID_1095_" style="overflow:visible;"/> + </clipPath> + <path class="st549" d="M11.2,24.7L11.2,24.7c0,0.1,0,0.1-0.1,0.2v0.9l0,0v-1.1"/> + </g> + <g> + <defs> + <path id="SVGID_1097_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1098_"> + <use xlink:href="#SVGID_1097_" style="overflow:visible;"/> + </clipPath> + <path class="st550" d="M10.3,26.8c-0.1,0.1-0.1,0.2-0.2,0.3c-0.4,0.7-0.6,2.3-0.4,3.1v-1.4l0,0c0.1,0.2,0.1,0.4,0.1,0.6 + s0,0.6,0,1.1l0,0v-1.1c0.1,0.4,0.1,0.8,0.1,1.2l0,0l0,0v-2.1c0.1,0.1,0.1,0.3,0.1,0.4c0,0.2,0,1.1,0.1,1.9l0,0v-3 + c0,0.2,0.1,0.3,0.2,0.4v-0.6l0,0L10.3,26.8"/> + </g> + <g> + <defs> + <path id="SVGID_1099_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1100_"> + <use xlink:href="#SVGID_1099_" style="overflow:visible;"/> + </clipPath> + <path class="st551" d="M10.2,30.8c0,0.5,0,0.8,0,0.8V30.8L10.2,30.8 M10,30.6c0,0.1,0,0.2,0,0.3c0,0.3,0,0.6,0,0.8l0,0V30.6 + L10,30.6L10,30.6 M9.9,30.5c0,0.5,0,0.9,0,1.1l0,0V30.5L9.9,30.5 M9.3,26.5L9.3,26.5L9.3,26.5 M10,25.4L10,25.4L10,25.4 + M10.4,24.7c0,0,0,0.5-0.1,0.9v-0.8c0,0-0.1,0.3-0.1,0.7V25c0,0,0,0.2-0.1,0.5v-0.4c0,0,0,0.2-0.1,0.5v-0.3c0,0.1,0,0.1,0,0.2 + s-0.1,0.2-0.1,0.3v-0.3c0,0.1-0.1,0.2-0.1,0.4v-0.2c0,0.1-0.1,0.3-0.1,0.4v-0.3c0,0.1-0.1,0.2-0.1,0.3V26c0,0.1-0.1,0.3-0.1,0.4 + v-0.3c0,0.1-0.1,0.2-0.1,0.3v-0.2c0,0.1-0.1,0.2-0.1,0.3v-0.1c-0.1,0.2-0.2,0.5-0.3,0.7c-0.2,0.7-0.5,1.7-0.3,2.9 + c0.1,0.2,0.2,0.4,0.4,0.6v-0.4v0.1c0,0,0,0.2,0.1,0.5c0,0,0,0.1,0.1,0.1v-0.5c0,0.2,0,0.4,0.1,0.6l0,0v-1.3v0.1 + c0,0.1,0.1,0.3,0.1,0.4s0,0.6,0,1l0,0l0.1-1.9c0,0.4,0.1,1.3,0.1,2.1l0,0v-1.2c-0.3-0.8-0.1-2.3,0.4-3.1c0.1-0.1,0.2-0.2,0.2-0.3 + L10.4,24.7"/> + </g> + <g> + <defs> + <path id="SVGID_1101_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1102_"> + <use xlink:href="#SVGID_1101_" style="overflow:visible;"/> + </clipPath> + <path class="st552" d="M10.8,26.3c0,1.1,0.2,1.3,0.2,1.3L10.8,26.3"/> + </g> + <g> + <defs> + <path id="SVGID_1103_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1104_"> + <use xlink:href="#SVGID_1103_" style="overflow:visible;"/> + </clipPath> + <path class="st553" d="M12.1,27c-0.1,0.1-0.2,0.2-0.1,0.4v-0.1l0,0l0,0L12.1,27 M12.2,26.8c-0.1,0.2,0,0.2,0,0.2l0,0V26.8 + M11.3,26.7c0,0.2,0,0.4,0.1,0.6L11.3,26.7 M11.6,26.7c0,0.1,0.1,0.3,0.1,0.4s-0.1,0.2-0.1,0.2l0.1-0.2v0.1v-0.1l0,0l0,0 + L11.6,26.7 M11,26.6c0.1,0.6,0.2,0.7,0.2,0.7L11,26.6 M11.8,26.5c0,0.1,0.1,0.4,0.1,0.5c-0.2,0.1-0.2,0.4-0.1,0.6l0.1-0.5l0,0V27 + v-0.1l0,0L11.8,26.5"/> + </g> + <g> + <defs> + <path id="SVGID_1105_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1106_"> + <use xlink:href="#SVGID_1105_" style="overflow:visible;"/> + </clipPath> + <path class="st554" d="M12,27.3L12,27.3L12,27.3L12,27.3"/> + </g> + <g> + <defs> + <path id="SVGID_1107_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1108_"> + <use xlink:href="#SVGID_1107_" style="overflow:visible;"/> + </clipPath> + <path class="st555" d="M10.7,28.1c-0.1,0.2-0.1,0.4-0.1,0.6c0,0.7,0,1.8,0.2,2.5h0.1l0,0L10.7,28.1 M11,27.7 + c-0.1,0.2-0.1,0.4-0.1,0.6L11,27.7 M11.3,27.4c0,0-0.2,0.1-0.1,0.6L11.3,27.4 M11.6,27.3l-0.1,0.2C11.5,27.5,11.6,27.4,11.6,27.3 + M11.5,27.2c-0.1,0.2-0.1,0.4-0.1,0.6L11.5,27.2 M11.7,27.1L11.7,27.1L11.7,27.1 M11.9,27L11.9,27L11.9,27"/> + </g> + <g> + <defs> + <path id="SVGID_1109_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1110_"> + <use xlink:href="#SVGID_1109_" style="overflow:visible;"/> + </clipPath> + <path class="st556" d="M10.8,31.2c0,0.1,0,0.2,0.1,0.2l0,0v-0.2C10.9,31.2,10.9,31.2,10.8,31.2L10.8,31.2"/> + </g> + <g> + <defs> + <path id="SVGID_1111_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1112_"> + <use xlink:href="#SVGID_1111_" style="overflow:visible;"/> + </clipPath> + <path class="st557" d="M10.9,31.3L10.9,31.3c0,0.1,0,0.1,0,0.1V31.3"/> + </g> + <g> + <defs> + <path id="SVGID_1113_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1114_"> + <use xlink:href="#SVGID_1113_" style="overflow:visible;"/> + </clipPath> + <path class="st558" d="M10.2,28.2l0.2,2.8l0,0C10.4,29.3,10.2,28.2,10.2,28.2"/> + </g> + <g> + <defs> + <path id="SVGID_1115_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1116_"> + <use xlink:href="#SVGID_1115_" style="overflow:visible;"/> + </clipPath> + <path class="st559" d="M10.4,31l0.1,0.7C10.5,31.5,10.5,31.2,10.4,31C10.5,31,10.4,31,10.4,31"/> + </g> + <g> + <defs> + <path id="SVGID_1117_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1118_"> + <use xlink:href="#SVGID_1117_" style="overflow:visible;"/> + </clipPath> + <path class="st560" d="M11.1,28.3c-0.2,1-0.1,1.9,0.2,2.8l0,0l0,0l0,0l-0.1-2.6c0,0.2,0,0.3,0,0.5L11.1,28.3"/> + </g> + <g> + <defs> + <path id="SVGID_1119_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1120_"> + <use xlink:href="#SVGID_1119_" style="overflow:visible;"/> + </clipPath> + <path class="st561" d="M11.3,31.1L11.3,31.1C11.3,31.1,11.3,31.2,11.3,31.1L11.3,31.1"/> + </g> + <g> + <defs> + <path id="SVGID_1121_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1122_"> + <use xlink:href="#SVGID_1121_" style="overflow:visible;"/> + </clipPath> + <path class="st562" d="M11.4,28.7c-0.1,0.3-0.1,1.8,0.2,2.3l0,0L11.4,28.7 M11.7,28.5c-0.1,0.3-0.3,2,0,2.4v-0.3 + c0,0.1,0.1,0.1,0.1,0.1v-0.2c0,0.1,0.1,0.1,0.1,0.1l-0.1-1.4v-0.5c0,0.1-0.1,0.2-0.1,0.3V28.5"/> + </g> + <g> + <defs> + <path id="SVGID_1123_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1124_"> + <use xlink:href="#SVGID_1123_" style="overflow:visible;"/> + </clipPath> + <path class="st563" d="M11.6,31L11.6,31L11.6,31L11.6,31"/> + </g> + <g> + <defs> + <path id="SVGID_1125_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1126_"> + <use xlink:href="#SVGID_1125_" style="overflow:visible;"/> + </clipPath> + <path class="st564" d="M10.8,28.9c0,0,0,1.7,0.2,2.3h0.1L10.8,28.9"/> + </g> + <g> + <defs> + <path id="SVGID_1127_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1128_"> + <use xlink:href="#SVGID_1127_" style="overflow:visible;"/> + </clipPath> + <path class="st565" d="M11.1,31.2C11,31.2,11,31.2,11.1,31.2C11,31.2,11,31.2,11.1,31.2L11.1,31.2L11.1,31.2"/> + </g> + <g> + <defs> + <path id="SVGID_1129_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1130_"> + <use xlink:href="#SVGID_1129_" style="overflow:visible;"/> + </clipPath> + <path class="st566" d="M11.1,31.2L11.1,31.2c0,0.1,0,0.2,0,0.2V31.2"/> + </g> + <g> + <defs> + <path id="SVGID_1131_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1132_"> + <use xlink:href="#SVGID_1131_" style="overflow:visible;"/> + </clipPath> + <path class="st567" d="M10.5,28.9c0,0,0,1.1,0.1,2.2l0,0L10.5,28.9"/> + </g> + <g> + <defs> + <path id="SVGID_1133_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1134_"> + <use xlink:href="#SVGID_1133_" style="overflow:visible;"/> + </clipPath> + <path class="st568" d="M10.6,31.1c0,0.2,0,0.3,0.1,0.5l0,0L10.6,31.1L10.6,31.1"/> + </g> + <g> + <defs> + <path id="SVGID_1135_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1136_"> + <use xlink:href="#SVGID_1135_" style="overflow:visible;"/> + </clipPath> + <path class="st569" d="M10.7,31.6L10.7,31.6c0,0.1,0,0.1,0,0.2V31.6"/> + </g> + <g> + <defs> + <path id="SVGID_1137_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1138_"> + <use xlink:href="#SVGID_1137_" style="overflow:visible;"/> + </clipPath> + <path class="st570" d="M12,29.3c0,0.1-0.2,1,0,1.1v-0.2l0.1-0.7c0,0-0.1,0.1-0.1,0.2V29.3"/> + </g> + <g> + <defs> + <path id="SVGID_1139_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1140_"> + <use xlink:href="#SVGID_1139_" style="overflow:visible;"/> + </clipPath> + <path class="st571" d="M30.5,16.6L30.5,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1141_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1142_"> + <use xlink:href="#SVGID_1141_" style="overflow:visible;"/> + </clipPath> + <path class="st572" d="M30.5,16.6L30.5,16.6z M30.5,16.6L30.5,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1143_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1144_"> + <use xlink:href="#SVGID_1143_" style="overflow:visible;"/> + </clipPath> + <path class="st573" d="M32.7,25.6c0.4,0.6,1,1,1.7,1.1C33.6,26.7,33,26.2,32.7,25.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1145_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1146_"> + <use xlink:href="#SVGID_1145_" style="overflow:visible;"/> + </clipPath> + <path class="st574" d="M34.4,26.7c-0.2,0-0.5-0.1-0.7-0.2s-0.4-0.2-0.6-0.3c-0.2-0.2-0.3-0.4-0.4-0.6c0.3,0.4,0.6,0.7,1,0.9 + C33.9,26.6,34.1,26.7,34.4,26.7z M32.7,25.6c0.1,0.2,0.2,0.5,0.4,0.6s0.4,0.3,0.6,0.3c0.2,0.1,0.4,0.1,0.7,0.2 + c-0.5-0.1-0.9-0.3-1.3-0.7C32.9,25.9,32.8,25.8,32.7,25.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1147_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1148_"> + <use xlink:href="#SVGID_1147_" style="overflow:visible;"/> + </clipPath> + <path class="st575" d="M33.4,25.8c0.6,0.3,1.4,0.4,2,0.1C35.4,26,34.9,26.7,33.4,25.8z"/> + </g> + <g> + <defs> + <path id="SVGID_1149_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1150_"> + <use xlink:href="#SVGID_1149_" style="overflow:visible;"/> + </clipPath> + <path class="st576" d="M34.7,26.3c-0.1,0-0.2,0-0.3,0c-0.3-0.1-0.6-0.2-0.9-0.4c0.2,0.1,0.3,0.1,0.5,0.2c0.2,0,0.4,0.1,0.6,0.1 + L34.7,26.3c0.3-0.1,0.6-0.2,0.8-0.2l-0.1,0.1c-0.1,0.1-0.2,0.1-0.3,0.2C34.9,26.2,34.8,26.3,34.7,26.3z M33.5,25.9 + c0.3,0.2,0.6,0.3,0.9,0.3c0.2,0,0.4,0,0.6,0c0.1,0,0.2-0.1,0.3-0.2l0.1-0.1C35.1,26,34.9,26,34.6,26c-0.2,0-0.4,0-0.6-0.1 + C33.8,26,33.6,25.9,33.5,25.9z"/> + </g> + <g> + <defs> + <path id="SVGID_1151_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1152_"> + <use xlink:href="#SVGID_1151_" style="overflow:visible;"/> + </clipPath> + <path class="st577" d="M34.7,24.8c-0.7-0.2-1.4,0-2,0.3C32.7,25.1,33,24.3,34.7,24.8z"/> + </g> + <g> + <defs> + <path id="SVGID_1153_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1154_"> + <use xlink:href="#SVGID_1153_" style="overflow:visible;"/> + </clipPath> + <path class="st578" d="M32.7,25.1L32.7,25.1c0,0,0-0.1,0.1-0.1c0.1-0.1,0.2-0.2,0.3-0.2c0.2-0.1,0.4-0.1,0.6-0.1h0.1 + c0.3,0,0.6,0.1,0.9,0.1c-0.2,0-0.3-0.1-0.5-0.1s-0.4,0-0.6,0.1C33.2,24.8,32.9,25,32.7,25.1z M33.8,24.6L33.8,24.6 + c-0.3,0-0.5,0-0.7,0.1c-0.1,0.1-0.2,0.1-0.3,0.2L32.7,25c0.2-0.2,0.5-0.3,0.8-0.3c0.2-0.1,0.4-0.1,0.6-0.1c0.2,0,0.3,0,0.5,0.1 + C34.3,24.7,34.1,24.6,33.8,24.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1155_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1156_"> + <use xlink:href="#SVGID_1155_" style="overflow:visible;"/> + </clipPath> + <path class="st579" d="M35.8,26.2c-0.4-0.6-1-1.1-1.7-1.2C34.2,25,35,24.6,35.8,26.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1157_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1158_"> + <use xlink:href="#SVGID_1157_" style="overflow:visible;"/> + </clipPath> + <path class="st580" d="M35.8,26.2L35.8,26.2c-0.1-0.2-0.2-0.4-0.4-0.5c-0.2-0.2-0.3-0.3-0.5-0.4s-0.5-0.2-0.8-0.3h0.1 + c0.1,0,0.3,0,0.4,0c0.2,0.1,0.4,0.2,0.5,0.3C35.5,25.6,35.7,25.8,35.8,26.2C35.8,26.1,35.8,26.2,35.8,26.2z M34.2,25 + c0.3,0.1,0.5,0.2,0.8,0.3c0.2,0.1,0.4,0.2,0.5,0.4c0.1,0.1,0.2,0.3,0.3,0.4c-0.2-0.3-0.3-0.5-0.6-0.8c-0.1-0.2-0.3-0.3-0.5-0.3 + C34.6,25,34.5,24.9,34.2,25z"/> + </g> + <g> + <defs> + <path id="SVGID_1159_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1160_"> + <use xlink:href="#SVGID_1159_" style="overflow:visible;"/> + </clipPath> + <path class="st581" d="M31.3,26c0,0-2.1-1.5-2.2-2C29.7,24.9,30.4,25.6,31.3,26"/> + </g> + <g> + <defs> + <path id="SVGID_1161_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1162_"> + <use xlink:href="#SVGID_1161_" style="overflow:visible;"/> + </clipPath> + <path class="st582" d="M31.9,30.5C31.8,30.5,31.8,30.5,31.9,30.5C31.8,30.5,31.8,30.5,31.9,30.5l-1.9,4c0,0.1-0.1,0.2-0.2,0.3 + c-0.2,0.1-0.2,0.1-0.4,0c-0.2-0.1-0.4-0.2-0.8-0.5c-0.3-0.2-0.4-0.1-0.5-0.1H28c-0.1,0,0,0.1,0.1,0.1s0.1,0.1,0.1,0.2 + c0,0.1,0.2,0,0.3,0c0.2,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.4,0.3c-0.1,0-0.2,0-0.3,0c-0.3-0.1-0.5-0.2-0.8-0.3 + c-0.2-0.1-0.4,0-0.5,0.1s0.1,0.1,0.1,0.1s0.1,0,0.2,0.1c0.1,0,0.2,0,0.3,0c0.3,0,0.6,0.1,0.8,0.1c0.2,0,0.4,0,0.6-0.1 + c-0.1,0.1-0.2,0.1-0.3,0.1c-0.3,0.1-0.6,0.2-0.9,0.3c-0.2,0.1-0.2,0.3-0.2,0.5c0.1,0.1,0.1-0.1,0.1-0.1c0.1,0,0.2-0.1,0.3-0.1 + c0.1-0.1,0.1-0.2,0.1-0.2l0.1-0.1c0.1,0,0.1-0.1,0.1-0.1c0.2-0.1,0.3-0.1,0.5-0.2c0,0,0.2,0.1,0.4,0.1c0.2,0,0.4,0.3,0.6,0.3 + c0.1,0,0.2,0,0.3-0.1c0,0,0.2,0.3,0.3,0.2c0.1,0,0-0.2-0.1-0.3s-0.2-0.2-0.3-0.2s-0.2,0-0.3-0.1c-0.1,0,0,0-0.1,0s0,0-0.1-0.1 + c0-0.1-0.2-0.1-0.2-0.1h0.2c0,0,0-0.2,0.1-0.2c0.1-0.1,0-0.1,0.1-0.2c0-0.1,0,0,0-0.1l1.8-4v-0.1L31.9,30.5z"/> + </g> + <g> + <defs> + <path id="SVGID_1163_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1164_"> + <use xlink:href="#SVGID_1163_" style="overflow:visible;"/> + </clipPath> + <path class="st583" d="M14.8,16.2l-0.4-0.4c0,0-0.4-0.5-0.4-0.7s0-0.4,0-0.5c0.9,0.6,0.8,1,1,1.3c0,0-0.1,0,0,0.3H14.8z"/> + </g> + <g> + <defs> + <path id="SVGID_1165_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1166_"> + <use xlink:href="#SVGID_1165_" style="overflow:visible;"/> + </clipPath> + <path class="st584" d="M18.8,35.7c0,0-0.8-0.4-2.6-0.4h-1.4c-1.3,0-2.7,0-2.9,0c-0.2,0.1-0.5,0-0.6-0.2s-0.1-0.5,0-0.9 + c0.2-0.7,0.3-1.4,0.3-2.1c-0.1,0-0.2,0-0.2,0.1c-0.3,0.4-0.8,1.1-1.2,1.8c-0.4,0.8-1.2,1.3-2.1,1.3c-0.4,0-3.2,0-5.1-0.1H1.6 + c-1.3,0-3.5-0.1-3.6-0.4v-0.1c0.1-0.1,0.3,0,0.5,0c0.1,0,6.9,0.1,8.3-0.3c1.8-0.5,1.7-1.4,1.7-1.8c0-0.5-0.4-2-0.5-2.5 + c-0.1-0.4-0.1-3.6,2.6-6.5c1.1-1.2,2.1-2.6,3.1-4c0.2-0.6,0.4-1.2,0.4-1.8c0-0.5,0.1-1.1,0.2-1.6c-0.1-0.1-0.1-0.3-0.2-0.4 + c-0.2-0.1-0.4-1.1-0.4-1.1c0-0.1,0-0.2,0-0.2c0.1,0,0.2-0.1,0.2,0c0.1,0,0.2,0.2,0.4,0.4c0.1,0.1,0.2,0.2,0.2,0.3 + c0.2,0.2,0.3,0.5,0.4,0.8c0.1,0,0.1,0,0.2,0c0-0.5,0.2-1.1,0.6-1.5h0.1c0,0,0,0,0.1,0.1c0,0.3,0,1.1-0.3,1.4 + c0.1,0,0.1,0.1,0.2,0.1s0.1,0,0.2,0.1c0.2,0.1,0.4,0.3,0.6,0.4c0,0,0.1,0.1,0.1,0.2s0,0.1,0.1,0.1c0.2,0.1,0.4,0.2,0.5,0.3 + s0.3,0.1,0.4,0.2c0,0,0.1,0,0.1,0.1s0,0.1,0,0.2s0,0.5-0.2,0.6c0,0.1-0.1,0.1-0.2,0.1h-0.2c-0.4,0-0.8,0-1.2,0.1c0,0.5,0,1,0,1.5 + c0,0.1,0.1,0.2,0.1,0.3c0.2,0.4,0.2,0.9,0.1,1.3s-0.3,0.8-0.4,1.1c0,0.1-0.1,0.1-0.1,0.2h-0.1c0-0.1,0.1-0.1,0.1-0.2 + c0.2-0.4,0.3-0.7,0.4-1.1c0.1-0.4,0-0.9-0.1-1.2c0-0.1-0.1-0.2-0.1-0.3c-0.1-0.5-0.1-1,0-1.5c0.4-0.1,0.8-0.1,1.2-0.1h0.2 + c0.1,0,0.1,0,0.1-0.1c0.2-0.1,0.2-0.6,0.2-0.6v-0.1c-0.1-0.1-0.3-0.2-0.4-0.2c-0.2-0.1-0.3-0.2-0.5-0.3c-0.1,0-0.1-0.1-0.1-0.2 + v-0.1c-0.2-0.2-0.4-0.3-0.6-0.4h-0.1c-0.1,0-0.2-0.1-0.3-0.1c0.4-0.3,0.3-1.2,0.3-1.4c-0.4,0.4-0.6,0.9-0.6,1.4 + c-0.1,0-0.2,0-0.3,0c-0.1-0.3-0.2-0.5-0.4-0.7c-0.1-0.1-0.2-0.2-0.3-0.3s-0.3-0.3-0.4-0.3c-0.1,0-0.1,0-0.2,0c0,0,0,0.1,0,0.2 + c0.1,0.4,0.2,0.7,0.3,1c0.1,0.1,0.2,0.3,0.3,0.4c-0.1,0.5-0.2,1.1-0.2,1.6c-0.1,0.6-0.2,1.2-0.4,1.8c-0.9,1.4-1.9,2.7-3.1,4 + C8,26.9,8,30.2,8.1,30.5c0.2,0.8,0.4,1.7,0.5,2.5c0,0.5,0.1,1.4-1.7,1.9c-1.3,0.4-7.8,0.3-8.3,0.3c0,0,0,0-0.1,0 + c-0.2,0-0.4,0-0.4,0c0.1,0.1,1.5,0.3,3.5,0.3H3c1.9-0.3,4.7-0.2,5.1-0.3c0.9,0,1.7-0.5,2-1.3c0.4-0.6,0.9-1.4,1.2-1.8 + c0.1-0.1,0.2-0.2,0.3-0.1c0.1,0.7,0,1.5-0.3,2.2c-0.1,0.4-0.2,0.7,0,0.8c0.2,0.2,0.4,0.2,0.6,0.2c0.2,0,1.6,0,2.9,0h1.4 + c0.8,0,1.7,0.1,2.4,0.4c-0.6-0.5-1.4-0.9-2.2-0.9h-0.7c-0.8,0-1.8,0-2,0c-0.4-0.1-0.8-0.5-0.8-0.9c0-0.3,0.3-2.3,0.6-3.8 + c0.1-0.8,0.3-1.5,0.3-1.6s0-0.2,0-0.4v-0.1l0.1-0.1c-0.3-0.5-0.8-0.8-1.3-0.8c-0.1,0-0.2,0-0.4,0c-0.4,0.1-0.8,0.4-1,0.8h-0.1 + c0.2-0.4,0.6-0.7,1-0.8c0.2-0.1,0.5-0.1,0.8,0c0.4,0.1,0.8,0.4,1,0.7c0.1-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.1,0.1-0.2 + c0.4-0.7,0.6-1.4,0.8-2.2c0.1-0.4,0.3-0.9,0.4-1.3h0.1c-0.2,0.4-0.3,0.8-0.4,1.2c-0.2,0.8-0.4,1.5-0.8,2.2c0,0.1-0.1,0.1-0.1,0.2 + s-0.1,0.2-0.2,0.3C14,27.7,14,27.9,14,28c0,0.2-0.1,0.8-0.3,1.6c-0.3,1.4-0.6,3.4-0.6,3.8c0.1,0.4,0.4,0.7,0.8,0.9 + c0.2,0,1.2,0,2,0h0.8C17.4,34.6,18.3,35,18.8,35.7z"/> + </g> + <g> + <defs> + <path id="SVGID_1167_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1168_"> + <use xlink:href="#SVGID_1167_" style="overflow:visible;"/> + </clipPath> + <path class="st585" d="M15.7,22.8L15.7,22.8z"/> + </g> + <g> + <defs> + <path id="SVGID_1169_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1170_"> + <use xlink:href="#SVGID_1169_" style="overflow:visible;"/> + </clipPath> + <polygon class="st586" points="17.3,18 17.3,18 17.6,18 "/> + </g> + <g> + <defs> + <path id="SVGID_1171_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1172_"> + <use xlink:href="#SVGID_1171_" style="overflow:visible;"/> + </clipPath> + <g class="st587"> + <g> + <defs> + <path id="SVGID_1173_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1174_"> + <use xlink:href="#SVGID_1173_" style="overflow:visible;"/> + </clipPath> + <rect x="23" y="22.5" class="st588" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1175_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1176_"> + <use xlink:href="#SVGID_1175_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st589" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1177_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1178_"> + <use xlink:href="#SVGID_1177_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st590" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1179_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1180_"> + <use xlink:href="#SVGID_1179_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st591" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1181_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1182_"> + <use xlink:href="#SVGID_1181_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st592" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1183_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1184_"> + <use xlink:href="#SVGID_1183_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st593" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1185_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1186_"> + <use xlink:href="#SVGID_1185_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st594" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1187_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1188_"> + <use xlink:href="#SVGID_1187_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st595" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1189_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1190_"> + <use xlink:href="#SVGID_1189_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st596" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1191_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1192_"> + <use xlink:href="#SVGID_1191_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st597" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1193_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1194_"> + <use xlink:href="#SVGID_1193_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st598" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1195_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1196_"> + <use xlink:href="#SVGID_1195_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st599" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1197_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1198_"> + <use xlink:href="#SVGID_1197_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st600" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1199_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1200_"> + <use xlink:href="#SVGID_1199_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st601" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1201_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1202_"> + <use xlink:href="#SVGID_1201_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st602" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1203_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1204_"> + <use xlink:href="#SVGID_1203_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st603" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1205_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1206_"> + <use xlink:href="#SVGID_1205_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st604" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1207_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1208_"> + <use xlink:href="#SVGID_1207_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st605" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1209_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1210_"> + <use xlink:href="#SVGID_1209_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st606" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1211_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1212_"> + <use xlink:href="#SVGID_1211_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st607" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1213_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1214_"> + <use xlink:href="#SVGID_1213_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st608" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1215_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1216_"> + <use xlink:href="#SVGID_1215_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st609" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1217_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1218_"> + <use xlink:href="#SVGID_1217_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st610" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1219_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1220_"> + <use xlink:href="#SVGID_1219_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st611" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1221_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1222_"> + <use xlink:href="#SVGID_1221_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st612" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1223_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1224_"> + <use xlink:href="#SVGID_1223_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st613" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1225_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1226_"> + <use xlink:href="#SVGID_1225_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st614" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1227_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1228_"> + <use xlink:href="#SVGID_1227_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st615" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1229_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1230_"> + <use xlink:href="#SVGID_1229_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st616" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1231_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1232_"> + <use xlink:href="#SVGID_1231_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st617" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1233_" d="M23.1,22.5C23.1,22.5,23.2,22.6,23.1,22.5C23.1,22.7,23,22.6,23.1,22.5C23,22.6,22.9,22.5,23.1,22.5 + C23,22.5,23.1,22.5,23.1,22.5"/> + </defs> + <clipPath id="SVGID_1234_"> + <use xlink:href="#SVGID_1233_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2567 22.8373)" class="st618" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1235_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1236_"> + <use xlink:href="#SVGID_1235_" style="overflow:visible;"/> + </clipPath> + <path class="st619" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1237_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1238_"> + <use xlink:href="#SVGID_1237_" style="overflow:visible;"/> + </clipPath> + <path class="st620" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1239_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1240_"> + <use xlink:href="#SVGID_1239_" style="overflow:visible;"/> + </clipPath> + <path class="st621" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1241_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1242_"> + <use xlink:href="#SVGID_1241_" style="overflow:visible;"/> + </clipPath> + <path class="st622" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1243_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1244_"> + <use xlink:href="#SVGID_1243_" style="overflow:visible;"/> + </clipPath> + <path class="st623" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1245_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1246_"> + <use xlink:href="#SVGID_1245_" style="overflow:visible;"/> + </clipPath> + <path class="st624" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1247_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1248_"> + <use xlink:href="#SVGID_1247_" style="overflow:visible;"/> + </clipPath> + <path class="st625" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1249_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1250_"> + <use xlink:href="#SVGID_1249_" style="overflow:visible;"/> + </clipPath> + <path class="st626" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1251_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1252_"> + <use xlink:href="#SVGID_1251_" style="overflow:visible;"/> + </clipPath> + <path class="st627" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1253_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1254_"> + <use xlink:href="#SVGID_1253_" style="overflow:visible;"/> + </clipPath> + <path class="st628" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1255_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1256_"> + <use xlink:href="#SVGID_1255_" style="overflow:visible;"/> + </clipPath> + <path class="st629" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1257_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1258_"> + <use xlink:href="#SVGID_1257_" style="overflow:visible;"/> + </clipPath> + <path class="st630" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1259_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1260_"> + <use xlink:href="#SVGID_1259_" style="overflow:visible;"/> + </clipPath> + <path class="st631" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1261_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1262_"> + <use xlink:href="#SVGID_1261_" style="overflow:visible;"/> + </clipPath> + <path class="st632" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1263_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1264_"> + <use xlink:href="#SVGID_1263_" style="overflow:visible;"/> + </clipPath> + <path class="st633" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1265_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1266_"> + <use xlink:href="#SVGID_1265_" style="overflow:visible;"/> + </clipPath> + <path class="st634" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1267_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1268_"> + <use xlink:href="#SVGID_1267_" style="overflow:visible;"/> + </clipPath> + <path class="st635" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1269_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1270_"> + <use xlink:href="#SVGID_1269_" style="overflow:visible;"/> + </clipPath> + <path class="st636" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1271_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1272_"> + <use xlink:href="#SVGID_1271_" style="overflow:visible;"/> + </clipPath> + <path class="st637" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1273_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1274_"> + <use xlink:href="#SVGID_1273_" style="overflow:visible;"/> + </clipPath> + <path class="st638" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1275_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1276_"> + <use xlink:href="#SVGID_1275_" style="overflow:visible;"/> + </clipPath> + <path class="st639" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1277_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1278_"> + <use xlink:href="#SVGID_1277_" style="overflow:visible;"/> + </clipPath> + <path class="st640" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1279_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1280_"> + <use xlink:href="#SVGID_1279_" style="overflow:visible;"/> + </clipPath> + <path class="st641" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1281_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1282_"> + <use xlink:href="#SVGID_1281_" style="overflow:visible;"/> + </clipPath> + <path class="st642" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1283_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1284_"> + <use xlink:href="#SVGID_1283_" style="overflow:visible;"/> + </clipPath> + <path class="st643" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1285_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1286_"> + <use xlink:href="#SVGID_1285_" style="overflow:visible;"/> + </clipPath> + <path class="st644" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1287_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1288_"> + <use xlink:href="#SVGID_1287_" style="overflow:visible;"/> + </clipPath> + <path class="st645" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1289_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1290_"> + <use xlink:href="#SVGID_1289_" style="overflow:visible;"/> + </clipPath> + <path class="st646" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1291_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1292_"> + <use xlink:href="#SVGID_1291_" style="overflow:visible;"/> + </clipPath> + <path class="st647" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1293_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1294_"> + <use xlink:href="#SVGID_1293_" style="overflow:visible;"/> + </clipPath> + <path class="st648" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1295_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1296_"> + <use xlink:href="#SVGID_1295_" style="overflow:visible;"/> + </clipPath> + <path class="st649" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1297_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1298_"> + <use xlink:href="#SVGID_1297_" style="overflow:visible;"/> + </clipPath> + <path class="st650" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1299_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1300_"> + <use xlink:href="#SVGID_1299_" style="overflow:visible;"/> + </clipPath> + <path class="st651" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1301_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1302_"> + <use xlink:href="#SVGID_1301_" style="overflow:visible;"/> + </clipPath> + <path class="st652" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1303_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1304_"> + <use xlink:href="#SVGID_1303_" style="overflow:visible;"/> + </clipPath> + <path class="st653" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1305_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1306_"> + <use xlink:href="#SVGID_1305_" style="overflow:visible;"/> + </clipPath> + <path class="st654" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1307_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1308_"> + <use xlink:href="#SVGID_1307_" style="overflow:visible;"/> + </clipPath> + <path class="st655" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1309_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1310_"> + <use xlink:href="#SVGID_1309_" style="overflow:visible;"/> + </clipPath> + <path class="st656" d="M23,22.6L23,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1311_" d="M23.1,22.6C23.1,22.6,23.1,22.7,23.1,22.6c-0.1,0.1-0.1,0-0.1,0S23,22.5,23.1,22.6 + C23.1,22.5,23.1,22.6,23.1,22.6"/> + </defs> + <clipPath id="SVGID_1312_"> + <use xlink:href="#SVGID_1311_" style="overflow:visible;"/> + </clipPath> + <path class="st657" d="M23.1,22.6H23H23.1z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_1313_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1314_"> + <use xlink:href="#SVGID_1313_" style="overflow:visible;"/> + </clipPath> + <g class="st658"> + <g> + <defs> + <path id="SVGID_1315_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1316_"> + <use xlink:href="#SVGID_1315_" style="overflow:visible;"/> + </clipPath> + <rect x="21.5" y="22.5" class="st659" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1317_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1318_"> + <use xlink:href="#SVGID_1317_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st660" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1319_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1320_"> + <use xlink:href="#SVGID_1319_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st661" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1321_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1322_"> + <use xlink:href="#SVGID_1321_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st662" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1323_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1324_"> + <use xlink:href="#SVGID_1323_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st663" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1325_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1326_"> + <use xlink:href="#SVGID_1325_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st664" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1327_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1328_"> + <use xlink:href="#SVGID_1327_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st665" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1329_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1330_"> + <use xlink:href="#SVGID_1329_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st666" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1331_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1332_"> + <use xlink:href="#SVGID_1331_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st667" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1333_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1334_"> + <use xlink:href="#SVGID_1333_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st668" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1335_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1336_"> + <use xlink:href="#SVGID_1335_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st669" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1337_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1338_"> + <use xlink:href="#SVGID_1337_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st670" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1339_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1340_"> + <use xlink:href="#SVGID_1339_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st671" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1341_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1342_"> + <use xlink:href="#SVGID_1341_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st672" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1343_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1344_"> + <use xlink:href="#SVGID_1343_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st673" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1345_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1346_"> + <use xlink:href="#SVGID_1345_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st674" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1347_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1348_"> + <use xlink:href="#SVGID_1347_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st675" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1349_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1350_"> + <use xlink:href="#SVGID_1349_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st676" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1351_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1352_"> + <use xlink:href="#SVGID_1351_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st677" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1353_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1354_"> + <use xlink:href="#SVGID_1353_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st678" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1355_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1356_"> + <use xlink:href="#SVGID_1355_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st679" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1357_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1358_"> + <use xlink:href="#SVGID_1357_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st680" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1359_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1360_"> + <use xlink:href="#SVGID_1359_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st681" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1361_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1362_"> + <use xlink:href="#SVGID_1361_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st682" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1363_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1364_"> + <use xlink:href="#SVGID_1363_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st683" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1365_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1366_"> + <use xlink:href="#SVGID_1365_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st684" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1367_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1368_"> + <use xlink:href="#SVGID_1367_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st685" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1369_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1370_"> + <use xlink:href="#SVGID_1369_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st686" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1371_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1372_"> + <use xlink:href="#SVGID_1371_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st687" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1373_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1374_"> + <use xlink:href="#SVGID_1373_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st688" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1375_" d="M21.5,22.7C21.5,22.7,21.6,22.7,21.5,22.7C21.7,22.7,21.6,22.6,21.5,22.7 + C21.6,22.6,21.5,22.5,21.5,22.7C21.5,22.6,21.5,22.7,21.5,22.7"/> + </defs> + <clipPath id="SVGID_1376_"> + <use xlink:href="#SVGID_1375_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.6667 21.8473)" class="st689" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1377_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1378_"> + <use xlink:href="#SVGID_1377_" style="overflow:visible;"/> + </clipPath> + <path class="st690" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1379_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1380_"> + <use xlink:href="#SVGID_1379_" style="overflow:visible;"/> + </clipPath> + <path class="st691" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1381_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1382_"> + <use xlink:href="#SVGID_1381_" style="overflow:visible;"/> + </clipPath> + <path class="st692" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1383_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1384_"> + <use xlink:href="#SVGID_1383_" style="overflow:visible;"/> + </clipPath> + <path class="st693" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1385_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1386_"> + <use xlink:href="#SVGID_1385_" style="overflow:visible;"/> + </clipPath> + <path class="st694" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1387_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1388_"> + <use xlink:href="#SVGID_1387_" style="overflow:visible;"/> + </clipPath> + <path class="st695" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1389_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1390_"> + <use xlink:href="#SVGID_1389_" style="overflow:visible;"/> + </clipPath> + <path class="st696" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1391_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1392_"> + <use xlink:href="#SVGID_1391_" style="overflow:visible;"/> + </clipPath> + <path class="st697" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1393_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1394_"> + <use xlink:href="#SVGID_1393_" style="overflow:visible;"/> + </clipPath> + <path class="st698" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1395_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1396_"> + <use xlink:href="#SVGID_1395_" style="overflow:visible;"/> + </clipPath> + <path class="st699" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1397_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1398_"> + <use xlink:href="#SVGID_1397_" style="overflow:visible;"/> + </clipPath> + <path class="st700" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1399_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1400_"> + <use xlink:href="#SVGID_1399_" style="overflow:visible;"/> + </clipPath> + <path class="st701" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1401_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1402_"> + <use xlink:href="#SVGID_1401_" style="overflow:visible;"/> + </clipPath> + <path class="st702" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1403_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1404_"> + <use xlink:href="#SVGID_1403_" style="overflow:visible;"/> + </clipPath> + <path class="st703" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1405_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1406_"> + <use xlink:href="#SVGID_1405_" style="overflow:visible;"/> + </clipPath> + <path class="st704" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1407_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1408_"> + <use xlink:href="#SVGID_1407_" style="overflow:visible;"/> + </clipPath> + <path class="st705" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1409_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1410_"> + <use xlink:href="#SVGID_1409_" style="overflow:visible;"/> + </clipPath> + <path class="st706" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1411_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1412_"> + <use xlink:href="#SVGID_1411_" style="overflow:visible;"/> + </clipPath> + <path class="st707" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1413_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1414_"> + <use xlink:href="#SVGID_1413_" style="overflow:visible;"/> + </clipPath> + <path class="st708" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1415_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1416_"> + <use xlink:href="#SVGID_1415_" style="overflow:visible;"/> + </clipPath> + <path class="st709" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1417_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1418_"> + <use xlink:href="#SVGID_1417_" style="overflow:visible;"/> + </clipPath> + <path class="st710" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1419_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1420_"> + <use xlink:href="#SVGID_1419_" style="overflow:visible;"/> + </clipPath> + <path class="st711" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1421_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1422_"> + <use xlink:href="#SVGID_1421_" style="overflow:visible;"/> + </clipPath> + <path class="st712" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1423_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1424_"> + <use xlink:href="#SVGID_1423_" style="overflow:visible;"/> + </clipPath> + <path class="st713" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1425_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1426_"> + <use xlink:href="#SVGID_1425_" style="overflow:visible;"/> + </clipPath> + <path class="st714" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1427_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1428_"> + <use xlink:href="#SVGID_1427_" style="overflow:visible;"/> + </clipPath> + <path class="st715" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1429_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1430_"> + <use xlink:href="#SVGID_1429_" style="overflow:visible;"/> + </clipPath> + <path class="st716" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1431_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1432_"> + <use xlink:href="#SVGID_1431_" style="overflow:visible;"/> + </clipPath> + <path class="st717" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1433_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1434_"> + <use xlink:href="#SVGID_1433_" style="overflow:visible;"/> + </clipPath> + <path class="st718" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1435_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1436_"> + <use xlink:href="#SVGID_1435_" style="overflow:visible;"/> + </clipPath> + <path class="st719" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1437_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1438_"> + <use xlink:href="#SVGID_1437_" style="overflow:visible;"/> + </clipPath> + <path class="st720" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1439_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1440_"> + <use xlink:href="#SVGID_1439_" style="overflow:visible;"/> + </clipPath> + <path class="st721" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1441_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1442_"> + <use xlink:href="#SVGID_1441_" style="overflow:visible;"/> + </clipPath> + <path class="st722" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1443_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1444_"> + <use xlink:href="#SVGID_1443_" style="overflow:visible;"/> + </clipPath> + <path class="st723" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1445_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1446_"> + <use xlink:href="#SVGID_1445_" style="overflow:visible;"/> + </clipPath> + <path class="st724" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1447_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1448_"> + <use xlink:href="#SVGID_1447_" style="overflow:visible;"/> + </clipPath> + <path class="st725" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1449_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1450_"> + <use xlink:href="#SVGID_1449_" style="overflow:visible;"/> + </clipPath> + <path class="st726" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1451_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1452_"> + <use xlink:href="#SVGID_1451_" style="overflow:visible;"/> + </clipPath> + <path class="st727" d="M21.6,22.6L21.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1453_" d="M21.5,22.6C21.5,22.6,21.5,22.7,21.5,22.6c0.1,0.1,0.1,0,0.1,0S21.6,22.5,21.5,22.6 + C21.5,22.5,21.5,22.6,21.5,22.6"/> + </defs> + <clipPath id="SVGID_1454_"> + <use xlink:href="#SVGID_1453_" style="overflow:visible;"/> + </clipPath> + <path class="st728" d="M21.6,22.6L21.6,22.6z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_1455_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1456_"> + <use xlink:href="#SVGID_1455_" style="overflow:visible;"/> + </clipPath> + <path class="st729" d="M21.7,22.6c0.2-0.1,0.4-0.2,0.6-0.2s0.4,0.1,0.6,0.2c0,0.1-0.1,0.1-0.1,0.2s0.1,0.2,0,0.2 + c-0.4,0-0.8,0-1.1,0c0,0,0-0.1,0-0.2S21.7,22.6,21.7,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_1457_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1458_"> + <use xlink:href="#SVGID_1457_" style="overflow:visible;"/> + </clipPath> + <path class="st730" d="M21.8,22.2C21.8,22.2,21.7,22.2,21.8,22.2c-0.2,0-0.2,0.1-0.2,0.1s0,0,0,0.1c0,0,0,0,0,0.1l0.1,0.1 + c0.1,0.1,0.1,0.2,0.1,0.4c0-0.1,0-0.3-0.1-0.4c0-0.1-0.1-0.1-0.1-0.1l0.1-0.1C21.7,22.2,21.8,22.2,21.8,22.2l0.2,0.1h0.1 + c0.1,0,0.3,0,0.4,0h0.1l0.1-0.1h0.1c0.1,0,0.1,0.1,0.1,0.1l-0.1,0.1l-0.1,0.1c0,0.1,0,0.2,0,0.2c0.1,0.1,0-0.2,0.1-0.2l0.1-0.1 + c0-0.1,0.1-0.1,0.1-0.1s0,0,0-0.1v-0.1L22.9,22c-0.1,0-0.1,0-0.2,0l-0.1,0.2h-0.1c-0.1,0-0.3,0-0.4,0H22H21.8 + C21.8,22.1,21.8,22.1,21.8,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1459_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1460_"> + <use xlink:href="#SVGID_1459_" style="overflow:visible;"/> + </clipPath> + <path class="st731" d="M21.8,23h-0.1v-0.1c0-0.1,0-0.2-0.1-0.3l-0.1-0.1c0,0,0,0,0-0.1v-0.1v-0.1c0-0.1,0.1-0.1,0.2-0.1h0.1h0.1 + c0,0,0,0,0.1,0h0.1c0.1,0,0.2,0,0.4,0h0.1h0.1c0.1,0,0.2,0,0.2,0c0.1,0,0.1,0.1,0.2,0.1v0.1v0.1c0,0,0,0,0,0.1L23,22.6v0.1 + c0,0-0.1,0.1,0,0.2c0,0.1,0,0.1,0,0.2h-0.1c0-0.1,0-0.2,0-0.3c0,0,0-0.1,0.1-0.1v-0.1c0,0,0-0.1,0.1-0.1L23,22.4h-0.1h-0.1h-0.1 + c-0.1,0-0.1,0-0.2,0s-0.3,0-0.4,0s-0.1,0-0.2,0h-0.1h-0.1h-0.1c0,0-0.1,0-0.1,0.1l0.1,0.1C21.8,22.7,21.9,22.8,21.8,23z"/> + </g> + <g> + <defs> + <path id="SVGID_1461_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1462_"> + <use xlink:href="#SVGID_1461_" style="overflow:visible;"/> + </clipPath> + <path class="st732" d="M22.3,21.9L22.3,21.9c-0.1,0.1-0.1,0.1-0.1,0.2v0.8h0.2v-0.8C22.4,22.1,22.4,22,22.3,21.9 + C22.4,22,22.3,22,22.3,21.9z"/> + </g> + <g> + <defs> + <path id="SVGID_1463_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1464_"> + <use xlink:href="#SVGID_1463_" style="overflow:visible;"/> + </clipPath> + <path class="st733" d="M22.5,23h-0.3v-0.8c0,0,0,0,0-0.1s0-0.1,0.1-0.2c0,0,0,0,0.1,0h0.1c0,0.1,0,0.1,0.1,0.2L22.5,23z + M22.2,22.9h0.1v-0.7c0-0.1,0-0.1,0-0.2c0,0,0,0.1,0,0.2L22.2,22.9z"/> + </g> + <g> + <defs> + <path id="SVGID_1465_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1466_"> + <use xlink:href="#SVGID_1465_" style="overflow:visible;"/> + </clipPath> + <g class="st734"> + <g> + <defs> + <path id="SVGID_1467_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1468_"> + <use xlink:href="#SVGID_1467_" style="overflow:visible;"/> + </clipPath> + <rect x="22.2" y="22" class="st735" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1469_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1470_"> + <use xlink:href="#SVGID_1469_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st736" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1471_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1472_"> + <use xlink:href="#SVGID_1471_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st737" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1473_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1474_"> + <use xlink:href="#SVGID_1473_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st738" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1475_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1476_"> + <use xlink:href="#SVGID_1475_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st739" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1477_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1478_"> + <use xlink:href="#SVGID_1477_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st740" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1479_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1480_"> + <use xlink:href="#SVGID_1479_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st741" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1481_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1482_"> + <use xlink:href="#SVGID_1481_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st742" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1483_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1484_"> + <use xlink:href="#SVGID_1483_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st743" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1485_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1486_"> + <use xlink:href="#SVGID_1485_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st744" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1487_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1488_"> + <use xlink:href="#SVGID_1487_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st745" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1489_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1490_"> + <use xlink:href="#SVGID_1489_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st746" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1491_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1492_"> + <use xlink:href="#SVGID_1491_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st747" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1493_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1494_"> + <use xlink:href="#SVGID_1493_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st748" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1495_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1496_"> + <use xlink:href="#SVGID_1495_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st749" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1497_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1498_"> + <use xlink:href="#SVGID_1497_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st750" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1499_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1500_"> + <use xlink:href="#SVGID_1499_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st751" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1501_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1502_"> + <use xlink:href="#SVGID_1501_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st752" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1503_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1504_"> + <use xlink:href="#SVGID_1503_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st753" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1505_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1506_"> + <use xlink:href="#SVGID_1505_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st754" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1507_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1508_"> + <use xlink:href="#SVGID_1507_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st755" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1509_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1510_"> + <use xlink:href="#SVGID_1509_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st756" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1511_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1512_"> + <use xlink:href="#SVGID_1511_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st757" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1513_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1514_"> + <use xlink:href="#SVGID_1513_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st758" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1515_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1516_"> + <use xlink:href="#SVGID_1515_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st759" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1517_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1518_"> + <use xlink:href="#SVGID_1517_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st760" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1519_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1520_"> + <use xlink:href="#SVGID_1519_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st761" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1521_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1522_"> + <use xlink:href="#SVGID_1521_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st762" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1523_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1524_"> + <use xlink:href="#SVGID_1523_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st763" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1525_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1526_"> + <use xlink:href="#SVGID_1525_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st764" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1527_" d="M22.4,22C22.4,22,22.3,22.1,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.2,22,22.4,22C22.2,22,22.3,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1528_"> + <use xlink:href="#SVGID_1527_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st765" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1529_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1530_"> + <use xlink:href="#SVGID_1529_" style="overflow:visible;"/> + </clipPath> + <path class="st766" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1531_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1532_"> + <use xlink:href="#SVGID_1531_" style="overflow:visible;"/> + </clipPath> + <path class="st767" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1533_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1534_"> + <use xlink:href="#SVGID_1533_" style="overflow:visible;"/> + </clipPath> + <path class="st768" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1535_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1536_"> + <use xlink:href="#SVGID_1535_" style="overflow:visible;"/> + </clipPath> + <path class="st769" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1537_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1538_"> + <use xlink:href="#SVGID_1537_" style="overflow:visible;"/> + </clipPath> + <path class="st770" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1539_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1540_"> + <use xlink:href="#SVGID_1539_" style="overflow:visible;"/> + </clipPath> + <path class="st771" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1541_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1542_"> + <use xlink:href="#SVGID_1541_" style="overflow:visible;"/> + </clipPath> + <path class="st772" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1543_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1544_"> + <use xlink:href="#SVGID_1543_" style="overflow:visible;"/> + </clipPath> + <path class="st773" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1545_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1546_"> + <use xlink:href="#SVGID_1545_" style="overflow:visible;"/> + </clipPath> + <path class="st774" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1547_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1548_"> + <use xlink:href="#SVGID_1547_" style="overflow:visible;"/> + </clipPath> + <path class="st775" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1549_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1550_"> + <use xlink:href="#SVGID_1549_" style="overflow:visible;"/> + </clipPath> + <path class="st776" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1551_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1552_"> + <use xlink:href="#SVGID_1551_" style="overflow:visible;"/> + </clipPath> + <path class="st777" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1553_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1554_"> + <use xlink:href="#SVGID_1553_" style="overflow:visible;"/> + </clipPath> + <path class="st778" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1555_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1556_"> + <use xlink:href="#SVGID_1555_" style="overflow:visible;"/> + </clipPath> + <path class="st779" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1557_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1558_"> + <use xlink:href="#SVGID_1557_" style="overflow:visible;"/> + </clipPath> + <path class="st780" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1559_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1560_"> + <use xlink:href="#SVGID_1559_" style="overflow:visible;"/> + </clipPath> + <path class="st781" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1561_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1562_"> + <use xlink:href="#SVGID_1561_" style="overflow:visible;"/> + </clipPath> + <path class="st782" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1563_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1564_"> + <use xlink:href="#SVGID_1563_" style="overflow:visible;"/> + </clipPath> + <path class="st783" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1565_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1566_"> + <use xlink:href="#SVGID_1565_" style="overflow:visible;"/> + </clipPath> + <path class="st784" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1567_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1568_"> + <use xlink:href="#SVGID_1567_" style="overflow:visible;"/> + </clipPath> + <path class="st785" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1569_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1570_"> + <use xlink:href="#SVGID_1569_" style="overflow:visible;"/> + </clipPath> + <path class="st786" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1571_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1572_"> + <use xlink:href="#SVGID_1571_" style="overflow:visible;"/> + </clipPath> + <path class="st787" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1573_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1574_"> + <use xlink:href="#SVGID_1573_" style="overflow:visible;"/> + </clipPath> + <path class="st788" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1575_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1576_"> + <use xlink:href="#SVGID_1575_" style="overflow:visible;"/> + </clipPath> + <path class="st789" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1577_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1578_"> + <use xlink:href="#SVGID_1577_" style="overflow:visible;"/> + </clipPath> + <path class="st790" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1579_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1580_"> + <use xlink:href="#SVGID_1579_" style="overflow:visible;"/> + </clipPath> + <path class="st791" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1581_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1582_"> + <use xlink:href="#SVGID_1581_" style="overflow:visible;"/> + </clipPath> + <path class="st792" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1583_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1584_"> + <use xlink:href="#SVGID_1583_" style="overflow:visible;"/> + </clipPath> + <path class="st793" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1585_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1586_"> + <use xlink:href="#SVGID_1585_" style="overflow:visible;"/> + </clipPath> + <path class="st794" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1587_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1588_"> + <use xlink:href="#SVGID_1587_" style="overflow:visible;"/> + </clipPath> + <path class="st795" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1589_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1590_"> + <use xlink:href="#SVGID_1589_" style="overflow:visible;"/> + </clipPath> + <path class="st796" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1591_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1592_"> + <use xlink:href="#SVGID_1591_" style="overflow:visible;"/> + </clipPath> + <path class="st797" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1593_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1594_"> + <use xlink:href="#SVGID_1593_" style="overflow:visible;"/> + </clipPath> + <path class="st798" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1595_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1596_"> + <use xlink:href="#SVGID_1595_" style="overflow:visible;"/> + </clipPath> + <path class="st799" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1597_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1598_"> + <use xlink:href="#SVGID_1597_" style="overflow:visible;"/> + </clipPath> + <path class="st800" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1599_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1600_"> + <use xlink:href="#SVGID_1599_" style="overflow:visible;"/> + </clipPath> + <path class="st801" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1601_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1602_"> + <use xlink:href="#SVGID_1601_" style="overflow:visible;"/> + </clipPath> + <path class="st802" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1603_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1604_"> + <use xlink:href="#SVGID_1603_" style="overflow:visible;"/> + </clipPath> + <path class="st803" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1605_" d="M22.4,22.1C22.4,22.1,22.3,22.1,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.3,22,22.4,22.1C22.3,22,22.4,22,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1606_"> + <use xlink:href="#SVGID_1605_" style="overflow:visible;"/> + </clipPath> + <path class="st804" d="M22.3,22.1V22V22.1z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_1607_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1608_"> + <use xlink:href="#SVGID_1607_" style="overflow:visible;"/> + </clipPath> + <g class="st805"> + <g> + <defs> + <path id="SVGID_1609_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1610_"> + <use xlink:href="#SVGID_1609_" style="overflow:visible;"/> + </clipPath> + <rect x="22.2" y="22" class="st806" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1611_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1612_"> + <use xlink:href="#SVGID_1611_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st807" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1613_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1614_"> + <use xlink:href="#SVGID_1613_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st808" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1615_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1616_"> + <use xlink:href="#SVGID_1615_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st809" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1617_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1618_"> + <use xlink:href="#SVGID_1617_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st810" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1619_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1620_"> + <use xlink:href="#SVGID_1619_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st811" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1621_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1622_"> + <use xlink:href="#SVGID_1621_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st812" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1623_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1624_"> + <use xlink:href="#SVGID_1623_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st813" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1625_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1626_"> + <use xlink:href="#SVGID_1625_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st814" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1627_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1628_"> + <use xlink:href="#SVGID_1627_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st815" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1629_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1630_"> + <use xlink:href="#SVGID_1629_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st816" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1631_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1632_"> + <use xlink:href="#SVGID_1631_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st817" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1633_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1634_"> + <use xlink:href="#SVGID_1633_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st818" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1635_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1636_"> + <use xlink:href="#SVGID_1635_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st819" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1637_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1638_"> + <use xlink:href="#SVGID_1637_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st820" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1639_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1640_"> + <use xlink:href="#SVGID_1639_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st821" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1641_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1642_"> + <use xlink:href="#SVGID_1641_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st822" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1643_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1644_"> + <use xlink:href="#SVGID_1643_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st823" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1645_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1646_"> + <use xlink:href="#SVGID_1645_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st824" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1647_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1648_"> + <use xlink:href="#SVGID_1647_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st825" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1649_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1650_"> + <use xlink:href="#SVGID_1649_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st826" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1651_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1652_"> + <use xlink:href="#SVGID_1651_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st827" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1653_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1654_"> + <use xlink:href="#SVGID_1653_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st828" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1655_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1656_"> + <use xlink:href="#SVGID_1655_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st829" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1657_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1658_"> + <use xlink:href="#SVGID_1657_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st830" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1659_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1660_"> + <use xlink:href="#SVGID_1659_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st831" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1661_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1662_"> + <use xlink:href="#SVGID_1661_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st832" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1663_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1664_"> + <use xlink:href="#SVGID_1663_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st833" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1665_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1666_"> + <use xlink:href="#SVGID_1665_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st834" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1667_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1668_"> + <use xlink:href="#SVGID_1667_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st835" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1669_" d="M22.4,22C22.4,22,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.1,22.2,22,22.4,22 + C22.2,22,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1670_"> + <use xlink:href="#SVGID_1669_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st836" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1671_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1672_"> + <use xlink:href="#SVGID_1671_" style="overflow:visible;"/> + </clipPath> + <path class="st837" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1673_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1674_"> + <use xlink:href="#SVGID_1673_" style="overflow:visible;"/> + </clipPath> + <path class="st838" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1675_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1676_"> + <use xlink:href="#SVGID_1675_" style="overflow:visible;"/> + </clipPath> + <path class="st839" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1677_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1678_"> + <use xlink:href="#SVGID_1677_" style="overflow:visible;"/> + </clipPath> + <path class="st840" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1679_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1680_"> + <use xlink:href="#SVGID_1679_" style="overflow:visible;"/> + </clipPath> + <path class="st841" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1681_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1682_"> + <use xlink:href="#SVGID_1681_" style="overflow:visible;"/> + </clipPath> + <path class="st842" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1683_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1684_"> + <use xlink:href="#SVGID_1683_" style="overflow:visible;"/> + </clipPath> + <path class="st843" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1685_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1686_"> + <use xlink:href="#SVGID_1685_" style="overflow:visible;"/> + </clipPath> + <path class="st844" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1687_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1688_"> + <use xlink:href="#SVGID_1687_" style="overflow:visible;"/> + </clipPath> + <path class="st845" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1689_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1690_"> + <use xlink:href="#SVGID_1689_" style="overflow:visible;"/> + </clipPath> + <path class="st846" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1691_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1692_"> + <use xlink:href="#SVGID_1691_" style="overflow:visible;"/> + </clipPath> + <path class="st847" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1693_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1694_"> + <use xlink:href="#SVGID_1693_" style="overflow:visible;"/> + </clipPath> + <path class="st848" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1695_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1696_"> + <use xlink:href="#SVGID_1695_" style="overflow:visible;"/> + </clipPath> + <path class="st849" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1697_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1698_"> + <use xlink:href="#SVGID_1697_" style="overflow:visible;"/> + </clipPath> + <path class="st850" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1699_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1700_"> + <use xlink:href="#SVGID_1699_" style="overflow:visible;"/> + </clipPath> + <path class="st851" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1701_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1702_"> + <use xlink:href="#SVGID_1701_" style="overflow:visible;"/> + </clipPath> + <path class="st852" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1703_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1704_"> + <use xlink:href="#SVGID_1703_" style="overflow:visible;"/> + </clipPath> + <path class="st853" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1705_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1706_"> + <use xlink:href="#SVGID_1705_" style="overflow:visible;"/> + </clipPath> + <path class="st854" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1707_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1708_"> + <use xlink:href="#SVGID_1707_" style="overflow:visible;"/> + </clipPath> + <path class="st855" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1709_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1710_"> + <use xlink:href="#SVGID_1709_" style="overflow:visible;"/> + </clipPath> + <path class="st856" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1711_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1712_"> + <use xlink:href="#SVGID_1711_" style="overflow:visible;"/> + </clipPath> + <path class="st857" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1713_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1714_"> + <use xlink:href="#SVGID_1713_" style="overflow:visible;"/> + </clipPath> + <path class="st858" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1715_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1716_"> + <use xlink:href="#SVGID_1715_" style="overflow:visible;"/> + </clipPath> + <path class="st859" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1717_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1718_"> + <use xlink:href="#SVGID_1717_" style="overflow:visible;"/> + </clipPath> + <path class="st860" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1719_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1720_"> + <use xlink:href="#SVGID_1719_" style="overflow:visible;"/> + </clipPath> + <path class="st861" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1721_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1722_"> + <use xlink:href="#SVGID_1721_" style="overflow:visible;"/> + </clipPath> + <path class="st862" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1723_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1724_"> + <use xlink:href="#SVGID_1723_" style="overflow:visible;"/> + </clipPath> + <path class="st863" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1725_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1726_"> + <use xlink:href="#SVGID_1725_" style="overflow:visible;"/> + </clipPath> + <path class="st864" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1727_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1728_"> + <use xlink:href="#SVGID_1727_" style="overflow:visible;"/> + </clipPath> + <path class="st865" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1729_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1730_"> + <use xlink:href="#SVGID_1729_" style="overflow:visible;"/> + </clipPath> + <path class="st866" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1731_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1732_"> + <use xlink:href="#SVGID_1731_" style="overflow:visible;"/> + </clipPath> + <path class="st867" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1733_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1734_"> + <use xlink:href="#SVGID_1733_" style="overflow:visible;"/> + </clipPath> + <path class="st868" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1735_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1736_"> + <use xlink:href="#SVGID_1735_" style="overflow:visible;"/> + </clipPath> + <path class="st869" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1737_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1738_"> + <use xlink:href="#SVGID_1737_" style="overflow:visible;"/> + </clipPath> + <path class="st870" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1739_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1740_"> + <use xlink:href="#SVGID_1739_" style="overflow:visible;"/> + </clipPath> + <path class="st871" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1741_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1742_"> + <use xlink:href="#SVGID_1741_" style="overflow:visible;"/> + </clipPath> + <path class="st872" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1743_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1744_"> + <use xlink:href="#SVGID_1743_" style="overflow:visible;"/> + </clipPath> + <path class="st873" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1745_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1746_"> + <use xlink:href="#SVGID_1745_" style="overflow:visible;"/> + </clipPath> + <path class="st874" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1747_" d="M22.4,22.1C22.4,22.1,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22,22.3,22,22.4,22.1 + C22.3,22,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1748_"> + <use xlink:href="#SVGID_1747_" style="overflow:visible;"/> + </clipPath> + <path class="st875" d="M22.3,22.1L22.3,22.1z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_1749_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1750_"> + <use xlink:href="#SVGID_1749_" style="overflow:visible;"/> + </clipPath> + <g class="st876"> + <g> + <defs> + <path id="SVGID_1751_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1752_"> + <use xlink:href="#SVGID_1751_" style="overflow:visible;"/> + </clipPath> + <rect x="22.2" y="22.1" class="st877" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1753_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1754_"> + <use xlink:href="#SVGID_1753_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st878" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1755_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1756_"> + <use xlink:href="#SVGID_1755_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st879" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1757_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1758_"> + <use xlink:href="#SVGID_1757_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st880" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1759_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1760_"> + <use xlink:href="#SVGID_1759_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st881" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1761_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1762_"> + <use xlink:href="#SVGID_1761_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st882" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1763_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1764_"> + <use xlink:href="#SVGID_1763_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st883" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1765_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1766_"> + <use xlink:href="#SVGID_1765_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st884" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1767_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1768_"> + <use xlink:href="#SVGID_1767_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st885" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1769_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1770_"> + <use xlink:href="#SVGID_1769_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st886" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1771_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1772_"> + <use xlink:href="#SVGID_1771_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st887" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1773_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1774_"> + <use xlink:href="#SVGID_1773_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st888" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1775_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1776_"> + <use xlink:href="#SVGID_1775_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st889" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1777_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1778_"> + <use xlink:href="#SVGID_1777_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st890" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1779_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1780_"> + <use xlink:href="#SVGID_1779_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st891" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1781_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1782_"> + <use xlink:href="#SVGID_1781_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st892" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1783_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1784_"> + <use xlink:href="#SVGID_1783_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st893" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1785_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1786_"> + <use xlink:href="#SVGID_1785_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st894" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1787_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1788_"> + <use xlink:href="#SVGID_1787_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st895" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1789_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1790_"> + <use xlink:href="#SVGID_1789_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st896" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1791_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1792_"> + <use xlink:href="#SVGID_1791_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st897" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1793_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1794_"> + <use xlink:href="#SVGID_1793_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st898" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1795_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1796_"> + <use xlink:href="#SVGID_1795_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st899" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1797_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1798_"> + <use xlink:href="#SVGID_1797_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st900" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1799_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1800_"> + <use xlink:href="#SVGID_1799_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st901" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1801_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1802_"> + <use xlink:href="#SVGID_1801_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st902" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1803_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1804_"> + <use xlink:href="#SVGID_1803_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st903" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1805_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1806_"> + <use xlink:href="#SVGID_1805_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st904" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1807_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1808_"> + <use xlink:href="#SVGID_1807_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st905" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1809_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1810_"> + <use xlink:href="#SVGID_1809_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st906" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1811_" d="M22.4,22C22.5,22.1,22.4,22.2,22.4,22C22.4,22.2,22.3,22.1,22.4,22C22.2,22.2,22.3,22.1,22.4,22 + C22.3,22.1,22.4,22,22.4,22"/> + </defs> + <clipPath id="SVGID_1812_"> + <use xlink:href="#SVGID_1811_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1082 22.1959)" class="st907" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1813_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1814_"> + <use xlink:href="#SVGID_1813_" style="overflow:visible;"/> + </clipPath> + <path class="st908" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1815_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1816_"> + <use xlink:href="#SVGID_1815_" style="overflow:visible;"/> + </clipPath> + <path class="st909" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1817_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1818_"> + <use xlink:href="#SVGID_1817_" style="overflow:visible;"/> + </clipPath> + <path class="st910" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1819_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1820_"> + <use xlink:href="#SVGID_1819_" style="overflow:visible;"/> + </clipPath> + <path class="st911" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1821_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1822_"> + <use xlink:href="#SVGID_1821_" style="overflow:visible;"/> + </clipPath> + <path class="st912" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1823_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1824_"> + <use xlink:href="#SVGID_1823_" style="overflow:visible;"/> + </clipPath> + <path class="st913" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1825_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1826_"> + <use xlink:href="#SVGID_1825_" style="overflow:visible;"/> + </clipPath> + <path class="st914" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1827_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1828_"> + <use xlink:href="#SVGID_1827_" style="overflow:visible;"/> + </clipPath> + <path class="st915" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1829_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1830_"> + <use xlink:href="#SVGID_1829_" style="overflow:visible;"/> + </clipPath> + <path class="st916" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1831_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1832_"> + <use xlink:href="#SVGID_1831_" style="overflow:visible;"/> + </clipPath> + <path class="st917" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1833_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1834_"> + <use xlink:href="#SVGID_1833_" style="overflow:visible;"/> + </clipPath> + <path class="st918" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1835_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1836_"> + <use xlink:href="#SVGID_1835_" style="overflow:visible;"/> + </clipPath> + <path class="st919" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1837_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1838_"> + <use xlink:href="#SVGID_1837_" style="overflow:visible;"/> + </clipPath> + <path class="st920" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1839_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1840_"> + <use xlink:href="#SVGID_1839_" style="overflow:visible;"/> + </clipPath> + <path class="st921" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1841_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1842_"> + <use xlink:href="#SVGID_1841_" style="overflow:visible;"/> + </clipPath> + <path class="st922" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1843_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1844_"> + <use xlink:href="#SVGID_1843_" style="overflow:visible;"/> + </clipPath> + <path class="st923" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1845_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1846_"> + <use xlink:href="#SVGID_1845_" style="overflow:visible;"/> + </clipPath> + <path class="st924" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1847_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1848_"> + <use xlink:href="#SVGID_1847_" style="overflow:visible;"/> + </clipPath> + <path class="st925" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1849_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1850_"> + <use xlink:href="#SVGID_1849_" style="overflow:visible;"/> + </clipPath> + <path class="st926" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1851_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1852_"> + <use xlink:href="#SVGID_1851_" style="overflow:visible;"/> + </clipPath> + <path class="st927" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1853_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1854_"> + <use xlink:href="#SVGID_1853_" style="overflow:visible;"/> + </clipPath> + <path class="st928" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1855_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1856_"> + <use xlink:href="#SVGID_1855_" style="overflow:visible;"/> + </clipPath> + <path class="st929" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1857_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1858_"> + <use xlink:href="#SVGID_1857_" style="overflow:visible;"/> + </clipPath> + <path class="st930" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1859_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1860_"> + <use xlink:href="#SVGID_1859_" style="overflow:visible;"/> + </clipPath> + <path class="st931" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1861_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1862_"> + <use xlink:href="#SVGID_1861_" style="overflow:visible;"/> + </clipPath> + <path class="st932" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1863_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1864_"> + <use xlink:href="#SVGID_1863_" style="overflow:visible;"/> + </clipPath> + <path class="st933" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1865_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1866_"> + <use xlink:href="#SVGID_1865_" style="overflow:visible;"/> + </clipPath> + <path class="st934" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1867_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1868_"> + <use xlink:href="#SVGID_1867_" style="overflow:visible;"/> + </clipPath> + <path class="st935" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1869_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1870_"> + <use xlink:href="#SVGID_1869_" style="overflow:visible;"/> + </clipPath> + <path class="st936" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1871_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1872_"> + <use xlink:href="#SVGID_1871_" style="overflow:visible;"/> + </clipPath> + <path class="st937" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1873_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1874_"> + <use xlink:href="#SVGID_1873_" style="overflow:visible;"/> + </clipPath> + <path class="st938" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1875_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1876_"> + <use xlink:href="#SVGID_1875_" style="overflow:visible;"/> + </clipPath> + <path class="st939" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1877_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1878_"> + <use xlink:href="#SVGID_1877_" style="overflow:visible;"/> + </clipPath> + <path class="st940" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1879_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1880_"> + <use xlink:href="#SVGID_1879_" style="overflow:visible;"/> + </clipPath> + <path class="st941" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1881_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1882_"> + <use xlink:href="#SVGID_1881_" style="overflow:visible;"/> + </clipPath> + <path class="st942" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1883_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1884_"> + <use xlink:href="#SVGID_1883_" style="overflow:visible;"/> + </clipPath> + <path class="st943" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1885_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1886_"> + <use xlink:href="#SVGID_1885_" style="overflow:visible;"/> + </clipPath> + <path class="st944" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1887_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1888_"> + <use xlink:href="#SVGID_1887_" style="overflow:visible;"/> + </clipPath> + <path class="st945" d="M22.3,22.1L22.3,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_1889_" d="M22.4,22.1C22.4,22.2,22.3,22.2,22.4,22.1c-0.1,0.1-0.1,0-0.1,0C22.2,22.1,22.3,22.1,22.4,22.1 + C22.3,22.1,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1890_"> + <use xlink:href="#SVGID_1889_" style="overflow:visible;"/> + </clipPath> + <path class="st946" d="M22.3,22.1L22.3,22.1z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_1891_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_1892_"> + <use xlink:href="#SVGID_1891_" style="overflow:visible;"/> + </clipPath> + <g class="st947"> + <g> + <defs> + <path id="SVGID_1893_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1894_"> + <use xlink:href="#SVGID_1893_" style="overflow:visible;"/> + </clipPath> + <rect x="22.2" y="22.2" class="st948" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1895_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1896_"> + <use xlink:href="#SVGID_1895_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st949" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1897_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1898_"> + <use xlink:href="#SVGID_1897_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st950" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1899_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1900_"> + <use xlink:href="#SVGID_1899_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st951" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1901_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1902_"> + <use xlink:href="#SVGID_1901_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st952" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1903_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1904_"> + <use xlink:href="#SVGID_1903_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st953" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1905_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1906_"> + <use xlink:href="#SVGID_1905_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st954" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1907_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1908_"> + <use xlink:href="#SVGID_1907_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st955" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1909_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1910_"> + <use xlink:href="#SVGID_1909_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st956" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1911_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1912_"> + <use xlink:href="#SVGID_1911_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st957" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1913_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1914_"> + <use xlink:href="#SVGID_1913_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st958" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1915_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1916_"> + <use xlink:href="#SVGID_1915_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st959" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1917_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1918_"> + <use xlink:href="#SVGID_1917_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st960" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1919_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1920_"> + <use xlink:href="#SVGID_1919_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st961" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1921_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1922_"> + <use xlink:href="#SVGID_1921_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st962" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1923_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1924_"> + <use xlink:href="#SVGID_1923_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st963" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1925_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1926_"> + <use xlink:href="#SVGID_1925_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st964" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1927_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1928_"> + <use xlink:href="#SVGID_1927_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st965" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1929_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1930_"> + <use xlink:href="#SVGID_1929_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st966" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1931_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1932_"> + <use xlink:href="#SVGID_1931_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st967" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1933_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1934_"> + <use xlink:href="#SVGID_1933_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st968" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1935_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1936_"> + <use xlink:href="#SVGID_1935_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st969" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1937_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1938_"> + <use xlink:href="#SVGID_1937_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st970" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1939_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1940_"> + <use xlink:href="#SVGID_1939_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st971" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1941_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1942_"> + <use xlink:href="#SVGID_1941_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st972" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1943_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1944_"> + <use xlink:href="#SVGID_1943_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st973" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1945_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1946_"> + <use xlink:href="#SVGID_1945_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st974" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1947_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1948_"> + <use xlink:href="#SVGID_1947_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st975" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1949_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1950_"> + <use xlink:href="#SVGID_1949_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st976" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1951_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1952_"> + <use xlink:href="#SVGID_1951_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st977" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1953_" d="M22.4,22.1C22.5,22.2,22.4,22.3,22.4,22.1C22.4,22.3,22.3,22.2,22.4,22.1 + C22.2,22.3,22.3,22.2,22.4,22.1C22.3,22.2,22.4,22.1,22.4,22.1"/> + </defs> + <clipPath id="SVGID_1954_"> + <use xlink:href="#SVGID_1953_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.179 22.2252)" class="st978" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_1955_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1956_"> + <use xlink:href="#SVGID_1955_" style="overflow:visible;"/> + </clipPath> + <path class="st979" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1957_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1958_"> + <use xlink:href="#SVGID_1957_" style="overflow:visible;"/> + </clipPath> + <path class="st980" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1959_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1960_"> + <use xlink:href="#SVGID_1959_" style="overflow:visible;"/> + </clipPath> + <path class="st981" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1961_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1962_"> + <use xlink:href="#SVGID_1961_" style="overflow:visible;"/> + </clipPath> + <path class="st982" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1963_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1964_"> + <use xlink:href="#SVGID_1963_" style="overflow:visible;"/> + </clipPath> + <path class="st983" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1965_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1966_"> + <use xlink:href="#SVGID_1965_" style="overflow:visible;"/> + </clipPath> + <path class="st984" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1967_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1968_"> + <use xlink:href="#SVGID_1967_" style="overflow:visible;"/> + </clipPath> + <path class="st985" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1969_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1970_"> + <use xlink:href="#SVGID_1969_" style="overflow:visible;"/> + </clipPath> + <path class="st986" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1971_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1972_"> + <use xlink:href="#SVGID_1971_" style="overflow:visible;"/> + </clipPath> + <path class="st987" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1973_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1974_"> + <use xlink:href="#SVGID_1973_" style="overflow:visible;"/> + </clipPath> + <path class="st988" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1975_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1976_"> + <use xlink:href="#SVGID_1975_" style="overflow:visible;"/> + </clipPath> + <path class="st989" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1977_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1978_"> + <use xlink:href="#SVGID_1977_" style="overflow:visible;"/> + </clipPath> + <path class="st990" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1979_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1980_"> + <use xlink:href="#SVGID_1979_" style="overflow:visible;"/> + </clipPath> + <path class="st991" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1981_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1982_"> + <use xlink:href="#SVGID_1981_" style="overflow:visible;"/> + </clipPath> + <path class="st992" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1983_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1984_"> + <use xlink:href="#SVGID_1983_" style="overflow:visible;"/> + </clipPath> + <path class="st993" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1985_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1986_"> + <use xlink:href="#SVGID_1985_" style="overflow:visible;"/> + </clipPath> + <path class="st994" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1987_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1988_"> + <use xlink:href="#SVGID_1987_" style="overflow:visible;"/> + </clipPath> + <path class="st995" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1989_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1990_"> + <use xlink:href="#SVGID_1989_" style="overflow:visible;"/> + </clipPath> + <path class="st996" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1991_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1992_"> + <use xlink:href="#SVGID_1991_" style="overflow:visible;"/> + </clipPath> + <path class="st997" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1993_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1994_"> + <use xlink:href="#SVGID_1993_" style="overflow:visible;"/> + </clipPath> + <path class="st998" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1995_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1996_"> + <use xlink:href="#SVGID_1995_" style="overflow:visible;"/> + </clipPath> + <path class="st999" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1997_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_1998_"> + <use xlink:href="#SVGID_1997_" style="overflow:visible;"/> + </clipPath> + <path class="st1000" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_1999_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_2000_"> + <use xlink:href="#SVGID_1999_" style="overflow:visible;"/> + </clipPath> + <path class="st1001" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2001_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_2002_"> + <use xlink:href="#SVGID_2001_" style="overflow:visible;"/> + </clipPath> + <path class="st1002" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2003_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_2004_"> + <use xlink:href="#SVGID_2003_" style="overflow:visible;"/> + </clipPath> + <path class="st1003" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2005_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_2006_"> + <use xlink:href="#SVGID_2005_" style="overflow:visible;"/> + </clipPath> + <path class="st1004" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2007_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_2008_"> + <use xlink:href="#SVGID_2007_" style="overflow:visible;"/> + </clipPath> + <path class="st1005" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2009_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_2010_"> + <use xlink:href="#SVGID_2009_" style="overflow:visible;"/> + </clipPath> + <path class="st1006" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2011_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_2012_"> + <use xlink:href="#SVGID_2011_" style="overflow:visible;"/> + </clipPath> + <path class="st1007" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2013_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_2014_"> + <use xlink:href="#SVGID_2013_" style="overflow:visible;"/> + </clipPath> + <path class="st1008" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2015_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_2016_"> + <use xlink:href="#SVGID_2015_" style="overflow:visible;"/> + </clipPath> + <path class="st1009" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2017_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_2018_"> + <use xlink:href="#SVGID_2017_" style="overflow:visible;"/> + </clipPath> + <path class="st1010" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2019_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_2020_"> + <use xlink:href="#SVGID_2019_" style="overflow:visible;"/> + </clipPath> + <path class="st1011" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2021_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_2022_"> + <use xlink:href="#SVGID_2021_" style="overflow:visible;"/> + </clipPath> + <path class="st1012" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2023_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_2024_"> + <use xlink:href="#SVGID_2023_" style="overflow:visible;"/> + </clipPath> + <path class="st1013" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2025_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_2026_"> + <use xlink:href="#SVGID_2025_" style="overflow:visible;"/> + </clipPath> + <path class="st1014" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2027_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_2028_"> + <use xlink:href="#SVGID_2027_" style="overflow:visible;"/> + </clipPath> + <path class="st1015" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2029_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_2030_"> + <use xlink:href="#SVGID_2029_" style="overflow:visible;"/> + </clipPath> + <path class="st1016" d="M22.3,22.2L22.3,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2031_" d="M22.4,22.2C22.4,22.3,22.3,22.3,22.4,22.2c-0.1,0.1-0.1,0-0.1,0C22.2,22.2,22.3,22.2,22.4,22.2 + C22.3,22.2,22.4,22.2,22.4,22.2"/> + </defs> + <clipPath id="SVGID_2032_"> + <use xlink:href="#SVGID_2031_" style="overflow:visible;"/> + </clipPath> + <path class="st1017" d="M22.3,22.2L22.3,22.2z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_2033_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2034_"> + <use xlink:href="#SVGID_2033_" style="overflow:visible;"/> + </clipPath> + <g class="st1018"> + <g> + <defs> + <path id="SVGID_2035_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2036_"> + <use xlink:href="#SVGID_2035_" style="overflow:visible;"/> + </clipPath> + <rect x="22.2" y="22.3" class="st1019" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2037_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2038_"> + <use xlink:href="#SVGID_2037_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1020" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2039_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2040_"> + <use xlink:href="#SVGID_2039_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1021" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2041_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2042_"> + <use xlink:href="#SVGID_2041_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1022" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2043_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2044_"> + <use xlink:href="#SVGID_2043_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1023" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2045_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2046_"> + <use xlink:href="#SVGID_2045_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1024" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2047_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2048_"> + <use xlink:href="#SVGID_2047_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1025" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2049_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2050_"> + <use xlink:href="#SVGID_2049_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1026" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2051_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2052_"> + <use xlink:href="#SVGID_2051_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1027" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2053_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2054_"> + <use xlink:href="#SVGID_2053_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1028" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2055_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2056_"> + <use xlink:href="#SVGID_2055_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1029" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2057_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2058_"> + <use xlink:href="#SVGID_2057_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1030" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2059_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2060_"> + <use xlink:href="#SVGID_2059_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1031" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2061_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2062_"> + <use xlink:href="#SVGID_2061_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1032" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2063_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2064_"> + <use xlink:href="#SVGID_2063_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1033" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2065_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2066_"> + <use xlink:href="#SVGID_2065_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1034" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2067_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2068_"> + <use xlink:href="#SVGID_2067_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1035" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2069_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2070_"> + <use xlink:href="#SVGID_2069_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1036" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2071_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2072_"> + <use xlink:href="#SVGID_2071_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1037" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2073_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2074_"> + <use xlink:href="#SVGID_2073_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1038" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2075_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2076_"> + <use xlink:href="#SVGID_2075_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1039" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2077_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2078_"> + <use xlink:href="#SVGID_2077_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1040" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2079_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2080_"> + <use xlink:href="#SVGID_2079_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1041" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2081_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2082_"> + <use xlink:href="#SVGID_2081_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1042" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2083_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2084_"> + <use xlink:href="#SVGID_2083_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1043" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2085_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2086_"> + <use xlink:href="#SVGID_2085_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1044" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2087_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2088_"> + <use xlink:href="#SVGID_2087_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1045" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2089_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2090_"> + <use xlink:href="#SVGID_2089_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1046" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2091_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2092_"> + <use xlink:href="#SVGID_2091_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1047" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2093_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2094_"> + <use xlink:href="#SVGID_2093_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1048" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2095_" d="M22.5,22.3C22.5,22.3,22.4,22.4,22.5,22.3C22.5,22.4,22.4,22.4,22.5,22.3 + C22.2,22.4,22.3,22.3,22.5,22.3C22.3,22.3,22.4,22.2,22.5,22.3"/> + </defs> + <clipPath id="SVGID_2096_"> + <use xlink:href="#SVGID_2095_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2497 22.2545)" class="st1049" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2097_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2098_"> + <use xlink:href="#SVGID_2097_" style="overflow:visible;"/> + </clipPath> + <path class="st1050" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2099_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2100_"> + <use xlink:href="#SVGID_2099_" style="overflow:visible;"/> + </clipPath> + <path class="st1051" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2101_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2102_"> + <use xlink:href="#SVGID_2101_" style="overflow:visible;"/> + </clipPath> + <path class="st1052" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2103_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2104_"> + <use xlink:href="#SVGID_2103_" style="overflow:visible;"/> + </clipPath> + <path class="st1053" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2105_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2106_"> + <use xlink:href="#SVGID_2105_" style="overflow:visible;"/> + </clipPath> + <path class="st1054" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2107_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2108_"> + <use xlink:href="#SVGID_2107_" style="overflow:visible;"/> + </clipPath> + <path class="st1055" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2109_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2110_"> + <use xlink:href="#SVGID_2109_" style="overflow:visible;"/> + </clipPath> + <path class="st1056" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2111_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2112_"> + <use xlink:href="#SVGID_2111_" style="overflow:visible;"/> + </clipPath> + <path class="st1057" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2113_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2114_"> + <use xlink:href="#SVGID_2113_" style="overflow:visible;"/> + </clipPath> + <path class="st1058" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2115_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2116_"> + <use xlink:href="#SVGID_2115_" style="overflow:visible;"/> + </clipPath> + <path class="st1059" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2117_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2118_"> + <use xlink:href="#SVGID_2117_" style="overflow:visible;"/> + </clipPath> + <path class="st1060" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2119_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2120_"> + <use xlink:href="#SVGID_2119_" style="overflow:visible;"/> + </clipPath> + <path class="st1061" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2121_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2122_"> + <use xlink:href="#SVGID_2121_" style="overflow:visible;"/> + </clipPath> + <path class="st1062" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2123_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2124_"> + <use xlink:href="#SVGID_2123_" style="overflow:visible;"/> + </clipPath> + <path class="st1063" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2125_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2126_"> + <use xlink:href="#SVGID_2125_" style="overflow:visible;"/> + </clipPath> + <path class="st1064" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2127_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2128_"> + <use xlink:href="#SVGID_2127_" style="overflow:visible;"/> + </clipPath> + <path class="st1065" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2129_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2130_"> + <use xlink:href="#SVGID_2129_" style="overflow:visible;"/> + </clipPath> + <path class="st1066" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2131_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2132_"> + <use xlink:href="#SVGID_2131_" style="overflow:visible;"/> + </clipPath> + <path class="st1067" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2133_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2134_"> + <use xlink:href="#SVGID_2133_" style="overflow:visible;"/> + </clipPath> + <path class="st1068" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2135_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2136_"> + <use xlink:href="#SVGID_2135_" style="overflow:visible;"/> + </clipPath> + <path class="st1069" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2137_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2138_"> + <use xlink:href="#SVGID_2137_" style="overflow:visible;"/> + </clipPath> + <path class="st1070" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2139_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2140_"> + <use xlink:href="#SVGID_2139_" style="overflow:visible;"/> + </clipPath> + <path class="st1071" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2141_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2142_"> + <use xlink:href="#SVGID_2141_" style="overflow:visible;"/> + </clipPath> + <path class="st1072" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2143_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2144_"> + <use xlink:href="#SVGID_2143_" style="overflow:visible;"/> + </clipPath> + <path class="st1073" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2145_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2146_"> + <use xlink:href="#SVGID_2145_" style="overflow:visible;"/> + </clipPath> + <path class="st1074" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2147_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2148_"> + <use xlink:href="#SVGID_2147_" style="overflow:visible;"/> + </clipPath> + <path class="st1075" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2149_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2150_"> + <use xlink:href="#SVGID_2149_" style="overflow:visible;"/> + </clipPath> + <path class="st1076" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2151_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2152_"> + <use xlink:href="#SVGID_2151_" style="overflow:visible;"/> + </clipPath> + <path class="st1077" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2153_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2154_"> + <use xlink:href="#SVGID_2153_" style="overflow:visible;"/> + </clipPath> + <path class="st1078" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2155_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2156_"> + <use xlink:href="#SVGID_2155_" style="overflow:visible;"/> + </clipPath> + <path class="st1079" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2157_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2158_"> + <use xlink:href="#SVGID_2157_" style="overflow:visible;"/> + </clipPath> + <path class="st1080" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2159_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2160_"> + <use xlink:href="#SVGID_2159_" style="overflow:visible;"/> + </clipPath> + <path class="st1081" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2161_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2162_"> + <use xlink:href="#SVGID_2161_" style="overflow:visible;"/> + </clipPath> + <path class="st1082" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2163_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2164_"> + <use xlink:href="#SVGID_2163_" style="overflow:visible;"/> + </clipPath> + <path class="st1083" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2165_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2166_"> + <use xlink:href="#SVGID_2165_" style="overflow:visible;"/> + </clipPath> + <path class="st1084" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2167_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2168_"> + <use xlink:href="#SVGID_2167_" style="overflow:visible;"/> + </clipPath> + <path class="st1085" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2169_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2170_"> + <use xlink:href="#SVGID_2169_" style="overflow:visible;"/> + </clipPath> + <path class="st1086" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2171_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2172_"> + <use xlink:href="#SVGID_2171_" style="overflow:visible;"/> + </clipPath> + <path class="st1087" d="M22.3,22.3L22.3,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2173_" d="M22.4,22.4C22.4,22.4,22.3,22.4,22.4,22.4c-0.1,0.1-0.1,0-0.1,0C22.2,22.3,22.3,22.3,22.4,22.4 + C22.3,22.3,22.4,22.3,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2174_"> + <use xlink:href="#SVGID_2173_" style="overflow:visible;"/> + </clipPath> + <path class="st1088" d="M22.3,22.3L22.3,22.3z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_2175_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2176_"> + <use xlink:href="#SVGID_2175_" style="overflow:visible;"/> + </clipPath> + <g class="st1089"> + <g> + <defs> + <path id="SVGID_2177_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2178_"> + <use xlink:href="#SVGID_2177_" style="overflow:visible;"/> + </clipPath> + <rect x="22.2" y="22.4" class="st1090" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2179_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2180_"> + <use xlink:href="#SVGID_2179_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1091" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2181_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2182_"> + <use xlink:href="#SVGID_2181_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1092" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2183_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2184_"> + <use xlink:href="#SVGID_2183_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1093" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2185_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2186_"> + <use xlink:href="#SVGID_2185_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1094" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2187_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2188_"> + <use xlink:href="#SVGID_2187_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1095" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2189_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2190_"> + <use xlink:href="#SVGID_2189_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1096" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2191_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2192_"> + <use xlink:href="#SVGID_2191_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1097" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2193_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2194_"> + <use xlink:href="#SVGID_2193_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1098" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2195_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2196_"> + <use xlink:href="#SVGID_2195_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1099" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2197_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2198_"> + <use xlink:href="#SVGID_2197_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1100" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2199_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2200_"> + <use xlink:href="#SVGID_2199_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1101" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2201_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2202_"> + <use xlink:href="#SVGID_2201_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1102" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2203_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2204_"> + <use xlink:href="#SVGID_2203_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1103" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2205_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2206_"> + <use xlink:href="#SVGID_2205_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1104" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2207_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2208_"> + <use xlink:href="#SVGID_2207_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1105" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2209_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2210_"> + <use xlink:href="#SVGID_2209_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1106" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2211_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2212_"> + <use xlink:href="#SVGID_2211_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1107" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2213_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2214_"> + <use xlink:href="#SVGID_2213_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1108" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2215_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2216_"> + <use xlink:href="#SVGID_2215_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1109" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2217_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2218_"> + <use xlink:href="#SVGID_2217_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1110" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2219_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2220_"> + <use xlink:href="#SVGID_2219_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1111" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2221_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2222_"> + <use xlink:href="#SVGID_2221_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1112" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2223_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2224_"> + <use xlink:href="#SVGID_2223_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1113" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2225_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2226_"> + <use xlink:href="#SVGID_2225_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1114" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2227_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2228_"> + <use xlink:href="#SVGID_2227_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1115" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2229_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2230_"> + <use xlink:href="#SVGID_2229_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1116" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2231_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2232_"> + <use xlink:href="#SVGID_2231_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1117" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2233_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2234_"> + <use xlink:href="#SVGID_2233_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1118" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2235_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2236_"> + <use xlink:href="#SVGID_2235_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1119" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2237_" d="M22.4,22.4C22.4,22.4,22.3,22.5,22.4,22.4C22.4,22.6,22.3,22.5,22.4,22.4 + C22.2,22.5,22.2,22.4,22.4,22.4C22.2,22.4,22.3,22.4,22.4,22.4"/> + </defs> + <clipPath id="SVGID_2238_"> + <use xlink:href="#SVGID_2237_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3924 22.3896)" class="st1120" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2239_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2240_"> + <use xlink:href="#SVGID_2239_" style="overflow:visible;"/> + </clipPath> + <path class="st1121" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2241_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2242_"> + <use xlink:href="#SVGID_2241_" style="overflow:visible;"/> + </clipPath> + <path class="st1122" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2243_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2244_"> + <use xlink:href="#SVGID_2243_" style="overflow:visible;"/> + </clipPath> + <path class="st1123" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2245_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2246_"> + <use xlink:href="#SVGID_2245_" style="overflow:visible;"/> + </clipPath> + <path class="st1124" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2247_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2248_"> + <use xlink:href="#SVGID_2247_" style="overflow:visible;"/> + </clipPath> + <path class="st1125" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2249_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2250_"> + <use xlink:href="#SVGID_2249_" style="overflow:visible;"/> + </clipPath> + <path class="st1126" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2251_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2252_"> + <use xlink:href="#SVGID_2251_" style="overflow:visible;"/> + </clipPath> + <path class="st1127" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2253_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2254_"> + <use xlink:href="#SVGID_2253_" style="overflow:visible;"/> + </clipPath> + <path class="st1128" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2255_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2256_"> + <use xlink:href="#SVGID_2255_" style="overflow:visible;"/> + </clipPath> + <path class="st1129" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2257_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2258_"> + <use xlink:href="#SVGID_2257_" style="overflow:visible;"/> + </clipPath> + <path class="st1130" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2259_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2260_"> + <use xlink:href="#SVGID_2259_" style="overflow:visible;"/> + </clipPath> + <path class="st1131" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2261_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2262_"> + <use xlink:href="#SVGID_2261_" style="overflow:visible;"/> + </clipPath> + <path class="st1132" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2263_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2264_"> + <use xlink:href="#SVGID_2263_" style="overflow:visible;"/> + </clipPath> + <path class="st1133" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2265_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2266_"> + <use xlink:href="#SVGID_2265_" style="overflow:visible;"/> + </clipPath> + <path class="st1134" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2267_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2268_"> + <use xlink:href="#SVGID_2267_" style="overflow:visible;"/> + </clipPath> + <path class="st1135" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2269_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2270_"> + <use xlink:href="#SVGID_2269_" style="overflow:visible;"/> + </clipPath> + <path class="st1136" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2271_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2272_"> + <use xlink:href="#SVGID_2271_" style="overflow:visible;"/> + </clipPath> + <path class="st1137" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2273_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2274_"> + <use xlink:href="#SVGID_2273_" style="overflow:visible;"/> + </clipPath> + <path class="st1138" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2275_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2276_"> + <use xlink:href="#SVGID_2275_" style="overflow:visible;"/> + </clipPath> + <path class="st1139" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2277_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2278_"> + <use xlink:href="#SVGID_2277_" style="overflow:visible;"/> + </clipPath> + <path class="st1140" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2279_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2280_"> + <use xlink:href="#SVGID_2279_" style="overflow:visible;"/> + </clipPath> + <path class="st1141" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2281_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2282_"> + <use xlink:href="#SVGID_2281_" style="overflow:visible;"/> + </clipPath> + <path class="st1142" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2283_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2284_"> + <use xlink:href="#SVGID_2283_" style="overflow:visible;"/> + </clipPath> + <path class="st1143" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2285_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2286_"> + <use xlink:href="#SVGID_2285_" style="overflow:visible;"/> + </clipPath> + <path class="st1144" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2287_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2288_"> + <use xlink:href="#SVGID_2287_" style="overflow:visible;"/> + </clipPath> + <path class="st1145" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2289_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2290_"> + <use xlink:href="#SVGID_2289_" style="overflow:visible;"/> + </clipPath> + <path class="st1146" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2291_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2292_"> + <use xlink:href="#SVGID_2291_" style="overflow:visible;"/> + </clipPath> + <path class="st1147" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2293_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2294_"> + <use xlink:href="#SVGID_2293_" style="overflow:visible;"/> + </clipPath> + <path class="st1148" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2295_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2296_"> + <use xlink:href="#SVGID_2295_" style="overflow:visible;"/> + </clipPath> + <path class="st1149" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2297_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2298_"> + <use xlink:href="#SVGID_2297_" style="overflow:visible;"/> + </clipPath> + <path class="st1150" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2299_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2300_"> + <use xlink:href="#SVGID_2299_" style="overflow:visible;"/> + </clipPath> + <path class="st1151" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2301_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2302_"> + <use xlink:href="#SVGID_2301_" style="overflow:visible;"/> + </clipPath> + <path class="st1152" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2303_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2304_"> + <use xlink:href="#SVGID_2303_" style="overflow:visible;"/> + </clipPath> + <path class="st1153" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2305_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2306_"> + <use xlink:href="#SVGID_2305_" style="overflow:visible;"/> + </clipPath> + <path class="st1154" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2307_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2308_"> + <use xlink:href="#SVGID_2307_" style="overflow:visible;"/> + </clipPath> + <path class="st1155" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2309_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2310_"> + <use xlink:href="#SVGID_2309_" style="overflow:visible;"/> + </clipPath> + <path class="st1156" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2311_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2312_"> + <use xlink:href="#SVGID_2311_" style="overflow:visible;"/> + </clipPath> + <path class="st1157" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2313_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2314_"> + <use xlink:href="#SVGID_2313_" style="overflow:visible;"/> + </clipPath> + <path class="st1158" d="M22.3,22.5L22.3,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2315_" d="M22.4,22.5C22.4,22.5,22.3,22.5,22.4,22.5c-0.1,0.1-0.1,0-0.1,0C22.2,22.4,22.3,22.4,22.4,22.5 + C22.3,22.4,22.4,22.4,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2316_"> + <use xlink:href="#SVGID_2315_" style="overflow:visible;"/> + </clipPath> + <path class="st1159" d="M22.3,22.5L22.3,22.5z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_2317_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2318_"> + <use xlink:href="#SVGID_2317_" style="overflow:visible;"/> + </clipPath> + <path class="st1160" d="M22,22.6c0,0,0,0.1-0.1,0.1c0,0-0.1,0,0,0.1s0,0,0,0c0,0.1,0,0.1,0,0.1h-0.2c0-0.1,0-0.1,0-0.1h0.1v-0.1 + c-0.1,0-0.1,0-0.1,0l-0.1-0.1c0,0,0,0.1,0.1,0.2l0.1,0.1v0.2H23v-0.2l0.1-0.1l0.1-0.2l-0.1,0.1c0,0,0,0-0.1,0c0,0-0.1,0.1,0,0.1 + c0,0,0,0,0.1,0c0,0,0,0,0,0.1H23c-0.1,0-0.1-0.1,0-0.1s0,0,0,0v-0.1c0,0,0-0.1-0.1-0.1l-0.1,0.1c0,0-0.1,0,0,0.1c0,0.1,0,0,0,0 + v0.1h-0.2l-0.1-0.1l-0.1,0.1h-0.2v-0.1c0.1,0,0,0,0,0v-0.1C22,22.7,22,22.6,22,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2319_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2320_"> + <use xlink:href="#SVGID_2319_" style="overflow:visible;"/> + </clipPath> + <path class="st1161" d="M23,23.1h-1.3v-0.2l-0.1-0.1c0-0.1-0.1-0.2-0.1-0.2s0,0,0.1,0c0,0,0,0,0.1,0.1h0.1c0,0,0,0,0.1,0 + c0,0,0-0.1,0.1-0.1v-0.1l0.1,0.1c0,0,0.1,0,0.1,0.1v0.1h0.1l0.1-0.1l0.1,0.1h0.1v-0.1c0,0,0-0.1,0.1-0.1c0,0,0-0.1,0.1-0.1 + c0,0,0,0.1,0.1,0.1c0,0,0.1,0,0.1,0.1h0.1c0.1-0.1,0.1-0.1,0.1-0.1s0,0,0.1,0c0,0,0,0.1-0.1,0.2c0,0,0,0,0,0.1v0.2H23z + M21.8,23.1h1.1V23h-0.2l-0.1-0.1V23h-0.2l-0.1-0.1L22.2,23H22v-0.1c0,0,0,0.1-0.1,0.1h-0.2L21.8,23.1z M22.8,22.8L22.8,22.8z + M22.5,22.8L22.5,22.8C22.6,22.8,22.6,22.8,22.5,22.8z M22.1,22.8L22.1,22.8z M21.9,22.8L21.9,22.8z M21.8,22.8L21.8,22.8z + M22.6,22.6C22.6,22.7,22.6,22.7,22.6,22.6v0.1V22.6C22.6,22.7,22.6,22.7,22.6,22.6z M22,22.7L22,22.7C22,22.7,22,22.6,22,22.7 + C22,22.6,22,22.7,22,22.7z"/> + </g> + <g> + <defs> + <path id="SVGID_2321_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2322_"> + <use xlink:href="#SVGID_2321_" style="overflow:visible;"/> + </clipPath> + <path class="st1162" d="M22,22.6C21.9,22.6,21.9,22.7,22,22.6c-0.1,0.1-0.1,0.1-0.1,0.2s0,0,0,0c0,0.1,0,0.1,0,0.1h-0.2 + c0-0.1,0-0.1,0-0.1h0.1v-0.1c-0.1,0-0.1,0-0.1,0l-0.1-0.1c0,0,0,0.1,0.1,0.2l0.1,0.1v0.2h0.8h-0.2c-0.1,0,0,0-0.1-0.2h-0.1v-0.1 + C22,22.8,22,22.7,22,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2323_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2324_"> + <use xlink:href="#SVGID_2323_" style="overflow:visible;"/> + </clipPath> + <g class="st1163"> + <g> + <defs> + <path id="SVGID_2325_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2326_"> + <use xlink:href="#SVGID_2325_" style="overflow:visible;"/> + </clipPath> + <rect x="22.2" y="22.5" class="st1164" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2327_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2328_"> + <use xlink:href="#SVGID_2327_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1165" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2329_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2330_"> + <use xlink:href="#SVGID_2329_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1166" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2331_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2332_"> + <use xlink:href="#SVGID_2331_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1167" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2333_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2334_"> + <use xlink:href="#SVGID_2333_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1168" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2335_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2336_"> + <use xlink:href="#SVGID_2335_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1169" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2337_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2338_"> + <use xlink:href="#SVGID_2337_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1170" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2339_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2340_"> + <use xlink:href="#SVGID_2339_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1171" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2341_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2342_"> + <use xlink:href="#SVGID_2341_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1172" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2343_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2344_"> + <use xlink:href="#SVGID_2343_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1173" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2345_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2346_"> + <use xlink:href="#SVGID_2345_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1174" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2347_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2348_"> + <use xlink:href="#SVGID_2347_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1175" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2349_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2350_"> + <use xlink:href="#SVGID_2349_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1176" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2351_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2352_"> + <use xlink:href="#SVGID_2351_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1177" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2353_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2354_"> + <use xlink:href="#SVGID_2353_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1178" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2355_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2356_"> + <use xlink:href="#SVGID_2355_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1179" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2357_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2358_"> + <use xlink:href="#SVGID_2357_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1180" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2359_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2360_"> + <use xlink:href="#SVGID_2359_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1181" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2361_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2362_"> + <use xlink:href="#SVGID_2361_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1182" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2363_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2364_"> + <use xlink:href="#SVGID_2363_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1183" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2365_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2366_"> + <use xlink:href="#SVGID_2365_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1184" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2367_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2368_"> + <use xlink:href="#SVGID_2367_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1185" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2369_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2370_"> + <use xlink:href="#SVGID_2369_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1186" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2371_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2372_"> + <use xlink:href="#SVGID_2371_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1187" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2373_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2374_"> + <use xlink:href="#SVGID_2373_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1188" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2375_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2376_"> + <use xlink:href="#SVGID_2375_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1189" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2377_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2378_"> + <use xlink:href="#SVGID_2377_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1190" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2379_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2380_"> + <use xlink:href="#SVGID_2379_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1191" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2381_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2382_"> + <use xlink:href="#SVGID_2381_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1192" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2383_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2384_"> + <use xlink:href="#SVGID_2383_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1193" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2385_" d="M22.4,22.5C22.4,22.5,22.4,22.7,22.4,22.5C22.4,22.7,22.3,22.6,22.4,22.5 + C22.2,22.7,22.2,22.5,22.4,22.5C22.2,22.5,22.2,22.5,22.4,22.5C22.2,22.5,22.4,22.5,22.4,22.5"/> + </defs> + <clipPath id="SVGID_2386_"> + <use xlink:href="#SVGID_2385_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.2" y="22.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4617 22.3424)" class="st1194" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2387_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2388_"> + <use xlink:href="#SVGID_2387_" style="overflow:visible;"/> + </clipPath> + <path class="st1195" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2389_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2390_"> + <use xlink:href="#SVGID_2389_" style="overflow:visible;"/> + </clipPath> + <path class="st1196" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2391_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2392_"> + <use xlink:href="#SVGID_2391_" style="overflow:visible;"/> + </clipPath> + <path class="st1197" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2393_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2394_"> + <use xlink:href="#SVGID_2393_" style="overflow:visible;"/> + </clipPath> + <path class="st1198" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2395_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2396_"> + <use xlink:href="#SVGID_2395_" style="overflow:visible;"/> + </clipPath> + <path class="st1199" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2397_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2398_"> + <use xlink:href="#SVGID_2397_" style="overflow:visible;"/> + </clipPath> + <path class="st1200" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2399_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2400_"> + <use xlink:href="#SVGID_2399_" style="overflow:visible;"/> + </clipPath> + <path class="st1201" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2401_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2402_"> + <use xlink:href="#SVGID_2401_" style="overflow:visible;"/> + </clipPath> + <path class="st1202" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2403_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2404_"> + <use xlink:href="#SVGID_2403_" style="overflow:visible;"/> + </clipPath> + <path class="st1203" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2405_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2406_"> + <use xlink:href="#SVGID_2405_" style="overflow:visible;"/> + </clipPath> + <path class="st1204" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2407_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2408_"> + <use xlink:href="#SVGID_2407_" style="overflow:visible;"/> + </clipPath> + <path class="st1205" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2409_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2410_"> + <use xlink:href="#SVGID_2409_" style="overflow:visible;"/> + </clipPath> + <path class="st1206" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2411_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2412_"> + <use xlink:href="#SVGID_2411_" style="overflow:visible;"/> + </clipPath> + <path class="st1207" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2413_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2414_"> + <use xlink:href="#SVGID_2413_" style="overflow:visible;"/> + </clipPath> + <path class="st1208" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2415_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2416_"> + <use xlink:href="#SVGID_2415_" style="overflow:visible;"/> + </clipPath> + <path class="st1209" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2417_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2418_"> + <use xlink:href="#SVGID_2417_" style="overflow:visible;"/> + </clipPath> + <path class="st1210" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2419_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2420_"> + <use xlink:href="#SVGID_2419_" style="overflow:visible;"/> + </clipPath> + <path class="st1211" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2421_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2422_"> + <use xlink:href="#SVGID_2421_" style="overflow:visible;"/> + </clipPath> + <path class="st1212" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2423_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2424_"> + <use xlink:href="#SVGID_2423_" style="overflow:visible;"/> + </clipPath> + <path class="st1213" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2425_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2426_"> + <use xlink:href="#SVGID_2425_" style="overflow:visible;"/> + </clipPath> + <path class="st1214" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2427_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2428_"> + <use xlink:href="#SVGID_2427_" style="overflow:visible;"/> + </clipPath> + <path class="st1215" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2429_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2430_"> + <use xlink:href="#SVGID_2429_" style="overflow:visible;"/> + </clipPath> + <path class="st1216" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2431_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2432_"> + <use xlink:href="#SVGID_2431_" style="overflow:visible;"/> + </clipPath> + <path class="st1217" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2433_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2434_"> + <use xlink:href="#SVGID_2433_" style="overflow:visible;"/> + </clipPath> + <path class="st1218" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2435_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2436_"> + <use xlink:href="#SVGID_2435_" style="overflow:visible;"/> + </clipPath> + <path class="st1219" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2437_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2438_"> + <use xlink:href="#SVGID_2437_" style="overflow:visible;"/> + </clipPath> + <path class="st1220" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2439_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2440_"> + <use xlink:href="#SVGID_2439_" style="overflow:visible;"/> + </clipPath> + <path class="st1221" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2441_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2442_"> + <use xlink:href="#SVGID_2441_" style="overflow:visible;"/> + </clipPath> + <path class="st1222" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2443_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2444_"> + <use xlink:href="#SVGID_2443_" style="overflow:visible;"/> + </clipPath> + <path class="st1223" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2445_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2446_"> + <use xlink:href="#SVGID_2445_" style="overflow:visible;"/> + </clipPath> + <path class="st1224" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2447_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2448_"> + <use xlink:href="#SVGID_2447_" style="overflow:visible;"/> + </clipPath> + <path class="st1225" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2449_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2450_"> + <use xlink:href="#SVGID_2449_" style="overflow:visible;"/> + </clipPath> + <path class="st1226" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2451_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2452_"> + <use xlink:href="#SVGID_2451_" style="overflow:visible;"/> + </clipPath> + <path class="st1227" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2453_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2454_"> + <use xlink:href="#SVGID_2453_" style="overflow:visible;"/> + </clipPath> + <path class="st1228" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2455_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2456_"> + <use xlink:href="#SVGID_2455_" style="overflow:visible;"/> + </clipPath> + <path class="st1229" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2457_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2458_"> + <use xlink:href="#SVGID_2457_" style="overflow:visible;"/> + </clipPath> + <path class="st1230" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2459_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2460_"> + <use xlink:href="#SVGID_2459_" style="overflow:visible;"/> + </clipPath> + <path class="st1231" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2461_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2462_"> + <use xlink:href="#SVGID_2461_" style="overflow:visible;"/> + </clipPath> + <path class="st1232" d="M22.3,22.6L22.3,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2463_" d="M22.4,22.6C22.4,22.6,22.3,22.7,22.4,22.6c-0.1,0.1-0.1,0-0.1,0C22.2,22.6,22.3,22.5,22.4,22.6 + C22.3,22.5,22.3,22.5,22.4,22.6C22.3,22.5,22.4,22.6,22.4,22.6"/> + </defs> + <clipPath id="SVGID_2464_"> + <use xlink:href="#SVGID_2463_" style="overflow:visible;"/> + </clipPath> + <path class="st1233" d="M22.3,22.6L22.3,22.6z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_2465_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2466_"> + <use xlink:href="#SVGID_2465_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1234" points="22.2,22.7 22.4,22.7 22.3,22.8 "/> + </g> + <g> + <defs> + <path id="SVGID_2467_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2468_"> + <use xlink:href="#SVGID_2467_" style="overflow:visible;"/> + </clipPath> + <path class="st1235" d="M22.3,22.9l-0.2-0.2h0.4L22.3,22.9z M22.3,22.7L22.3,22.7z"/> + </g> + <g> + <defs> + <path id="SVGID_2469_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2470_"> + <use xlink:href="#SVGID_2469_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1236" points="22.4,22.7 22.4,22.9 22.3,22.8 "/> + </g> + <g> + <defs> + <path id="SVGID_2471_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2472_"> + <use xlink:href="#SVGID_2471_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1237" points="22.5,23 22.3,22.8 22.5,22.6 "/> + </g> + <g> + <defs> + <path id="SVGID_2473_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2474_"> + <use xlink:href="#SVGID_2473_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1238" points="22.2,22.7 22.2,22.9 22.3,22.8 "/> + </g> + <g> + <defs> + <path id="SVGID_2475_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2476_"> + <use xlink:href="#SVGID_2475_" style="overflow:visible;"/> + </clipPath> + <path class="st1239" d="M22.1,23v-0.4l0.2,0.2L22.1,23z M22.2,22.8L22.2,22.8z"/> + </g> + <g> + <defs> + <path id="SVGID_2477_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2478_"> + <use xlink:href="#SVGID_2477_" style="overflow:visible;"/> + </clipPath> + <path class="st1240" d="M22.3,22.8L22.3,22.8C22.3,22.8,22.3,22.7,22.3,22.8z"/> + </g> + <g> + <defs> + <path id="SVGID_2479_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2480_"> + <use xlink:href="#SVGID_2479_" style="overflow:visible;"/> + </clipPath> + <rect x="21.7" y="23" class="st1241" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2481_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2482_"> + <use xlink:href="#SVGID_2481_" style="overflow:visible;"/> + </clipPath> + <path class="st1242" d="M22.6,22.6l-0.1,0.1c0,0-0.1,0,0,0.1s0,0,0,0v0.1h-0.1c0,0,0.1,0,0.1,0.1c0,0,0.1,0.1,0.2,0.1h0.1v-0.2 + l0.1-0.1l0.1-0.2l-0.1,0.1c0,0,0,0-0.1,0c0,0-0.1,0.1,0,0.1c0,0,0,0,0.1,0c0,0,0,0,0,0.1h-0.1c-0.1,0-0.1-0.1,0-0.1s0,0,0,0v-0.1 + C22.7,22.7,22.7,22.6,22.6,22.6z"/> + </g> + <g> + <defs> + <path id="SVGID_2483_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2484_"> + <use xlink:href="#SVGID_2483_" style="overflow:visible;"/> + </clipPath> + <rect x="22.8" y="23" class="st1243" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2485_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2486_"> + <use xlink:href="#SVGID_2485_" style="overflow:visible;"/> + </clipPath> + <rect x="22.6" y="23" class="st1244" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2487_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2488_"> + <use xlink:href="#SVGID_2487_" style="overflow:visible;"/> + </clipPath> + <rect x="22" y="23" class="st1245" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2489_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2490_"> + <use xlink:href="#SVGID_2489_" style="overflow:visible;"/> + </clipPath> + <rect x="22.2" y="23" class="st1246" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2491_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2492_"> + <use xlink:href="#SVGID_2491_" style="overflow:visible;"/> + </clipPath> + <rect x="21.7" y="23.1" class="st1247" width="1.3" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2493_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2494_"> + <use xlink:href="#SVGID_2493_" style="overflow:visible;"/> + </clipPath> + <path class="st1248" d="M21.7,23.1L21.7,23.1z"/> + </g> + <g> + <defs> + <path id="SVGID_2495_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2496_"> + <use xlink:href="#SVGID_2495_" style="overflow:visible;"/> + </clipPath> + <path class="st1249" d="M21.8,23.1L21.8,23.1z"/> + </g> + <g> + <defs> + <path id="SVGID_2497_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2498_"> + <use xlink:href="#SVGID_2497_" style="overflow:visible;"/> + </clipPath> + <path class="st1250" d="M21.9,23.1L21.9,23.1z"/> + </g> + <g> + <defs> + <path id="SVGID_2499_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2500_"> + <use xlink:href="#SVGID_2499_" style="overflow:visible;"/> + </clipPath> + <path class="st1251" d="M22,23.1L22,23.1z"/> + </g> + <g> + <defs> + <path id="SVGID_2501_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2502_"> + <use xlink:href="#SVGID_2501_" style="overflow:visible;"/> + </clipPath> + <path class="st1252" d="M22.1,23.1L22.1,23.1z"/> + </g> + <g> + <defs> + <path id="SVGID_2503_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2504_"> + <use xlink:href="#SVGID_2503_" style="overflow:visible;"/> + </clipPath> + <path class="st1253" d="M22.2,23.1L22.2,23.1z"/> + </g> + <g> + <defs> + <path id="SVGID_2505_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2506_"> + <use xlink:href="#SVGID_2505_" style="overflow:visible;"/> + </clipPath> + <path class="st1254" d="M22.3,23.1L22.3,23.1z"/> + </g> + <g> + <defs> + <path id="SVGID_2507_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2508_"> + <use xlink:href="#SVGID_2507_" style="overflow:visible;"/> + </clipPath> + <path class="st1255" d="M22.4,23.1L22.4,23.1z"/> + </g> + <g> + <defs> + <path id="SVGID_2509_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2510_"> + <use xlink:href="#SVGID_2509_" style="overflow:visible;"/> + </clipPath> + <path class="st1256" d="M22.5,23.1L22.5,23.1z"/> + </g> + <g> + <defs> + <path id="SVGID_2511_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2512_"> + <use xlink:href="#SVGID_2511_" style="overflow:visible;"/> + </clipPath> + <path class="st1257" d="M22.6,23.1L22.6,23.1z"/> + </g> + <g> + <defs> + <path id="SVGID_2513_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2514_"> + <use xlink:href="#SVGID_2513_" style="overflow:visible;"/> + </clipPath> + <path class="st1258" d="M22.7,23.1L22.7,23.1z"/> + </g> + <g> + <defs> + <path id="SVGID_2515_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2516_"> + <use xlink:href="#SVGID_2515_" style="overflow:visible;"/> + </clipPath> + <path class="st1259" d="M22.8,23.1L22.8,23.1z"/> + </g> + <g> + <defs> + <path id="SVGID_2517_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2518_"> + <use xlink:href="#SVGID_2517_" style="overflow:visible;"/> + </clipPath> + <path class="st1260" d="M22.9,23.1L22.9,23.1z"/> + </g> + <g> + <defs> + <path id="SVGID_2519_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2520_"> + <use xlink:href="#SVGID_2519_" style="overflow:visible;"/> + </clipPath> + <g class="st1261"> + <g> + <defs> + <path id="SVGID_2521_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2522_"> + <use xlink:href="#SVGID_2521_" style="overflow:visible;"/> + </clipPath> + <rect x="23.1" y="22.3" class="st1262" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2523_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2524_"> + <use xlink:href="#SVGID_2523_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1263" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2525_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2526_"> + <use xlink:href="#SVGID_2525_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1264" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2527_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2528_"> + <use xlink:href="#SVGID_2527_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1265" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2529_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2530_"> + <use xlink:href="#SVGID_2529_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1266" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2531_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2532_"> + <use xlink:href="#SVGID_2531_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1267" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2533_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2534_"> + <use xlink:href="#SVGID_2533_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1268" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2535_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2536_"> + <use xlink:href="#SVGID_2535_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1269" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2537_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2538_"> + <use xlink:href="#SVGID_2537_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1270" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2539_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2540_"> + <use xlink:href="#SVGID_2539_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1271" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2541_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2542_"> + <use xlink:href="#SVGID_2541_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1272" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2543_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2544_"> + <use xlink:href="#SVGID_2543_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1273" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2545_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2546_"> + <use xlink:href="#SVGID_2545_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1274" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2547_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2548_"> + <use xlink:href="#SVGID_2547_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1275" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2549_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2550_"> + <use xlink:href="#SVGID_2549_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1276" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2551_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2552_"> + <use xlink:href="#SVGID_2551_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1277" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2553_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2554_"> + <use xlink:href="#SVGID_2553_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1278" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2555_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2556_"> + <use xlink:href="#SVGID_2555_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1279" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2557_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2558_"> + <use xlink:href="#SVGID_2557_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1280" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2559_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2560_"> + <use xlink:href="#SVGID_2559_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1281" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2561_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2562_"> + <use xlink:href="#SVGID_2561_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1282" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2563_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2564_"> + <use xlink:href="#SVGID_2563_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1283" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2565_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2566_"> + <use xlink:href="#SVGID_2565_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1284" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2567_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2568_"> + <use xlink:href="#SVGID_2567_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1285" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2569_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2570_"> + <use xlink:href="#SVGID_2569_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1286" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2571_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2572_"> + <use xlink:href="#SVGID_2571_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1287" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2573_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2574_"> + <use xlink:href="#SVGID_2573_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1288" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2575_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2576_"> + <use xlink:href="#SVGID_2575_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1289" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2577_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2578_"> + <use xlink:href="#SVGID_2577_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1290" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2579_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2580_"> + <use xlink:href="#SVGID_2579_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1291" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2581_" d="M23.4,22.3C23.4,22.3,23.3,22.4,23.4,22.3C23.4,22.4,23.3,22.4,23.4,22.3 + C23.1,22.4,23.1,22.4,23.4,22.3C23.2,22.3,23.3,22.2,23.4,22.3"/> + </defs> + <clipPath id="SVGID_2582_"> + <use xlink:href="#SVGID_2581_" style="overflow:visible;"/> + </clipPath> + + <rect x="23.1" y="22.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.986 22.8908)" class="st1292" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2583_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2584_"> + <use xlink:href="#SVGID_2583_" style="overflow:visible;"/> + </clipPath> + <path class="st1293" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2585_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2586_"> + <use xlink:href="#SVGID_2585_" style="overflow:visible;"/> + </clipPath> + <path class="st1294" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2587_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2588_"> + <use xlink:href="#SVGID_2587_" style="overflow:visible;"/> + </clipPath> + <path class="st1295" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2589_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2590_"> + <use xlink:href="#SVGID_2589_" style="overflow:visible;"/> + </clipPath> + <path class="st1296" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2591_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2592_"> + <use xlink:href="#SVGID_2591_" style="overflow:visible;"/> + </clipPath> + <path class="st1297" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2593_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2594_"> + <use xlink:href="#SVGID_2593_" style="overflow:visible;"/> + </clipPath> + <path class="st1298" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2595_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2596_"> + <use xlink:href="#SVGID_2595_" style="overflow:visible;"/> + </clipPath> + <path class="st1299" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2597_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2598_"> + <use xlink:href="#SVGID_2597_" style="overflow:visible;"/> + </clipPath> + <path class="st1300" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2599_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2600_"> + <use xlink:href="#SVGID_2599_" style="overflow:visible;"/> + </clipPath> + <path class="st1301" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2601_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2602_"> + <use xlink:href="#SVGID_2601_" style="overflow:visible;"/> + </clipPath> + <path class="st1302" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2603_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2604_"> + <use xlink:href="#SVGID_2603_" style="overflow:visible;"/> + </clipPath> + <path class="st1303" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2605_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2606_"> + <use xlink:href="#SVGID_2605_" style="overflow:visible;"/> + </clipPath> + <path class="st1304" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2607_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2608_"> + <use xlink:href="#SVGID_2607_" style="overflow:visible;"/> + </clipPath> + <path class="st1305" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2609_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2610_"> + <use xlink:href="#SVGID_2609_" style="overflow:visible;"/> + </clipPath> + <path class="st1306" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2611_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2612_"> + <use xlink:href="#SVGID_2611_" style="overflow:visible;"/> + </clipPath> + <path class="st1307" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2613_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2614_"> + <use xlink:href="#SVGID_2613_" style="overflow:visible;"/> + </clipPath> + <path class="st1308" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2615_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2616_"> + <use xlink:href="#SVGID_2615_" style="overflow:visible;"/> + </clipPath> + <path class="st1309" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2617_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2618_"> + <use xlink:href="#SVGID_2617_" style="overflow:visible;"/> + </clipPath> + <path class="st1310" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2619_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2620_"> + <use xlink:href="#SVGID_2619_" style="overflow:visible;"/> + </clipPath> + <path class="st1311" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2621_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2622_"> + <use xlink:href="#SVGID_2621_" style="overflow:visible;"/> + </clipPath> + <path class="st1312" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2623_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2624_"> + <use xlink:href="#SVGID_2623_" style="overflow:visible;"/> + </clipPath> + <path class="st1313" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2625_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2626_"> + <use xlink:href="#SVGID_2625_" style="overflow:visible;"/> + </clipPath> + <path class="st1314" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2627_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2628_"> + <use xlink:href="#SVGID_2627_" style="overflow:visible;"/> + </clipPath> + <path class="st1315" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2629_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2630_"> + <use xlink:href="#SVGID_2629_" style="overflow:visible;"/> + </clipPath> + <path class="st1316" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2631_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2632_"> + <use xlink:href="#SVGID_2631_" style="overflow:visible;"/> + </clipPath> + <path class="st1317" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2633_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2634_"> + <use xlink:href="#SVGID_2633_" style="overflow:visible;"/> + </clipPath> + <path class="st1318" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2635_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2636_"> + <use xlink:href="#SVGID_2635_" style="overflow:visible;"/> + </clipPath> + <path class="st1319" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2637_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2638_"> + <use xlink:href="#SVGID_2637_" style="overflow:visible;"/> + </clipPath> + <path class="st1320" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2639_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2640_"> + <use xlink:href="#SVGID_2639_" style="overflow:visible;"/> + </clipPath> + <path class="st1321" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2641_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2642_"> + <use xlink:href="#SVGID_2641_" style="overflow:visible;"/> + </clipPath> + <path class="st1322" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2643_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2644_"> + <use xlink:href="#SVGID_2643_" style="overflow:visible;"/> + </clipPath> + <path class="st1323" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2645_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2646_"> + <use xlink:href="#SVGID_2645_" style="overflow:visible;"/> + </clipPath> + <path class="st1324" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2647_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2648_"> + <use xlink:href="#SVGID_2647_" style="overflow:visible;"/> + </clipPath> + <path class="st1325" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2649_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2650_"> + <use xlink:href="#SVGID_2649_" style="overflow:visible;"/> + </clipPath> + <path class="st1326" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2651_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2652_"> + <use xlink:href="#SVGID_2651_" style="overflow:visible;"/> + </clipPath> + <path class="st1327" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2653_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2654_"> + <use xlink:href="#SVGID_2653_" style="overflow:visible;"/> + </clipPath> + <path class="st1328" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2655_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2656_"> + <use xlink:href="#SVGID_2655_" style="overflow:visible;"/> + </clipPath> + <path class="st1329" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2657_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2658_"> + <use xlink:href="#SVGID_2657_" style="overflow:visible;"/> + </clipPath> + <path class="st1330" d="M23.2,22.3L23.2,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_2659_" d="M23.3,22.4C23.3,22.4,23.2,22.4,23.3,22.4c-0.1,0.1-0.1,0-0.1,0C23.1,22.3,23.1,22.3,23.3,22.4 + C23.2,22.3,23.3,22.3,23.3,22.4"/> + </defs> + <clipPath id="SVGID_2660_"> + <use xlink:href="#SVGID_2659_" style="overflow:visible;"/> + </clipPath> + <path class="st1331" d="M23.2,22.3L23.2,22.3z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_2661_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2662_"> + <use xlink:href="#SVGID_2661_" style="overflow:visible;"/> + </clipPath> + <g class="st1332"> + <g> + <defs> + <path id="SVGID_2663_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2664_"> + <use xlink:href="#SVGID_2663_" style="overflow:visible;"/> + </clipPath> + <rect x="23.1" y="22.4" class="st1333" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2665_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2666_"> + <use xlink:href="#SVGID_2665_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1334" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2667_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2668_"> + <use xlink:href="#SVGID_2667_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1335" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2669_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2670_"> + <use xlink:href="#SVGID_2669_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1336" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2671_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2672_"> + <use xlink:href="#SVGID_2671_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1337" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2673_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2674_"> + <use xlink:href="#SVGID_2673_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1338" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2675_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2676_"> + <use xlink:href="#SVGID_2675_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1339" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2677_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2678_"> + <use xlink:href="#SVGID_2677_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1340" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2679_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2680_"> + <use xlink:href="#SVGID_2679_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1341" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2681_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2682_"> + <use xlink:href="#SVGID_2681_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1342" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2683_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2684_"> + <use xlink:href="#SVGID_2683_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1343" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2685_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2686_"> + <use xlink:href="#SVGID_2685_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1344" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2687_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2688_"> + <use xlink:href="#SVGID_2687_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1345" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2689_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2690_"> + <use xlink:href="#SVGID_2689_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1346" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2691_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2692_"> + <use xlink:href="#SVGID_2691_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1347" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2693_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2694_"> + <use xlink:href="#SVGID_2693_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1348" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2695_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2696_"> + <use xlink:href="#SVGID_2695_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1349" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2697_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2698_"> + <use xlink:href="#SVGID_2697_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1350" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2699_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2700_"> + <use xlink:href="#SVGID_2699_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1351" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2701_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2702_"> + <use xlink:href="#SVGID_2701_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1352" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2703_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2704_"> + <use xlink:href="#SVGID_2703_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1353" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2705_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2706_"> + <use xlink:href="#SVGID_2705_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1354" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2707_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2708_"> + <use xlink:href="#SVGID_2707_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1355" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2709_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2710_"> + <use xlink:href="#SVGID_2709_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1356" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2711_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2712_"> + <use xlink:href="#SVGID_2711_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1357" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2713_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2714_"> + <use xlink:href="#SVGID_2713_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1358" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2715_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2716_"> + <use xlink:href="#SVGID_2715_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1359" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2717_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2718_"> + <use xlink:href="#SVGID_2717_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1360" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2719_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2720_"> + <use xlink:href="#SVGID_2719_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1361" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2721_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2722_"> + <use xlink:href="#SVGID_2721_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1362" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2723_" d="M23.2,22.4C23.2,22.6,23.1,22.5,23.2,22.4C23,22.4,23,22.4,23.2,22.4C23.1,22.4,23.1,22.4,23.2,22.4 + "/> + </defs> + <clipPath id="SVGID_2724_"> + <use xlink:href="#SVGID_2723_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.4" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1566 22.9566)" class="st1363" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2725_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2726_"> + <use xlink:href="#SVGID_2725_" style="overflow:visible;"/> + </clipPath> + <path class="st1364" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2727_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2728_"> + <use xlink:href="#SVGID_2727_" style="overflow:visible;"/> + </clipPath> + <path class="st1365" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2729_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2730_"> + <use xlink:href="#SVGID_2729_" style="overflow:visible;"/> + </clipPath> + <path class="st1366" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2731_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2732_"> + <use xlink:href="#SVGID_2731_" style="overflow:visible;"/> + </clipPath> + <path class="st1367" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2733_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2734_"> + <use xlink:href="#SVGID_2733_" style="overflow:visible;"/> + </clipPath> + <path class="st1368" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2735_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2736_"> + <use xlink:href="#SVGID_2735_" style="overflow:visible;"/> + </clipPath> + <path class="st1369" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2737_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2738_"> + <use xlink:href="#SVGID_2737_" style="overflow:visible;"/> + </clipPath> + <path class="st1370" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2739_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2740_"> + <use xlink:href="#SVGID_2739_" style="overflow:visible;"/> + </clipPath> + <path class="st1371" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2741_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2742_"> + <use xlink:href="#SVGID_2741_" style="overflow:visible;"/> + </clipPath> + <path class="st1372" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2743_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2744_"> + <use xlink:href="#SVGID_2743_" style="overflow:visible;"/> + </clipPath> + <path class="st1373" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2745_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2746_"> + <use xlink:href="#SVGID_2745_" style="overflow:visible;"/> + </clipPath> + <path class="st1374" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2747_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2748_"> + <use xlink:href="#SVGID_2747_" style="overflow:visible;"/> + </clipPath> + <path class="st1375" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2749_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2750_"> + <use xlink:href="#SVGID_2749_" style="overflow:visible;"/> + </clipPath> + <path class="st1376" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2751_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2752_"> + <use xlink:href="#SVGID_2751_" style="overflow:visible;"/> + </clipPath> + <path class="st1377" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2753_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2754_"> + <use xlink:href="#SVGID_2753_" style="overflow:visible;"/> + </clipPath> + <path class="st1378" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2755_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2756_"> + <use xlink:href="#SVGID_2755_" style="overflow:visible;"/> + </clipPath> + <path class="st1379" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2757_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2758_"> + <use xlink:href="#SVGID_2757_" style="overflow:visible;"/> + </clipPath> + <path class="st1380" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2759_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2760_"> + <use xlink:href="#SVGID_2759_" style="overflow:visible;"/> + </clipPath> + <path class="st1381" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2761_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2762_"> + <use xlink:href="#SVGID_2761_" style="overflow:visible;"/> + </clipPath> + <path class="st1382" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2763_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2764_"> + <use xlink:href="#SVGID_2763_" style="overflow:visible;"/> + </clipPath> + <path class="st1383" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2765_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2766_"> + <use xlink:href="#SVGID_2765_" style="overflow:visible;"/> + </clipPath> + <path class="st1384" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2767_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2768_"> + <use xlink:href="#SVGID_2767_" style="overflow:visible;"/> + </clipPath> + <path class="st1385" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2769_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2770_"> + <use xlink:href="#SVGID_2769_" style="overflow:visible;"/> + </clipPath> + <path class="st1386" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2771_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2772_"> + <use xlink:href="#SVGID_2771_" style="overflow:visible;"/> + </clipPath> + <path class="st1387" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2773_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2774_"> + <use xlink:href="#SVGID_2773_" style="overflow:visible;"/> + </clipPath> + <path class="st1388" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2775_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2776_"> + <use xlink:href="#SVGID_2775_" style="overflow:visible;"/> + </clipPath> + <path class="st1389" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2777_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2778_"> + <use xlink:href="#SVGID_2777_" style="overflow:visible;"/> + </clipPath> + <path class="st1390" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2779_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2780_"> + <use xlink:href="#SVGID_2779_" style="overflow:visible;"/> + </clipPath> + <path class="st1391" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2781_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2782_"> + <use xlink:href="#SVGID_2781_" style="overflow:visible;"/> + </clipPath> + <path class="st1392" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2783_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2784_"> + <use xlink:href="#SVGID_2783_" style="overflow:visible;"/> + </clipPath> + <path class="st1393" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2785_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2786_"> + <use xlink:href="#SVGID_2785_" style="overflow:visible;"/> + </clipPath> + <path class="st1394" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2787_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2788_"> + <use xlink:href="#SVGID_2787_" style="overflow:visible;"/> + </clipPath> + <path class="st1395" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2789_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2790_"> + <use xlink:href="#SVGID_2789_" style="overflow:visible;"/> + </clipPath> + <path class="st1396" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2791_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2792_"> + <use xlink:href="#SVGID_2791_" style="overflow:visible;"/> + </clipPath> + <path class="st1397" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2793_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2794_"> + <use xlink:href="#SVGID_2793_" style="overflow:visible;"/> + </clipPath> + <path class="st1398" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2795_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2796_"> + <use xlink:href="#SVGID_2795_" style="overflow:visible;"/> + </clipPath> + <path class="st1399" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2797_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2798_"> + <use xlink:href="#SVGID_2797_" style="overflow:visible;"/> + </clipPath> + <path class="st1400" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2799_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2800_"> + <use xlink:href="#SVGID_2799_" style="overflow:visible;"/> + </clipPath> + <path class="st1401" d="M23.1,22.5L23.1,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_2801_" d="M23.2,22.5c-0.1,0.1-0.1,0-0.1,0C23.1,22.4,23.1,22.4,23.2,22.5C23.2,22.4,23.2,22.4,23.2,22.5"/> + </defs> + <clipPath id="SVGID_2802_"> + <use xlink:href="#SVGID_2801_" style="overflow:visible;"/> + </clipPath> + <path class="st1402" d="M23.1,22.5L23.1,22.5z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_2803_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2804_"> + <use xlink:href="#SVGID_2803_" style="overflow:visible;"/> + </clipPath> + <g class="st1403"> + <g> + <defs> + <path id="SVGID_2805_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2806_"> + <use xlink:href="#SVGID_2805_" style="overflow:visible;"/> + </clipPath> + <rect x="23.1" y="22.2" class="st1404" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2807_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2808_"> + <use xlink:href="#SVGID_2807_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1405" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2809_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2810_"> + <use xlink:href="#SVGID_2809_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1406" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2811_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2812_"> + <use xlink:href="#SVGID_2811_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1407" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2813_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2814_"> + <use xlink:href="#SVGID_2813_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1408" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2815_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2816_"> + <use xlink:href="#SVGID_2815_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1409" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2817_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2818_"> + <use xlink:href="#SVGID_2817_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1410" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2819_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2820_"> + <use xlink:href="#SVGID_2819_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1411" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2821_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2822_"> + <use xlink:href="#SVGID_2821_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1412" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2823_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2824_"> + <use xlink:href="#SVGID_2823_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1413" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2825_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2826_"> + <use xlink:href="#SVGID_2825_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1414" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2827_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2828_"> + <use xlink:href="#SVGID_2827_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1415" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2829_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2830_"> + <use xlink:href="#SVGID_2829_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1416" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2831_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2832_"> + <use xlink:href="#SVGID_2831_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1417" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2833_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2834_"> + <use xlink:href="#SVGID_2833_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1418" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2835_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2836_"> + <use xlink:href="#SVGID_2835_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1419" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2837_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2838_"> + <use xlink:href="#SVGID_2837_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1420" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2839_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2840_"> + <use xlink:href="#SVGID_2839_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1421" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2841_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2842_"> + <use xlink:href="#SVGID_2841_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1422" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2843_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2844_"> + <use xlink:href="#SVGID_2843_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1423" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2845_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2846_"> + <use xlink:href="#SVGID_2845_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1424" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2847_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2848_"> + <use xlink:href="#SVGID_2847_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1425" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2849_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2850_"> + <use xlink:href="#SVGID_2849_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1426" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2851_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2852_"> + <use xlink:href="#SVGID_2851_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1427" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2853_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2854_"> + <use xlink:href="#SVGID_2853_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1428" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2855_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2856_"> + <use xlink:href="#SVGID_2855_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1429" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2857_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2858_"> + <use xlink:href="#SVGID_2857_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1430" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2859_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2860_"> + <use xlink:href="#SVGID_2859_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1431" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2861_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2862_"> + <use xlink:href="#SVGID_2861_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1432" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2863_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2864_"> + <use xlink:href="#SVGID_2863_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1433" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2865_" d="M23.2,22.1C23.3,22.2,23.3,22.2,23.2,22.1C23.2,22.3,23.1,22.2,23.2,22.1 + C23.1,22.2,23.1,22.2,23.2,22.1"/> + </defs> + <clipPath id="SVGID_2866_"> + <use xlink:href="#SVGID_2865_" style="overflow:visible;"/> + </clipPath> + + <rect x="23" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9445 22.7908)" class="st1434" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2867_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2868_"> + <use xlink:href="#SVGID_2867_" style="overflow:visible;"/> + </clipPath> + <path class="st1435" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2869_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2870_"> + <use xlink:href="#SVGID_2869_" style="overflow:visible;"/> + </clipPath> + <path class="st1436" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2871_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2872_"> + <use xlink:href="#SVGID_2871_" style="overflow:visible;"/> + </clipPath> + <path class="st1437" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2873_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2874_"> + <use xlink:href="#SVGID_2873_" style="overflow:visible;"/> + </clipPath> + <path class="st1438" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2875_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2876_"> + <use xlink:href="#SVGID_2875_" style="overflow:visible;"/> + </clipPath> + <path class="st1439" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2877_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2878_"> + <use xlink:href="#SVGID_2877_" style="overflow:visible;"/> + </clipPath> + <path class="st1440" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2879_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2880_"> + <use xlink:href="#SVGID_2879_" style="overflow:visible;"/> + </clipPath> + <path class="st1441" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2881_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2882_"> + <use xlink:href="#SVGID_2881_" style="overflow:visible;"/> + </clipPath> + <path class="st1442" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2883_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2884_"> + <use xlink:href="#SVGID_2883_" style="overflow:visible;"/> + </clipPath> + <path class="st1443" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2885_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2886_"> + <use xlink:href="#SVGID_2885_" style="overflow:visible;"/> + </clipPath> + <path class="st1444" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2887_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2888_"> + <use xlink:href="#SVGID_2887_" style="overflow:visible;"/> + </clipPath> + <path class="st1445" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2889_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2890_"> + <use xlink:href="#SVGID_2889_" style="overflow:visible;"/> + </clipPath> + <path class="st1446" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2891_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2892_"> + <use xlink:href="#SVGID_2891_" style="overflow:visible;"/> + </clipPath> + <path class="st1447" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2893_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2894_"> + <use xlink:href="#SVGID_2893_" style="overflow:visible;"/> + </clipPath> + <path class="st1448" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2895_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2896_"> + <use xlink:href="#SVGID_2895_" style="overflow:visible;"/> + </clipPath> + <path class="st1449" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2897_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2898_"> + <use xlink:href="#SVGID_2897_" style="overflow:visible;"/> + </clipPath> + <path class="st1450" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2899_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2900_"> + <use xlink:href="#SVGID_2899_" style="overflow:visible;"/> + </clipPath> + <path class="st1451" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2901_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2902_"> + <use xlink:href="#SVGID_2901_" style="overflow:visible;"/> + </clipPath> + <path class="st1452" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2903_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2904_"> + <use xlink:href="#SVGID_2903_" style="overflow:visible;"/> + </clipPath> + <path class="st1453" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2905_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2906_"> + <use xlink:href="#SVGID_2905_" style="overflow:visible;"/> + </clipPath> + <path class="st1454" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2907_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2908_"> + <use xlink:href="#SVGID_2907_" style="overflow:visible;"/> + </clipPath> + <path class="st1455" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2909_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2910_"> + <use xlink:href="#SVGID_2909_" style="overflow:visible;"/> + </clipPath> + <path class="st1456" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2911_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2912_"> + <use xlink:href="#SVGID_2911_" style="overflow:visible;"/> + </clipPath> + <path class="st1457" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2913_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2914_"> + <use xlink:href="#SVGID_2913_" style="overflow:visible;"/> + </clipPath> + <path class="st1458" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2915_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2916_"> + <use xlink:href="#SVGID_2915_" style="overflow:visible;"/> + </clipPath> + <path class="st1459" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2917_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2918_"> + <use xlink:href="#SVGID_2917_" style="overflow:visible;"/> + </clipPath> + <path class="st1460" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2919_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2920_"> + <use xlink:href="#SVGID_2919_" style="overflow:visible;"/> + </clipPath> + <path class="st1461" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2921_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2922_"> + <use xlink:href="#SVGID_2921_" style="overflow:visible;"/> + </clipPath> + <path class="st1462" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2923_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2924_"> + <use xlink:href="#SVGID_2923_" style="overflow:visible;"/> + </clipPath> + <path class="st1463" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2925_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2926_"> + <use xlink:href="#SVGID_2925_" style="overflow:visible;"/> + </clipPath> + <path class="st1464" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2927_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2928_"> + <use xlink:href="#SVGID_2927_" style="overflow:visible;"/> + </clipPath> + <path class="st1465" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2929_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2930_"> + <use xlink:href="#SVGID_2929_" style="overflow:visible;"/> + </clipPath> + <path class="st1466" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2931_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2932_"> + <use xlink:href="#SVGID_2931_" style="overflow:visible;"/> + </clipPath> + <path class="st1467" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2933_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2934_"> + <use xlink:href="#SVGID_2933_" style="overflow:visible;"/> + </clipPath> + <path class="st1468" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2935_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2936_"> + <use xlink:href="#SVGID_2935_" style="overflow:visible;"/> + </clipPath> + <path class="st1469" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2937_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2938_"> + <use xlink:href="#SVGID_2937_" style="overflow:visible;"/> + </clipPath> + <path class="st1470" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2939_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2940_"> + <use xlink:href="#SVGID_2939_" style="overflow:visible;"/> + </clipPath> + <path class="st1471" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2941_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2942_"> + <use xlink:href="#SVGID_2941_" style="overflow:visible;"/> + </clipPath> + <path class="st1472" d="M23.1,22.2L23.1,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_2943_" d="M23.2,22.2C23.2,22.3,23.2,22.3,23.2,22.2c-0.1,0.1-0.1,0-0.1,0S23.1,22.2,23.2,22.2"/> + </defs> + <clipPath id="SVGID_2944_"> + <use xlink:href="#SVGID_2943_" style="overflow:visible;"/> + </clipPath> + <path class="st1473" d="M23.1,22.2L23.1,22.2z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_2945_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_2946_"> + <use xlink:href="#SVGID_2945_" style="overflow:visible;"/> + </clipPath> + <g class="st1474"> + <g> + <defs> + <path id="SVGID_2947_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_2948_"> + <use xlink:href="#SVGID_2947_" style="overflow:visible;"/> + </clipPath> + <rect x="23" y="22.1" class="st1475" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2949_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2950_"> + <use xlink:href="#SVGID_2949_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1476" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2951_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2952_"> + <use xlink:href="#SVGID_2951_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1477" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2953_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2954_"> + <use xlink:href="#SVGID_2953_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1478" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2955_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2956_"> + <use xlink:href="#SVGID_2955_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1479" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2957_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2958_"> + <use xlink:href="#SVGID_2957_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1480" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2959_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2960_"> + <use xlink:href="#SVGID_2959_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1481" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2961_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2962_"> + <use xlink:href="#SVGID_2961_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1482" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2963_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2964_"> + <use xlink:href="#SVGID_2963_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1483" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2965_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2966_"> + <use xlink:href="#SVGID_2965_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1484" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2967_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2968_"> + <use xlink:href="#SVGID_2967_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1485" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2969_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2970_"> + <use xlink:href="#SVGID_2969_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1486" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2971_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2972_"> + <use xlink:href="#SVGID_2971_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1487" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2973_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2974_"> + <use xlink:href="#SVGID_2973_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1488" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2975_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2976_"> + <use xlink:href="#SVGID_2975_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1489" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2977_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2978_"> + <use xlink:href="#SVGID_2977_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1490" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2979_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2980_"> + <use xlink:href="#SVGID_2979_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1491" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2981_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2982_"> + <use xlink:href="#SVGID_2981_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1492" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2983_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2984_"> + <use xlink:href="#SVGID_2983_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1493" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2985_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2986_"> + <use xlink:href="#SVGID_2985_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1494" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2987_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2988_"> + <use xlink:href="#SVGID_2987_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1495" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2989_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2990_"> + <use xlink:href="#SVGID_2989_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1496" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2991_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2992_"> + <use xlink:href="#SVGID_2991_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1497" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2993_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2994_"> + <use xlink:href="#SVGID_2993_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1498" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2995_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2996_"> + <use xlink:href="#SVGID_2995_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1499" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2997_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_2998_"> + <use xlink:href="#SVGID_2997_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1500" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_2999_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_3000_"> + <use xlink:href="#SVGID_2999_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1501" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3001_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_3002_"> + <use xlink:href="#SVGID_3001_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1502" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3003_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_3004_"> + <use xlink:href="#SVGID_3003_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1503" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3005_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_3006_"> + <use xlink:href="#SVGID_3005_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1504" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3007_" d="M23.1,22C23.2,22.1,23.2,22.1,23.1,22C23.1,22.2,23,22.1,23.1,22C23,22.1,23,22.1,23.1,22"/> + </defs> + <clipPath id="SVGID_3008_"> + <use xlink:href="#SVGID_3007_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9031 22.6908)" class="st1505" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3009_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3010_"> + <use xlink:href="#SVGID_3009_" style="overflow:visible;"/> + </clipPath> + <path class="st1506" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3011_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3012_"> + <use xlink:href="#SVGID_3011_" style="overflow:visible;"/> + </clipPath> + <path class="st1507" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3013_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3014_"> + <use xlink:href="#SVGID_3013_" style="overflow:visible;"/> + </clipPath> + <path class="st1508" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3015_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3016_"> + <use xlink:href="#SVGID_3015_" style="overflow:visible;"/> + </clipPath> + <path class="st1509" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3017_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3018_"> + <use xlink:href="#SVGID_3017_" style="overflow:visible;"/> + </clipPath> + <path class="st1510" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3019_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3020_"> + <use xlink:href="#SVGID_3019_" style="overflow:visible;"/> + </clipPath> + <path class="st1511" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3021_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3022_"> + <use xlink:href="#SVGID_3021_" style="overflow:visible;"/> + </clipPath> + <path class="st1512" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3023_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3024_"> + <use xlink:href="#SVGID_3023_" style="overflow:visible;"/> + </clipPath> + <path class="st1513" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3025_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3026_"> + <use xlink:href="#SVGID_3025_" style="overflow:visible;"/> + </clipPath> + <path class="st1514" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3027_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3028_"> + <use xlink:href="#SVGID_3027_" style="overflow:visible;"/> + </clipPath> + <path class="st1515" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3029_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3030_"> + <use xlink:href="#SVGID_3029_" style="overflow:visible;"/> + </clipPath> + <path class="st1516" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3031_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3032_"> + <use xlink:href="#SVGID_3031_" style="overflow:visible;"/> + </clipPath> + <path class="st1517" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3033_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3034_"> + <use xlink:href="#SVGID_3033_" style="overflow:visible;"/> + </clipPath> + <path class="st1518" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3035_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3036_"> + <use xlink:href="#SVGID_3035_" style="overflow:visible;"/> + </clipPath> + <path class="st1519" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3037_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3038_"> + <use xlink:href="#SVGID_3037_" style="overflow:visible;"/> + </clipPath> + <path class="st1520" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3039_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3040_"> + <use xlink:href="#SVGID_3039_" style="overflow:visible;"/> + </clipPath> + <path class="st1521" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3041_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3042_"> + <use xlink:href="#SVGID_3041_" style="overflow:visible;"/> + </clipPath> + <path class="st1522" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3043_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3044_"> + <use xlink:href="#SVGID_3043_" style="overflow:visible;"/> + </clipPath> + <path class="st1523" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3045_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3046_"> + <use xlink:href="#SVGID_3045_" style="overflow:visible;"/> + </clipPath> + <path class="st1524" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3047_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3048_"> + <use xlink:href="#SVGID_3047_" style="overflow:visible;"/> + </clipPath> + <path class="st1525" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3049_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3050_"> + <use xlink:href="#SVGID_3049_" style="overflow:visible;"/> + </clipPath> + <path class="st1526" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3051_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3052_"> + <use xlink:href="#SVGID_3051_" style="overflow:visible;"/> + </clipPath> + <path class="st1527" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3053_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3054_"> + <use xlink:href="#SVGID_3053_" style="overflow:visible;"/> + </clipPath> + <path class="st1528" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3055_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3056_"> + <use xlink:href="#SVGID_3055_" style="overflow:visible;"/> + </clipPath> + <path class="st1529" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3057_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3058_"> + <use xlink:href="#SVGID_3057_" style="overflow:visible;"/> + </clipPath> + <path class="st1530" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3059_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3060_"> + <use xlink:href="#SVGID_3059_" style="overflow:visible;"/> + </clipPath> + <path class="st1531" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3061_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3062_"> + <use xlink:href="#SVGID_3061_" style="overflow:visible;"/> + </clipPath> + <path class="st1532" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3063_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3064_"> + <use xlink:href="#SVGID_3063_" style="overflow:visible;"/> + </clipPath> + <path class="st1533" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3065_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3066_"> + <use xlink:href="#SVGID_3065_" style="overflow:visible;"/> + </clipPath> + <path class="st1534" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3067_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3068_"> + <use xlink:href="#SVGID_3067_" style="overflow:visible;"/> + </clipPath> + <path class="st1535" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3069_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3070_"> + <use xlink:href="#SVGID_3069_" style="overflow:visible;"/> + </clipPath> + <path class="st1536" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3071_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3072_"> + <use xlink:href="#SVGID_3071_" style="overflow:visible;"/> + </clipPath> + <path class="st1537" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3073_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3074_"> + <use xlink:href="#SVGID_3073_" style="overflow:visible;"/> + </clipPath> + <path class="st1538" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3075_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3076_"> + <use xlink:href="#SVGID_3075_" style="overflow:visible;"/> + </clipPath> + <path class="st1539" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3077_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3078_"> + <use xlink:href="#SVGID_3077_" style="overflow:visible;"/> + </clipPath> + <path class="st1540" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3079_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3080_"> + <use xlink:href="#SVGID_3079_" style="overflow:visible;"/> + </clipPath> + <path class="st1541" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3081_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3082_"> + <use xlink:href="#SVGID_3081_" style="overflow:visible;"/> + </clipPath> + <path class="st1542" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3083_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3084_"> + <use xlink:href="#SVGID_3083_" style="overflow:visible;"/> + </clipPath> + <path class="st1543" d="M23,22.1L23,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3085_" d="M23.1,22.1C23.1,22.2,23.1,22.2,23.1,22.1c-0.1,0.1-0.1,0-0.1,0S23,22.1,23.1,22.1"/> + </defs> + <clipPath id="SVGID_3086_"> + <use xlink:href="#SVGID_3085_" style="overflow:visible;"/> + </clipPath> + <path class="st1544" d="M23,22.1L23,22.1z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_3087_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_3088_"> + <use xlink:href="#SVGID_3087_" style="overflow:visible;"/> + </clipPath> + <g class="st1545"> + <g> + <defs> + <path id="SVGID_3089_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3090_"> + <use xlink:href="#SVGID_3089_" style="overflow:visible;"/> + </clipPath> + <rect x="22.8" y="22" class="st1546" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3091_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3092_"> + <use xlink:href="#SVGID_3091_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1547" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3093_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3094_"> + <use xlink:href="#SVGID_3093_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1548" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3095_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3096_"> + <use xlink:href="#SVGID_3095_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1549" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3097_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3098_"> + <use xlink:href="#SVGID_3097_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1550" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3099_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3100_"> + <use xlink:href="#SVGID_3099_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1551" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3101_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3102_"> + <use xlink:href="#SVGID_3101_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1552" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3103_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3104_"> + <use xlink:href="#SVGID_3103_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1553" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3105_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3106_"> + <use xlink:href="#SVGID_3105_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1554" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3107_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3108_"> + <use xlink:href="#SVGID_3107_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1555" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3109_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3110_"> + <use xlink:href="#SVGID_3109_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1556" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3111_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3112_"> + <use xlink:href="#SVGID_3111_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1557" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3113_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3114_"> + <use xlink:href="#SVGID_3113_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1558" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3115_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3116_"> + <use xlink:href="#SVGID_3115_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1559" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3117_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3118_"> + <use xlink:href="#SVGID_3117_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1560" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3119_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3120_"> + <use xlink:href="#SVGID_3119_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1561" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3121_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3122_"> + <use xlink:href="#SVGID_3121_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1562" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3123_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3124_"> + <use xlink:href="#SVGID_3123_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1563" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3125_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3126_"> + <use xlink:href="#SVGID_3125_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1564" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3127_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3128_"> + <use xlink:href="#SVGID_3127_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1565" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3129_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3130_"> + <use xlink:href="#SVGID_3129_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1566" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3131_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3132_"> + <use xlink:href="#SVGID_3131_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1567" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3133_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3134_"> + <use xlink:href="#SVGID_3133_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1568" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3135_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3136_"> + <use xlink:href="#SVGID_3135_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1569" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3137_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3138_"> + <use xlink:href="#SVGID_3137_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1570" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3139_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3140_"> + <use xlink:href="#SVGID_3139_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1571" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3141_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3142_"> + <use xlink:href="#SVGID_3141_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1572" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3143_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3144_"> + <use xlink:href="#SVGID_3143_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1573" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3145_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3146_"> + <use xlink:href="#SVGID_3145_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1574" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3147_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3148_"> + <use xlink:href="#SVGID_3147_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1575" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3149_" d="M23,22C23,22,23.1,22.1,23,22C23,22.2,22.9,22.1,23,22C22.9,22.1,22.8,22,23,22C22.8,22,23,22,23,22 + "/> + </defs> + <clipPath id="SVGID_3150_"> + <use xlink:href="#SVGID_3149_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.8" y="22" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -8.9326 22.5435)" class="st1576" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3151_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3152_"> + <use xlink:href="#SVGID_3151_" style="overflow:visible;"/> + </clipPath> + <path class="st1577" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3153_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3154_"> + <use xlink:href="#SVGID_3153_" style="overflow:visible;"/> + </clipPath> + <path class="st1578" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3155_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3156_"> + <use xlink:href="#SVGID_3155_" style="overflow:visible;"/> + </clipPath> + <path class="st1579" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3157_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3158_"> + <use xlink:href="#SVGID_3157_" style="overflow:visible;"/> + </clipPath> + <path class="st1580" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3159_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3160_"> + <use xlink:href="#SVGID_3159_" style="overflow:visible;"/> + </clipPath> + <path class="st1581" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3161_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3162_"> + <use xlink:href="#SVGID_3161_" style="overflow:visible;"/> + </clipPath> + <path class="st1582" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3163_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3164_"> + <use xlink:href="#SVGID_3163_" style="overflow:visible;"/> + </clipPath> + <path class="st1583" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3165_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3166_"> + <use xlink:href="#SVGID_3165_" style="overflow:visible;"/> + </clipPath> + <path class="st1584" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3167_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3168_"> + <use xlink:href="#SVGID_3167_" style="overflow:visible;"/> + </clipPath> + <path class="st1585" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3169_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3170_"> + <use xlink:href="#SVGID_3169_" style="overflow:visible;"/> + </clipPath> + <path class="st1586" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3171_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3172_"> + <use xlink:href="#SVGID_3171_" style="overflow:visible;"/> + </clipPath> + <path class="st1587" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3173_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3174_"> + <use xlink:href="#SVGID_3173_" style="overflow:visible;"/> + </clipPath> + <path class="st1588" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3175_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3176_"> + <use xlink:href="#SVGID_3175_" style="overflow:visible;"/> + </clipPath> + <path class="st1589" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3177_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3178_"> + <use xlink:href="#SVGID_3177_" style="overflow:visible;"/> + </clipPath> + <path class="st1590" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3179_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3180_"> + <use xlink:href="#SVGID_3179_" style="overflow:visible;"/> + </clipPath> + <path class="st1591" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3181_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3182_"> + <use xlink:href="#SVGID_3181_" style="overflow:visible;"/> + </clipPath> + <path class="st1592" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3183_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3184_"> + <use xlink:href="#SVGID_3183_" style="overflow:visible;"/> + </clipPath> + <path class="st1593" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3185_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3186_"> + <use xlink:href="#SVGID_3185_" style="overflow:visible;"/> + </clipPath> + <path class="st1594" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3187_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3188_"> + <use xlink:href="#SVGID_3187_" style="overflow:visible;"/> + </clipPath> + <path class="st1595" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3189_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3190_"> + <use xlink:href="#SVGID_3189_" style="overflow:visible;"/> + </clipPath> + <path class="st1596" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3191_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3192_"> + <use xlink:href="#SVGID_3191_" style="overflow:visible;"/> + </clipPath> + <path class="st1597" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3193_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3194_"> + <use xlink:href="#SVGID_3193_" style="overflow:visible;"/> + </clipPath> + <path class="st1598" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3195_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3196_"> + <use xlink:href="#SVGID_3195_" style="overflow:visible;"/> + </clipPath> + <path class="st1599" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3197_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3198_"> + <use xlink:href="#SVGID_3197_" style="overflow:visible;"/> + </clipPath> + <path class="st1600" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3199_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3200_"> + <use xlink:href="#SVGID_3199_" style="overflow:visible;"/> + </clipPath> + <path class="st1601" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3201_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3202_"> + <use xlink:href="#SVGID_3201_" style="overflow:visible;"/> + </clipPath> + <path class="st1602" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3203_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3204_"> + <use xlink:href="#SVGID_3203_" style="overflow:visible;"/> + </clipPath> + <path class="st1603" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3205_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3206_"> + <use xlink:href="#SVGID_3205_" style="overflow:visible;"/> + </clipPath> + <path class="st1604" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3207_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3208_"> + <use xlink:href="#SVGID_3207_" style="overflow:visible;"/> + </clipPath> + <path class="st1605" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3209_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3210_"> + <use xlink:href="#SVGID_3209_" style="overflow:visible;"/> + </clipPath> + <path class="st1606" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3211_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3212_"> + <use xlink:href="#SVGID_3211_" style="overflow:visible;"/> + </clipPath> + <path class="st1607" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3213_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3214_"> + <use xlink:href="#SVGID_3213_" style="overflow:visible;"/> + </clipPath> + <path class="st1608" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3215_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3216_"> + <use xlink:href="#SVGID_3215_" style="overflow:visible;"/> + </clipPath> + <path class="st1609" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3217_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3218_"> + <use xlink:href="#SVGID_3217_" style="overflow:visible;"/> + </clipPath> + <path class="st1610" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3219_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3220_"> + <use xlink:href="#SVGID_3219_" style="overflow:visible;"/> + </clipPath> + <path class="st1611" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3221_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3222_"> + <use xlink:href="#SVGID_3221_" style="overflow:visible;"/> + </clipPath> + <path class="st1612" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3223_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3224_"> + <use xlink:href="#SVGID_3223_" style="overflow:visible;"/> + </clipPath> + <path class="st1613" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3225_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3226_"> + <use xlink:href="#SVGID_3225_" style="overflow:visible;"/> + </clipPath> + <path class="st1614" d="M22.9,22.1L22.9,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3227_" d="M23,22.1C23,22.1,23,22.2,23,22.1C22.9,22.2,22.9,22.1,23,22.1C22.9,22.1,22.9,22,23,22.1 + C22.9,22,23,22.1,23,22.1"/> + </defs> + <clipPath id="SVGID_3228_"> + <use xlink:href="#SVGID_3227_" style="overflow:visible;"/> + </clipPath> + <path class="st1615" d="M22.9,22.1L22.9,22.1z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_3229_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_3230_"> + <use xlink:href="#SVGID_3229_" style="overflow:visible;"/> + </clipPath> + <g class="st1616"> + <g> + <defs> + <path id="SVGID_3231_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3232_"> + <use xlink:href="#SVGID_3231_" style="overflow:visible;"/> + </clipPath> + <rect x="22.7" y="22" class="st1617" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3233_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3234_"> + <use xlink:href="#SVGID_3233_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1618" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3235_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3236_"> + <use xlink:href="#SVGID_3235_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1619" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3237_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3238_"> + <use xlink:href="#SVGID_3237_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1620" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3239_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3240_"> + <use xlink:href="#SVGID_3239_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1621" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3241_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3242_"> + <use xlink:href="#SVGID_3241_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1622" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3243_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3244_"> + <use xlink:href="#SVGID_3243_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1623" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3245_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3246_"> + <use xlink:href="#SVGID_3245_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1624" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3247_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3248_"> + <use xlink:href="#SVGID_3247_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1625" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3249_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3250_"> + <use xlink:href="#SVGID_3249_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1626" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3251_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3252_"> + <use xlink:href="#SVGID_3251_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1627" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3253_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3254_"> + <use xlink:href="#SVGID_3253_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1628" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3255_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3256_"> + <use xlink:href="#SVGID_3255_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1629" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3257_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3258_"> + <use xlink:href="#SVGID_3257_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1630" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3259_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3260_"> + <use xlink:href="#SVGID_3259_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1631" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3261_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3262_"> + <use xlink:href="#SVGID_3261_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1632" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3263_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3264_"> + <use xlink:href="#SVGID_3263_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1633" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3265_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3266_"> + <use xlink:href="#SVGID_3265_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1634" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3267_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3268_"> + <use xlink:href="#SVGID_3267_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1635" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3269_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3270_"> + <use xlink:href="#SVGID_3269_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1636" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3271_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3272_"> + <use xlink:href="#SVGID_3271_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1637" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3273_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3274_"> + <use xlink:href="#SVGID_3273_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1638" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3275_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3276_"> + <use xlink:href="#SVGID_3275_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1639" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3277_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3278_"> + <use xlink:href="#SVGID_3277_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1640" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3279_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3280_"> + <use xlink:href="#SVGID_3279_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1641" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3281_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3282_"> + <use xlink:href="#SVGID_3281_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1642" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3283_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3284_"> + <use xlink:href="#SVGID_3283_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1643" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3285_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3286_"> + <use xlink:href="#SVGID_3285_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1644" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3287_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3288_"> + <use xlink:href="#SVGID_3287_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1645" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3289_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3290_"> + <use xlink:href="#SVGID_3289_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1646" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3291_" d="M22.8,22.1C22.8,22.1,22.9,22.2,22.8,22.1C22.8,22.2,22.7,22.2,22.8,22.1 + C22.7,22.1,22.7,22.1,22.8,22.1C22.7,22,22.7,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3292_"> + <use xlink:href="#SVGID_3291_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.9617 22.5495)" class="st1647" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3293_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3294_"> + <use xlink:href="#SVGID_3293_" style="overflow:visible;"/> + </clipPath> + <path class="st1648" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3295_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3296_"> + <use xlink:href="#SVGID_3295_" style="overflow:visible;"/> + </clipPath> + <path class="st1649" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3297_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3298_"> + <use xlink:href="#SVGID_3297_" style="overflow:visible;"/> + </clipPath> + <path class="st1650" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3299_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3300_"> + <use xlink:href="#SVGID_3299_" style="overflow:visible;"/> + </clipPath> + <path class="st1651" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3301_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3302_"> + <use xlink:href="#SVGID_3301_" style="overflow:visible;"/> + </clipPath> + <path class="st1652" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3303_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3304_"> + <use xlink:href="#SVGID_3303_" style="overflow:visible;"/> + </clipPath> + <path class="st1653" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3305_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3306_"> + <use xlink:href="#SVGID_3305_" style="overflow:visible;"/> + </clipPath> + <path class="st1654" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3307_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3308_"> + <use xlink:href="#SVGID_3307_" style="overflow:visible;"/> + </clipPath> + <path class="st1655" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3309_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3310_"> + <use xlink:href="#SVGID_3309_" style="overflow:visible;"/> + </clipPath> + <path class="st1656" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3311_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3312_"> + <use xlink:href="#SVGID_3311_" style="overflow:visible;"/> + </clipPath> + <path class="st1657" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3313_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3314_"> + <use xlink:href="#SVGID_3313_" style="overflow:visible;"/> + </clipPath> + <path class="st1658" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3315_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3316_"> + <use xlink:href="#SVGID_3315_" style="overflow:visible;"/> + </clipPath> + <path class="st1659" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3317_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3318_"> + <use xlink:href="#SVGID_3317_" style="overflow:visible;"/> + </clipPath> + <path class="st1660" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3319_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3320_"> + <use xlink:href="#SVGID_3319_" style="overflow:visible;"/> + </clipPath> + <path class="st1661" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3321_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3322_"> + <use xlink:href="#SVGID_3321_" style="overflow:visible;"/> + </clipPath> + <path class="st1662" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3323_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3324_"> + <use xlink:href="#SVGID_3323_" style="overflow:visible;"/> + </clipPath> + <path class="st1663" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3325_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3326_"> + <use xlink:href="#SVGID_3325_" style="overflow:visible;"/> + </clipPath> + <path class="st1664" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3327_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3328_"> + <use xlink:href="#SVGID_3327_" style="overflow:visible;"/> + </clipPath> + <path class="st1665" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3329_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3330_"> + <use xlink:href="#SVGID_3329_" style="overflow:visible;"/> + </clipPath> + <path class="st1666" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3331_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3332_"> + <use xlink:href="#SVGID_3331_" style="overflow:visible;"/> + </clipPath> + <path class="st1667" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3333_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3334_"> + <use xlink:href="#SVGID_3333_" style="overflow:visible;"/> + </clipPath> + <path class="st1668" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3335_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3336_"> + <use xlink:href="#SVGID_3335_" style="overflow:visible;"/> + </clipPath> + <path class="st1669" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3337_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3338_"> + <use xlink:href="#SVGID_3337_" style="overflow:visible;"/> + </clipPath> + <path class="st1670" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3339_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3340_"> + <use xlink:href="#SVGID_3339_" style="overflow:visible;"/> + </clipPath> + <path class="st1671" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3341_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3342_"> + <use xlink:href="#SVGID_3341_" style="overflow:visible;"/> + </clipPath> + <path class="st1672" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3343_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3344_"> + <use xlink:href="#SVGID_3343_" style="overflow:visible;"/> + </clipPath> + <path class="st1673" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3345_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3346_"> + <use xlink:href="#SVGID_3345_" style="overflow:visible;"/> + </clipPath> + <path class="st1674" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3347_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3348_"> + <use xlink:href="#SVGID_3347_" style="overflow:visible;"/> + </clipPath> + <path class="st1675" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3349_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3350_"> + <use xlink:href="#SVGID_3349_" style="overflow:visible;"/> + </clipPath> + <path class="st1676" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3351_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3352_"> + <use xlink:href="#SVGID_3351_" style="overflow:visible;"/> + </clipPath> + <path class="st1677" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3353_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3354_"> + <use xlink:href="#SVGID_3353_" style="overflow:visible;"/> + </clipPath> + <path class="st1678" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3355_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3356_"> + <use xlink:href="#SVGID_3355_" style="overflow:visible;"/> + </clipPath> + <path class="st1679" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3357_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3358_"> + <use xlink:href="#SVGID_3357_" style="overflow:visible;"/> + </clipPath> + <path class="st1680" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3359_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3360_"> + <use xlink:href="#SVGID_3359_" style="overflow:visible;"/> + </clipPath> + <path class="st1681" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3361_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3362_"> + <use xlink:href="#SVGID_3361_" style="overflow:visible;"/> + </clipPath> + <path class="st1682" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3363_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3364_"> + <use xlink:href="#SVGID_3363_" style="overflow:visible;"/> + </clipPath> + <path class="st1683" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3365_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3366_"> + <use xlink:href="#SVGID_3365_" style="overflow:visible;"/> + </clipPath> + <path class="st1684" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3367_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3368_"> + <use xlink:href="#SVGID_3367_" style="overflow:visible;"/> + </clipPath> + <path class="st1685" d="M22.8,22.1L22.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3369_" d="M22.8,22.1C22.8,22.1,22.8,22.2,22.8,22.1c-0.1,0.1-0.1,0-0.1,0C22.7,22,22.7,22,22.8,22.1 + C22.8,22,22.8,22,22.8,22.1"/> + </defs> + <clipPath id="SVGID_3370_"> + <use xlink:href="#SVGID_3369_" style="overflow:visible;"/> + </clipPath> + <path class="st1686" d="M22.8,22.1L22.8,22.1z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_3371_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_3372_"> + <use xlink:href="#SVGID_3371_" style="overflow:visible;"/> + </clipPath> + <g class="st1687"> + <g> + <defs> + <path id="SVGID_3373_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3374_"> + <use xlink:href="#SVGID_3373_" style="overflow:visible;"/> + </clipPath> + <rect x="22.6" y="22.1" class="st1688" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3375_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3376_"> + <use xlink:href="#SVGID_3375_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1689" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3377_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3378_"> + <use xlink:href="#SVGID_3377_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1690" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3379_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3380_"> + <use xlink:href="#SVGID_3379_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1691" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3381_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3382_"> + <use xlink:href="#SVGID_3381_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1692" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3383_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3384_"> + <use xlink:href="#SVGID_3383_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1693" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3385_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3386_"> + <use xlink:href="#SVGID_3385_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1694" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3387_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3388_"> + <use xlink:href="#SVGID_3387_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1695" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3389_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3390_"> + <use xlink:href="#SVGID_3389_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1696" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3391_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3392_"> + <use xlink:href="#SVGID_3391_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1697" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3393_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3394_"> + <use xlink:href="#SVGID_3393_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1698" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3395_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3396_"> + <use xlink:href="#SVGID_3395_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1699" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3397_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3398_"> + <use xlink:href="#SVGID_3397_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1700" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3399_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3400_"> + <use xlink:href="#SVGID_3399_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1701" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3401_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3402_"> + <use xlink:href="#SVGID_3401_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1702" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3403_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3404_"> + <use xlink:href="#SVGID_3403_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1703" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3405_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3406_"> + <use xlink:href="#SVGID_3405_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1704" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3407_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3408_"> + <use xlink:href="#SVGID_3407_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1705" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3409_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3410_"> + <use xlink:href="#SVGID_3409_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1706" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3411_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3412_"> + <use xlink:href="#SVGID_3411_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1707" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3413_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3414_"> + <use xlink:href="#SVGID_3413_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1708" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3415_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3416_"> + <use xlink:href="#SVGID_3415_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1709" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3417_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3418_"> + <use xlink:href="#SVGID_3417_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1710" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3419_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3420_"> + <use xlink:href="#SVGID_3419_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1711" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3421_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3422_"> + <use xlink:href="#SVGID_3421_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1712" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3423_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3424_"> + <use xlink:href="#SVGID_3423_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1713" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3425_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3426_"> + <use xlink:href="#SVGID_3425_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1714" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3427_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3428_"> + <use xlink:href="#SVGID_3427_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1715" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3429_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3430_"> + <use xlink:href="#SVGID_3429_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1716" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3431_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3432_"> + <use xlink:href="#SVGID_3431_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1717" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3433_" d="M22.7,22C22.8,22.1,22.8,22.1,22.7,22C22.7,22.2,22.6,22.1,22.7,22C22.6,22.1,22.6,22.1,22.7,22"/> + </defs> + <clipPath id="SVGID_3434_"> + <use xlink:href="#SVGID_3433_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0203 22.408)" class="st1718" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3435_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3436_"> + <use xlink:href="#SVGID_3435_" style="overflow:visible;"/> + </clipPath> + <path class="st1719" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3437_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3438_"> + <use xlink:href="#SVGID_3437_" style="overflow:visible;"/> + </clipPath> + <path class="st1720" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3439_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3440_"> + <use xlink:href="#SVGID_3439_" style="overflow:visible;"/> + </clipPath> + <path class="st1721" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3441_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3442_"> + <use xlink:href="#SVGID_3441_" style="overflow:visible;"/> + </clipPath> + <path class="st1722" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3443_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3444_"> + <use xlink:href="#SVGID_3443_" style="overflow:visible;"/> + </clipPath> + <path class="st1723" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3445_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3446_"> + <use xlink:href="#SVGID_3445_" style="overflow:visible;"/> + </clipPath> + <path class="st1724" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3447_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3448_"> + <use xlink:href="#SVGID_3447_" style="overflow:visible;"/> + </clipPath> + <path class="st1725" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3449_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3450_"> + <use xlink:href="#SVGID_3449_" style="overflow:visible;"/> + </clipPath> + <path class="st1726" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3451_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3452_"> + <use xlink:href="#SVGID_3451_" style="overflow:visible;"/> + </clipPath> + <path class="st1727" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3453_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3454_"> + <use xlink:href="#SVGID_3453_" style="overflow:visible;"/> + </clipPath> + <path class="st1728" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3455_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3456_"> + <use xlink:href="#SVGID_3455_" style="overflow:visible;"/> + </clipPath> + <path class="st1729" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3457_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3458_"> + <use xlink:href="#SVGID_3457_" style="overflow:visible;"/> + </clipPath> + <path class="st1730" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3459_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3460_"> + <use xlink:href="#SVGID_3459_" style="overflow:visible;"/> + </clipPath> + <path class="st1731" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3461_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3462_"> + <use xlink:href="#SVGID_3461_" style="overflow:visible;"/> + </clipPath> + <path class="st1732" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3463_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3464_"> + <use xlink:href="#SVGID_3463_" style="overflow:visible;"/> + </clipPath> + <path class="st1733" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3465_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3466_"> + <use xlink:href="#SVGID_3465_" style="overflow:visible;"/> + </clipPath> + <path class="st1734" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3467_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3468_"> + <use xlink:href="#SVGID_3467_" style="overflow:visible;"/> + </clipPath> + <path class="st1735" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3469_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3470_"> + <use xlink:href="#SVGID_3469_" style="overflow:visible;"/> + </clipPath> + <path class="st1736" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3471_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3472_"> + <use xlink:href="#SVGID_3471_" style="overflow:visible;"/> + </clipPath> + <path class="st1737" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3473_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3474_"> + <use xlink:href="#SVGID_3473_" style="overflow:visible;"/> + </clipPath> + <path class="st1738" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3475_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3476_"> + <use xlink:href="#SVGID_3475_" style="overflow:visible;"/> + </clipPath> + <path class="st1739" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3477_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3478_"> + <use xlink:href="#SVGID_3477_" style="overflow:visible;"/> + </clipPath> + <path class="st1740" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3479_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3480_"> + <use xlink:href="#SVGID_3479_" style="overflow:visible;"/> + </clipPath> + <path class="st1741" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3481_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3482_"> + <use xlink:href="#SVGID_3481_" style="overflow:visible;"/> + </clipPath> + <path class="st1742" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3483_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3484_"> + <use xlink:href="#SVGID_3483_" style="overflow:visible;"/> + </clipPath> + <path class="st1743" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3485_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3486_"> + <use xlink:href="#SVGID_3485_" style="overflow:visible;"/> + </clipPath> + <path class="st1744" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3487_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3488_"> + <use xlink:href="#SVGID_3487_" style="overflow:visible;"/> + </clipPath> + <path class="st1745" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3489_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3490_"> + <use xlink:href="#SVGID_3489_" style="overflow:visible;"/> + </clipPath> + <path class="st1746" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3491_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3492_"> + <use xlink:href="#SVGID_3491_" style="overflow:visible;"/> + </clipPath> + <path class="st1747" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3493_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3494_"> + <use xlink:href="#SVGID_3493_" style="overflow:visible;"/> + </clipPath> + <path class="st1748" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3495_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3496_"> + <use xlink:href="#SVGID_3495_" style="overflow:visible;"/> + </clipPath> + <path class="st1749" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3497_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3498_"> + <use xlink:href="#SVGID_3497_" style="overflow:visible;"/> + </clipPath> + <path class="st1750" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3499_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3500_"> + <use xlink:href="#SVGID_3499_" style="overflow:visible;"/> + </clipPath> + <path class="st1751" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3501_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3502_"> + <use xlink:href="#SVGID_3501_" style="overflow:visible;"/> + </clipPath> + <path class="st1752" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3503_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3504_"> + <use xlink:href="#SVGID_3503_" style="overflow:visible;"/> + </clipPath> + <path class="st1753" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3505_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3506_"> + <use xlink:href="#SVGID_3505_" style="overflow:visible;"/> + </clipPath> + <path class="st1754" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3507_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3508_"> + <use xlink:href="#SVGID_3507_" style="overflow:visible;"/> + </clipPath> + <path class="st1755" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3509_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3510_"> + <use xlink:href="#SVGID_3509_" style="overflow:visible;"/> + </clipPath> + <path class="st1756" d="M22.6,22.1L22.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3511_" d="M22.7,22.1C22.7,22.2,22.7,22.2,22.7,22.1c-0.1,0.1-0.1,0-0.1,0S22.6,22.1,22.7,22.1"/> + </defs> + <clipPath id="SVGID_3512_"> + <use xlink:href="#SVGID_3511_" style="overflow:visible;"/> + </clipPath> + <path class="st1757" d="M22.7,22.1h-0.1H22.7z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_3513_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_3514_"> + <use xlink:href="#SVGID_3513_" style="overflow:visible;"/> + </clipPath> + <g class="st1758"> + <g> + <defs> + <path id="SVGID_3515_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3516_"> + <use xlink:href="#SVGID_3515_" style="overflow:visible;"/> + </clipPath> + <rect x="22.4" y="22.1" class="st1759" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3517_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3518_"> + <use xlink:href="#SVGID_3517_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1760" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3519_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3520_"> + <use xlink:href="#SVGID_3519_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1761" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3521_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3522_"> + <use xlink:href="#SVGID_3521_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1762" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3523_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3524_"> + <use xlink:href="#SVGID_3523_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1763" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3525_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3526_"> + <use xlink:href="#SVGID_3525_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1764" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3527_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3528_"> + <use xlink:href="#SVGID_3527_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1765" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3529_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3530_"> + <use xlink:href="#SVGID_3529_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1766" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3531_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3532_"> + <use xlink:href="#SVGID_3531_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1767" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3533_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3534_"> + <use xlink:href="#SVGID_3533_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1768" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3535_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3536_"> + <use xlink:href="#SVGID_3535_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1769" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3537_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3538_"> + <use xlink:href="#SVGID_3537_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1770" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3539_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3540_"> + <use xlink:href="#SVGID_3539_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1771" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3541_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3542_"> + <use xlink:href="#SVGID_3541_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1772" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3543_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3544_"> + <use xlink:href="#SVGID_3543_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1773" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3545_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3546_"> + <use xlink:href="#SVGID_3545_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1774" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3547_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3548_"> + <use xlink:href="#SVGID_3547_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1775" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3549_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3550_"> + <use xlink:href="#SVGID_3549_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1776" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3551_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3552_"> + <use xlink:href="#SVGID_3551_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1777" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3553_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3554_"> + <use xlink:href="#SVGID_3553_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1778" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3555_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3556_"> + <use xlink:href="#SVGID_3555_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1779" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3557_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3558_"> + <use xlink:href="#SVGID_3557_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1780" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3559_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3560_"> + <use xlink:href="#SVGID_3559_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1781" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3561_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3562_"> + <use xlink:href="#SVGID_3561_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1782" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3563_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3564_"> + <use xlink:href="#SVGID_3563_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1783" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3565_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3566_"> + <use xlink:href="#SVGID_3565_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1784" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3567_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3568_"> + <use xlink:href="#SVGID_3567_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1785" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3569_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3570_"> + <use xlink:href="#SVGID_3569_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1786" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3571_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3572_"> + <use xlink:href="#SVGID_3571_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1787" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3573_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3574_"> + <use xlink:href="#SVGID_3573_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1788" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3575_" d="M22.7,22.1C22.7,22.2,22.6,22.2,22.7,22.1C22.4,22.2,22.5,22.1,22.7,22.1C22.6,22,22.6,22,22.7,22.1 + "/> + </defs> + <clipPath id="SVGID_3576_"> + <use xlink:href="#SVGID_3575_" style="overflow:visible;"/> + </clipPath> + + <rect x="22.4" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0496 22.3373)" class="st1789" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3577_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3578_"> + <use xlink:href="#SVGID_3577_" style="overflow:visible;"/> + </clipPath> + <path class="st1790" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3579_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3580_"> + <use xlink:href="#SVGID_3579_" style="overflow:visible;"/> + </clipPath> + <path class="st1791" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3581_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3582_"> + <use xlink:href="#SVGID_3581_" style="overflow:visible;"/> + </clipPath> + <path class="st1792" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3583_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3584_"> + <use xlink:href="#SVGID_3583_" style="overflow:visible;"/> + </clipPath> + <path class="st1793" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3585_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3586_"> + <use xlink:href="#SVGID_3585_" style="overflow:visible;"/> + </clipPath> + <path class="st1794" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3587_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3588_"> + <use xlink:href="#SVGID_3587_" style="overflow:visible;"/> + </clipPath> + <path class="st1795" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3589_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3590_"> + <use xlink:href="#SVGID_3589_" style="overflow:visible;"/> + </clipPath> + <path class="st1796" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3591_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3592_"> + <use xlink:href="#SVGID_3591_" style="overflow:visible;"/> + </clipPath> + <path class="st1797" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3593_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3594_"> + <use xlink:href="#SVGID_3593_" style="overflow:visible;"/> + </clipPath> + <path class="st1798" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3595_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3596_"> + <use xlink:href="#SVGID_3595_" style="overflow:visible;"/> + </clipPath> + <path class="st1799" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3597_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3598_"> + <use xlink:href="#SVGID_3597_" style="overflow:visible;"/> + </clipPath> + <path class="st1800" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3599_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3600_"> + <use xlink:href="#SVGID_3599_" style="overflow:visible;"/> + </clipPath> + <path class="st1801" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3601_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3602_"> + <use xlink:href="#SVGID_3601_" style="overflow:visible;"/> + </clipPath> + <path class="st1802" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3603_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3604_"> + <use xlink:href="#SVGID_3603_" style="overflow:visible;"/> + </clipPath> + <path class="st1803" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3605_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3606_"> + <use xlink:href="#SVGID_3605_" style="overflow:visible;"/> + </clipPath> + <path class="st1804" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3607_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3608_"> + <use xlink:href="#SVGID_3607_" style="overflow:visible;"/> + </clipPath> + <path class="st1805" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3609_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3610_"> + <use xlink:href="#SVGID_3609_" style="overflow:visible;"/> + </clipPath> + <path class="st1806" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3611_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3612_"> + <use xlink:href="#SVGID_3611_" style="overflow:visible;"/> + </clipPath> + <path class="st1807" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3613_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3614_"> + <use xlink:href="#SVGID_3613_" style="overflow:visible;"/> + </clipPath> + <path class="st1808" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3615_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3616_"> + <use xlink:href="#SVGID_3615_" style="overflow:visible;"/> + </clipPath> + <path class="st1809" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3617_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3618_"> + <use xlink:href="#SVGID_3617_" style="overflow:visible;"/> + </clipPath> + <path class="st1810" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3619_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3620_"> + <use xlink:href="#SVGID_3619_" style="overflow:visible;"/> + </clipPath> + <path class="st1811" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3621_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3622_"> + <use xlink:href="#SVGID_3621_" style="overflow:visible;"/> + </clipPath> + <path class="st1812" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3623_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3624_"> + <use xlink:href="#SVGID_3623_" style="overflow:visible;"/> + </clipPath> + <path class="st1813" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3625_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3626_"> + <use xlink:href="#SVGID_3625_" style="overflow:visible;"/> + </clipPath> + <path class="st1814" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3627_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3628_"> + <use xlink:href="#SVGID_3627_" style="overflow:visible;"/> + </clipPath> + <path class="st1815" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3629_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3630_"> + <use xlink:href="#SVGID_3629_" style="overflow:visible;"/> + </clipPath> + <path class="st1816" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3631_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3632_"> + <use xlink:href="#SVGID_3631_" style="overflow:visible;"/> + </clipPath> + <path class="st1817" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3633_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3634_"> + <use xlink:href="#SVGID_3633_" style="overflow:visible;"/> + </clipPath> + <path class="st1818" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3635_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3636_"> + <use xlink:href="#SVGID_3635_" style="overflow:visible;"/> + </clipPath> + <path class="st1819" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3637_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3638_"> + <use xlink:href="#SVGID_3637_" style="overflow:visible;"/> + </clipPath> + <path class="st1820" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3639_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3640_"> + <use xlink:href="#SVGID_3639_" style="overflow:visible;"/> + </clipPath> + <path class="st1821" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3641_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3642_"> + <use xlink:href="#SVGID_3641_" style="overflow:visible;"/> + </clipPath> + <path class="st1822" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3643_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3644_"> + <use xlink:href="#SVGID_3643_" style="overflow:visible;"/> + </clipPath> + <path class="st1823" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3645_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3646_"> + <use xlink:href="#SVGID_3645_" style="overflow:visible;"/> + </clipPath> + <path class="st1824" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3647_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3648_"> + <use xlink:href="#SVGID_3647_" style="overflow:visible;"/> + </clipPath> + <path class="st1825" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3649_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3650_"> + <use xlink:href="#SVGID_3649_" style="overflow:visible;"/> + </clipPath> + <path class="st1826" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3651_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3652_"> + <use xlink:href="#SVGID_3651_" style="overflow:visible;"/> + </clipPath> + <path class="st1827" d="M22.5,22.1L22.5,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_3653_" d="M22.6,22.2c-0.1,0.1-0.1,0-0.1,0C22.4,22.1,22.5,22.1,22.6,22.2C22.6,22.1,22.6,22.1,22.6,22.2"/> + </defs> + <clipPath id="SVGID_3654_"> + <use xlink:href="#SVGID_3653_" style="overflow:visible;"/> + </clipPath> + <path class="st1828" d="M22.5,22.1L22.5,22.1z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_3655_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_3656_"> + <use xlink:href="#SVGID_3655_" style="overflow:visible;"/> + </clipPath> + <g class="st1829"> + <g> + <defs> + <path id="SVGID_3657_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3658_"> + <use xlink:href="#SVGID_3657_" style="overflow:visible;"/> + </clipPath> + <rect x="21.4" y="22.3" class="st1830" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3659_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3660_"> + <use xlink:href="#SVGID_3659_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1831" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3661_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3662_"> + <use xlink:href="#SVGID_3661_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1832" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3663_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3664_"> + <use xlink:href="#SVGID_3663_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1833" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3665_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3666_"> + <use xlink:href="#SVGID_3665_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1834" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3667_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3668_"> + <use xlink:href="#SVGID_3667_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1835" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3669_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3670_"> + <use xlink:href="#SVGID_3669_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1836" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3671_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3672_"> + <use xlink:href="#SVGID_3671_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1837" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3673_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3674_"> + <use xlink:href="#SVGID_3673_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1838" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3675_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3676_"> + <use xlink:href="#SVGID_3675_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1839" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3677_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3678_"> + <use xlink:href="#SVGID_3677_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1840" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3679_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3680_"> + <use xlink:href="#SVGID_3679_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1841" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3681_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3682_"> + <use xlink:href="#SVGID_3681_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1842" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3683_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3684_"> + <use xlink:href="#SVGID_3683_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1843" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3685_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3686_"> + <use xlink:href="#SVGID_3685_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1844" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3687_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3688_"> + <use xlink:href="#SVGID_3687_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1845" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3689_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3690_"> + <use xlink:href="#SVGID_3689_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1846" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3691_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3692_"> + <use xlink:href="#SVGID_3691_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1847" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3693_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3694_"> + <use xlink:href="#SVGID_3693_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1848" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3695_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3696_"> + <use xlink:href="#SVGID_3695_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1849" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3697_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3698_"> + <use xlink:href="#SVGID_3697_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1850" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3699_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3700_"> + <use xlink:href="#SVGID_3699_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1851" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3701_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3702_"> + <use xlink:href="#SVGID_3701_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1852" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3703_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3704_"> + <use xlink:href="#SVGID_3703_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1853" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3705_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3706_"> + <use xlink:href="#SVGID_3705_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1854" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3707_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3708_"> + <use xlink:href="#SVGID_3707_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1855" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3709_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3710_"> + <use xlink:href="#SVGID_3709_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1856" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3711_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3712_"> + <use xlink:href="#SVGID_3711_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1857" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3713_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3714_"> + <use xlink:href="#SVGID_3713_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1858" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3715_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3716_"> + <use xlink:href="#SVGID_3715_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1859" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3717_" d="M21.5,22.4C21.6,22.4,21.6,22.3,21.5,22.4C21.5,22.2,21.5,22.2,21.5,22.4 + C21.4,22.3,21.4,22.3,21.5,22.4"/> + </defs> + <clipPath id="SVGID_3718_"> + <use xlink:href="#SVGID_3717_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.3" y="22.2" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5106 21.5435)" class="st1860" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3719_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3720_"> + <use xlink:href="#SVGID_3719_" style="overflow:visible;"/> + </clipPath> + <path class="st1861" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3721_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3722_"> + <use xlink:href="#SVGID_3721_" style="overflow:visible;"/> + </clipPath> + <path class="st1862" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3723_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3724_"> + <use xlink:href="#SVGID_3723_" style="overflow:visible;"/> + </clipPath> + <path class="st1863" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3725_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3726_"> + <use xlink:href="#SVGID_3725_" style="overflow:visible;"/> + </clipPath> + <path class="st1864" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3727_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3728_"> + <use xlink:href="#SVGID_3727_" style="overflow:visible;"/> + </clipPath> + <path class="st1865" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3729_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3730_"> + <use xlink:href="#SVGID_3729_" style="overflow:visible;"/> + </clipPath> + <path class="st1866" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3731_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3732_"> + <use xlink:href="#SVGID_3731_" style="overflow:visible;"/> + </clipPath> + <path class="st1867" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3733_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3734_"> + <use xlink:href="#SVGID_3733_" style="overflow:visible;"/> + </clipPath> + <path class="st1868" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3735_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3736_"> + <use xlink:href="#SVGID_3735_" style="overflow:visible;"/> + </clipPath> + <path class="st1869" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3737_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3738_"> + <use xlink:href="#SVGID_3737_" style="overflow:visible;"/> + </clipPath> + <path class="st1870" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3739_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3740_"> + <use xlink:href="#SVGID_3739_" style="overflow:visible;"/> + </clipPath> + <path class="st1871" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3741_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3742_"> + <use xlink:href="#SVGID_3741_" style="overflow:visible;"/> + </clipPath> + <path class="st1872" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3743_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3744_"> + <use xlink:href="#SVGID_3743_" style="overflow:visible;"/> + </clipPath> + <path class="st1873" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3745_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3746_"> + <use xlink:href="#SVGID_3745_" style="overflow:visible;"/> + </clipPath> + <path class="st1874" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3747_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3748_"> + <use xlink:href="#SVGID_3747_" style="overflow:visible;"/> + </clipPath> + <path class="st1875" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3749_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3750_"> + <use xlink:href="#SVGID_3749_" style="overflow:visible;"/> + </clipPath> + <path class="st1876" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3751_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3752_"> + <use xlink:href="#SVGID_3751_" style="overflow:visible;"/> + </clipPath> + <path class="st1877" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3753_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3754_"> + <use xlink:href="#SVGID_3753_" style="overflow:visible;"/> + </clipPath> + <path class="st1878" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3755_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3756_"> + <use xlink:href="#SVGID_3755_" style="overflow:visible;"/> + </clipPath> + <path class="st1879" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3757_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3758_"> + <use xlink:href="#SVGID_3757_" style="overflow:visible;"/> + </clipPath> + <path class="st1880" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3759_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3760_"> + <use xlink:href="#SVGID_3759_" style="overflow:visible;"/> + </clipPath> + <path class="st1881" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3761_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3762_"> + <use xlink:href="#SVGID_3761_" style="overflow:visible;"/> + </clipPath> + <path class="st1882" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3763_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3764_"> + <use xlink:href="#SVGID_3763_" style="overflow:visible;"/> + </clipPath> + <path class="st1883" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3765_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3766_"> + <use xlink:href="#SVGID_3765_" style="overflow:visible;"/> + </clipPath> + <path class="st1884" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3767_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3768_"> + <use xlink:href="#SVGID_3767_" style="overflow:visible;"/> + </clipPath> + <path class="st1885" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3769_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3770_"> + <use xlink:href="#SVGID_3769_" style="overflow:visible;"/> + </clipPath> + <path class="st1886" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3771_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3772_"> + <use xlink:href="#SVGID_3771_" style="overflow:visible;"/> + </clipPath> + <path class="st1887" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3773_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3774_"> + <use xlink:href="#SVGID_3773_" style="overflow:visible;"/> + </clipPath> + <path class="st1888" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3775_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3776_"> + <use xlink:href="#SVGID_3775_" style="overflow:visible;"/> + </clipPath> + <path class="st1889" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3777_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3778_"> + <use xlink:href="#SVGID_3777_" style="overflow:visible;"/> + </clipPath> + <path class="st1890" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3779_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3780_"> + <use xlink:href="#SVGID_3779_" style="overflow:visible;"/> + </clipPath> + <path class="st1891" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3781_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3782_"> + <use xlink:href="#SVGID_3781_" style="overflow:visible;"/> + </clipPath> + <path class="st1892" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3783_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3784_"> + <use xlink:href="#SVGID_3783_" style="overflow:visible;"/> + </clipPath> + <path class="st1893" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3785_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3786_"> + <use xlink:href="#SVGID_3785_" style="overflow:visible;"/> + </clipPath> + <path class="st1894" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3787_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3788_"> + <use xlink:href="#SVGID_3787_" style="overflow:visible;"/> + </clipPath> + <path class="st1895" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3789_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3790_"> + <use xlink:href="#SVGID_3789_" style="overflow:visible;"/> + </clipPath> + <path class="st1896" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3791_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3792_"> + <use xlink:href="#SVGID_3791_" style="overflow:visible;"/> + </clipPath> + <path class="st1897" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3793_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3794_"> + <use xlink:href="#SVGID_3793_" style="overflow:visible;"/> + </clipPath> + <path class="st1898" d="M21.4,22.3L21.4,22.3z"/> + </g> + <g> + <defs> + <path id="SVGID_3795_" d="M21.4,22.4C21.5,22.5,21.5,22.4,21.4,22.4C21.5,22.3,21.5,22.3,21.4,22.4 + C21.4,22.3,21.4,22.3,21.4,22.4"/> + </defs> + <clipPath id="SVGID_3796_"> + <use xlink:href="#SVGID_3795_" style="overflow:visible;"/> + </clipPath> + <path class="st1899" d="M21.4,22.3L21.4,22.3z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_3797_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_3798_"> + <use xlink:href="#SVGID_3797_" style="overflow:visible;"/> + </clipPath> + <g class="st1900"> + <g> + <defs> + <path id="SVGID_3799_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3800_"> + <use xlink:href="#SVGID_3799_" style="overflow:visible;"/> + </clipPath> + <rect x="21.4" y="22.4" class="st1901" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3801_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3802_"> + <use xlink:href="#SVGID_3801_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1902" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3803_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3804_"> + <use xlink:href="#SVGID_3803_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1903" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3805_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3806_"> + <use xlink:href="#SVGID_3805_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1904" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3807_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3808_"> + <use xlink:href="#SVGID_3807_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1905" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3809_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3810_"> + <use xlink:href="#SVGID_3809_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1906" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3811_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3812_"> + <use xlink:href="#SVGID_3811_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1907" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3813_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3814_"> + <use xlink:href="#SVGID_3813_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1908" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3815_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3816_"> + <use xlink:href="#SVGID_3815_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1909" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3817_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3818_"> + <use xlink:href="#SVGID_3817_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1910" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3819_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3820_"> + <use xlink:href="#SVGID_3819_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1911" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3821_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3822_"> + <use xlink:href="#SVGID_3821_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1912" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3823_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3824_"> + <use xlink:href="#SVGID_3823_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1913" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3825_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3826_"> + <use xlink:href="#SVGID_3825_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1914" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3827_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3828_"> + <use xlink:href="#SVGID_3827_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1915" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3829_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3830_"> + <use xlink:href="#SVGID_3829_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1916" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3831_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3832_"> + <use xlink:href="#SVGID_3831_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1917" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3833_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3834_"> + <use xlink:href="#SVGID_3833_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1918" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3835_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3836_"> + <use xlink:href="#SVGID_3835_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1919" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3837_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3838_"> + <use xlink:href="#SVGID_3837_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1920" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3839_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3840_"> + <use xlink:href="#SVGID_3839_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1921" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3841_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3842_"> + <use xlink:href="#SVGID_3841_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1922" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3843_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3844_"> + <use xlink:href="#SVGID_3843_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1923" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3845_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3846_"> + <use xlink:href="#SVGID_3845_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1924" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3847_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3848_"> + <use xlink:href="#SVGID_3847_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1925" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3849_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3850_"> + <use xlink:href="#SVGID_3849_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1926" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3851_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3852_"> + <use xlink:href="#SVGID_3851_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1927" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3853_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3854_"> + <use xlink:href="#SVGID_3853_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1928" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3855_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3856_"> + <use xlink:href="#SVGID_3855_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1929" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3857_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3858_"> + <use xlink:href="#SVGID_3857_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1930" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3859_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3860_"> + <use xlink:href="#SVGID_3859_" style="overflow:visible;"/> + </clipPath> + <polygon class="st1931" points="21.5,22.4 21.6,22.5 21.5,22.6 21.4,22.5 "/> + </g> + <g> + <defs> + <path id="SVGID_3861_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3862_"> + <use xlink:href="#SVGID_3861_" style="overflow:visible;"/> + </clipPath> + <path class="st1932" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3863_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3864_"> + <use xlink:href="#SVGID_3863_" style="overflow:visible;"/> + </clipPath> + <path class="st1933" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3865_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3866_"> + <use xlink:href="#SVGID_3865_" style="overflow:visible;"/> + </clipPath> + <path class="st1934" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3867_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3868_"> + <use xlink:href="#SVGID_3867_" style="overflow:visible;"/> + </clipPath> + <path class="st1935" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3869_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3870_"> + <use xlink:href="#SVGID_3869_" style="overflow:visible;"/> + </clipPath> + <path class="st1936" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3871_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3872_"> + <use xlink:href="#SVGID_3871_" style="overflow:visible;"/> + </clipPath> + <path class="st1937" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3873_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3874_"> + <use xlink:href="#SVGID_3873_" style="overflow:visible;"/> + </clipPath> + <path class="st1938" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3875_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3876_"> + <use xlink:href="#SVGID_3875_" style="overflow:visible;"/> + </clipPath> + <path class="st1939" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3877_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3878_"> + <use xlink:href="#SVGID_3877_" style="overflow:visible;"/> + </clipPath> + <path class="st1940" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3879_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3880_"> + <use xlink:href="#SVGID_3879_" style="overflow:visible;"/> + </clipPath> + <path class="st1941" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3881_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3882_"> + <use xlink:href="#SVGID_3881_" style="overflow:visible;"/> + </clipPath> + <path class="st1942" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3883_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3884_"> + <use xlink:href="#SVGID_3883_" style="overflow:visible;"/> + </clipPath> + <path class="st1943" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3885_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3886_"> + <use xlink:href="#SVGID_3885_" style="overflow:visible;"/> + </clipPath> + <path class="st1944" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3887_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3888_"> + <use xlink:href="#SVGID_3887_" style="overflow:visible;"/> + </clipPath> + <path class="st1945" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3889_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3890_"> + <use xlink:href="#SVGID_3889_" style="overflow:visible;"/> + </clipPath> + <path class="st1946" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3891_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3892_"> + <use xlink:href="#SVGID_3891_" style="overflow:visible;"/> + </clipPath> + <path class="st1947" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3893_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3894_"> + <use xlink:href="#SVGID_3893_" style="overflow:visible;"/> + </clipPath> + <path class="st1948" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3895_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3896_"> + <use xlink:href="#SVGID_3895_" style="overflow:visible;"/> + </clipPath> + <path class="st1949" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3897_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3898_"> + <use xlink:href="#SVGID_3897_" style="overflow:visible;"/> + </clipPath> + <path class="st1950" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3899_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3900_"> + <use xlink:href="#SVGID_3899_" style="overflow:visible;"/> + </clipPath> + <path class="st1951" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3901_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3902_"> + <use xlink:href="#SVGID_3901_" style="overflow:visible;"/> + </clipPath> + <path class="st1952" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3903_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3904_"> + <use xlink:href="#SVGID_3903_" style="overflow:visible;"/> + </clipPath> + <path class="st1953" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3905_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3906_"> + <use xlink:href="#SVGID_3905_" style="overflow:visible;"/> + </clipPath> + <path class="st1954" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3907_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3908_"> + <use xlink:href="#SVGID_3907_" style="overflow:visible;"/> + </clipPath> + <path class="st1955" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3909_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3910_"> + <use xlink:href="#SVGID_3909_" style="overflow:visible;"/> + </clipPath> + <path class="st1956" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3911_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3912_"> + <use xlink:href="#SVGID_3911_" style="overflow:visible;"/> + </clipPath> + <path class="st1957" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3913_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3914_"> + <use xlink:href="#SVGID_3913_" style="overflow:visible;"/> + </clipPath> + <path class="st1958" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3915_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3916_"> + <use xlink:href="#SVGID_3915_" style="overflow:visible;"/> + </clipPath> + <path class="st1959" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3917_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3918_"> + <use xlink:href="#SVGID_3917_" style="overflow:visible;"/> + </clipPath> + <path class="st1960" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3919_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3920_"> + <use xlink:href="#SVGID_3919_" style="overflow:visible;"/> + </clipPath> + <path class="st1961" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3921_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3922_"> + <use xlink:href="#SVGID_3921_" style="overflow:visible;"/> + </clipPath> + <path class="st1962" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3923_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3924_"> + <use xlink:href="#SVGID_3923_" style="overflow:visible;"/> + </clipPath> + <path class="st1963" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3925_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3926_"> + <use xlink:href="#SVGID_3925_" style="overflow:visible;"/> + </clipPath> + <path class="st1964" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3927_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3928_"> + <use xlink:href="#SVGID_3927_" style="overflow:visible;"/> + </clipPath> + <path class="st1965" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3929_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3930_"> + <use xlink:href="#SVGID_3929_" style="overflow:visible;"/> + </clipPath> + <path class="st1966" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3931_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3932_"> + <use xlink:href="#SVGID_3931_" style="overflow:visible;"/> + </clipPath> + <path class="st1967" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3933_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3934_"> + <use xlink:href="#SVGID_3933_" style="overflow:visible;"/> + </clipPath> + <path class="st1968" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3935_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3936_"> + <use xlink:href="#SVGID_3935_" style="overflow:visible;"/> + </clipPath> + <path class="st1969" d="M21.5,22.5L21.5,22.5z"/> + </g> + <g> + <defs> + <path id="SVGID_3937_" d="M21.4,22.5C21.4,22.5,21.5,22.5,21.4,22.5C21.5,22.6,21.5,22.5,21.4,22.5 + C21.6,22.4,21.5,22.4,21.4,22.5C21.5,22.4,21.4,22.4,21.4,22.5"/> + </defs> + <clipPath id="SVGID_3938_"> + <use xlink:href="#SVGID_3937_" style="overflow:visible;"/> + </clipPath> + <path class="st1970" d="M21.5,22.5L21.5,22.5z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_3939_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_3940_"> + <use xlink:href="#SVGID_3939_" style="overflow:visible;"/> + </clipPath> + <g class="st1971"> + <g> + <defs> + <path id="SVGID_3941_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_3942_"> + <use xlink:href="#SVGID_3941_" style="overflow:visible;"/> + </clipPath> + <rect x="21.4" y="22.2" class="st1972" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3943_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3944_"> + <use xlink:href="#SVGID_3943_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1973" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3945_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3946_"> + <use xlink:href="#SVGID_3945_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1974" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3947_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3948_"> + <use xlink:href="#SVGID_3947_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1975" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3949_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3950_"> + <use xlink:href="#SVGID_3949_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1976" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3951_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3952_"> + <use xlink:href="#SVGID_3951_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1977" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3953_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3954_"> + <use xlink:href="#SVGID_3953_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1978" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3955_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3956_"> + <use xlink:href="#SVGID_3955_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1979" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3957_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3958_"> + <use xlink:href="#SVGID_3957_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1980" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3959_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3960_"> + <use xlink:href="#SVGID_3959_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1981" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3961_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3962_"> + <use xlink:href="#SVGID_3961_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1982" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3963_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3964_"> + <use xlink:href="#SVGID_3963_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1983" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3965_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3966_"> + <use xlink:href="#SVGID_3965_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1984" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3967_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3968_"> + <use xlink:href="#SVGID_3967_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1985" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3969_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3970_"> + <use xlink:href="#SVGID_3969_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1986" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3971_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3972_"> + <use xlink:href="#SVGID_3971_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1987" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3973_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3974_"> + <use xlink:href="#SVGID_3973_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1988" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3975_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3976_"> + <use xlink:href="#SVGID_3975_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1989" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3977_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3978_"> + <use xlink:href="#SVGID_3977_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1990" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3979_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3980_"> + <use xlink:href="#SVGID_3979_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1991" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3981_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3982_"> + <use xlink:href="#SVGID_3981_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1992" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3983_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3984_"> + <use xlink:href="#SVGID_3983_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1993" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3985_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3986_"> + <use xlink:href="#SVGID_3985_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1994" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3987_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3988_"> + <use xlink:href="#SVGID_3987_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1995" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3989_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3990_"> + <use xlink:href="#SVGID_3989_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1996" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3991_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3992_"> + <use xlink:href="#SVGID_3991_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1997" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3993_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3994_"> + <use xlink:href="#SVGID_3993_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1998" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3995_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3996_"> + <use xlink:href="#SVGID_3995_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st1999" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3997_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_3998_"> + <use xlink:href="#SVGID_3997_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st2000" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_3999_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_4000_"> + <use xlink:href="#SVGID_3999_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st2001" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4001_" d="M21.4,22.3C21.5,22.3,21.5,22.3,21.4,22.3C21.6,22.3,21.5,22.2,21.4,22.3 + C21.6,22.1,21.5,22.2,21.4,22.3C21.5,22.2,21.4,22.3,21.4,22.3"/> + </defs> + <clipPath id="SVGID_4002_"> + <use xlink:href="#SVGID_4001_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.4" y="22.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.4132 21.6594)" class="st2002" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4003_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4004_"> + <use xlink:href="#SVGID_4003_" style="overflow:visible;"/> + </clipPath> + <path class="st2003" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4005_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4006_"> + <use xlink:href="#SVGID_4005_" style="overflow:visible;"/> + </clipPath> + <path class="st2004" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4007_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4008_"> + <use xlink:href="#SVGID_4007_" style="overflow:visible;"/> + </clipPath> + <path class="st2005" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4009_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4010_"> + <use xlink:href="#SVGID_4009_" style="overflow:visible;"/> + </clipPath> + <path class="st2006" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4011_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4012_"> + <use xlink:href="#SVGID_4011_" style="overflow:visible;"/> + </clipPath> + <path class="st2007" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4013_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4014_"> + <use xlink:href="#SVGID_4013_" style="overflow:visible;"/> + </clipPath> + <path class="st2008" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4015_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4016_"> + <use xlink:href="#SVGID_4015_" style="overflow:visible;"/> + </clipPath> + <path class="st2009" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4017_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4018_"> + <use xlink:href="#SVGID_4017_" style="overflow:visible;"/> + </clipPath> + <path class="st2010" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4019_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4020_"> + <use xlink:href="#SVGID_4019_" style="overflow:visible;"/> + </clipPath> + <path class="st2011" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4021_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4022_"> + <use xlink:href="#SVGID_4021_" style="overflow:visible;"/> + </clipPath> + <path class="st2012" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4023_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4024_"> + <use xlink:href="#SVGID_4023_" style="overflow:visible;"/> + </clipPath> + <path class="st2013" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4025_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4026_"> + <use xlink:href="#SVGID_4025_" style="overflow:visible;"/> + </clipPath> + <path class="st2014" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4027_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4028_"> + <use xlink:href="#SVGID_4027_" style="overflow:visible;"/> + </clipPath> + <path class="st2015" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4029_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4030_"> + <use xlink:href="#SVGID_4029_" style="overflow:visible;"/> + </clipPath> + <path class="st2016" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4031_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4032_"> + <use xlink:href="#SVGID_4031_" style="overflow:visible;"/> + </clipPath> + <path class="st2017" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4033_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4034_"> + <use xlink:href="#SVGID_4033_" style="overflow:visible;"/> + </clipPath> + <path class="st2018" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4035_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4036_"> + <use xlink:href="#SVGID_4035_" style="overflow:visible;"/> + </clipPath> + <path class="st2019" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4037_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4038_"> + <use xlink:href="#SVGID_4037_" style="overflow:visible;"/> + </clipPath> + <path class="st2020" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4039_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4040_"> + <use xlink:href="#SVGID_4039_" style="overflow:visible;"/> + </clipPath> + <path class="st2021" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4041_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4042_"> + <use xlink:href="#SVGID_4041_" style="overflow:visible;"/> + </clipPath> + <path class="st2022" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4043_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4044_"> + <use xlink:href="#SVGID_4043_" style="overflow:visible;"/> + </clipPath> + <path class="st2023" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4045_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4046_"> + <use xlink:href="#SVGID_4045_" style="overflow:visible;"/> + </clipPath> + <path class="st2024" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4047_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4048_"> + <use xlink:href="#SVGID_4047_" style="overflow:visible;"/> + </clipPath> + <path class="st2025" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4049_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4050_"> + <use xlink:href="#SVGID_4049_" style="overflow:visible;"/> + </clipPath> + <path class="st2026" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4051_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4052_"> + <use xlink:href="#SVGID_4051_" style="overflow:visible;"/> + </clipPath> + <path class="st2027" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4053_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4054_"> + <use xlink:href="#SVGID_4053_" style="overflow:visible;"/> + </clipPath> + <path class="st2028" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4055_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4056_"> + <use xlink:href="#SVGID_4055_" style="overflow:visible;"/> + </clipPath> + <path class="st2029" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4057_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4058_"> + <use xlink:href="#SVGID_4057_" style="overflow:visible;"/> + </clipPath> + <path class="st2030" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4059_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4060_"> + <use xlink:href="#SVGID_4059_" style="overflow:visible;"/> + </clipPath> + <path class="st2031" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4061_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4062_"> + <use xlink:href="#SVGID_4061_" style="overflow:visible;"/> + </clipPath> + <path class="st2032" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4063_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4064_"> + <use xlink:href="#SVGID_4063_" style="overflow:visible;"/> + </clipPath> + <path class="st2033" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4065_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4066_"> + <use xlink:href="#SVGID_4065_" style="overflow:visible;"/> + </clipPath> + <path class="st2034" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4067_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4068_"> + <use xlink:href="#SVGID_4067_" style="overflow:visible;"/> + </clipPath> + <path class="st2035" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4069_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4070_"> + <use xlink:href="#SVGID_4069_" style="overflow:visible;"/> + </clipPath> + <path class="st2036" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4071_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4072_"> + <use xlink:href="#SVGID_4071_" style="overflow:visible;"/> + </clipPath> + <path class="st2037" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4073_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4074_"> + <use xlink:href="#SVGID_4073_" style="overflow:visible;"/> + </clipPath> + <path class="st2038" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4075_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4076_"> + <use xlink:href="#SVGID_4075_" style="overflow:visible;"/> + </clipPath> + <path class="st2039" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4077_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4078_"> + <use xlink:href="#SVGID_4077_" style="overflow:visible;"/> + </clipPath> + <path class="st2040" d="M21.5,22.2L21.5,22.2z"/> + </g> + <g> + <defs> + <path id="SVGID_4079_" d="M21.4,22.2C21.4,22.3,21.4,22.3,21.4,22.2C21.5,22.3,21.5,22.2,21.4,22.2 + C21.6,22.2,21.5,22.2,21.4,22.2C21.5,22.2,21.4,22.2,21.4,22.2"/> + </defs> + <clipPath id="SVGID_4080_"> + <use xlink:href="#SVGID_4079_" style="overflow:visible;"/> + </clipPath> + <path class="st2041" d="M21.5,22.2L21.5,22.2z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_4081_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4082_"> + <use xlink:href="#SVGID_4081_" style="overflow:visible;"/> + </clipPath> + <g class="st2042"> + <g> + <defs> + <path id="SVGID_4083_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4084_"> + <use xlink:href="#SVGID_4083_" style="overflow:visible;"/> + </clipPath> + <rect x="21.5" y="22.1" class="st2043" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4085_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4086_"> + <use xlink:href="#SVGID_4085_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2044" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4087_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4088_"> + <use xlink:href="#SVGID_4087_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2045" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4089_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4090_"> + <use xlink:href="#SVGID_4089_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2046" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4091_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4092_"> + <use xlink:href="#SVGID_4091_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2047" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4093_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4094_"> + <use xlink:href="#SVGID_4093_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2048" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4095_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4096_"> + <use xlink:href="#SVGID_4095_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2049" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4097_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4098_"> + <use xlink:href="#SVGID_4097_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2050" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4099_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4100_"> + <use xlink:href="#SVGID_4099_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2051" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4101_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4102_"> + <use xlink:href="#SVGID_4101_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2052" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4103_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4104_"> + <use xlink:href="#SVGID_4103_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2053" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4105_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4106_"> + <use xlink:href="#SVGID_4105_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2054" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4107_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4108_"> + <use xlink:href="#SVGID_4107_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2055" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4109_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4110_"> + <use xlink:href="#SVGID_4109_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2056" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4111_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4112_"> + <use xlink:href="#SVGID_4111_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2057" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4113_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4114_"> + <use xlink:href="#SVGID_4113_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2058" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4115_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4116_"> + <use xlink:href="#SVGID_4115_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2059" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4117_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4118_"> + <use xlink:href="#SVGID_4117_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2060" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4119_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4120_"> + <use xlink:href="#SVGID_4119_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2061" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4121_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4122_"> + <use xlink:href="#SVGID_4121_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2062" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4123_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4124_"> + <use xlink:href="#SVGID_4123_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2063" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4125_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4126_"> + <use xlink:href="#SVGID_4125_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2064" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4127_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4128_"> + <use xlink:href="#SVGID_4127_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2065" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4129_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4130_"> + <use xlink:href="#SVGID_4129_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2066" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4131_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4132_"> + <use xlink:href="#SVGID_4131_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2067" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4133_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4134_"> + <use xlink:href="#SVGID_4133_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2068" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4135_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4136_"> + <use xlink:href="#SVGID_4135_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2069" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4137_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4138_"> + <use xlink:href="#SVGID_4137_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2070" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4139_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4140_"> + <use xlink:href="#SVGID_4139_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2071" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4141_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4142_"> + <use xlink:href="#SVGID_4141_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2072" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4143_" d="M21.5,22.2C21.6,22.2,21.7,22.2,21.5,22.2C21.7,22.2,21.6,22.1,21.5,22.2 + C21.7,22,21.6,22.1,21.5,22.2C21.6,22.1,21.5,22.2,21.5,22.2"/> + </defs> + <clipPath id="SVGID_4144_"> + <use xlink:href="#SVGID_4143_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.5" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.3132 21.7009)" class="st2073" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4145_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4146_"> + <use xlink:href="#SVGID_4145_" style="overflow:visible;"/> + </clipPath> + <path class="st2074" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4147_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4148_"> + <use xlink:href="#SVGID_4147_" style="overflow:visible;"/> + </clipPath> + <path class="st2075" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4149_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4150_"> + <use xlink:href="#SVGID_4149_" style="overflow:visible;"/> + </clipPath> + <path class="st2076" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4151_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4152_"> + <use xlink:href="#SVGID_4151_" style="overflow:visible;"/> + </clipPath> + <path class="st2077" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4153_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4154_"> + <use xlink:href="#SVGID_4153_" style="overflow:visible;"/> + </clipPath> + <path class="st2078" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4155_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4156_"> + <use xlink:href="#SVGID_4155_" style="overflow:visible;"/> + </clipPath> + <path class="st2079" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4157_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4158_"> + <use xlink:href="#SVGID_4157_" style="overflow:visible;"/> + </clipPath> + <path class="st2080" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4159_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4160_"> + <use xlink:href="#SVGID_4159_" style="overflow:visible;"/> + </clipPath> + <path class="st2081" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4161_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4162_"> + <use xlink:href="#SVGID_4161_" style="overflow:visible;"/> + </clipPath> + <path class="st2082" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4163_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4164_"> + <use xlink:href="#SVGID_4163_" style="overflow:visible;"/> + </clipPath> + <path class="st2083" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4165_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4166_"> + <use xlink:href="#SVGID_4165_" style="overflow:visible;"/> + </clipPath> + <path class="st2084" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4167_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4168_"> + <use xlink:href="#SVGID_4167_" style="overflow:visible;"/> + </clipPath> + <path class="st2085" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4169_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4170_"> + <use xlink:href="#SVGID_4169_" style="overflow:visible;"/> + </clipPath> + <path class="st2086" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4171_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4172_"> + <use xlink:href="#SVGID_4171_" style="overflow:visible;"/> + </clipPath> + <path class="st2087" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4173_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4174_"> + <use xlink:href="#SVGID_4173_" style="overflow:visible;"/> + </clipPath> + <path class="st2088" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4175_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4176_"> + <use xlink:href="#SVGID_4175_" style="overflow:visible;"/> + </clipPath> + <path class="st2089" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4177_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4178_"> + <use xlink:href="#SVGID_4177_" style="overflow:visible;"/> + </clipPath> + <path class="st2090" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4179_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4180_"> + <use xlink:href="#SVGID_4179_" style="overflow:visible;"/> + </clipPath> + <path class="st2091" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4181_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4182_"> + <use xlink:href="#SVGID_4181_" style="overflow:visible;"/> + </clipPath> + <path class="st2092" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4183_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4184_"> + <use xlink:href="#SVGID_4183_" style="overflow:visible;"/> + </clipPath> + <path class="st2093" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4185_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4186_"> + <use xlink:href="#SVGID_4185_" style="overflow:visible;"/> + </clipPath> + <path class="st2094" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4187_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4188_"> + <use xlink:href="#SVGID_4187_" style="overflow:visible;"/> + </clipPath> + <path class="st2095" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4189_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4190_"> + <use xlink:href="#SVGID_4189_" style="overflow:visible;"/> + </clipPath> + <path class="st2096" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4191_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4192_"> + <use xlink:href="#SVGID_4191_" style="overflow:visible;"/> + </clipPath> + <path class="st2097" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4193_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4194_"> + <use xlink:href="#SVGID_4193_" style="overflow:visible;"/> + </clipPath> + <path class="st2098" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4195_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4196_"> + <use xlink:href="#SVGID_4195_" style="overflow:visible;"/> + </clipPath> + <path class="st2099" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4197_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4198_"> + <use xlink:href="#SVGID_4197_" style="overflow:visible;"/> + </clipPath> + <path class="st2100" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4199_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4200_"> + <use xlink:href="#SVGID_4199_" style="overflow:visible;"/> + </clipPath> + <path class="st2101" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4201_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4202_"> + <use xlink:href="#SVGID_4201_" style="overflow:visible;"/> + </clipPath> + <path class="st2102" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4203_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4204_"> + <use xlink:href="#SVGID_4203_" style="overflow:visible;"/> + </clipPath> + <path class="st2103" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4205_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4206_"> + <use xlink:href="#SVGID_4205_" style="overflow:visible;"/> + </clipPath> + <path class="st2104" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4207_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4208_"> + <use xlink:href="#SVGID_4207_" style="overflow:visible;"/> + </clipPath> + <path class="st2105" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4209_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4210_"> + <use xlink:href="#SVGID_4209_" style="overflow:visible;"/> + </clipPath> + <path class="st2106" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4211_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4212_"> + <use xlink:href="#SVGID_4211_" style="overflow:visible;"/> + </clipPath> + <path class="st2107" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4213_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4214_"> + <use xlink:href="#SVGID_4213_" style="overflow:visible;"/> + </clipPath> + <path class="st2108" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4215_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4216_"> + <use xlink:href="#SVGID_4215_" style="overflow:visible;"/> + </clipPath> + <path class="st2109" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4217_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4218_"> + <use xlink:href="#SVGID_4217_" style="overflow:visible;"/> + </clipPath> + <path class="st2110" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4219_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4220_"> + <use xlink:href="#SVGID_4219_" style="overflow:visible;"/> + </clipPath> + <path class="st2111" d="M21.6,22.1L21.6,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4221_" d="M21.5,22.1C21.5,22.2,21.6,22.2,21.5,22.1c0.1,0.1,0.1,0,0.1,0C21.7,22.1,21.6,22.1,21.5,22.1 + C21.6,22.1,21.5,22.1,21.5,22.1"/> + </defs> + <clipPath id="SVGID_4222_"> + <use xlink:href="#SVGID_4221_" style="overflow:visible;"/> + </clipPath> + <path class="st2112" d="M21.6,22.1L21.6,22.1z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_4223_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4224_"> + <use xlink:href="#SVGID_4223_" style="overflow:visible;"/> + </clipPath> + <g class="st2113"> + <g> + <defs> + <path id="SVGID_4225_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4226_"> + <use xlink:href="#SVGID_4225_" style="overflow:visible;"/> + </clipPath> + <rect x="21.6" y="22" class="st2114" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4227_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4228_"> + <use xlink:href="#SVGID_4227_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2115" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4229_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4230_"> + <use xlink:href="#SVGID_4229_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2116" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4231_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4232_"> + <use xlink:href="#SVGID_4231_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2117" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4233_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4234_"> + <use xlink:href="#SVGID_4233_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2118" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4235_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4236_"> + <use xlink:href="#SVGID_4235_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2119" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4237_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4238_"> + <use xlink:href="#SVGID_4237_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2120" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4239_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4240_"> + <use xlink:href="#SVGID_4239_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2121" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4241_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4242_"> + <use xlink:href="#SVGID_4241_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2122" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4243_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4244_"> + <use xlink:href="#SVGID_4243_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2123" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4245_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4246_"> + <use xlink:href="#SVGID_4245_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2124" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4247_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4248_"> + <use xlink:href="#SVGID_4247_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2125" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4249_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4250_"> + <use xlink:href="#SVGID_4249_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2126" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4251_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4252_"> + <use xlink:href="#SVGID_4251_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2127" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4253_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4254_"> + <use xlink:href="#SVGID_4253_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2128" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4255_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4256_"> + <use xlink:href="#SVGID_4255_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2129" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4257_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4258_"> + <use xlink:href="#SVGID_4257_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2130" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4259_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4260_"> + <use xlink:href="#SVGID_4259_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2131" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4261_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4262_"> + <use xlink:href="#SVGID_4261_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2132" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4263_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4264_"> + <use xlink:href="#SVGID_4263_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2133" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4265_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4266_"> + <use xlink:href="#SVGID_4265_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2134" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4267_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4268_"> + <use xlink:href="#SVGID_4267_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2135" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4269_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4270_"> + <use xlink:href="#SVGID_4269_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2136" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4271_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4272_"> + <use xlink:href="#SVGID_4271_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2137" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4273_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4274_"> + <use xlink:href="#SVGID_4273_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2138" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4275_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4276_"> + <use xlink:href="#SVGID_4275_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2139" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4277_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4278_"> + <use xlink:href="#SVGID_4277_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2140" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4279_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4280_"> + <use xlink:href="#SVGID_4279_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2141" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4281_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4282_"> + <use xlink:href="#SVGID_4281_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2142" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4283_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4284_"> + <use xlink:href="#SVGID_4283_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2143" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4285_" d="M21.6,22.2C21.6,22.2,21.8,22.2,21.6,22.2C21.8,22.2,21.7,22.1,21.6,22.2C21.8,22,21.6,22,21.6,22.2 + C21.6,22,21.6,22.2,21.6,22.2"/> + </defs> + <clipPath id="SVGID_4286_"> + <use xlink:href="#SVGID_4285_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.6" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2839 21.7716)" class="st2144" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4287_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4288_"> + <use xlink:href="#SVGID_4287_" style="overflow:visible;"/> + </clipPath> + <path class="st2145" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4289_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4290_"> + <use xlink:href="#SVGID_4289_" style="overflow:visible;"/> + </clipPath> + <path class="st2146" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4291_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4292_"> + <use xlink:href="#SVGID_4291_" style="overflow:visible;"/> + </clipPath> + <path class="st2147" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4293_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4294_"> + <use xlink:href="#SVGID_4293_" style="overflow:visible;"/> + </clipPath> + <path class="st2148" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4295_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4296_"> + <use xlink:href="#SVGID_4295_" style="overflow:visible;"/> + </clipPath> + <path class="st2149" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4297_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4298_"> + <use xlink:href="#SVGID_4297_" style="overflow:visible;"/> + </clipPath> + <path class="st2150" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4299_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4300_"> + <use xlink:href="#SVGID_4299_" style="overflow:visible;"/> + </clipPath> + <path class="st2151" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4301_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4302_"> + <use xlink:href="#SVGID_4301_" style="overflow:visible;"/> + </clipPath> + <path class="st2152" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4303_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4304_"> + <use xlink:href="#SVGID_4303_" style="overflow:visible;"/> + </clipPath> + <path class="st2153" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4305_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4306_"> + <use xlink:href="#SVGID_4305_" style="overflow:visible;"/> + </clipPath> + <path class="st2154" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4307_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4308_"> + <use xlink:href="#SVGID_4307_" style="overflow:visible;"/> + </clipPath> + <path class="st2155" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4309_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4310_"> + <use xlink:href="#SVGID_4309_" style="overflow:visible;"/> + </clipPath> + <path class="st2156" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4311_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4312_"> + <use xlink:href="#SVGID_4311_" style="overflow:visible;"/> + </clipPath> + <path class="st2157" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4313_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4314_"> + <use xlink:href="#SVGID_4313_" style="overflow:visible;"/> + </clipPath> + <path class="st2158" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4315_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4316_"> + <use xlink:href="#SVGID_4315_" style="overflow:visible;"/> + </clipPath> + <path class="st2159" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4317_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4318_"> + <use xlink:href="#SVGID_4317_" style="overflow:visible;"/> + </clipPath> + <path class="st2160" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4319_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4320_"> + <use xlink:href="#SVGID_4319_" style="overflow:visible;"/> + </clipPath> + <path class="st2161" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4321_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4322_"> + <use xlink:href="#SVGID_4321_" style="overflow:visible;"/> + </clipPath> + <path class="st2162" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4323_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4324_"> + <use xlink:href="#SVGID_4323_" style="overflow:visible;"/> + </clipPath> + <path class="st2163" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4325_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4326_"> + <use xlink:href="#SVGID_4325_" style="overflow:visible;"/> + </clipPath> + <path class="st2164" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4327_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4328_"> + <use xlink:href="#SVGID_4327_" style="overflow:visible;"/> + </clipPath> + <path class="st2165" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4329_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4330_"> + <use xlink:href="#SVGID_4329_" style="overflow:visible;"/> + </clipPath> + <path class="st2166" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4331_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4332_"> + <use xlink:href="#SVGID_4331_" style="overflow:visible;"/> + </clipPath> + <path class="st2167" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4333_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4334_"> + <use xlink:href="#SVGID_4333_" style="overflow:visible;"/> + </clipPath> + <path class="st2168" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4335_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4336_"> + <use xlink:href="#SVGID_4335_" style="overflow:visible;"/> + </clipPath> + <path class="st2169" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4337_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4338_"> + <use xlink:href="#SVGID_4337_" style="overflow:visible;"/> + </clipPath> + <path class="st2170" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4339_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4340_"> + <use xlink:href="#SVGID_4339_" style="overflow:visible;"/> + </clipPath> + <path class="st2171" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4341_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4342_"> + <use xlink:href="#SVGID_4341_" style="overflow:visible;"/> + </clipPath> + <path class="st2172" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4343_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4344_"> + <use xlink:href="#SVGID_4343_" style="overflow:visible;"/> + </clipPath> + <path class="st2173" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4345_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4346_"> + <use xlink:href="#SVGID_4345_" style="overflow:visible;"/> + </clipPath> + <path class="st2174" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4347_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4348_"> + <use xlink:href="#SVGID_4347_" style="overflow:visible;"/> + </clipPath> + <path class="st2175" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4349_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4350_"> + <use xlink:href="#SVGID_4349_" style="overflow:visible;"/> + </clipPath> + <path class="st2176" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4351_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4352_"> + <use xlink:href="#SVGID_4351_" style="overflow:visible;"/> + </clipPath> + <path class="st2177" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4353_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4354_"> + <use xlink:href="#SVGID_4353_" style="overflow:visible;"/> + </clipPath> + <path class="st2178" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4355_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4356_"> + <use xlink:href="#SVGID_4355_" style="overflow:visible;"/> + </clipPath> + <path class="st2179" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4357_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4358_"> + <use xlink:href="#SVGID_4357_" style="overflow:visible;"/> + </clipPath> + <path class="st2180" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4359_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4360_"> + <use xlink:href="#SVGID_4359_" style="overflow:visible;"/> + </clipPath> + <path class="st2181" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4361_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4362_"> + <use xlink:href="#SVGID_4361_" style="overflow:visible;"/> + </clipPath> + <path class="st2182" d="M21.7,22.1L21.7,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4363_" d="M21.6,22.1C21.6,22.1,21.7,22.2,21.6,22.1c0.1,0.1,0.1,0,0.1,0C21.8,22.1,21.7,22,21.6,22.1 + C21.7,22,21.6,22.1,21.6,22.1"/> + </defs> + <clipPath id="SVGID_4364_"> + <use xlink:href="#SVGID_4363_" style="overflow:visible;"/> + </clipPath> + <path class="st2183" d="M21.7,22.1L21.7,22.1z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_4365_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4366_"> + <use xlink:href="#SVGID_4365_" style="overflow:visible;"/> + </clipPath> + <g class="st2184"> + <g> + <defs> + <path id="SVGID_4367_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4368_"> + <use xlink:href="#SVGID_4367_" style="overflow:visible;"/> + </clipPath> + <rect x="21.8" y="22" class="st2185" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4369_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4370_"> + <use xlink:href="#SVGID_4369_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2186" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4371_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4372_"> + <use xlink:href="#SVGID_4371_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2187" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4373_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4374_"> + <use xlink:href="#SVGID_4373_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2188" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4375_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4376_"> + <use xlink:href="#SVGID_4375_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2189" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4377_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4378_"> + <use xlink:href="#SVGID_4377_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2190" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4379_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4380_"> + <use xlink:href="#SVGID_4379_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2191" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4381_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4382_"> + <use xlink:href="#SVGID_4381_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2192" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4383_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4384_"> + <use xlink:href="#SVGID_4383_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2193" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4385_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4386_"> + <use xlink:href="#SVGID_4385_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2194" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4387_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4388_"> + <use xlink:href="#SVGID_4387_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2195" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4389_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4390_"> + <use xlink:href="#SVGID_4389_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2196" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4391_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4392_"> + <use xlink:href="#SVGID_4391_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2197" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4393_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4394_"> + <use xlink:href="#SVGID_4393_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2198" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4395_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4396_"> + <use xlink:href="#SVGID_4395_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2199" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4397_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4398_"> + <use xlink:href="#SVGID_4397_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2200" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4399_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4400_"> + <use xlink:href="#SVGID_4399_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2201" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4401_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4402_"> + <use xlink:href="#SVGID_4401_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2202" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4403_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4404_"> + <use xlink:href="#SVGID_4403_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2203" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4405_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4406_"> + <use xlink:href="#SVGID_4405_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2204" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4407_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4408_"> + <use xlink:href="#SVGID_4407_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2205" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4409_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4410_"> + <use xlink:href="#SVGID_4409_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2206" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4411_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4412_"> + <use xlink:href="#SVGID_4411_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2207" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4413_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4414_"> + <use xlink:href="#SVGID_4413_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2208" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4415_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4416_"> + <use xlink:href="#SVGID_4415_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2209" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4417_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4418_"> + <use xlink:href="#SVGID_4417_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2210" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4419_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4420_"> + <use xlink:href="#SVGID_4419_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2211" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4421_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4422_"> + <use xlink:href="#SVGID_4421_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2212" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4423_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4424_"> + <use xlink:href="#SVGID_4423_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2213" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4425_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4426_"> + <use xlink:href="#SVGID_4425_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2214" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4427_" d="M21.8,22.1C21.8,22.1,21.9,22.2,21.8,22.1C22,22.1,21.9,22,21.8,22.1C21.8,22,21.8,22,21.8,22.1 + C21.7,22,21.7,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4428_"> + <use xlink:href="#SVGID_4427_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.7" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2546 21.8424)" class="st2215" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4429_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4430_"> + <use xlink:href="#SVGID_4429_" style="overflow:visible;"/> + </clipPath> + <path class="st2216" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4431_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4432_"> + <use xlink:href="#SVGID_4431_" style="overflow:visible;"/> + </clipPath> + <path class="st2217" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4433_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4434_"> + <use xlink:href="#SVGID_4433_" style="overflow:visible;"/> + </clipPath> + <path class="st2218" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4435_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4436_"> + <use xlink:href="#SVGID_4435_" style="overflow:visible;"/> + </clipPath> + <path class="st2219" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4437_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4438_"> + <use xlink:href="#SVGID_4437_" style="overflow:visible;"/> + </clipPath> + <path class="st2220" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4439_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4440_"> + <use xlink:href="#SVGID_4439_" style="overflow:visible;"/> + </clipPath> + <path class="st2221" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4441_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4442_"> + <use xlink:href="#SVGID_4441_" style="overflow:visible;"/> + </clipPath> + <path class="st2222" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4443_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4444_"> + <use xlink:href="#SVGID_4443_" style="overflow:visible;"/> + </clipPath> + <path class="st2223" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4445_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4446_"> + <use xlink:href="#SVGID_4445_" style="overflow:visible;"/> + </clipPath> + <path class="st2224" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4447_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4448_"> + <use xlink:href="#SVGID_4447_" style="overflow:visible;"/> + </clipPath> + <path class="st2225" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4449_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4450_"> + <use xlink:href="#SVGID_4449_" style="overflow:visible;"/> + </clipPath> + <path class="st2226" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4451_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4452_"> + <use xlink:href="#SVGID_4451_" style="overflow:visible;"/> + </clipPath> + <path class="st2227" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4453_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4454_"> + <use xlink:href="#SVGID_4453_" style="overflow:visible;"/> + </clipPath> + <path class="st2228" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4455_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4456_"> + <use xlink:href="#SVGID_4455_" style="overflow:visible;"/> + </clipPath> + <path class="st2229" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4457_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4458_"> + <use xlink:href="#SVGID_4457_" style="overflow:visible;"/> + </clipPath> + <path class="st2230" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4459_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4460_"> + <use xlink:href="#SVGID_4459_" style="overflow:visible;"/> + </clipPath> + <path class="st2231" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4461_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4462_"> + <use xlink:href="#SVGID_4461_" style="overflow:visible;"/> + </clipPath> + <path class="st2232" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4463_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4464_"> + <use xlink:href="#SVGID_4463_" style="overflow:visible;"/> + </clipPath> + <path class="st2233" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4465_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4466_"> + <use xlink:href="#SVGID_4465_" style="overflow:visible;"/> + </clipPath> + <path class="st2234" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4467_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4468_"> + <use xlink:href="#SVGID_4467_" style="overflow:visible;"/> + </clipPath> + <path class="st2235" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4469_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4470_"> + <use xlink:href="#SVGID_4469_" style="overflow:visible;"/> + </clipPath> + <path class="st2236" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4471_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4472_"> + <use xlink:href="#SVGID_4471_" style="overflow:visible;"/> + </clipPath> + <path class="st2237" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4473_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4474_"> + <use xlink:href="#SVGID_4473_" style="overflow:visible;"/> + </clipPath> + <path class="st2238" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4475_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4476_"> + <use xlink:href="#SVGID_4475_" style="overflow:visible;"/> + </clipPath> + <path class="st2239" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4477_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4478_"> + <use xlink:href="#SVGID_4477_" style="overflow:visible;"/> + </clipPath> + <path class="st2240" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4479_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4480_"> + <use xlink:href="#SVGID_4479_" style="overflow:visible;"/> + </clipPath> + <path class="st2241" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4481_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4482_"> + <use xlink:href="#SVGID_4481_" style="overflow:visible;"/> + </clipPath> + <path class="st2242" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4483_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4484_"> + <use xlink:href="#SVGID_4483_" style="overflow:visible;"/> + </clipPath> + <path class="st2243" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4485_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4486_"> + <use xlink:href="#SVGID_4485_" style="overflow:visible;"/> + </clipPath> + <path class="st2244" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4487_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4488_"> + <use xlink:href="#SVGID_4487_" style="overflow:visible;"/> + </clipPath> + <path class="st2245" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4489_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4490_"> + <use xlink:href="#SVGID_4489_" style="overflow:visible;"/> + </clipPath> + <path class="st2246" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4491_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4492_"> + <use xlink:href="#SVGID_4491_" style="overflow:visible;"/> + </clipPath> + <path class="st2247" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4493_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4494_"> + <use xlink:href="#SVGID_4493_" style="overflow:visible;"/> + </clipPath> + <path class="st2248" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4495_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4496_"> + <use xlink:href="#SVGID_4495_" style="overflow:visible;"/> + </clipPath> + <path class="st2249" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4497_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4498_"> + <use xlink:href="#SVGID_4497_" style="overflow:visible;"/> + </clipPath> + <path class="st2250" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4499_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4500_"> + <use xlink:href="#SVGID_4499_" style="overflow:visible;"/> + </clipPath> + <path class="st2251" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4501_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4502_"> + <use xlink:href="#SVGID_4501_" style="overflow:visible;"/> + </clipPath> + <path class="st2252" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4503_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4504_"> + <use xlink:href="#SVGID_4503_" style="overflow:visible;"/> + </clipPath> + <path class="st2253" d="M21.8,22.1L21.8,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4505_" d="M21.8,22.1C21.8,22.1,21.8,22.2,21.8,22.1c0.1,0.1,0.1,0,0.1,0C21.9,22,21.9,22,21.8,22.1 + C21.8,22,21.8,22,21.8,22.1"/> + </defs> + <clipPath id="SVGID_4506_"> + <use xlink:href="#SVGID_4505_" style="overflow:visible;"/> + </clipPath> + <path class="st2254" d="M21.8,22.1L21.8,22.1z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_4507_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4508_"> + <use xlink:href="#SVGID_4507_" style="overflow:visible;"/> + </clipPath> + <g class="st2255"> + <g> + <defs> + <path id="SVGID_4509_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4510_"> + <use xlink:href="#SVGID_4509_" style="overflow:visible;"/> + </clipPath> + <rect x="21.9" y="22.1" class="st2256" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4511_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4512_"> + <use xlink:href="#SVGID_4511_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2257" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4513_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4514_"> + <use xlink:href="#SVGID_4513_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2258" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4515_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4516_"> + <use xlink:href="#SVGID_4515_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2259" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4517_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4518_"> + <use xlink:href="#SVGID_4517_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2260" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4519_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4520_"> + <use xlink:href="#SVGID_4519_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2261" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4521_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4522_"> + <use xlink:href="#SVGID_4521_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2262" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4523_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4524_"> + <use xlink:href="#SVGID_4523_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2263" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4525_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4526_"> + <use xlink:href="#SVGID_4525_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2264" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4527_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4528_"> + <use xlink:href="#SVGID_4527_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2265" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4529_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4530_"> + <use xlink:href="#SVGID_4529_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2266" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4531_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4532_"> + <use xlink:href="#SVGID_4531_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2267" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4533_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4534_"> + <use xlink:href="#SVGID_4533_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2268" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4535_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4536_"> + <use xlink:href="#SVGID_4535_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2269" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4537_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4538_"> + <use xlink:href="#SVGID_4537_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2270" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4539_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4540_"> + <use xlink:href="#SVGID_4539_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2271" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4541_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4542_"> + <use xlink:href="#SVGID_4541_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2272" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4543_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4544_"> + <use xlink:href="#SVGID_4543_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2273" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4545_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4546_"> + <use xlink:href="#SVGID_4545_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2274" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4547_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4548_"> + <use xlink:href="#SVGID_4547_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2275" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4549_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4550_"> + <use xlink:href="#SVGID_4549_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2276" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4551_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4552_"> + <use xlink:href="#SVGID_4551_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2277" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4553_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4554_"> + <use xlink:href="#SVGID_4553_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2278" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4555_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4556_"> + <use xlink:href="#SVGID_4555_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2279" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4557_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4558_"> + <use xlink:href="#SVGID_4557_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2280" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4559_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4560_"> + <use xlink:href="#SVGID_4559_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2281" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4561_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4562_"> + <use xlink:href="#SVGID_4561_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2282" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4563_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4564_"> + <use xlink:href="#SVGID_4563_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2283" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4565_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4566_"> + <use xlink:href="#SVGID_4565_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2284" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4567_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4568_"> + <use xlink:href="#SVGID_4567_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2285" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4569_" d="M21.9,22.2C22,22.2,22,22.2,21.9,22.2C22.1,22.2,22,22.1,21.9,22.2C22,22.1,22,22.1,21.9,22.2 + C22,22.1,22,22.1,21.9,22.2"/> + </defs> + <clipPath id="SVGID_4570_"> + <use xlink:href="#SVGID_4569_" style="overflow:visible;"/> + </clipPath> + + <rect x="21.9" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.196 21.9837)" class="st2286" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4571_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4572_"> + <use xlink:href="#SVGID_4571_" style="overflow:visible;"/> + </clipPath> + <path class="st2287" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4573_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4574_"> + <use xlink:href="#SVGID_4573_" style="overflow:visible;"/> + </clipPath> + <path class="st2288" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4575_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4576_"> + <use xlink:href="#SVGID_4575_" style="overflow:visible;"/> + </clipPath> + <path class="st2289" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4577_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4578_"> + <use xlink:href="#SVGID_4577_" style="overflow:visible;"/> + </clipPath> + <path class="st2290" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4579_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4580_"> + <use xlink:href="#SVGID_4579_" style="overflow:visible;"/> + </clipPath> + <path class="st2291" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4581_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4582_"> + <use xlink:href="#SVGID_4581_" style="overflow:visible;"/> + </clipPath> + <path class="st2292" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4583_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4584_"> + <use xlink:href="#SVGID_4583_" style="overflow:visible;"/> + </clipPath> + <path class="st2293" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4585_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4586_"> + <use xlink:href="#SVGID_4585_" style="overflow:visible;"/> + </clipPath> + <path class="st2294" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4587_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4588_"> + <use xlink:href="#SVGID_4587_" style="overflow:visible;"/> + </clipPath> + <path class="st2295" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4589_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4590_"> + <use xlink:href="#SVGID_4589_" style="overflow:visible;"/> + </clipPath> + <path class="st2296" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4591_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4592_"> + <use xlink:href="#SVGID_4591_" style="overflow:visible;"/> + </clipPath> + <path class="st2297" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4593_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4594_"> + <use xlink:href="#SVGID_4593_" style="overflow:visible;"/> + </clipPath> + <path class="st2298" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4595_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4596_"> + <use xlink:href="#SVGID_4595_" style="overflow:visible;"/> + </clipPath> + <path class="st2299" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4597_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4598_"> + <use xlink:href="#SVGID_4597_" style="overflow:visible;"/> + </clipPath> + <path class="st2300" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4599_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4600_"> + <use xlink:href="#SVGID_4599_" style="overflow:visible;"/> + </clipPath> + <path class="st2301" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4601_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4602_"> + <use xlink:href="#SVGID_4601_" style="overflow:visible;"/> + </clipPath> + <path class="st2302" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4603_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4604_"> + <use xlink:href="#SVGID_4603_" style="overflow:visible;"/> + </clipPath> + <path class="st2303" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4605_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4606_"> + <use xlink:href="#SVGID_4605_" style="overflow:visible;"/> + </clipPath> + <path class="st2304" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4607_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4608_"> + <use xlink:href="#SVGID_4607_" style="overflow:visible;"/> + </clipPath> + <path class="st2305" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4609_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4610_"> + <use xlink:href="#SVGID_4609_" style="overflow:visible;"/> + </clipPath> + <path class="st2306" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4611_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4612_"> + <use xlink:href="#SVGID_4611_" style="overflow:visible;"/> + </clipPath> + <path class="st2307" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4613_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4614_"> + <use xlink:href="#SVGID_4613_" style="overflow:visible;"/> + </clipPath> + <path class="st2308" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4615_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4616_"> + <use xlink:href="#SVGID_4615_" style="overflow:visible;"/> + </clipPath> + <path class="st2309" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4617_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4618_"> + <use xlink:href="#SVGID_4617_" style="overflow:visible;"/> + </clipPath> + <path class="st2310" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4619_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4620_"> + <use xlink:href="#SVGID_4619_" style="overflow:visible;"/> + </clipPath> + <path class="st2311" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4621_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4622_"> + <use xlink:href="#SVGID_4621_" style="overflow:visible;"/> + </clipPath> + <path class="st2312" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4623_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4624_"> + <use xlink:href="#SVGID_4623_" style="overflow:visible;"/> + </clipPath> + <path class="st2313" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4625_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4626_"> + <use xlink:href="#SVGID_4625_" style="overflow:visible;"/> + </clipPath> + <path class="st2314" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4627_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4628_"> + <use xlink:href="#SVGID_4627_" style="overflow:visible;"/> + </clipPath> + <path class="st2315" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4629_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4630_"> + <use xlink:href="#SVGID_4629_" style="overflow:visible;"/> + </clipPath> + <path class="st2316" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4631_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4632_"> + <use xlink:href="#SVGID_4631_" style="overflow:visible;"/> + </clipPath> + <path class="st2317" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4633_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4634_"> + <use xlink:href="#SVGID_4633_" style="overflow:visible;"/> + </clipPath> + <path class="st2318" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4635_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4636_"> + <use xlink:href="#SVGID_4635_" style="overflow:visible;"/> + </clipPath> + <path class="st2319" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4637_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4638_"> + <use xlink:href="#SVGID_4637_" style="overflow:visible;"/> + </clipPath> + <path class="st2320" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4639_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4640_"> + <use xlink:href="#SVGID_4639_" style="overflow:visible;"/> + </clipPath> + <path class="st2321" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4641_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4642_"> + <use xlink:href="#SVGID_4641_" style="overflow:visible;"/> + </clipPath> + <path class="st2322" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4643_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4644_"> + <use xlink:href="#SVGID_4643_" style="overflow:visible;"/> + </clipPath> + <path class="st2323" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4645_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4646_"> + <use xlink:href="#SVGID_4645_" style="overflow:visible;"/> + </clipPath> + <path class="st2324" d="M22,22.1L22,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4647_" d="M21.9,22.1C21.9,22.2,21.9,22.2,21.9,22.1C22,22.2,22,22.1,21.9,22.1C22,22.1,22,22.1,21.9,22.1 + C22,22.1,22,22.1,21.9,22.1"/> + </defs> + <clipPath id="SVGID_4648_"> + <use xlink:href="#SVGID_4647_" style="overflow:visible;"/> + </clipPath> + <path class="st2325" d="M22,22.1L22,22.1z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_4649_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4650_"> + <use xlink:href="#SVGID_4649_" style="overflow:visible;"/> + </clipPath> + <g class="st2326"> + <g> + <defs> + <path id="SVGID_4651_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4652_"> + <use xlink:href="#SVGID_4651_" style="overflow:visible;"/> + </clipPath> + <rect x="22" y="22.1" class="st2327" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4653_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4654_"> + <use xlink:href="#SVGID_4653_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2328" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4655_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4656_"> + <use xlink:href="#SVGID_4655_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2329" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4657_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4658_"> + <use xlink:href="#SVGID_4657_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2330" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4659_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4660_"> + <use xlink:href="#SVGID_4659_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2331" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4661_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4662_"> + <use xlink:href="#SVGID_4661_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2332" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4663_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4664_"> + <use xlink:href="#SVGID_4663_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2333" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4665_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4666_"> + <use xlink:href="#SVGID_4665_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2334" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4667_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4668_"> + <use xlink:href="#SVGID_4667_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2335" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4669_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4670_"> + <use xlink:href="#SVGID_4669_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2336" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4671_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4672_"> + <use xlink:href="#SVGID_4671_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2337" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4673_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4674_"> + <use xlink:href="#SVGID_4673_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2338" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4675_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4676_"> + <use xlink:href="#SVGID_4675_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2339" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4677_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4678_"> + <use xlink:href="#SVGID_4677_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2340" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4679_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4680_"> + <use xlink:href="#SVGID_4679_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2341" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4681_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4682_"> + <use xlink:href="#SVGID_4681_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2342" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4683_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4684_"> + <use xlink:href="#SVGID_4683_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2343" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4685_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4686_"> + <use xlink:href="#SVGID_4685_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2344" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4687_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4688_"> + <use xlink:href="#SVGID_4687_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2345" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4689_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4690_"> + <use xlink:href="#SVGID_4689_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2346" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4691_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4692_"> + <use xlink:href="#SVGID_4691_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2347" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4693_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4694_"> + <use xlink:href="#SVGID_4693_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2348" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4695_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4696_"> + <use xlink:href="#SVGID_4695_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2349" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4697_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4698_"> + <use xlink:href="#SVGID_4697_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2350" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4699_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4700_"> + <use xlink:href="#SVGID_4699_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2351" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4701_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4702_"> + <use xlink:href="#SVGID_4701_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2352" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4703_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4704_"> + <use xlink:href="#SVGID_4703_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2353" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4705_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4706_"> + <use xlink:href="#SVGID_4705_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2354" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4707_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4708_"> + <use xlink:href="#SVGID_4707_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2355" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4709_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4710_"> + <use xlink:href="#SVGID_4709_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2356" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4711_" d="M22.1,22.2C22.1,22.2,22.2,22.2,22.1,22.2C22.3,22.2,22.2,22.2,22.1,22.2 + C22.2,22,22.1,22.1,22.1,22.2C22.1,22.1,22,22.2,22.1,22.2"/> + </defs> + <clipPath id="SVGID_4712_"> + <use xlink:href="#SVGID_4711_" style="overflow:visible;"/> + </clipPath> + + <rect x="22" y="22" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.1667 22.0544)" class="st2357" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4713_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4714_"> + <use xlink:href="#SVGID_4713_" style="overflow:visible;"/> + </clipPath> + <path class="st2358" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4715_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4716_"> + <use xlink:href="#SVGID_4715_" style="overflow:visible;"/> + </clipPath> + <path class="st2359" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4717_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4718_"> + <use xlink:href="#SVGID_4717_" style="overflow:visible;"/> + </clipPath> + <path class="st2360" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4719_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4720_"> + <use xlink:href="#SVGID_4719_" style="overflow:visible;"/> + </clipPath> + <path class="st2361" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4721_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4722_"> + <use xlink:href="#SVGID_4721_" style="overflow:visible;"/> + </clipPath> + <path class="st2362" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4723_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4724_"> + <use xlink:href="#SVGID_4723_" style="overflow:visible;"/> + </clipPath> + <path class="st2363" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4725_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4726_"> + <use xlink:href="#SVGID_4725_" style="overflow:visible;"/> + </clipPath> + <path class="st2364" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4727_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4728_"> + <use xlink:href="#SVGID_4727_" style="overflow:visible;"/> + </clipPath> + <path class="st2365" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4729_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4730_"> + <use xlink:href="#SVGID_4729_" style="overflow:visible;"/> + </clipPath> + <path class="st2366" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4731_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4732_"> + <use xlink:href="#SVGID_4731_" style="overflow:visible;"/> + </clipPath> + <path class="st2367" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4733_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4734_"> + <use xlink:href="#SVGID_4733_" style="overflow:visible;"/> + </clipPath> + <path class="st2368" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4735_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4736_"> + <use xlink:href="#SVGID_4735_" style="overflow:visible;"/> + </clipPath> + <path class="st2369" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4737_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4738_"> + <use xlink:href="#SVGID_4737_" style="overflow:visible;"/> + </clipPath> + <path class="st2370" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4739_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4740_"> + <use xlink:href="#SVGID_4739_" style="overflow:visible;"/> + </clipPath> + <path class="st2371" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4741_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4742_"> + <use xlink:href="#SVGID_4741_" style="overflow:visible;"/> + </clipPath> + <path class="st2372" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4743_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4744_"> + <use xlink:href="#SVGID_4743_" style="overflow:visible;"/> + </clipPath> + <path class="st2373" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4745_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4746_"> + <use xlink:href="#SVGID_4745_" style="overflow:visible;"/> + </clipPath> + <path class="st2374" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4747_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4748_"> + <use xlink:href="#SVGID_4747_" style="overflow:visible;"/> + </clipPath> + <path class="st2375" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4749_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4750_"> + <use xlink:href="#SVGID_4749_" style="overflow:visible;"/> + </clipPath> + <path class="st2376" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4751_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4752_"> + <use xlink:href="#SVGID_4751_" style="overflow:visible;"/> + </clipPath> + <path class="st2377" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4753_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4754_"> + <use xlink:href="#SVGID_4753_" style="overflow:visible;"/> + </clipPath> + <path class="st2378" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4755_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4756_"> + <use xlink:href="#SVGID_4755_" style="overflow:visible;"/> + </clipPath> + <path class="st2379" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4757_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4758_"> + <use xlink:href="#SVGID_4757_" style="overflow:visible;"/> + </clipPath> + <path class="st2380" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4759_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4760_"> + <use xlink:href="#SVGID_4759_" style="overflow:visible;"/> + </clipPath> + <path class="st2381" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4761_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4762_"> + <use xlink:href="#SVGID_4761_" style="overflow:visible;"/> + </clipPath> + <path class="st2382" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4763_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4764_"> + <use xlink:href="#SVGID_4763_" style="overflow:visible;"/> + </clipPath> + <path class="st2383" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4765_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4766_"> + <use xlink:href="#SVGID_4765_" style="overflow:visible;"/> + </clipPath> + <path class="st2384" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4767_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4768_"> + <use xlink:href="#SVGID_4767_" style="overflow:visible;"/> + </clipPath> + <path class="st2385" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4769_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4770_"> + <use xlink:href="#SVGID_4769_" style="overflow:visible;"/> + </clipPath> + <path class="st2386" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4771_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4772_"> + <use xlink:href="#SVGID_4771_" style="overflow:visible;"/> + </clipPath> + <path class="st2387" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4773_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4774_"> + <use xlink:href="#SVGID_4773_" style="overflow:visible;"/> + </clipPath> + <path class="st2388" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4775_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4776_"> + <use xlink:href="#SVGID_4775_" style="overflow:visible;"/> + </clipPath> + <path class="st2389" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4777_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4778_"> + <use xlink:href="#SVGID_4777_" style="overflow:visible;"/> + </clipPath> + <path class="st2390" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4779_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4780_"> + <use xlink:href="#SVGID_4779_" style="overflow:visible;"/> + </clipPath> + <path class="st2391" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4781_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4782_"> + <use xlink:href="#SVGID_4781_" style="overflow:visible;"/> + </clipPath> + <path class="st2392" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4783_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4784_"> + <use xlink:href="#SVGID_4783_" style="overflow:visible;"/> + </clipPath> + <path class="st2393" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4785_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4786_"> + <use xlink:href="#SVGID_4785_" style="overflow:visible;"/> + </clipPath> + <path class="st2394" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4787_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4788_"> + <use xlink:href="#SVGID_4787_" style="overflow:visible;"/> + </clipPath> + <path class="st2395" d="M22.1,22.1L22.1,22.1z"/> + </g> + <g> + <defs> + <path id="SVGID_4789_" d="M22,22.2C22,22.2,22.1,22.2,22,22.2c0.1,0.1,0.1,0,0.1,0C22.2,22.1,22.1,22.1,22,22.2 + C22.1,22.1,22,22.1,22,22.2"/> + </defs> + <clipPath id="SVGID_4790_"> + <use xlink:href="#SVGID_4789_" style="overflow:visible;"/> + </clipPath> + <path class="st2396" d="M22.1,22.1L22.1,22.1z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_4791_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4792_"> + <use xlink:href="#SVGID_4791_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2397" points="22.4,21.8 22.4,22 22.3,21.9 "/> + </g> + <g> + <defs> + <path id="SVGID_4793_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4794_"> + <use xlink:href="#SVGID_4793_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2398" points="22.5,22.1 22.2,21.8 22.5,21.6 "/> + </g> + <g> + <defs> + <path id="SVGID_4795_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4796_"> + <use xlink:href="#SVGID_4795_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2399" points="22.2,21.7 22.4,21.7 22.3,21.8 "/> + </g> + <g> + <defs> + <path id="SVGID_4797_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4798_"> + <use xlink:href="#SVGID_4797_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2400" points="22.3,22 22.1,21.7 22.5,21.7 "/> + </g> + <g> + <defs> + <path id="SVGID_4799_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4800_"> + <use xlink:href="#SVGID_4799_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2401" points="22.2,21.9 22.2,21.7 22.3,21.8 "/> + </g> + <g> + <defs> + <path id="SVGID_4801_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4802_"> + <use xlink:href="#SVGID_4801_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2402" points="22.1,22.1 22.1,21.6 22.4,21.9 "/> + </g> + <g> + <defs> + <path id="SVGID_4803_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4804_"> + <use xlink:href="#SVGID_4803_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2403" points="22.4,22 22.2,22 22.3,21.9 "/> + </g> + <g> + <defs> + <path id="SVGID_4805_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4806_"> + <use xlink:href="#SVGID_4805_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2404" points="22.5,22 22.1,22 22.3,21.8 "/> + </g> + <g> + <defs> + <path id="SVGID_4807_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4808_"> + <use xlink:href="#SVGID_4807_" style="overflow:visible;"/> + </clipPath> + <g class="st2405"> + <g> + <defs> + <path id="SVGID_4809_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4810_"> + <use xlink:href="#SVGID_4809_" style="overflow:visible;"/> + </clipPath> + <rect x="22.3" y="21.8" class="st2406" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_4811_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4812_"> + <use xlink:href="#SVGID_4811_" style="overflow:visible;"/> + </clipPath> + <path class="st2407" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4813_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4814_"> + <use xlink:href="#SVGID_4813_" style="overflow:visible;"/> + </clipPath> + <path class="st2408" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4815_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4816_"> + <use xlink:href="#SVGID_4815_" style="overflow:visible;"/> + </clipPath> + <path class="st2409" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4817_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4818_"> + <use xlink:href="#SVGID_4817_" style="overflow:visible;"/> + </clipPath> + <path class="st2410" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4819_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4820_"> + <use xlink:href="#SVGID_4819_" style="overflow:visible;"/> + </clipPath> + <path class="st2411" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4821_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4822_"> + <use xlink:href="#SVGID_4821_" style="overflow:visible;"/> + </clipPath> + <path class="st2412" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4823_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4824_"> + <use xlink:href="#SVGID_4823_" style="overflow:visible;"/> + </clipPath> + <path class="st2413" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4825_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4826_"> + <use xlink:href="#SVGID_4825_" style="overflow:visible;"/> + </clipPath> + <path class="st2414" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4827_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4828_"> + <use xlink:href="#SVGID_4827_" style="overflow:visible;"/> + </clipPath> + <path class="st2415" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4829_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4830_"> + <use xlink:href="#SVGID_4829_" style="overflow:visible;"/> + </clipPath> + <path class="st2416" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4831_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4832_"> + <use xlink:href="#SVGID_4831_" style="overflow:visible;"/> + </clipPath> + <path class="st2417" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4833_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4834_"> + <use xlink:href="#SVGID_4833_" style="overflow:visible;"/> + </clipPath> + <path class="st2418" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4835_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4836_"> + <use xlink:href="#SVGID_4835_" style="overflow:visible;"/> + </clipPath> + <path class="st2419" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4837_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4838_"> + <use xlink:href="#SVGID_4837_" style="overflow:visible;"/> + </clipPath> + <path class="st2420" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4839_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4840_"> + <use xlink:href="#SVGID_4839_" style="overflow:visible;"/> + </clipPath> + <path class="st2421" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4841_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4842_"> + <use xlink:href="#SVGID_4841_" style="overflow:visible;"/> + </clipPath> + <path class="st2422" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4843_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4844_"> + <use xlink:href="#SVGID_4843_" style="overflow:visible;"/> + </clipPath> + <path class="st2423" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4845_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4846_"> + <use xlink:href="#SVGID_4845_" style="overflow:visible;"/> + </clipPath> + <path class="st2424" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4847_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4848_"> + <use xlink:href="#SVGID_4847_" style="overflow:visible;"/> + </clipPath> + <path class="st2425" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4849_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4850_"> + <use xlink:href="#SVGID_4849_" style="overflow:visible;"/> + </clipPath> + <path class="st2426" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4851_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4852_"> + <use xlink:href="#SVGID_4851_" style="overflow:visible;"/> + </clipPath> + <path class="st2427" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4853_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4854_"> + <use xlink:href="#SVGID_4853_" style="overflow:visible;"/> + </clipPath> + <path class="st2428" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4855_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4856_"> + <use xlink:href="#SVGID_4855_" style="overflow:visible;"/> + </clipPath> + <path class="st2429" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4857_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4858_"> + <use xlink:href="#SVGID_4857_" style="overflow:visible;"/> + </clipPath> + <path class="st2430" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4859_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4860_"> + <use xlink:href="#SVGID_4859_" style="overflow:visible;"/> + </clipPath> + <path class="st2431" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4861_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4862_"> + <use xlink:href="#SVGID_4861_" style="overflow:visible;"/> + </clipPath> + <path class="st2432" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4863_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4864_"> + <use xlink:href="#SVGID_4863_" style="overflow:visible;"/> + </clipPath> + <path class="st2433" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4865_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4866_"> + <use xlink:href="#SVGID_4865_" style="overflow:visible;"/> + </clipPath> + <path class="st2434" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4867_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4868_"> + <use xlink:href="#SVGID_4867_" style="overflow:visible;"/> + </clipPath> + <path class="st2435" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4869_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4870_"> + <use xlink:href="#SVGID_4869_" style="overflow:visible;"/> + </clipPath> + <path class="st2436" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4871_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4872_"> + <use xlink:href="#SVGID_4871_" style="overflow:visible;"/> + </clipPath> + <path class="st2437" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4873_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4874_"> + <use xlink:href="#SVGID_4873_" style="overflow:visible;"/> + </clipPath> + <path class="st2438" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4875_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4876_"> + <use xlink:href="#SVGID_4875_" style="overflow:visible;"/> + </clipPath> + <path class="st2439" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4877_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4878_"> + <use xlink:href="#SVGID_4877_" style="overflow:visible;"/> + </clipPath> + <path class="st2440" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4879_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4880_"> + <use xlink:href="#SVGID_4879_" style="overflow:visible;"/> + </clipPath> + <path class="st2441" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4881_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4882_"> + <use xlink:href="#SVGID_4881_" style="overflow:visible;"/> + </clipPath> + <path class="st2442" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4883_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4884_"> + <use xlink:href="#SVGID_4883_" style="overflow:visible;"/> + </clipPath> + <path class="st2443" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4885_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4886_"> + <use xlink:href="#SVGID_4885_" style="overflow:visible;"/> + </clipPath> + <path class="st2444" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4887_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4888_"> + <use xlink:href="#SVGID_4887_" style="overflow:visible;"/> + </clipPath> + <path class="st2445" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4889_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4890_"> + <use xlink:href="#SVGID_4889_" style="overflow:visible;"/> + </clipPath> + <path class="st2446" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4891_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4892_"> + <use xlink:href="#SVGID_4891_" style="overflow:visible;"/> + </clipPath> + <path class="st2447" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4893_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4894_"> + <use xlink:href="#SVGID_4893_" style="overflow:visible;"/> + </clipPath> + <path class="st2448" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4895_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4896_"> + <use xlink:href="#SVGID_4895_" style="overflow:visible;"/> + </clipPath> + <path class="st2449" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4897_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4898_"> + <use xlink:href="#SVGID_4897_" style="overflow:visible;"/> + </clipPath> + <path class="st2450" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4899_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4900_"> + <use xlink:href="#SVGID_4899_" style="overflow:visible;"/> + </clipPath> + <path class="st2451" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4901_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4902_"> + <use xlink:href="#SVGID_4901_" style="overflow:visible;"/> + </clipPath> + <path class="st2452" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4903_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4904_"> + <use xlink:href="#SVGID_4903_" style="overflow:visible;"/> + </clipPath> + <path class="st2453" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4905_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4906_"> + <use xlink:href="#SVGID_4905_" style="overflow:visible;"/> + </clipPath> + <path class="st2454" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4907_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4908_"> + <use xlink:href="#SVGID_4907_" style="overflow:visible;"/> + </clipPath> + <path class="st2455" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4909_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4910_"> + <use xlink:href="#SVGID_4909_" style="overflow:visible;"/> + </clipPath> + <path class="st2456" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4911_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4912_"> + <use xlink:href="#SVGID_4911_" style="overflow:visible;"/> + </clipPath> + <path class="st2457" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4913_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4914_"> + <use xlink:href="#SVGID_4913_" style="overflow:visible;"/> + </clipPath> + <path class="st2458" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4915_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4916_"> + <use xlink:href="#SVGID_4915_" style="overflow:visible;"/> + </clipPath> + <path class="st2459" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4917_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4918_"> + <use xlink:href="#SVGID_4917_" style="overflow:visible;"/> + </clipPath> + <path class="st2460" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4919_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4920_"> + <use xlink:href="#SVGID_4919_" style="overflow:visible;"/> + </clipPath> + <path class="st2461" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4921_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4922_"> + <use xlink:href="#SVGID_4921_" style="overflow:visible;"/> + </clipPath> + <path class="st2462" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4923_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4924_"> + <use xlink:href="#SVGID_4923_" style="overflow:visible;"/> + </clipPath> + <path class="st2463" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4925_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4926_"> + <use xlink:href="#SVGID_4925_" style="overflow:visible;"/> + </clipPath> + <path class="st2464" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4927_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4928_"> + <use xlink:href="#SVGID_4927_" style="overflow:visible;"/> + </clipPath> + <path class="st2465" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4929_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4930_"> + <use xlink:href="#SVGID_4929_" style="overflow:visible;"/> + </clipPath> + <path class="st2466" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4931_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4932_"> + <use xlink:href="#SVGID_4931_" style="overflow:visible;"/> + </clipPath> + <path class="st2467" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4933_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4934_"> + <use xlink:href="#SVGID_4933_" style="overflow:visible;"/> + </clipPath> + <path class="st2468" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4935_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4936_"> + <use xlink:href="#SVGID_4935_" style="overflow:visible;"/> + </clipPath> + <path class="st2469" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4937_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4938_"> + <use xlink:href="#SVGID_4937_" style="overflow:visible;"/> + </clipPath> + <path class="st2470" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4939_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4940_"> + <use xlink:href="#SVGID_4939_" style="overflow:visible;"/> + </clipPath> + <path class="st2471" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4941_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4942_"> + <use xlink:href="#SVGID_4941_" style="overflow:visible;"/> + </clipPath> + <path class="st2472" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4943_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4944_"> + <use xlink:href="#SVGID_4943_" style="overflow:visible;"/> + </clipPath> + <path class="st2473" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4945_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4946_"> + <use xlink:href="#SVGID_4945_" style="overflow:visible;"/> + </clipPath> + <path class="st2474" d="M22.3,21.8L22.3,21.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4947_" d="M22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9C22.3,21.8,22.3,21.8,22.3,21.9"/> + </defs> + <clipPath id="SVGID_4948_"> + <use xlink:href="#SVGID_4947_" style="overflow:visible;"/> + </clipPath> + <path class="st2475" d="M22.3,21.8L22.3,21.8z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_4949_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4950_"> + <use xlink:href="#SVGID_4949_" style="overflow:visible;"/> + </clipPath> + <polyline class="st2476" points="24.5,25.9 25.3,24.4 26.1,25.9 25.3,25.7 24.5,25.9 "/> + </g> + <g> + <defs> + <path id="SVGID_4951_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4952_"> + <use xlink:href="#SVGID_4951_" style="overflow:visible;"/> + </clipPath> + <path class="st2477" d="M24.5,26l0.8-1.5l0.8,1.5c-0.3-0.1-0.8-0.2-0.8-0.2S24.8,25.9,24.5,26z M25.3,24.5l-0.8,1.4 + c0.2-0.1,0.7-0.2,0.8-0.2s0.6,0.2,0.8,0.2L25.3,24.5z"/> + </g> + <g> + <defs> + <path id="SVGID_4953_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4954_"> + <use xlink:href="#SVGID_4953_" style="overflow:visible;"/> + </clipPath> + <polyline class="st2478" points="26.1,22.8 25.3,24.3 24.5,22.8 25.3,23 26.1,22.8 "/> + </g> + <g> + <defs> + <path id="SVGID_4955_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4956_"> + <use xlink:href="#SVGID_4955_" style="overflow:visible;"/> + </clipPath> + <path class="st2479" d="M25.3,24.4l-0.9-1.6h0.1c0.3,0.1,0.8,0.2,0.8,0.2s0.5-0.1,0.8-0.2L25.3,24.4z M24.6,22.9l0.7,1.3l0.7-1.3 + c-0.3,0.1-0.7,0.2-0.7,0.2S24.9,23,24.6,22.9z"/> + </g> + <g> + <defs> + <path id="SVGID_4957_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4958_"> + <use xlink:href="#SVGID_4957_" style="overflow:visible;"/> + </clipPath> + <path class="st2480" d="M25.3,24.3l-0.8-1.5c0.3,0.1,0.8,0.2,0.8,0.2s0.5-0.1,0.8-0.2L25.3,24.3z M24.5,22.8l0.8,1.4l0.8-1.4 + c-0.2,0.1-0.7,0.2-0.8,0.2S24.7,22.9,24.5,22.8z"/> + </g> + <g> + <defs> + <path id="SVGID_4959_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_4960_"> + <use xlink:href="#SVGID_4959_" style="overflow:visible;"/> + </clipPath> + <g class="st2481"> + <g> + <defs> + <polyline id="SVGID_4961_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_4962_"> + <use xlink:href="#SVGID_4961_" style="overflow:visible;"/> + </clipPath> + <rect x="26" y="24.1" class="st2482" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_4963_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_4964_"> + <use xlink:href="#SVGID_4963_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2483" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_4965_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_4966_"> + <use xlink:href="#SVGID_4965_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2484" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_4967_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_4968_"> + <use xlink:href="#SVGID_4967_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2485" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_4969_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_4970_"> + <use xlink:href="#SVGID_4969_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2486" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_4971_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_4972_"> + <use xlink:href="#SVGID_4971_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2487" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_4973_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_4974_"> + <use xlink:href="#SVGID_4973_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2488" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_4975_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_4976_"> + <use xlink:href="#SVGID_4975_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2489" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_4977_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_4978_"> + <use xlink:href="#SVGID_4977_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2490" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_4979_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_4980_"> + <use xlink:href="#SVGID_4979_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2491" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_4981_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_4982_"> + <use xlink:href="#SVGID_4981_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2492" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_4983_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_4984_"> + <use xlink:href="#SVGID_4983_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2493" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_4985_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_4986_"> + <use xlink:href="#SVGID_4985_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2494" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_4987_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_4988_"> + <use xlink:href="#SVGID_4987_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2495" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_4989_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_4990_"> + <use xlink:href="#SVGID_4989_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2496" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_4991_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_4992_"> + <use xlink:href="#SVGID_4991_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2497" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_4993_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_4994_"> + <use xlink:href="#SVGID_4993_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2498" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_4995_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_4996_"> + <use xlink:href="#SVGID_4995_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2499" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_4997_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_4998_"> + <use xlink:href="#SVGID_4997_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2500" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_4999_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_5000_"> + <use xlink:href="#SVGID_4999_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2501" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_5001_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_5002_"> + <use xlink:href="#SVGID_5001_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2502" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_5003_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_5004_"> + <use xlink:href="#SVGID_5003_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2503" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_5005_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_5006_"> + <use xlink:href="#SVGID_5005_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2504" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_5007_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_5008_"> + <use xlink:href="#SVGID_5007_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2505" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_5009_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_5010_"> + <use xlink:href="#SVGID_5009_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2506" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_5011_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_5012_"> + <use xlink:href="#SVGID_5011_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2507" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_5013_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_5014_"> + <use xlink:href="#SVGID_5013_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2508" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_5015_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_5016_"> + <use xlink:href="#SVGID_5015_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2509" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_5017_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_5018_"> + <use xlink:href="#SVGID_5017_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2510" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_5019_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_5020_"> + <use xlink:href="#SVGID_5019_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2511" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_5021_" points="25.9,24.1 26.1,24.1 26.1,24.3 25.9,24.3 25.9,24.1 "/> + </defs> + <clipPath id="SVGID_5022_"> + <use xlink:href="#SVGID_5021_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="24.1" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5074 25.513)" class="st2512" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <polyline id="SVGID_5023_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5024_"> + <use xlink:href="#SVGID_5023_" style="overflow:visible;"/> + </clipPath> + <path class="st2513" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5025_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5026_"> + <use xlink:href="#SVGID_5025_" style="overflow:visible;"/> + </clipPath> + <path class="st2514" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5027_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5028_"> + <use xlink:href="#SVGID_5027_" style="overflow:visible;"/> + </clipPath> + <path class="st2515" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5029_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5030_"> + <use xlink:href="#SVGID_5029_" style="overflow:visible;"/> + </clipPath> + <path class="st2516" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5031_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5032_"> + <use xlink:href="#SVGID_5031_" style="overflow:visible;"/> + </clipPath> + <path class="st2517" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5033_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5034_"> + <use xlink:href="#SVGID_5033_" style="overflow:visible;"/> + </clipPath> + <path class="st2518" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5035_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5036_"> + <use xlink:href="#SVGID_5035_" style="overflow:visible;"/> + </clipPath> + <path class="st2519" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5037_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5038_"> + <use xlink:href="#SVGID_5037_" style="overflow:visible;"/> + </clipPath> + <path class="st2520" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5039_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5040_"> + <use xlink:href="#SVGID_5039_" style="overflow:visible;"/> + </clipPath> + <path class="st2521" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5041_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5042_"> + <use xlink:href="#SVGID_5041_" style="overflow:visible;"/> + </clipPath> + <path class="st2522" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5043_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5044_"> + <use xlink:href="#SVGID_5043_" style="overflow:visible;"/> + </clipPath> + <path class="st2523" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5045_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5046_"> + <use xlink:href="#SVGID_5045_" style="overflow:visible;"/> + </clipPath> + <path class="st2524" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5047_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5048_"> + <use xlink:href="#SVGID_5047_" style="overflow:visible;"/> + </clipPath> + <path class="st2525" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5049_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5050_"> + <use xlink:href="#SVGID_5049_" style="overflow:visible;"/> + </clipPath> + <path class="st2526" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5051_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5052_"> + <use xlink:href="#SVGID_5051_" style="overflow:visible;"/> + </clipPath> + <path class="st2527" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5053_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5054_"> + <use xlink:href="#SVGID_5053_" style="overflow:visible;"/> + </clipPath> + <path class="st2528" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5055_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5056_"> + <use xlink:href="#SVGID_5055_" style="overflow:visible;"/> + </clipPath> + <path class="st2529" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5057_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5058_"> + <use xlink:href="#SVGID_5057_" style="overflow:visible;"/> + </clipPath> + <path class="st2530" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5059_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5060_"> + <use xlink:href="#SVGID_5059_" style="overflow:visible;"/> + </clipPath> + <path class="st2531" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5061_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5062_"> + <use xlink:href="#SVGID_5061_" style="overflow:visible;"/> + </clipPath> + <path class="st2532" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5063_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5064_"> + <use xlink:href="#SVGID_5063_" style="overflow:visible;"/> + </clipPath> + <path class="st2533" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5065_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5066_"> + <use xlink:href="#SVGID_5065_" style="overflow:visible;"/> + </clipPath> + <path class="st2534" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5067_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5068_"> + <use xlink:href="#SVGID_5067_" style="overflow:visible;"/> + </clipPath> + <path class="st2535" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5069_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5070_"> + <use xlink:href="#SVGID_5069_" style="overflow:visible;"/> + </clipPath> + <path class="st2536" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5071_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5072_"> + <use xlink:href="#SVGID_5071_" style="overflow:visible;"/> + </clipPath> + <path class="st2537" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5073_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5074_"> + <use xlink:href="#SVGID_5073_" style="overflow:visible;"/> + </clipPath> + <path class="st2538" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5075_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5076_"> + <use xlink:href="#SVGID_5075_" style="overflow:visible;"/> + </clipPath> + <path class="st2539" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5077_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5078_"> + <use xlink:href="#SVGID_5077_" style="overflow:visible;"/> + </clipPath> + <path class="st2540" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5079_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5080_"> + <use xlink:href="#SVGID_5079_" style="overflow:visible;"/> + </clipPath> + <path class="st2541" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5081_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5082_"> + <use xlink:href="#SVGID_5081_" style="overflow:visible;"/> + </clipPath> + <path class="st2542" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5083_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5084_"> + <use xlink:href="#SVGID_5083_" style="overflow:visible;"/> + </clipPath> + <path class="st2543" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5085_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5086_"> + <use xlink:href="#SVGID_5085_" style="overflow:visible;"/> + </clipPath> + <path class="st2544" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5087_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5088_"> + <use xlink:href="#SVGID_5087_" style="overflow:visible;"/> + </clipPath> + <path class="st2545" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5089_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5090_"> + <use xlink:href="#SVGID_5089_" style="overflow:visible;"/> + </clipPath> + <path class="st2546" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5091_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5092_"> + <use xlink:href="#SVGID_5091_" style="overflow:visible;"/> + </clipPath> + <path class="st2547" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5093_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5094_"> + <use xlink:href="#SVGID_5093_" style="overflow:visible;"/> + </clipPath> + <path class="st2548" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5095_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5096_"> + <use xlink:href="#SVGID_5095_" style="overflow:visible;"/> + </clipPath> + <path class="st2549" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5097_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5098_"> + <use xlink:href="#SVGID_5097_" style="overflow:visible;"/> + </clipPath> + <path class="st2550" d="M26,24.2L26,24.2z"/> + </g> + <g> + <defs> + <polyline id="SVGID_5099_" points="26,24.1 26.1,24.2 26,24.3 25.9,24.2 26,24.1 "/> + </defs> + <clipPath id="SVGID_5100_"> + <use xlink:href="#SVGID_5099_" style="overflow:visible;"/> + </clipPath> + <path class="st2551" d="M26,24.2L26,24.2z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_5101_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_5102_"> + <use xlink:href="#SVGID_5101_" style="overflow:visible;"/> + </clipPath> + <g class="st2552"> + <g> + <defs> + <path id="SVGID_5103_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5104_"> + <use xlink:href="#SVGID_5103_" style="overflow:visible;"/> + </clipPath> + <rect x="24.5" y="24.1" class="st2553" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5105_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5106_"> + <use xlink:href="#SVGID_5105_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2554" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5107_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5108_"> + <use xlink:href="#SVGID_5107_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2555" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5109_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5110_"> + <use xlink:href="#SVGID_5109_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2556" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5111_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5112_"> + <use xlink:href="#SVGID_5111_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2557" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5113_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5114_"> + <use xlink:href="#SVGID_5113_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2558" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5115_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5116_"> + <use xlink:href="#SVGID_5115_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2559" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5117_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5118_"> + <use xlink:href="#SVGID_5117_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2560" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5119_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5120_"> + <use xlink:href="#SVGID_5119_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2561" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5121_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5122_"> + <use xlink:href="#SVGID_5121_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2562" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5123_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5124_"> + <use xlink:href="#SVGID_5123_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2563" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5125_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5126_"> + <use xlink:href="#SVGID_5125_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2564" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5127_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5128_"> + <use xlink:href="#SVGID_5127_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2565" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5129_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5130_"> + <use xlink:href="#SVGID_5129_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2566" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5131_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5132_"> + <use xlink:href="#SVGID_5131_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2567" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5133_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5134_"> + <use xlink:href="#SVGID_5133_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2568" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5135_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5136_"> + <use xlink:href="#SVGID_5135_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2569" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5137_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5138_"> + <use xlink:href="#SVGID_5137_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2570" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5139_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5140_"> + <use xlink:href="#SVGID_5139_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2571" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5141_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5142_"> + <use xlink:href="#SVGID_5141_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2572" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5143_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5144_"> + <use xlink:href="#SVGID_5143_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2573" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5145_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5146_"> + <use xlink:href="#SVGID_5145_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2574" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5147_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5148_"> + <use xlink:href="#SVGID_5147_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2575" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5149_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5150_"> + <use xlink:href="#SVGID_5149_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2576" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5151_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5152_"> + <use xlink:href="#SVGID_5151_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2577" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5153_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5154_"> + <use xlink:href="#SVGID_5153_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2578" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5155_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5156_"> + <use xlink:href="#SVGID_5155_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2579" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5157_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5158_"> + <use xlink:href="#SVGID_5157_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2580" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5159_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5160_"> + <use xlink:href="#SVGID_5159_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2581" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5161_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5162_"> + <use xlink:href="#SVGID_5161_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2582" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5163_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5164_"> + <use xlink:href="#SVGID_5163_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2583" points="24.6,24.1 24.7,24.2 24.6,24.3 24.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_5165_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5166_"> + <use xlink:href="#SVGID_5165_" style="overflow:visible;"/> + </clipPath> + <path class="st2584" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5167_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5168_"> + <use xlink:href="#SVGID_5167_" style="overflow:visible;"/> + </clipPath> + <path class="st2585" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5169_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5170_"> + <use xlink:href="#SVGID_5169_" style="overflow:visible;"/> + </clipPath> + <path class="st2586" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5171_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5172_"> + <use xlink:href="#SVGID_5171_" style="overflow:visible;"/> + </clipPath> + <path class="st2587" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5173_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5174_"> + <use xlink:href="#SVGID_5173_" style="overflow:visible;"/> + </clipPath> + <path class="st2588" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5175_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5176_"> + <use xlink:href="#SVGID_5175_" style="overflow:visible;"/> + </clipPath> + <path class="st2589" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5177_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5178_"> + <use xlink:href="#SVGID_5177_" style="overflow:visible;"/> + </clipPath> + <path class="st2590" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5179_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5180_"> + <use xlink:href="#SVGID_5179_" style="overflow:visible;"/> + </clipPath> + <path class="st2591" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5181_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5182_"> + <use xlink:href="#SVGID_5181_" style="overflow:visible;"/> + </clipPath> + <path class="st2592" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5183_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5184_"> + <use xlink:href="#SVGID_5183_" style="overflow:visible;"/> + </clipPath> + <path class="st2593" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5185_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5186_"> + <use xlink:href="#SVGID_5185_" style="overflow:visible;"/> + </clipPath> + <path class="st2594" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5187_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5188_"> + <use xlink:href="#SVGID_5187_" style="overflow:visible;"/> + </clipPath> + <path class="st2595" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5189_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5190_"> + <use xlink:href="#SVGID_5189_" style="overflow:visible;"/> + </clipPath> + <path class="st2596" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5191_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5192_"> + <use xlink:href="#SVGID_5191_" style="overflow:visible;"/> + </clipPath> + <path class="st2597" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5193_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5194_"> + <use xlink:href="#SVGID_5193_" style="overflow:visible;"/> + </clipPath> + <path class="st2598" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5195_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5196_"> + <use xlink:href="#SVGID_5195_" style="overflow:visible;"/> + </clipPath> + <path class="st2599" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5197_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5198_"> + <use xlink:href="#SVGID_5197_" style="overflow:visible;"/> + </clipPath> + <path class="st2600" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5199_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5200_"> + <use xlink:href="#SVGID_5199_" style="overflow:visible;"/> + </clipPath> + <path class="st2601" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5201_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5202_"> + <use xlink:href="#SVGID_5201_" style="overflow:visible;"/> + </clipPath> + <path class="st2602" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5203_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5204_"> + <use xlink:href="#SVGID_5203_" style="overflow:visible;"/> + </clipPath> + <path class="st2603" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5205_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5206_"> + <use xlink:href="#SVGID_5205_" style="overflow:visible;"/> + </clipPath> + <path class="st2604" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5207_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5208_"> + <use xlink:href="#SVGID_5207_" style="overflow:visible;"/> + </clipPath> + <path class="st2605" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5209_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5210_"> + <use xlink:href="#SVGID_5209_" style="overflow:visible;"/> + </clipPath> + <path class="st2606" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5211_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5212_"> + <use xlink:href="#SVGID_5211_" style="overflow:visible;"/> + </clipPath> + <path class="st2607" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5213_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5214_"> + <use xlink:href="#SVGID_5213_" style="overflow:visible;"/> + </clipPath> + <path class="st2608" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5215_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5216_"> + <use xlink:href="#SVGID_5215_" style="overflow:visible;"/> + </clipPath> + <path class="st2609" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5217_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5218_"> + <use xlink:href="#SVGID_5217_" style="overflow:visible;"/> + </clipPath> + <path class="st2610" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5219_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5220_"> + <use xlink:href="#SVGID_5219_" style="overflow:visible;"/> + </clipPath> + <path class="st2611" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5221_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5222_"> + <use xlink:href="#SVGID_5221_" style="overflow:visible;"/> + </clipPath> + <path class="st2612" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5223_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5224_"> + <use xlink:href="#SVGID_5223_" style="overflow:visible;"/> + </clipPath> + <path class="st2613" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5225_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5226_"> + <use xlink:href="#SVGID_5225_" style="overflow:visible;"/> + </clipPath> + <path class="st2614" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5227_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5228_"> + <use xlink:href="#SVGID_5227_" style="overflow:visible;"/> + </clipPath> + <path class="st2615" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5229_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5230_"> + <use xlink:href="#SVGID_5229_" style="overflow:visible;"/> + </clipPath> + <path class="st2616" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5231_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5232_"> + <use xlink:href="#SVGID_5231_" style="overflow:visible;"/> + </clipPath> + <path class="st2617" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5233_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5234_"> + <use xlink:href="#SVGID_5233_" style="overflow:visible;"/> + </clipPath> + <path class="st2618" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5235_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5236_"> + <use xlink:href="#SVGID_5235_" style="overflow:visible;"/> + </clipPath> + <path class="st2619" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5237_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5238_"> + <use xlink:href="#SVGID_5237_" style="overflow:visible;"/> + </clipPath> + <path class="st2620" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5239_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5240_"> + <use xlink:href="#SVGID_5239_" style="overflow:visible;"/> + </clipPath> + <path class="st2621" d="M24.6,24.2L24.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5241_" d="M24.5,24.2C24.5,24.2,24.5,24.3,24.5,24.2c0.1,0.1,0.1,0,0.1,0C24.6,24.1,24.6,24.1,24.5,24.2 + C24.6,24.1,24.6,24.1,24.5,24.2C24.5,24.1,24.5,24.1,24.5,24.2"/> + </defs> + <clipPath id="SVGID_5242_"> + <use xlink:href="#SVGID_5241_" style="overflow:visible;"/> + </clipPath> + <path class="st2622" d="M24.6,24.2L24.6,24.2z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_5243_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_5244_"> + <use xlink:href="#SVGID_5243_" style="overflow:visible;"/> + </clipPath> + <path class="st2623" d="M24.7,24.2c0.2-0.1,0.4-0.1,0.6-0.2c0.2,0,0.4,0.1,0.6,0.2c0,0.1-0.1,0.1-0.1,0.2s0.1,0.2,0,0.2 + c-0.4,0-0.8,0-1.1,0c0,0,0-0.1,0-0.2C24.7,24.3,24.7,24.2,24.7,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_5245_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_5246_"> + <use xlink:href="#SVGID_5245_" style="overflow:visible;"/> + </clipPath> + <path class="st2624" d="M24.8,23.7C24.7,23.7,24.7,23.7,24.8,23.7c-0.2,0-0.2,0.1-0.2,0.1s0,0,0,0.1c0,0,0,0,0,0.1l0.1,0.1 + c0,0.1,0,0.3,0,0.4c0-0.1,0-0.3-0.1-0.4c0-0.1-0.1-0.1-0.1-0.1C24.6,23.8,24.7,23.8,24.8,23.7C24.8,23.8,24.8,23.8,24.8,23.7 + l0.2,0.1h0.1c0.1,0,0.3,0,0.4,0s0.1,0,0.1,0s0.1,0,0.1-0.1h0.1c0.1,0,0.1,0.1,0.1,0.1l-0.1,0.1L25.7,24c0,0.1,0,0.2,0,0.2 + c0.1,0.1,0-0.1,0.1-0.2l0.1-0.1c0-0.1,0.1-0.1,0.1-0.1s0,0,0-0.1v-0.1l-0.1-0.1c-0.1,0-0.1,0-0.2,0l-0.1,0.1h-0.1 + c-0.1,0-0.3,0-0.4,0H25L24.8,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5247_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_5248_"> + <use xlink:href="#SVGID_5247_" style="overflow:visible;"/> + </clipPath> + <path class="st2625" d="M24.8,24.6h-0.1c0-0.1,0-0.2-0.1-0.3c0,0,0-0.1-0.1-0.1v-0.1V24v-0.1c0-0.1,0.1-0.1,0.2-0.1h0.1h0.1H25 + h0.1c0.1,0,0.2,0,0.4,0h0.1h0.1c0.1,0,0.2,0,0.2,0c0.1,0,0.1,0.1,0.2,0.1V24v0.1v0.1c0,0,0,0-0.1,0.1s0,0,0,0.1c0,0,0,0,0,0.1 + v0.1c0,0.1,0,0.1,0,0.2h-0.1c0-0.1,0-0.2,0-0.3c0,0,0-0.1,0.1-0.1v-0.1c0,0,0-0.1,0.1-0.1L26,24.1h-0.1h-0.1h-0.1 + c-0.1,0-0.1,0-0.2,0s-0.3,0-0.4,0s-0.1,0-0.2,0h-0.1h-0.1h-0.1c0,0-0.1,0-0.1,0.1c0,0,0,0.1,0.1,0.1 + C24.8,24.2,24.8,24.4,24.8,24.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5249_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_5250_"> + <use xlink:href="#SVGID_5249_" style="overflow:visible;"/> + </clipPath> + <path class="st2626" d="M25.3,23.5L25.3,23.5c-0.1,0.1-0.1,0.1-0.1,0.2v0.7h0.2v-0.7C25.4,23.7,25.4,23.6,25.3,23.5 + C25.4,23.5,25.4,23.5,25.3,23.5z"/> + </g> + <g> + <defs> + <path id="SVGID_5251_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_5252_"> + <use xlink:href="#SVGID_5251_" style="overflow:visible;"/> + </clipPath> + <path class="st2627" d="M25.5,24.5h-0.3v-0.8c0,0,0,0,0-0.1s0-0.1,0.1-0.2c0,0,0,0,0.1,0h0.1c0,0.1,0,0.1,0.1,0.2L25.5,24.5z + M25.2,24.4h0.1v-0.7c0-0.1,0-0.1,0-0.2c0,0,0,0.1,0,0.2L25.2,24.4z"/> + </g> + <g> + <defs> + <path id="SVGID_5253_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_5254_"> + <use xlink:href="#SVGID_5253_" style="overflow:visible;"/> + </clipPath> + <g class="st2628"> + <g> + <defs> + <path id="SVGID_5255_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5256_"> + <use xlink:href="#SVGID_5255_" style="overflow:visible;"/> + </clipPath> + <rect x="25.2" y="23.6" class="st2629" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5257_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5258_"> + <use xlink:href="#SVGID_5257_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2630" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5259_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5260_"> + <use xlink:href="#SVGID_5259_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2631" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5261_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5262_"> + <use xlink:href="#SVGID_5261_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2632" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5263_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5264_"> + <use xlink:href="#SVGID_5263_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2633" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5265_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5266_"> + <use xlink:href="#SVGID_5265_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2634" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5267_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5268_"> + <use xlink:href="#SVGID_5267_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2635" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5269_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5270_"> + <use xlink:href="#SVGID_5269_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2636" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5271_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5272_"> + <use xlink:href="#SVGID_5271_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2637" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5273_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5274_"> + <use xlink:href="#SVGID_5273_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2638" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5275_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5276_"> + <use xlink:href="#SVGID_5275_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2639" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5277_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5278_"> + <use xlink:href="#SVGID_5277_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2640" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5279_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5280_"> + <use xlink:href="#SVGID_5279_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2641" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5281_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5282_"> + <use xlink:href="#SVGID_5281_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2642" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5283_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5284_"> + <use xlink:href="#SVGID_5283_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2643" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5285_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5286_"> + <use xlink:href="#SVGID_5285_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2644" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5287_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5288_"> + <use xlink:href="#SVGID_5287_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2645" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5289_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5290_"> + <use xlink:href="#SVGID_5289_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2646" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5291_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5292_"> + <use xlink:href="#SVGID_5291_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2647" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5293_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5294_"> + <use xlink:href="#SVGID_5293_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2648" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5295_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5296_"> + <use xlink:href="#SVGID_5295_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2649" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5297_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5298_"> + <use xlink:href="#SVGID_5297_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2650" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5299_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5300_"> + <use xlink:href="#SVGID_5299_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2651" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5301_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5302_"> + <use xlink:href="#SVGID_5301_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2652" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5303_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5304_"> + <use xlink:href="#SVGID_5303_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2653" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5305_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5306_"> + <use xlink:href="#SVGID_5305_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2654" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5307_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5308_"> + <use xlink:href="#SVGID_5307_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2655" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5309_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5310_"> + <use xlink:href="#SVGID_5309_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2656" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5311_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5312_"> + <use xlink:href="#SVGID_5311_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2657" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5313_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5314_"> + <use xlink:href="#SVGID_5313_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2658" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5315_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5316_"> + <use xlink:href="#SVGID_5315_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2659" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5317_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5318_"> + <use xlink:href="#SVGID_5317_" style="overflow:visible;"/> + </clipPath> + <path class="st2660" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5319_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5320_"> + <use xlink:href="#SVGID_5319_" style="overflow:visible;"/> + </clipPath> + <path class="st2661" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5321_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5322_"> + <use xlink:href="#SVGID_5321_" style="overflow:visible;"/> + </clipPath> + <path class="st2662" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5323_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5324_"> + <use xlink:href="#SVGID_5323_" style="overflow:visible;"/> + </clipPath> + <path class="st2663" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5325_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5326_"> + <use xlink:href="#SVGID_5325_" style="overflow:visible;"/> + </clipPath> + <path class="st2664" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5327_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5328_"> + <use xlink:href="#SVGID_5327_" style="overflow:visible;"/> + </clipPath> + <path class="st2665" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5329_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5330_"> + <use xlink:href="#SVGID_5329_" style="overflow:visible;"/> + </clipPath> + <path class="st2666" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5331_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5332_"> + <use xlink:href="#SVGID_5331_" style="overflow:visible;"/> + </clipPath> + <path class="st2667" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5333_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5334_"> + <use xlink:href="#SVGID_5333_" style="overflow:visible;"/> + </clipPath> + <path class="st2668" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5335_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5336_"> + <use xlink:href="#SVGID_5335_" style="overflow:visible;"/> + </clipPath> + <path class="st2669" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5337_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5338_"> + <use xlink:href="#SVGID_5337_" style="overflow:visible;"/> + </clipPath> + <path class="st2670" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5339_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5340_"> + <use xlink:href="#SVGID_5339_" style="overflow:visible;"/> + </clipPath> + <path class="st2671" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5341_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5342_"> + <use xlink:href="#SVGID_5341_" style="overflow:visible;"/> + </clipPath> + <path class="st2672" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5343_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5344_"> + <use xlink:href="#SVGID_5343_" style="overflow:visible;"/> + </clipPath> + <path class="st2673" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5345_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5346_"> + <use xlink:href="#SVGID_5345_" style="overflow:visible;"/> + </clipPath> + <path class="st2674" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5347_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5348_"> + <use xlink:href="#SVGID_5347_" style="overflow:visible;"/> + </clipPath> + <path class="st2675" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5349_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5350_"> + <use xlink:href="#SVGID_5349_" style="overflow:visible;"/> + </clipPath> + <path class="st2676" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5351_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5352_"> + <use xlink:href="#SVGID_5351_" style="overflow:visible;"/> + </clipPath> + <path class="st2677" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5353_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5354_"> + <use xlink:href="#SVGID_5353_" style="overflow:visible;"/> + </clipPath> + <path class="st2678" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5355_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5356_"> + <use xlink:href="#SVGID_5355_" style="overflow:visible;"/> + </clipPath> + <path class="st2679" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5357_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5358_"> + <use xlink:href="#SVGID_5357_" style="overflow:visible;"/> + </clipPath> + <path class="st2680" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5359_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5360_"> + <use xlink:href="#SVGID_5359_" style="overflow:visible;"/> + </clipPath> + <path class="st2681" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5361_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5362_"> + <use xlink:href="#SVGID_5361_" style="overflow:visible;"/> + </clipPath> + <path class="st2682" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5363_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5364_"> + <use xlink:href="#SVGID_5363_" style="overflow:visible;"/> + </clipPath> + <path class="st2683" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5365_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5366_"> + <use xlink:href="#SVGID_5365_" style="overflow:visible;"/> + </clipPath> + <path class="st2684" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5367_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5368_"> + <use xlink:href="#SVGID_5367_" style="overflow:visible;"/> + </clipPath> + <path class="st2685" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5369_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5370_"> + <use xlink:href="#SVGID_5369_" style="overflow:visible;"/> + </clipPath> + <path class="st2686" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5371_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5372_"> + <use xlink:href="#SVGID_5371_" style="overflow:visible;"/> + </clipPath> + <path class="st2687" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5373_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5374_"> + <use xlink:href="#SVGID_5373_" style="overflow:visible;"/> + </clipPath> + <path class="st2688" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5375_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5376_"> + <use xlink:href="#SVGID_5375_" style="overflow:visible;"/> + </clipPath> + <path class="st2689" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5377_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5378_"> + <use xlink:href="#SVGID_5377_" style="overflow:visible;"/> + </clipPath> + <path class="st2690" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5379_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5380_"> + <use xlink:href="#SVGID_5379_" style="overflow:visible;"/> + </clipPath> + <path class="st2691" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5381_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5382_"> + <use xlink:href="#SVGID_5381_" style="overflow:visible;"/> + </clipPath> + <path class="st2692" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5383_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5384_"> + <use xlink:href="#SVGID_5383_" style="overflow:visible;"/> + </clipPath> + <path class="st2693" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5385_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5386_"> + <use xlink:href="#SVGID_5385_" style="overflow:visible;"/> + </clipPath> + <path class="st2694" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5387_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5388_"> + <use xlink:href="#SVGID_5387_" style="overflow:visible;"/> + </clipPath> + <path class="st2695" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5389_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5390_"> + <use xlink:href="#SVGID_5389_" style="overflow:visible;"/> + </clipPath> + <path class="st2696" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5391_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5392_"> + <use xlink:href="#SVGID_5391_" style="overflow:visible;"/> + </clipPath> + <path class="st2697" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5393_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5394_"> + <use xlink:href="#SVGID_5393_" style="overflow:visible;"/> + </clipPath> + <path class="st2698" d="M25.3,23.6L25.3,23.6z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_5395_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_5396_"> + <use xlink:href="#SVGID_5395_" style="overflow:visible;"/> + </clipPath> + <g class="st2699"> + <g> + <defs> + <path id="SVGID_5397_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5398_"> + <use xlink:href="#SVGID_5397_" style="overflow:visible;"/> + </clipPath> + <rect x="25.2" y="23.6" class="st2700" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5399_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5400_"> + <use xlink:href="#SVGID_5399_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2701" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5401_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5402_"> + <use xlink:href="#SVGID_5401_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2702" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5403_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5404_"> + <use xlink:href="#SVGID_5403_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2703" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5405_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5406_"> + <use xlink:href="#SVGID_5405_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2704" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5407_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5408_"> + <use xlink:href="#SVGID_5407_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2705" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5409_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5410_"> + <use xlink:href="#SVGID_5409_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2706" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5411_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5412_"> + <use xlink:href="#SVGID_5411_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2707" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5413_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5414_"> + <use xlink:href="#SVGID_5413_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2708" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5415_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5416_"> + <use xlink:href="#SVGID_5415_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2709" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5417_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5418_"> + <use xlink:href="#SVGID_5417_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2710" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5419_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5420_"> + <use xlink:href="#SVGID_5419_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2711" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5421_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5422_"> + <use xlink:href="#SVGID_5421_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2712" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5423_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5424_"> + <use xlink:href="#SVGID_5423_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2713" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5425_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5426_"> + <use xlink:href="#SVGID_5425_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2714" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5427_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5428_"> + <use xlink:href="#SVGID_5427_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2715" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5429_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5430_"> + <use xlink:href="#SVGID_5429_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2716" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5431_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5432_"> + <use xlink:href="#SVGID_5431_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2717" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5433_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5434_"> + <use xlink:href="#SVGID_5433_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2718" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5435_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5436_"> + <use xlink:href="#SVGID_5435_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2719" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5437_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5438_"> + <use xlink:href="#SVGID_5437_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2720" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5439_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5440_"> + <use xlink:href="#SVGID_5439_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2721" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5441_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5442_"> + <use xlink:href="#SVGID_5441_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2722" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5443_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5444_"> + <use xlink:href="#SVGID_5443_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2723" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5445_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5446_"> + <use xlink:href="#SVGID_5445_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2724" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5447_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5448_"> + <use xlink:href="#SVGID_5447_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2725" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5449_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5450_"> + <use xlink:href="#SVGID_5449_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2726" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5451_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5452_"> + <use xlink:href="#SVGID_5451_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2727" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5453_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5454_"> + <use xlink:href="#SVGID_5453_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2728" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5455_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5456_"> + <use xlink:href="#SVGID_5455_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2729" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5457_" d="M25.5,23.6C25.5,23.6,25.4,23.7,25.5,23.6C25.5,23.7,25.4,23.7,25.5,23.6 + C25.2,23.7,25.3,23.6,25.5,23.6C25.3,23.6,25.4,23.5,25.5,23.6"/> + </defs> + <clipPath id="SVGID_5458_"> + <use xlink:href="#SVGID_5457_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2922 24.6731)" class="st2730" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5459_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5460_"> + <use xlink:href="#SVGID_5459_" style="overflow:visible;"/> + </clipPath> + <path class="st2731" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5461_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5462_"> + <use xlink:href="#SVGID_5461_" style="overflow:visible;"/> + </clipPath> + <path class="st2732" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5463_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5464_"> + <use xlink:href="#SVGID_5463_" style="overflow:visible;"/> + </clipPath> + <path class="st2733" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5465_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5466_"> + <use xlink:href="#SVGID_5465_" style="overflow:visible;"/> + </clipPath> + <path class="st2734" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5467_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5468_"> + <use xlink:href="#SVGID_5467_" style="overflow:visible;"/> + </clipPath> + <path class="st2735" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5469_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5470_"> + <use xlink:href="#SVGID_5469_" style="overflow:visible;"/> + </clipPath> + <path class="st2736" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5471_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5472_"> + <use xlink:href="#SVGID_5471_" style="overflow:visible;"/> + </clipPath> + <path class="st2737" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5473_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5474_"> + <use xlink:href="#SVGID_5473_" style="overflow:visible;"/> + </clipPath> + <path class="st2738" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5475_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5476_"> + <use xlink:href="#SVGID_5475_" style="overflow:visible;"/> + </clipPath> + <path class="st2739" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5477_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5478_"> + <use xlink:href="#SVGID_5477_" style="overflow:visible;"/> + </clipPath> + <path class="st2740" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5479_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5480_"> + <use xlink:href="#SVGID_5479_" style="overflow:visible;"/> + </clipPath> + <path class="st2741" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5481_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5482_"> + <use xlink:href="#SVGID_5481_" style="overflow:visible;"/> + </clipPath> + <path class="st2742" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5483_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5484_"> + <use xlink:href="#SVGID_5483_" style="overflow:visible;"/> + </clipPath> + <path class="st2743" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5485_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5486_"> + <use xlink:href="#SVGID_5485_" style="overflow:visible;"/> + </clipPath> + <path class="st2744" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5487_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5488_"> + <use xlink:href="#SVGID_5487_" style="overflow:visible;"/> + </clipPath> + <path class="st2745" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5489_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5490_"> + <use xlink:href="#SVGID_5489_" style="overflow:visible;"/> + </clipPath> + <path class="st2746" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5491_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5492_"> + <use xlink:href="#SVGID_5491_" style="overflow:visible;"/> + </clipPath> + <path class="st2747" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5493_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5494_"> + <use xlink:href="#SVGID_5493_" style="overflow:visible;"/> + </clipPath> + <path class="st2748" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5495_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5496_"> + <use xlink:href="#SVGID_5495_" style="overflow:visible;"/> + </clipPath> + <path class="st2749" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5497_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5498_"> + <use xlink:href="#SVGID_5497_" style="overflow:visible;"/> + </clipPath> + <path class="st2750" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5499_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5500_"> + <use xlink:href="#SVGID_5499_" style="overflow:visible;"/> + </clipPath> + <path class="st2751" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5501_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5502_"> + <use xlink:href="#SVGID_5501_" style="overflow:visible;"/> + </clipPath> + <path class="st2752" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5503_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5504_"> + <use xlink:href="#SVGID_5503_" style="overflow:visible;"/> + </clipPath> + <path class="st2753" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5505_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5506_"> + <use xlink:href="#SVGID_5505_" style="overflow:visible;"/> + </clipPath> + <path class="st2754" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5507_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5508_"> + <use xlink:href="#SVGID_5507_" style="overflow:visible;"/> + </clipPath> + <path class="st2755" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5509_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5510_"> + <use xlink:href="#SVGID_5509_" style="overflow:visible;"/> + </clipPath> + <path class="st2756" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5511_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5512_"> + <use xlink:href="#SVGID_5511_" style="overflow:visible;"/> + </clipPath> + <path class="st2757" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5513_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5514_"> + <use xlink:href="#SVGID_5513_" style="overflow:visible;"/> + </clipPath> + <path class="st2758" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5515_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5516_"> + <use xlink:href="#SVGID_5515_" style="overflow:visible;"/> + </clipPath> + <path class="st2759" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5517_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5518_"> + <use xlink:href="#SVGID_5517_" style="overflow:visible;"/> + </clipPath> + <path class="st2760" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5519_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5520_"> + <use xlink:href="#SVGID_5519_" style="overflow:visible;"/> + </clipPath> + <path class="st2761" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5521_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5522_"> + <use xlink:href="#SVGID_5521_" style="overflow:visible;"/> + </clipPath> + <path class="st2762" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5523_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5524_"> + <use xlink:href="#SVGID_5523_" style="overflow:visible;"/> + </clipPath> + <path class="st2763" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5525_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5526_"> + <use xlink:href="#SVGID_5525_" style="overflow:visible;"/> + </clipPath> + <path class="st2764" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5527_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5528_"> + <use xlink:href="#SVGID_5527_" style="overflow:visible;"/> + </clipPath> + <path class="st2765" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5529_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5530_"> + <use xlink:href="#SVGID_5529_" style="overflow:visible;"/> + </clipPath> + <path class="st2766" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5531_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5532_"> + <use xlink:href="#SVGID_5531_" style="overflow:visible;"/> + </clipPath> + <path class="st2767" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5533_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5534_"> + <use xlink:href="#SVGID_5533_" style="overflow:visible;"/> + </clipPath> + <path class="st2768" d="M25.3,23.6L25.3,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_5535_" d="M25.4,23.7C25.4,23.7,25.3,23.7,25.4,23.7c-0.1,0.1-0.1,0-0.1,0C25.2,23.6,25.3,23.6,25.4,23.7 + C25.3,23.6,25.4,23.6,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5536_"> + <use xlink:href="#SVGID_5535_" style="overflow:visible;"/> + </clipPath> + <path class="st2769" d="M25.3,23.6L25.3,23.6z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_5537_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_5538_"> + <use xlink:href="#SVGID_5537_" style="overflow:visible;"/> + </clipPath> + <g class="st2770"> + <g> + <defs> + <path id="SVGID_5539_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5540_"> + <use xlink:href="#SVGID_5539_" style="overflow:visible;"/> + </clipPath> + <rect x="25.2" y="23.7" class="st2771" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5541_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5542_"> + <use xlink:href="#SVGID_5541_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2772" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5543_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5544_"> + <use xlink:href="#SVGID_5543_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2773" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5545_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5546_"> + <use xlink:href="#SVGID_5545_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2774" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5547_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5548_"> + <use xlink:href="#SVGID_5547_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2775" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5549_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5550_"> + <use xlink:href="#SVGID_5549_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2776" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5551_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5552_"> + <use xlink:href="#SVGID_5551_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2777" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5553_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5554_"> + <use xlink:href="#SVGID_5553_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2778" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5555_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5556_"> + <use xlink:href="#SVGID_5555_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2779" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5557_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5558_"> + <use xlink:href="#SVGID_5557_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2780" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5559_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5560_"> + <use xlink:href="#SVGID_5559_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2781" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5561_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5562_"> + <use xlink:href="#SVGID_5561_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2782" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5563_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5564_"> + <use xlink:href="#SVGID_5563_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2783" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5565_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5566_"> + <use xlink:href="#SVGID_5565_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2784" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5567_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5568_"> + <use xlink:href="#SVGID_5567_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2785" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5569_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5570_"> + <use xlink:href="#SVGID_5569_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2786" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5571_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5572_"> + <use xlink:href="#SVGID_5571_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2787" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5573_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5574_"> + <use xlink:href="#SVGID_5573_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2788" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5575_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5576_"> + <use xlink:href="#SVGID_5575_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2789" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5577_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5578_"> + <use xlink:href="#SVGID_5577_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2790" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5579_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5580_"> + <use xlink:href="#SVGID_5579_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2791" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5581_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5582_"> + <use xlink:href="#SVGID_5581_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2792" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5583_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5584_"> + <use xlink:href="#SVGID_5583_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2793" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5585_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5586_"> + <use xlink:href="#SVGID_5585_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2794" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5587_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5588_"> + <use xlink:href="#SVGID_5587_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2795" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5589_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5590_"> + <use xlink:href="#SVGID_5589_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2796" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5591_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5592_"> + <use xlink:href="#SVGID_5591_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2797" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5593_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5594_"> + <use xlink:href="#SVGID_5593_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2798" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5595_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5596_"> + <use xlink:href="#SVGID_5595_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2799" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5597_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5598_"> + <use xlink:href="#SVGID_5597_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2800" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5599_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5600_"> + <use xlink:href="#SVGID_5599_" style="overflow:visible;"/> + </clipPath> + <polygon class="st2801" points="25.3,23.6 25.4,23.7 25.3,23.8 25.2,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_5601_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5602_"> + <use xlink:href="#SVGID_5601_" style="overflow:visible;"/> + </clipPath> + <path class="st2802" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5603_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5604_"> + <use xlink:href="#SVGID_5603_" style="overflow:visible;"/> + </clipPath> + <path class="st2803" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5605_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5606_"> + <use xlink:href="#SVGID_5605_" style="overflow:visible;"/> + </clipPath> + <path class="st2804" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5607_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5608_"> + <use xlink:href="#SVGID_5607_" style="overflow:visible;"/> + </clipPath> + <path class="st2805" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5609_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5610_"> + <use xlink:href="#SVGID_5609_" style="overflow:visible;"/> + </clipPath> + <path class="st2806" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5611_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5612_"> + <use xlink:href="#SVGID_5611_" style="overflow:visible;"/> + </clipPath> + <path class="st2807" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5613_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5614_"> + <use xlink:href="#SVGID_5613_" style="overflow:visible;"/> + </clipPath> + <path class="st2808" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5615_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5616_"> + <use xlink:href="#SVGID_5615_" style="overflow:visible;"/> + </clipPath> + <path class="st2809" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5617_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5618_"> + <use xlink:href="#SVGID_5617_" style="overflow:visible;"/> + </clipPath> + <path class="st2810" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5619_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5620_"> + <use xlink:href="#SVGID_5619_" style="overflow:visible;"/> + </clipPath> + <path class="st2811" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5621_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5622_"> + <use xlink:href="#SVGID_5621_" style="overflow:visible;"/> + </clipPath> + <path class="st2812" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5623_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5624_"> + <use xlink:href="#SVGID_5623_" style="overflow:visible;"/> + </clipPath> + <path class="st2813" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5625_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5626_"> + <use xlink:href="#SVGID_5625_" style="overflow:visible;"/> + </clipPath> + <path class="st2814" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5627_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5628_"> + <use xlink:href="#SVGID_5627_" style="overflow:visible;"/> + </clipPath> + <path class="st2815" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5629_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5630_"> + <use xlink:href="#SVGID_5629_" style="overflow:visible;"/> + </clipPath> + <path class="st2816" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5631_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5632_"> + <use xlink:href="#SVGID_5631_" style="overflow:visible;"/> + </clipPath> + <path class="st2817" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5633_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5634_"> + <use xlink:href="#SVGID_5633_" style="overflow:visible;"/> + </clipPath> + <path class="st2818" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5635_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5636_"> + <use xlink:href="#SVGID_5635_" style="overflow:visible;"/> + </clipPath> + <path class="st2819" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5637_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5638_"> + <use xlink:href="#SVGID_5637_" style="overflow:visible;"/> + </clipPath> + <path class="st2820" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5639_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5640_"> + <use xlink:href="#SVGID_5639_" style="overflow:visible;"/> + </clipPath> + <path class="st2821" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5641_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5642_"> + <use xlink:href="#SVGID_5641_" style="overflow:visible;"/> + </clipPath> + <path class="st2822" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5643_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5644_"> + <use xlink:href="#SVGID_5643_" style="overflow:visible;"/> + </clipPath> + <path class="st2823" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5645_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5646_"> + <use xlink:href="#SVGID_5645_" style="overflow:visible;"/> + </clipPath> + <path class="st2824" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5647_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5648_"> + <use xlink:href="#SVGID_5647_" style="overflow:visible;"/> + </clipPath> + <path class="st2825" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5649_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5650_"> + <use xlink:href="#SVGID_5649_" style="overflow:visible;"/> + </clipPath> + <path class="st2826" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5651_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5652_"> + <use xlink:href="#SVGID_5651_" style="overflow:visible;"/> + </clipPath> + <path class="st2827" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5653_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5654_"> + <use xlink:href="#SVGID_5653_" style="overflow:visible;"/> + </clipPath> + <path class="st2828" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5655_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5656_"> + <use xlink:href="#SVGID_5655_" style="overflow:visible;"/> + </clipPath> + <path class="st2829" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5657_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5658_"> + <use xlink:href="#SVGID_5657_" style="overflow:visible;"/> + </clipPath> + <path class="st2830" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5659_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5660_"> + <use xlink:href="#SVGID_5659_" style="overflow:visible;"/> + </clipPath> + <path class="st2831" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5661_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5662_"> + <use xlink:href="#SVGID_5661_" style="overflow:visible;"/> + </clipPath> + <path class="st2832" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5663_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5664_"> + <use xlink:href="#SVGID_5663_" style="overflow:visible;"/> + </clipPath> + <path class="st2833" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5665_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5666_"> + <use xlink:href="#SVGID_5665_" style="overflow:visible;"/> + </clipPath> + <path class="st2834" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5667_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5668_"> + <use xlink:href="#SVGID_5667_" style="overflow:visible;"/> + </clipPath> + <path class="st2835" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5669_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5670_"> + <use xlink:href="#SVGID_5669_" style="overflow:visible;"/> + </clipPath> + <path class="st2836" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5671_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5672_"> + <use xlink:href="#SVGID_5671_" style="overflow:visible;"/> + </clipPath> + <path class="st2837" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5673_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5674_"> + <use xlink:href="#SVGID_5673_" style="overflow:visible;"/> + </clipPath> + <path class="st2838" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5675_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5676_"> + <use xlink:href="#SVGID_5675_" style="overflow:visible;"/> + </clipPath> + <path class="st2839" d="M25.3,23.7L25.3,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_5677_" d="M25.4,23.7C25.4,23.8,25.3,23.8,25.4,23.7C25.3,23.8,25.3,23.8,25.4,23.7c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.7,25.3,23.7,25.4,23.7C25.3,23.7,25.4,23.7,25.4,23.7"/> + </defs> + <clipPath id="SVGID_5678_"> + <use xlink:href="#SVGID_5677_" style="overflow:visible;"/> + </clipPath> + <path class="st2840" d="M25.3,23.7L25.3,23.7z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_5679_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_5680_"> + <use xlink:href="#SVGID_5679_" style="overflow:visible;"/> + </clipPath> + <g class="st2841"> + <g> + <defs> + <path id="SVGID_5681_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5682_"> + <use xlink:href="#SVGID_5681_" style="overflow:visible;"/> + </clipPath> + <rect x="25.2" y="23.7" class="st2842" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5683_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5684_"> + <use xlink:href="#SVGID_5683_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2843" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5685_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5686_"> + <use xlink:href="#SVGID_5685_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2844" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5687_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5688_"> + <use xlink:href="#SVGID_5687_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2845" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5689_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5690_"> + <use xlink:href="#SVGID_5689_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2846" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5691_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5692_"> + <use xlink:href="#SVGID_5691_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2847" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5693_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5694_"> + <use xlink:href="#SVGID_5693_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2848" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5695_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5696_"> + <use xlink:href="#SVGID_5695_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2849" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5697_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5698_"> + <use xlink:href="#SVGID_5697_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2850" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5699_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5700_"> + <use xlink:href="#SVGID_5699_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2851" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5701_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5702_"> + <use xlink:href="#SVGID_5701_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2852" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5703_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5704_"> + <use xlink:href="#SVGID_5703_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2853" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5705_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5706_"> + <use xlink:href="#SVGID_5705_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2854" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5707_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5708_"> + <use xlink:href="#SVGID_5707_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2855" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5709_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5710_"> + <use xlink:href="#SVGID_5709_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2856" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5711_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5712_"> + <use xlink:href="#SVGID_5711_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2857" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5713_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5714_"> + <use xlink:href="#SVGID_5713_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2858" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5715_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5716_"> + <use xlink:href="#SVGID_5715_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2859" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5717_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5718_"> + <use xlink:href="#SVGID_5717_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2860" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5719_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5720_"> + <use xlink:href="#SVGID_5719_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2861" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5721_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5722_"> + <use xlink:href="#SVGID_5721_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2862" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5723_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5724_"> + <use xlink:href="#SVGID_5723_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2863" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5725_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5726_"> + <use xlink:href="#SVGID_5725_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2864" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5727_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5728_"> + <use xlink:href="#SVGID_5727_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2865" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5729_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5730_"> + <use xlink:href="#SVGID_5729_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2866" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5731_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5732_"> + <use xlink:href="#SVGID_5731_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2867" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5733_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5734_"> + <use xlink:href="#SVGID_5733_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2868" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5735_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5736_"> + <use xlink:href="#SVGID_5735_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2869" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5737_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5738_"> + <use xlink:href="#SVGID_5737_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2870" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5739_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5740_"> + <use xlink:href="#SVGID_5739_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2871" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5741_" d="M25.4,23.7C25.4,23.7,25.4,23.9,25.4,23.7C25.4,23.9,25.4,23.9,25.4,23.7 + C25.4,23.9,25.3,23.8,25.4,23.7C25.3,23.8,25.2,23.7,25.4,23.7C25.2,23.7,25.2,23.7,25.4,23.7C25.2,23.7,25.4,23.7,25.4,23.7" + /> + </defs> + <clipPath id="SVGID_5742_"> + <use xlink:href="#SVGID_5741_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4301 24.8991)" class="st2872" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5743_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5744_"> + <use xlink:href="#SVGID_5743_" style="overflow:visible;"/> + </clipPath> + <path class="st2873" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5745_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5746_"> + <use xlink:href="#SVGID_5745_" style="overflow:visible;"/> + </clipPath> + <path class="st2874" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5747_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5748_"> + <use xlink:href="#SVGID_5747_" style="overflow:visible;"/> + </clipPath> + <path class="st2875" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5749_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5750_"> + <use xlink:href="#SVGID_5749_" style="overflow:visible;"/> + </clipPath> + <path class="st2876" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5751_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5752_"> + <use xlink:href="#SVGID_5751_" style="overflow:visible;"/> + </clipPath> + <path class="st2877" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5753_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5754_"> + <use xlink:href="#SVGID_5753_" style="overflow:visible;"/> + </clipPath> + <path class="st2878" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5755_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5756_"> + <use xlink:href="#SVGID_5755_" style="overflow:visible;"/> + </clipPath> + <path class="st2879" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5757_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5758_"> + <use xlink:href="#SVGID_5757_" style="overflow:visible;"/> + </clipPath> + <path class="st2880" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5759_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5760_"> + <use xlink:href="#SVGID_5759_" style="overflow:visible;"/> + </clipPath> + <path class="st2881" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5761_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5762_"> + <use xlink:href="#SVGID_5761_" style="overflow:visible;"/> + </clipPath> + <path class="st2882" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5763_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5764_"> + <use xlink:href="#SVGID_5763_" style="overflow:visible;"/> + </clipPath> + <path class="st2883" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5765_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5766_"> + <use xlink:href="#SVGID_5765_" style="overflow:visible;"/> + </clipPath> + <path class="st2884" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5767_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5768_"> + <use xlink:href="#SVGID_5767_" style="overflow:visible;"/> + </clipPath> + <path class="st2885" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5769_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5770_"> + <use xlink:href="#SVGID_5769_" style="overflow:visible;"/> + </clipPath> + <path class="st2886" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5771_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5772_"> + <use xlink:href="#SVGID_5771_" style="overflow:visible;"/> + </clipPath> + <path class="st2887" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5773_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5774_"> + <use xlink:href="#SVGID_5773_" style="overflow:visible;"/> + </clipPath> + <path class="st2888" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5775_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5776_"> + <use xlink:href="#SVGID_5775_" style="overflow:visible;"/> + </clipPath> + <path class="st2889" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5777_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5778_"> + <use xlink:href="#SVGID_5777_" style="overflow:visible;"/> + </clipPath> + <path class="st2890" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5779_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5780_"> + <use xlink:href="#SVGID_5779_" style="overflow:visible;"/> + </clipPath> + <path class="st2891" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5781_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5782_"> + <use xlink:href="#SVGID_5781_" style="overflow:visible;"/> + </clipPath> + <path class="st2892" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5783_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5784_"> + <use xlink:href="#SVGID_5783_" style="overflow:visible;"/> + </clipPath> + <path class="st2893" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5785_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5786_"> + <use xlink:href="#SVGID_5785_" style="overflow:visible;"/> + </clipPath> + <path class="st2894" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5787_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5788_"> + <use xlink:href="#SVGID_5787_" style="overflow:visible;"/> + </clipPath> + <path class="st2895" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5789_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5790_"> + <use xlink:href="#SVGID_5789_" style="overflow:visible;"/> + </clipPath> + <path class="st2896" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5791_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5792_"> + <use xlink:href="#SVGID_5791_" style="overflow:visible;"/> + </clipPath> + <path class="st2897" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5793_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5794_"> + <use xlink:href="#SVGID_5793_" style="overflow:visible;"/> + </clipPath> + <path class="st2898" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5795_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5796_"> + <use xlink:href="#SVGID_5795_" style="overflow:visible;"/> + </clipPath> + <path class="st2899" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5797_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5798_"> + <use xlink:href="#SVGID_5797_" style="overflow:visible;"/> + </clipPath> + <path class="st2900" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5799_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5800_"> + <use xlink:href="#SVGID_5799_" style="overflow:visible;"/> + </clipPath> + <path class="st2901" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5801_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5802_"> + <use xlink:href="#SVGID_5801_" style="overflow:visible;"/> + </clipPath> + <path class="st2902" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5803_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5804_"> + <use xlink:href="#SVGID_5803_" style="overflow:visible;"/> + </clipPath> + <path class="st2903" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5805_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5806_"> + <use xlink:href="#SVGID_5805_" style="overflow:visible;"/> + </clipPath> + <path class="st2904" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5807_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5808_"> + <use xlink:href="#SVGID_5807_" style="overflow:visible;"/> + </clipPath> + <path class="st2905" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5809_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5810_"> + <use xlink:href="#SVGID_5809_" style="overflow:visible;"/> + </clipPath> + <path class="st2906" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5811_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5812_"> + <use xlink:href="#SVGID_5811_" style="overflow:visible;"/> + </clipPath> + <path class="st2907" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5813_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5814_"> + <use xlink:href="#SVGID_5813_" style="overflow:visible;"/> + </clipPath> + <path class="st2908" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5815_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5816_"> + <use xlink:href="#SVGID_5815_" style="overflow:visible;"/> + </clipPath> + <path class="st2909" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5817_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5818_"> + <use xlink:href="#SVGID_5817_" style="overflow:visible;"/> + </clipPath> + <path class="st2910" d="M25.3,23.8L25.3,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_5819_" d="M25.4,23.8C25.4,23.8,25.3,23.9,25.4,23.8C25.3,23.9,25.3,23.9,25.4,23.8c-0.1,0.1-0.1,0-0.1,0 + S25.3,23.7,25.4,23.8C25.3,23.7,25.3,23.7,25.4,23.8C25.3,23.7,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5820_"> + <use xlink:href="#SVGID_5819_" style="overflow:visible;"/> + </clipPath> + <path class="st2911" d="M25.3,23.8L25.3,23.8z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_5821_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_5822_"> + <use xlink:href="#SVGID_5821_" style="overflow:visible;"/> + </clipPath> + <g class="st2912"> + <g> + <defs> + <path id="SVGID_5823_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5824_"> + <use xlink:href="#SVGID_5823_" style="overflow:visible;"/> + </clipPath> + <rect x="25.2" y="23.9" class="st2913" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5825_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5826_"> + <use xlink:href="#SVGID_5825_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2914" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5827_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5828_"> + <use xlink:href="#SVGID_5827_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2915" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5829_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5830_"> + <use xlink:href="#SVGID_5829_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2916" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5831_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5832_"> + <use xlink:href="#SVGID_5831_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2917" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5833_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5834_"> + <use xlink:href="#SVGID_5833_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2918" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5835_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5836_"> + <use xlink:href="#SVGID_5835_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2919" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5837_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5838_"> + <use xlink:href="#SVGID_5837_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2920" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5839_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5840_"> + <use xlink:href="#SVGID_5839_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2921" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5841_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5842_"> + <use xlink:href="#SVGID_5841_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2922" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5843_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5844_"> + <use xlink:href="#SVGID_5843_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2923" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5845_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5846_"> + <use xlink:href="#SVGID_5845_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2924" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5847_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5848_"> + <use xlink:href="#SVGID_5847_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2925" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5849_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5850_"> + <use xlink:href="#SVGID_5849_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2926" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5851_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5852_"> + <use xlink:href="#SVGID_5851_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2927" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5853_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5854_"> + <use xlink:href="#SVGID_5853_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2928" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5855_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5856_"> + <use xlink:href="#SVGID_5855_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2929" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5857_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5858_"> + <use xlink:href="#SVGID_5857_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2930" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5859_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5860_"> + <use xlink:href="#SVGID_5859_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2931" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5861_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5862_"> + <use xlink:href="#SVGID_5861_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2932" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5863_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5864_"> + <use xlink:href="#SVGID_5863_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2933" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5865_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5866_"> + <use xlink:href="#SVGID_5865_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2934" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5867_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5868_"> + <use xlink:href="#SVGID_5867_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2935" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5869_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5870_"> + <use xlink:href="#SVGID_5869_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2936" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5871_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5872_"> + <use xlink:href="#SVGID_5871_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2937" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5873_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5874_"> + <use xlink:href="#SVGID_5873_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2938" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5875_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5876_"> + <use xlink:href="#SVGID_5875_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2939" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5877_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5878_"> + <use xlink:href="#SVGID_5877_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2940" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5879_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5880_"> + <use xlink:href="#SVGID_5879_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2941" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5881_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5882_"> + <use xlink:href="#SVGID_5881_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2942" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5883_" d="M25.4,23.8C25.5,23.9,25.4,24,25.4,23.8C25.4,24,25.4,24,25.4,23.8C25.4,24,25.3,23.9,25.4,23.8 + C25.2,24,25.3,23.9,25.4,23.8C25.3,23.9,25.4,23.8,25.4,23.8"/> + </defs> + <clipPath id="SVGID_5884_"> + <use xlink:href="#SVGID_5883_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.5037 24.7606)" class="st2943" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5885_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5886_"> + <use xlink:href="#SVGID_5885_" style="overflow:visible;"/> + </clipPath> + <path class="st2944" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5887_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5888_"> + <use xlink:href="#SVGID_5887_" style="overflow:visible;"/> + </clipPath> + <path class="st2945" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5889_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5890_"> + <use xlink:href="#SVGID_5889_" style="overflow:visible;"/> + </clipPath> + <path class="st2946" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5891_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5892_"> + <use xlink:href="#SVGID_5891_" style="overflow:visible;"/> + </clipPath> + <path class="st2947" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5893_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5894_"> + <use xlink:href="#SVGID_5893_" style="overflow:visible;"/> + </clipPath> + <path class="st2948" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5895_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5896_"> + <use xlink:href="#SVGID_5895_" style="overflow:visible;"/> + </clipPath> + <path class="st2949" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5897_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5898_"> + <use xlink:href="#SVGID_5897_" style="overflow:visible;"/> + </clipPath> + <path class="st2950" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5899_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5900_"> + <use xlink:href="#SVGID_5899_" style="overflow:visible;"/> + </clipPath> + <path class="st2951" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5901_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5902_"> + <use xlink:href="#SVGID_5901_" style="overflow:visible;"/> + </clipPath> + <path class="st2952" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5903_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5904_"> + <use xlink:href="#SVGID_5903_" style="overflow:visible;"/> + </clipPath> + <path class="st2953" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5905_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5906_"> + <use xlink:href="#SVGID_5905_" style="overflow:visible;"/> + </clipPath> + <path class="st2954" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5907_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5908_"> + <use xlink:href="#SVGID_5907_" style="overflow:visible;"/> + </clipPath> + <path class="st2955" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5909_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5910_"> + <use xlink:href="#SVGID_5909_" style="overflow:visible;"/> + </clipPath> + <path class="st2956" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5911_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5912_"> + <use xlink:href="#SVGID_5911_" style="overflow:visible;"/> + </clipPath> + <path class="st2957" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5913_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5914_"> + <use xlink:href="#SVGID_5913_" style="overflow:visible;"/> + </clipPath> + <path class="st2958" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5915_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5916_"> + <use xlink:href="#SVGID_5915_" style="overflow:visible;"/> + </clipPath> + <path class="st2959" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5917_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5918_"> + <use xlink:href="#SVGID_5917_" style="overflow:visible;"/> + </clipPath> + <path class="st2960" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5919_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5920_"> + <use xlink:href="#SVGID_5919_" style="overflow:visible;"/> + </clipPath> + <path class="st2961" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5921_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5922_"> + <use xlink:href="#SVGID_5921_" style="overflow:visible;"/> + </clipPath> + <path class="st2962" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5923_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5924_"> + <use xlink:href="#SVGID_5923_" style="overflow:visible;"/> + </clipPath> + <path class="st2963" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5925_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5926_"> + <use xlink:href="#SVGID_5925_" style="overflow:visible;"/> + </clipPath> + <path class="st2964" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5927_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5928_"> + <use xlink:href="#SVGID_5927_" style="overflow:visible;"/> + </clipPath> + <path class="st2965" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5929_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5930_"> + <use xlink:href="#SVGID_5929_" style="overflow:visible;"/> + </clipPath> + <path class="st2966" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5931_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5932_"> + <use xlink:href="#SVGID_5931_" style="overflow:visible;"/> + </clipPath> + <path class="st2967" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5933_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5934_"> + <use xlink:href="#SVGID_5933_" style="overflow:visible;"/> + </clipPath> + <path class="st2968" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5935_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5936_"> + <use xlink:href="#SVGID_5935_" style="overflow:visible;"/> + </clipPath> + <path class="st2969" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5937_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5938_"> + <use xlink:href="#SVGID_5937_" style="overflow:visible;"/> + </clipPath> + <path class="st2970" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5939_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5940_"> + <use xlink:href="#SVGID_5939_" style="overflow:visible;"/> + </clipPath> + <path class="st2971" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5941_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5942_"> + <use xlink:href="#SVGID_5941_" style="overflow:visible;"/> + </clipPath> + <path class="st2972" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5943_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5944_"> + <use xlink:href="#SVGID_5943_" style="overflow:visible;"/> + </clipPath> + <path class="st2973" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5945_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5946_"> + <use xlink:href="#SVGID_5945_" style="overflow:visible;"/> + </clipPath> + <path class="st2974" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5947_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5948_"> + <use xlink:href="#SVGID_5947_" style="overflow:visible;"/> + </clipPath> + <path class="st2975" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5949_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5950_"> + <use xlink:href="#SVGID_5949_" style="overflow:visible;"/> + </clipPath> + <path class="st2976" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5951_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5952_"> + <use xlink:href="#SVGID_5951_" style="overflow:visible;"/> + </clipPath> + <path class="st2977" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5953_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5954_"> + <use xlink:href="#SVGID_5953_" style="overflow:visible;"/> + </clipPath> + <path class="st2978" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5955_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5956_"> + <use xlink:href="#SVGID_5955_" style="overflow:visible;"/> + </clipPath> + <path class="st2979" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5957_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5958_"> + <use xlink:href="#SVGID_5957_" style="overflow:visible;"/> + </clipPath> + <path class="st2980" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5959_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5960_"> + <use xlink:href="#SVGID_5959_" style="overflow:visible;"/> + </clipPath> + <path class="st2981" d="M25.3,23.9L25.3,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_5961_" d="M25.4,23.9C25.4,24,25.3,24,25.4,23.9C25.3,24,25.3,24,25.4,23.9c-0.1,0.1-0.1,0-0.1,0 + C25.2,23.9,25.3,23.9,25.4,23.9C25.3,23.9,25.4,23.9,25.4,23.9"/> + </defs> + <clipPath id="SVGID_5962_"> + <use xlink:href="#SVGID_5961_" style="overflow:visible;"/> + </clipPath> + <path class="st2982" d="M25.3,23.9L25.3,23.9z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_5963_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_5964_"> + <use xlink:href="#SVGID_5963_" style="overflow:visible;"/> + </clipPath> + <g class="st2983"> + <g> + <defs> + <path id="SVGID_5965_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_5966_"> + <use xlink:href="#SVGID_5965_" style="overflow:visible;"/> + </clipPath> + <rect x="25.2" y="24" class="st2984" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5967_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_5968_"> + <use xlink:href="#SVGID_5967_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st2985" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5969_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_5970_"> + <use xlink:href="#SVGID_5969_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st2986" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5971_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_5972_"> + <use xlink:href="#SVGID_5971_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st2987" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5973_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_5974_"> + <use xlink:href="#SVGID_5973_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st2988" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5975_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_5976_"> + <use xlink:href="#SVGID_5975_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st2989" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5977_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_5978_"> + <use xlink:href="#SVGID_5977_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st2990" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5979_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_5980_"> + <use xlink:href="#SVGID_5979_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st2991" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5981_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_5982_"> + <use xlink:href="#SVGID_5981_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st2992" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5983_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_5984_"> + <use xlink:href="#SVGID_5983_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st2993" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5985_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_5986_"> + <use xlink:href="#SVGID_5985_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st2994" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5987_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_5988_"> + <use xlink:href="#SVGID_5987_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st2995" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5989_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_5990_"> + <use xlink:href="#SVGID_5989_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st2996" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5991_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_5992_"> + <use xlink:href="#SVGID_5991_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st2997" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5993_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_5994_"> + <use xlink:href="#SVGID_5993_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st2998" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5995_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_5996_"> + <use xlink:href="#SVGID_5995_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st2999" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5997_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_5998_"> + <use xlink:href="#SVGID_5997_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st3000" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_5999_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_6000_"> + <use xlink:href="#SVGID_5999_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st3001" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6001_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_6002_"> + <use xlink:href="#SVGID_6001_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st3002" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6003_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_6004_"> + <use xlink:href="#SVGID_6003_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st3003" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6005_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_6006_"> + <use xlink:href="#SVGID_6005_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st3004" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6007_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_6008_"> + <use xlink:href="#SVGID_6007_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st3005" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6009_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_6010_"> + <use xlink:href="#SVGID_6009_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st3006" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6011_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_6012_"> + <use xlink:href="#SVGID_6011_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st3007" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6013_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_6014_"> + <use xlink:href="#SVGID_6013_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st3008" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6015_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_6016_"> + <use xlink:href="#SVGID_6015_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st3009" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6017_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_6018_"> + <use xlink:href="#SVGID_6017_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st3010" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6019_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_6020_"> + <use xlink:href="#SVGID_6019_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st3011" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6021_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_6022_"> + <use xlink:href="#SVGID_6021_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st3012" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6023_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_6024_"> + <use xlink:href="#SVGID_6023_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st3013" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6025_" d="M25.5,24C25.5,24,25.4,24.1,25.5,24C25.4,24.1,25.4,24.1,25.5,24C25.5,24.1,25.4,24.1,25.5,24 + C25.2,24.1,25.3,24,25.5,24C25.3,24,25.3,24,25.5,24C25.3,24,25.4,23.9,25.5,24"/> + </defs> + <clipPath id="SVGID_6026_"> + <use xlink:href="#SVGID_6025_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.5719 24.9579)" class="st3014" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6027_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6028_"> + <use xlink:href="#SVGID_6027_" style="overflow:visible;"/> + </clipPath> + <path class="st3015" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6029_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6030_"> + <use xlink:href="#SVGID_6029_" style="overflow:visible;"/> + </clipPath> + <path class="st3016" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6031_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6032_"> + <use xlink:href="#SVGID_6031_" style="overflow:visible;"/> + </clipPath> + <path class="st3017" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6033_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6034_"> + <use xlink:href="#SVGID_6033_" style="overflow:visible;"/> + </clipPath> + <path class="st3018" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6035_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6036_"> + <use xlink:href="#SVGID_6035_" style="overflow:visible;"/> + </clipPath> + <path class="st3019" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6037_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6038_"> + <use xlink:href="#SVGID_6037_" style="overflow:visible;"/> + </clipPath> + <path class="st3020" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6039_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6040_"> + <use xlink:href="#SVGID_6039_" style="overflow:visible;"/> + </clipPath> + <path class="st3021" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6041_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6042_"> + <use xlink:href="#SVGID_6041_" style="overflow:visible;"/> + </clipPath> + <path class="st3022" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6043_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6044_"> + <use xlink:href="#SVGID_6043_" style="overflow:visible;"/> + </clipPath> + <path class="st3023" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6045_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6046_"> + <use xlink:href="#SVGID_6045_" style="overflow:visible;"/> + </clipPath> + <path class="st3024" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6047_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6048_"> + <use xlink:href="#SVGID_6047_" style="overflow:visible;"/> + </clipPath> + <path class="st3025" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6049_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6050_"> + <use xlink:href="#SVGID_6049_" style="overflow:visible;"/> + </clipPath> + <path class="st3026" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6051_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6052_"> + <use xlink:href="#SVGID_6051_" style="overflow:visible;"/> + </clipPath> + <path class="st3027" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6053_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6054_"> + <use xlink:href="#SVGID_6053_" style="overflow:visible;"/> + </clipPath> + <path class="st3028" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6055_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6056_"> + <use xlink:href="#SVGID_6055_" style="overflow:visible;"/> + </clipPath> + <path class="st3029" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6057_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6058_"> + <use xlink:href="#SVGID_6057_" style="overflow:visible;"/> + </clipPath> + <path class="st3030" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6059_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6060_"> + <use xlink:href="#SVGID_6059_" style="overflow:visible;"/> + </clipPath> + <path class="st3031" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6061_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6062_"> + <use xlink:href="#SVGID_6061_" style="overflow:visible;"/> + </clipPath> + <path class="st3032" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6063_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6064_"> + <use xlink:href="#SVGID_6063_" style="overflow:visible;"/> + </clipPath> + <path class="st3033" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6065_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6066_"> + <use xlink:href="#SVGID_6065_" style="overflow:visible;"/> + </clipPath> + <path class="st3034" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6067_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6068_"> + <use xlink:href="#SVGID_6067_" style="overflow:visible;"/> + </clipPath> + <path class="st3035" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6069_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6070_"> + <use xlink:href="#SVGID_6069_" style="overflow:visible;"/> + </clipPath> + <path class="st3036" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6071_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6072_"> + <use xlink:href="#SVGID_6071_" style="overflow:visible;"/> + </clipPath> + <path class="st3037" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6073_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6074_"> + <use xlink:href="#SVGID_6073_" style="overflow:visible;"/> + </clipPath> + <path class="st3038" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6075_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6076_"> + <use xlink:href="#SVGID_6075_" style="overflow:visible;"/> + </clipPath> + <path class="st3039" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6077_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6078_"> + <use xlink:href="#SVGID_6077_" style="overflow:visible;"/> + </clipPath> + <path class="st3040" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6079_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6080_"> + <use xlink:href="#SVGID_6079_" style="overflow:visible;"/> + </clipPath> + <path class="st3041" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6081_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6082_"> + <use xlink:href="#SVGID_6081_" style="overflow:visible;"/> + </clipPath> + <path class="st3042" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6083_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6084_"> + <use xlink:href="#SVGID_6083_" style="overflow:visible;"/> + </clipPath> + <path class="st3043" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6085_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6086_"> + <use xlink:href="#SVGID_6085_" style="overflow:visible;"/> + </clipPath> + <path class="st3044" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6087_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6088_"> + <use xlink:href="#SVGID_6087_" style="overflow:visible;"/> + </clipPath> + <path class="st3045" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6089_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6090_"> + <use xlink:href="#SVGID_6089_" style="overflow:visible;"/> + </clipPath> + <path class="st3046" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6091_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6092_"> + <use xlink:href="#SVGID_6091_" style="overflow:visible;"/> + </clipPath> + <path class="st3047" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6093_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6094_"> + <use xlink:href="#SVGID_6093_" style="overflow:visible;"/> + </clipPath> + <path class="st3048" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6095_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6096_"> + <use xlink:href="#SVGID_6095_" style="overflow:visible;"/> + </clipPath> + <path class="st3049" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6097_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6098_"> + <use xlink:href="#SVGID_6097_" style="overflow:visible;"/> + </clipPath> + <path class="st3050" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6099_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6100_"> + <use xlink:href="#SVGID_6099_" style="overflow:visible;"/> + </clipPath> + <path class="st3051" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6101_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6102_"> + <use xlink:href="#SVGID_6101_" style="overflow:visible;"/> + </clipPath> + <path class="st3052" d="M25.3,24L25.3,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6103_" d="M25.4,24.1C25.4,24.1,25.3,24.1,25.4,24.1C25.3,24.1,25.3,24.1,25.4,24.1c-0.1,0.1-0.1,0-0.1,0 + C25.2,24,25.3,24,25.4,24.1C25.3,24,25.3,24,25.4,24.1C25.3,24,25.4,24,25.4,24.1"/> + </defs> + <clipPath id="SVGID_6104_"> + <use xlink:href="#SVGID_6103_" style="overflow:visible;"/> + </clipPath> + <path class="st3053" d="M25.3,24L25.3,24z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_6105_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6106_"> + <use xlink:href="#SVGID_6105_" style="overflow:visible;"/> + </clipPath> + <path class="st3054" d="M25,24.1C25,24.1,25,24.2,25,24.1c-0.1,0.1-0.2,0.2-0.1,0.2c0,0.1,0,0,0,0c0,0.1,0,0.1,0,0.1h-0.2 + c0-0.1,0-0.1,0-0.1h0.1v-0.1h-0.1l-0.1-0.1c0,0,0,0.1,0.1,0.2l0.1,0.1v0.2H26v-0.2l0.1-0.1c0-0.1,0.1-0.2,0.1-0.2l-0.1,0.1H26 + c0,0-0.1,0.1,0,0.1c0,0,0,0,0.1,0c0,0,0,0,0,0.1h-0.4c-0.1,0,0-0.1,0-0.1c0.1,0,0,0,0,0v-0.1v-0.1l-0.1,0.1c0,0-0.1,0.1,0,0.1 + c0,0.1,0,0,0,0v0.1h-0.2l-0.1-0.1l-0.1,0.1H25v-0.1c0.1,0,0,0,0,0V24.1C25,24.2,25,24.2,25,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6107_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6108_"> + <use xlink:href="#SVGID_6107_" style="overflow:visible;"/> + </clipPath> + <path class="st3055" d="M25.9,24.7h-1.3v-0.2l-0.1-0.1c0-0.1-0.1-0.2-0.1-0.2s0,0,0.1,0c0,0,0,0,0.1,0.1h0.1c0,0,0,0,0.1,0.1 + c0,0,0-0.1,0.1-0.1v-0.1l0.1,0.1c0,0,0.1,0,0.1,0.1v0.1h0.1l0.1-0.1l0.1,0.1h0.1v-0.1c0,0,0-0.1,0.1-0.1c0,0,0-0.1,0.1-0.1 + c0,0,0,0.1,0.1,0.1c0,0,0.1,0,0.1,0.1H26c0.1-0.1,0.1-0.1,0.1-0.1s0,0,0.1,0c0,0.1-0.1,0.1-0.1,0.2c0,0,0,0,0,0.1v0.1H25.9z + M24.7,24.6h1.1v-0.1h-0.1l-0.1-0.1v0.1h-0.2l-0.1-0.1l-0.1,0.1H25v-0.1c0,0,0,0.1-0.1,0.1h-0.2C24.7,24.5,24.7,24.6,24.7,24.6z + M25.7,24.4L25.7,24.4z M25.5,24.4L25.5,24.4z M25,24.4L25,24.4C25,24.4,25.1,24.4,25,24.4z M24.8,24.4L24.8,24.4z M24.8,24.4 + L24.8,24.4z M25.6,24.2C25.6,24.3,25.6,24.3,25.6,24.2L25.6,24.2L25.6,24.2z M25,24.3L25,24.3z M24.7,24.4L24.7,24.4z M25.9,24.4 + L25.9,24.4z"/> + </g> + <g> + <defs> + <path id="SVGID_6109_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6110_"> + <use xlink:href="#SVGID_6109_" style="overflow:visible;"/> + </clipPath> + <path class="st3056" d="M25,24.2C24.9,24.2,24.9,24.2,25,24.2c-0.1,0.1-0.1,0.1-0.1,0.2s0,0,0,0c0,0.1,0,0.1,0,0.1h-0.2 + c0-0.1,0-0.1,0-0.1h0.1v-0.1h-0.1l-0.1-0.1c0,0,0,0.1,0.1,0.2l0.1,0.1v0.2h0.8h-0.2c0,0,0,0-0.1-0.2h-0.1v-0.1 + C25,24.3,25,24.3,25,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_6111_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6112_"> + <use xlink:href="#SVGID_6111_" style="overflow:visible;"/> + </clipPath> + <g class="st3057"> + <g> + <defs> + <path id="SVGID_6113_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6114_"> + <use xlink:href="#SVGID_6113_" style="overflow:visible;"/> + </clipPath> + <rect x="25.2" y="24.1" class="st3058" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6115_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6116_"> + <use xlink:href="#SVGID_6115_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3059" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6117_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6118_"> + <use xlink:href="#SVGID_6117_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3060" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6119_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6120_"> + <use xlink:href="#SVGID_6119_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3061" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6121_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6122_"> + <use xlink:href="#SVGID_6121_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3062" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6123_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6124_"> + <use xlink:href="#SVGID_6123_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3063" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6125_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6126_"> + <use xlink:href="#SVGID_6125_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3064" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6127_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6128_"> + <use xlink:href="#SVGID_6127_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3065" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6129_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6130_"> + <use xlink:href="#SVGID_6129_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3066" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6131_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6132_"> + <use xlink:href="#SVGID_6131_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3067" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6133_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6134_"> + <use xlink:href="#SVGID_6133_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3068" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6135_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6136_"> + <use xlink:href="#SVGID_6135_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3069" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6137_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6138_"> + <use xlink:href="#SVGID_6137_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3070" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6139_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6140_"> + <use xlink:href="#SVGID_6139_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3071" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6141_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6142_"> + <use xlink:href="#SVGID_6141_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3072" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6143_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6144_"> + <use xlink:href="#SVGID_6143_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3073" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6145_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6146_"> + <use xlink:href="#SVGID_6145_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3074" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6147_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6148_"> + <use xlink:href="#SVGID_6147_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3075" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6149_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6150_"> + <use xlink:href="#SVGID_6149_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3076" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6151_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6152_"> + <use xlink:href="#SVGID_6151_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3077" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6153_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6154_"> + <use xlink:href="#SVGID_6153_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3078" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6155_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6156_"> + <use xlink:href="#SVGID_6155_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3079" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6157_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6158_"> + <use xlink:href="#SVGID_6157_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3080" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6159_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6160_"> + <use xlink:href="#SVGID_6159_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3081" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6161_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6162_"> + <use xlink:href="#SVGID_6161_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3082" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6163_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6164_"> + <use xlink:href="#SVGID_6163_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3083" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6165_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6166_"> + <use xlink:href="#SVGID_6165_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3084" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6167_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6168_"> + <use xlink:href="#SVGID_6167_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3085" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6169_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6170_"> + <use xlink:href="#SVGID_6169_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3086" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6171_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6172_"> + <use xlink:href="#SVGID_6171_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3087" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6173_" d="M25.5,24.1C25.5,24.1,25.4,24.2,25.5,24.1C25.5,24.2,25.4,24.2,25.5,24.1 + C25.2,24.2,25.3,24.1,25.5,24.1C25.3,24.1,25.4,24,25.5,24.1"/> + </defs> + <clipPath id="SVGID_6174_"> + <use xlink:href="#SVGID_6173_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.2" y="24" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.6449 24.8187)" class="st3088" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6175_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6176_"> + <use xlink:href="#SVGID_6175_" style="overflow:visible;"/> + </clipPath> + <path class="st3089" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6177_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6178_"> + <use xlink:href="#SVGID_6177_" style="overflow:visible;"/> + </clipPath> + <path class="st3090" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6179_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6180_"> + <use xlink:href="#SVGID_6179_" style="overflow:visible;"/> + </clipPath> + <path class="st3091" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6181_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6182_"> + <use xlink:href="#SVGID_6181_" style="overflow:visible;"/> + </clipPath> + <path class="st3092" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6183_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6184_"> + <use xlink:href="#SVGID_6183_" style="overflow:visible;"/> + </clipPath> + <path class="st3093" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6185_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6186_"> + <use xlink:href="#SVGID_6185_" style="overflow:visible;"/> + </clipPath> + <path class="st3094" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6187_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6188_"> + <use xlink:href="#SVGID_6187_" style="overflow:visible;"/> + </clipPath> + <path class="st3095" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6189_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6190_"> + <use xlink:href="#SVGID_6189_" style="overflow:visible;"/> + </clipPath> + <path class="st3096" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6191_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6192_"> + <use xlink:href="#SVGID_6191_" style="overflow:visible;"/> + </clipPath> + <path class="st3097" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6193_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6194_"> + <use xlink:href="#SVGID_6193_" style="overflow:visible;"/> + </clipPath> + <path class="st3098" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6195_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6196_"> + <use xlink:href="#SVGID_6195_" style="overflow:visible;"/> + </clipPath> + <path class="st3099" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6197_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6198_"> + <use xlink:href="#SVGID_6197_" style="overflow:visible;"/> + </clipPath> + <path class="st3100" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6199_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6200_"> + <use xlink:href="#SVGID_6199_" style="overflow:visible;"/> + </clipPath> + <path class="st3101" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6201_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6202_"> + <use xlink:href="#SVGID_6201_" style="overflow:visible;"/> + </clipPath> + <path class="st3102" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6203_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6204_"> + <use xlink:href="#SVGID_6203_" style="overflow:visible;"/> + </clipPath> + <path class="st3103" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6205_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6206_"> + <use xlink:href="#SVGID_6205_" style="overflow:visible;"/> + </clipPath> + <path class="st3104" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6207_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6208_"> + <use xlink:href="#SVGID_6207_" style="overflow:visible;"/> + </clipPath> + <path class="st3105" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6209_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6210_"> + <use xlink:href="#SVGID_6209_" style="overflow:visible;"/> + </clipPath> + <path class="st3106" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6211_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6212_"> + <use xlink:href="#SVGID_6211_" style="overflow:visible;"/> + </clipPath> + <path class="st3107" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6213_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6214_"> + <use xlink:href="#SVGID_6213_" style="overflow:visible;"/> + </clipPath> + <path class="st3108" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6215_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6216_"> + <use xlink:href="#SVGID_6215_" style="overflow:visible;"/> + </clipPath> + <path class="st3109" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6217_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6218_"> + <use xlink:href="#SVGID_6217_" style="overflow:visible;"/> + </clipPath> + <path class="st3110" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6219_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6220_"> + <use xlink:href="#SVGID_6219_" style="overflow:visible;"/> + </clipPath> + <path class="st3111" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6221_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6222_"> + <use xlink:href="#SVGID_6221_" style="overflow:visible;"/> + </clipPath> + <path class="st3112" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6223_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6224_"> + <use xlink:href="#SVGID_6223_" style="overflow:visible;"/> + </clipPath> + <path class="st3113" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6225_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6226_"> + <use xlink:href="#SVGID_6225_" style="overflow:visible;"/> + </clipPath> + <path class="st3114" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6227_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6228_"> + <use xlink:href="#SVGID_6227_" style="overflow:visible;"/> + </clipPath> + <path class="st3115" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6229_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6230_"> + <use xlink:href="#SVGID_6229_" style="overflow:visible;"/> + </clipPath> + <path class="st3116" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6231_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6232_"> + <use xlink:href="#SVGID_6231_" style="overflow:visible;"/> + </clipPath> + <path class="st3117" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6233_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6234_"> + <use xlink:href="#SVGID_6233_" style="overflow:visible;"/> + </clipPath> + <path class="st3118" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6235_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6236_"> + <use xlink:href="#SVGID_6235_" style="overflow:visible;"/> + </clipPath> + <path class="st3119" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6237_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6238_"> + <use xlink:href="#SVGID_6237_" style="overflow:visible;"/> + </clipPath> + <path class="st3120" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6239_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6240_"> + <use xlink:href="#SVGID_6239_" style="overflow:visible;"/> + </clipPath> + <path class="st3121" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6241_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6242_"> + <use xlink:href="#SVGID_6241_" style="overflow:visible;"/> + </clipPath> + <path class="st3122" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6243_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6244_"> + <use xlink:href="#SVGID_6243_" style="overflow:visible;"/> + </clipPath> + <path class="st3123" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6245_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6246_"> + <use xlink:href="#SVGID_6245_" style="overflow:visible;"/> + </clipPath> + <path class="st3124" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6247_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6248_"> + <use xlink:href="#SVGID_6247_" style="overflow:visible;"/> + </clipPath> + <path class="st3125" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6249_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6250_"> + <use xlink:href="#SVGID_6249_" style="overflow:visible;"/> + </clipPath> + <path class="st3126" d="M25.3,24.1L25.3,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6251_" d="M25.4,24.2C25.4,24.2,25.3,24.2,25.4,24.2c-0.1,0.1-0.1,0-0.1,0C25.2,24.1,25.3,24.1,25.4,24.2 + C25.3,24.1,25.4,24.1,25.4,24.2"/> + </defs> + <clipPath id="SVGID_6252_"> + <use xlink:href="#SVGID_6251_" style="overflow:visible;"/> + </clipPath> + <path class="st3127" d="M25.3,24.1L25.3,24.1z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_6253_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6254_"> + <use xlink:href="#SVGID_6253_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3128" points="25.2,24.2 25.4,24.2 25.3,24.3 "/> + </g> + <g> + <defs> + <path id="SVGID_6255_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6256_"> + <use xlink:href="#SVGID_6255_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3129" points="25.3,24.4 25.1,24.2 25.5,24.2 "/> + </g> + <g> + <defs> + <path id="SVGID_6257_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6258_"> + <use xlink:href="#SVGID_6257_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3130" points="25.4,24.3 25.4,24.5 25.3,24.4 "/> + </g> + <g> + <defs> + <path id="SVGID_6259_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6260_"> + <use xlink:href="#SVGID_6259_" style="overflow:visible;"/> + </clipPath> + <path class="st3131" d="M25.5,24.5l-0.2-0.2l0.2-0.2V24.5z M25.4,24.4L25.4,24.4z"/> + </g> + <g> + <defs> + <path id="SVGID_6261_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6262_"> + <use xlink:href="#SVGID_6261_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3132" points="25.2,24.3 25.2,24.5 25.3,24.4 "/> + </g> + <g> + <defs> + <path id="SVGID_6263_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6264_"> + <use xlink:href="#SVGID_6263_" style="overflow:visible;"/> + </clipPath> + <path class="st3133" d="M25.1,24.5v-0.3l0.2,0.2L25.1,24.5z M25.2,24.4L25.2,24.4z"/> + </g> + <g> + <defs> + <path id="SVGID_6265_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6266_"> + <use xlink:href="#SVGID_6265_" style="overflow:visible;"/> + </clipPath> + <path class="st3134" d="M25.3,24.4L25.3,24.4C25.3,24.3,25.3,24.3,25.3,24.4C25.3,24.3,25.3,24.3,25.3,24.4 + C25.3,24.3,25.3,24.3,25.3,24.4z"/> + </g> + <g> + <defs> + <path id="SVGID_6267_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6268_"> + <use xlink:href="#SVGID_6267_" style="overflow:visible;"/> + </clipPath> + <rect x="24.7" y="24.6" class="st3135" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6269_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6270_"> + <use xlink:href="#SVGID_6269_" style="overflow:visible;"/> + </clipPath> + <path class="st3136" d="M25.6,24.1l-0.1,0.1c0,0-0.1,0.1,0,0.1s0,0,0,0v0.1h-0.1c0,0,0.1,0,0.1,0.1c0,0,0.1,0.1,0.2,0.1h0.1v-0.2 + l0.1-0.1c0-0.1,0.1-0.2,0.1-0.2l-0.1,0.1h-0.1c0,0-0.1,0.1,0,0.1c0,0,0,0,0.1,0c0,0,0,0,0,0.1h-0.2c-0.1,0,0-0.1,0-0.1 + c0.1,0,0,0,0,0v-0.1C25.7,24.3,25.7,24.2,25.6,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_6271_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6272_"> + <use xlink:href="#SVGID_6271_" style="overflow:visible;"/> + </clipPath> + <rect x="25.8" y="24.6" class="st3137" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6273_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6274_"> + <use xlink:href="#SVGID_6273_" style="overflow:visible;"/> + </clipPath> + <rect x="25.6" y="24.6" class="st3138" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6275_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6276_"> + <use xlink:href="#SVGID_6275_" style="overflow:visible;"/> + </clipPath> + <rect x="25" y="24.6" class="st3139" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6277_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6278_"> + <use xlink:href="#SVGID_6277_" style="overflow:visible;"/> + </clipPath> + <rect x="25.2" y="24.6" class="st3140" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6279_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6280_"> + <use xlink:href="#SVGID_6279_" style="overflow:visible;"/> + </clipPath> + <rect x="24.7" y="24.7" class="st3141" width="1.3" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6281_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6282_"> + <use xlink:href="#SVGID_6281_" style="overflow:visible;"/> + </clipPath> + <path class="st3142" d="M24.7,24.7L24.7,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6283_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6284_"> + <use xlink:href="#SVGID_6283_" style="overflow:visible;"/> + </clipPath> + <path class="st3143" d="M24.8,24.7L24.8,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6285_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6286_"> + <use xlink:href="#SVGID_6285_" style="overflow:visible;"/> + </clipPath> + <path class="st3144" d="M24.9,24.7L24.9,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6287_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6288_"> + <use xlink:href="#SVGID_6287_" style="overflow:visible;"/> + </clipPath> + <path class="st3145" d="M25,24.7L25,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6289_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6290_"> + <use xlink:href="#SVGID_6289_" style="overflow:visible;"/> + </clipPath> + <path class="st3146" d="M25.1,24.7L25.1,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6291_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6292_"> + <use xlink:href="#SVGID_6291_" style="overflow:visible;"/> + </clipPath> + <path class="st3147" d="M25.2,24.7L25.2,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6293_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6294_"> + <use xlink:href="#SVGID_6293_" style="overflow:visible;"/> + </clipPath> + <path class="st3148" d="M25.3,24.7L25.3,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6295_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6296_"> + <use xlink:href="#SVGID_6295_" style="overflow:visible;"/> + </clipPath> + <path class="st3149" d="M25.4,24.7L25.4,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6297_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6298_"> + <use xlink:href="#SVGID_6297_" style="overflow:visible;"/> + </clipPath> + <path class="st3150" d="M25.5,24.7L25.5,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6299_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6300_"> + <use xlink:href="#SVGID_6299_" style="overflow:visible;"/> + </clipPath> + <path class="st3151" d="M25.6,24.7L25.6,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6301_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6302_"> + <use xlink:href="#SVGID_6301_" style="overflow:visible;"/> + </clipPath> + <path class="st3152" d="M25.7,24.7L25.7,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6303_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6304_"> + <use xlink:href="#SVGID_6303_" style="overflow:visible;"/> + </clipPath> + <path class="st3153" d="M25.8,24.7L25.8,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6305_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6306_"> + <use xlink:href="#SVGID_6305_" style="overflow:visible;"/> + </clipPath> + <path class="st3154" d="M25.9,24.7L25.9,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6307_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6308_"> + <use xlink:href="#SVGID_6307_" style="overflow:visible;"/> + </clipPath> + <g class="st3155"> + <g> + <defs> + <path id="SVGID_6309_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6310_"> + <use xlink:href="#SVGID_6309_" style="overflow:visible;"/> + </clipPath> + <rect x="26.1" y="23.9" class="st3156" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6311_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6312_"> + <use xlink:href="#SVGID_6311_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3157" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6313_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6314_"> + <use xlink:href="#SVGID_6313_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3158" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6315_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6316_"> + <use xlink:href="#SVGID_6315_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3159" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6317_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6318_"> + <use xlink:href="#SVGID_6317_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3160" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6319_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6320_"> + <use xlink:href="#SVGID_6319_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3161" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6321_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6322_"> + <use xlink:href="#SVGID_6321_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3162" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6323_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6324_"> + <use xlink:href="#SVGID_6323_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3163" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6325_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6326_"> + <use xlink:href="#SVGID_6325_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3164" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6327_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6328_"> + <use xlink:href="#SVGID_6327_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3165" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6329_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6330_"> + <use xlink:href="#SVGID_6329_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3166" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6331_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6332_"> + <use xlink:href="#SVGID_6331_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3167" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6333_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6334_"> + <use xlink:href="#SVGID_6333_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3168" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6335_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6336_"> + <use xlink:href="#SVGID_6335_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3169" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6337_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6338_"> + <use xlink:href="#SVGID_6337_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3170" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6339_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6340_"> + <use xlink:href="#SVGID_6339_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3171" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6341_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6342_"> + <use xlink:href="#SVGID_6341_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3172" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6343_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6344_"> + <use xlink:href="#SVGID_6343_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3173" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6345_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6346_"> + <use xlink:href="#SVGID_6345_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3174" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6347_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6348_"> + <use xlink:href="#SVGID_6347_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3175" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6349_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6350_"> + <use xlink:href="#SVGID_6349_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3176" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6351_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6352_"> + <use xlink:href="#SVGID_6351_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3177" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6353_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6354_"> + <use xlink:href="#SVGID_6353_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3178" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6355_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6356_"> + <use xlink:href="#SVGID_6355_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3179" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6357_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6358_"> + <use xlink:href="#SVGID_6357_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3180" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6359_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6360_"> + <use xlink:href="#SVGID_6359_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3181" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6361_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6362_"> + <use xlink:href="#SVGID_6361_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3182" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6363_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6364_"> + <use xlink:href="#SVGID_6363_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3183" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6365_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6366_"> + <use xlink:href="#SVGID_6365_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3184" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6367_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6368_"> + <use xlink:href="#SVGID_6367_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3185" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6369_" d="M26.2,23.9C26.3,24,26.3,24,26.2,23.9C26.2,24,26.1,24,26.2,23.9C26.1,24,26.1,24,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6370_"> + <use xlink:href="#SVGID_6369_" style="overflow:visible;"/> + </clipPath> + + <rect x="26.1" y="23.8" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.2416 25.3954)" class="st3186" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6371_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6372_"> + <use xlink:href="#SVGID_6371_" style="overflow:visible;"/> + </clipPath> + <path class="st3187" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6373_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6374_"> + <use xlink:href="#SVGID_6373_" style="overflow:visible;"/> + </clipPath> + <path class="st3188" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6375_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6376_"> + <use xlink:href="#SVGID_6375_" style="overflow:visible;"/> + </clipPath> + <path class="st3189" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6377_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6378_"> + <use xlink:href="#SVGID_6377_" style="overflow:visible;"/> + </clipPath> + <path class="st3190" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6379_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6380_"> + <use xlink:href="#SVGID_6379_" style="overflow:visible;"/> + </clipPath> + <path class="st3191" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6381_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6382_"> + <use xlink:href="#SVGID_6381_" style="overflow:visible;"/> + </clipPath> + <path class="st3192" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6383_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6384_"> + <use xlink:href="#SVGID_6383_" style="overflow:visible;"/> + </clipPath> + <path class="st3193" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6385_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6386_"> + <use xlink:href="#SVGID_6385_" style="overflow:visible;"/> + </clipPath> + <path class="st3194" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6387_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6388_"> + <use xlink:href="#SVGID_6387_" style="overflow:visible;"/> + </clipPath> + <path class="st3195" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6389_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6390_"> + <use xlink:href="#SVGID_6389_" style="overflow:visible;"/> + </clipPath> + <path class="st3196" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6391_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6392_"> + <use xlink:href="#SVGID_6391_" style="overflow:visible;"/> + </clipPath> + <path class="st3197" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6393_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6394_"> + <use xlink:href="#SVGID_6393_" style="overflow:visible;"/> + </clipPath> + <path class="st3198" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6395_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6396_"> + <use xlink:href="#SVGID_6395_" style="overflow:visible;"/> + </clipPath> + <path class="st3199" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6397_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6398_"> + <use xlink:href="#SVGID_6397_" style="overflow:visible;"/> + </clipPath> + <path class="st3200" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6399_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6400_"> + <use xlink:href="#SVGID_6399_" style="overflow:visible;"/> + </clipPath> + <path class="st3201" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6401_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6402_"> + <use xlink:href="#SVGID_6401_" style="overflow:visible;"/> + </clipPath> + <path class="st3202" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6403_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6404_"> + <use xlink:href="#SVGID_6403_" style="overflow:visible;"/> + </clipPath> + <path class="st3203" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6405_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6406_"> + <use xlink:href="#SVGID_6405_" style="overflow:visible;"/> + </clipPath> + <path class="st3204" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6407_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6408_"> + <use xlink:href="#SVGID_6407_" style="overflow:visible;"/> + </clipPath> + <path class="st3205" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6409_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6410_"> + <use xlink:href="#SVGID_6409_" style="overflow:visible;"/> + </clipPath> + <path class="st3206" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6411_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6412_"> + <use xlink:href="#SVGID_6411_" style="overflow:visible;"/> + </clipPath> + <path class="st3207" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6413_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6414_"> + <use xlink:href="#SVGID_6413_" style="overflow:visible;"/> + </clipPath> + <path class="st3208" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6415_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6416_"> + <use xlink:href="#SVGID_6415_" style="overflow:visible;"/> + </clipPath> + <path class="st3209" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6417_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6418_"> + <use xlink:href="#SVGID_6417_" style="overflow:visible;"/> + </clipPath> + <path class="st3210" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6419_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6420_"> + <use xlink:href="#SVGID_6419_" style="overflow:visible;"/> + </clipPath> + <path class="st3211" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6421_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6422_"> + <use xlink:href="#SVGID_6421_" style="overflow:visible;"/> + </clipPath> + <path class="st3212" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6423_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6424_"> + <use xlink:href="#SVGID_6423_" style="overflow:visible;"/> + </clipPath> + <path class="st3213" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6425_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6426_"> + <use xlink:href="#SVGID_6425_" style="overflow:visible;"/> + </clipPath> + <path class="st3214" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6427_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6428_"> + <use xlink:href="#SVGID_6427_" style="overflow:visible;"/> + </clipPath> + <path class="st3215" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6429_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6430_"> + <use xlink:href="#SVGID_6429_" style="overflow:visible;"/> + </clipPath> + <path class="st3216" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6431_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6432_"> + <use xlink:href="#SVGID_6431_" style="overflow:visible;"/> + </clipPath> + <path class="st3217" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6433_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6434_"> + <use xlink:href="#SVGID_6433_" style="overflow:visible;"/> + </clipPath> + <path class="st3218" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6435_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6436_"> + <use xlink:href="#SVGID_6435_" style="overflow:visible;"/> + </clipPath> + <path class="st3219" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6437_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6438_"> + <use xlink:href="#SVGID_6437_" style="overflow:visible;"/> + </clipPath> + <path class="st3220" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6439_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6440_"> + <use xlink:href="#SVGID_6439_" style="overflow:visible;"/> + </clipPath> + <path class="st3221" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6441_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6442_"> + <use xlink:href="#SVGID_6441_" style="overflow:visible;"/> + </clipPath> + <path class="st3222" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6443_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6444_"> + <use xlink:href="#SVGID_6443_" style="overflow:visible;"/> + </clipPath> + <path class="st3223" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6445_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6446_"> + <use xlink:href="#SVGID_6445_" style="overflow:visible;"/> + </clipPath> + <path class="st3224" d="M26.2,23.9L26.2,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_6447_" d="M26.2,23.9C26.2,24,26.2,24,26.2,23.9c-0.1,0.1-0.1,0-0.1,0S26.1,23.9,26.2,23.9"/> + </defs> + <clipPath id="SVGID_6448_"> + <use xlink:href="#SVGID_6447_" style="overflow:visible;"/> + </clipPath> + <path class="st3225" d="M26.2,23.9L26.2,23.9z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_6449_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6450_"> + <use xlink:href="#SVGID_6449_" style="overflow:visible;"/> + </clipPath> + <g class="st3226"> + <g> + <defs> + <path id="SVGID_6451_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6452_"> + <use xlink:href="#SVGID_6451_" style="overflow:visible;"/> + </clipPath> + <rect x="26.1" y="24" class="st3227" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6453_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6454_"> + <use xlink:href="#SVGID_6453_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3228" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6455_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6456_"> + <use xlink:href="#SVGID_6455_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3229" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6457_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6458_"> + <use xlink:href="#SVGID_6457_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3230" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6459_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6460_"> + <use xlink:href="#SVGID_6459_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3231" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6461_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6462_"> + <use xlink:href="#SVGID_6461_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3232" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6463_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6464_"> + <use xlink:href="#SVGID_6463_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3233" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6465_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6466_"> + <use xlink:href="#SVGID_6465_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3234" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6467_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6468_"> + <use xlink:href="#SVGID_6467_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3235" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6469_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6470_"> + <use xlink:href="#SVGID_6469_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3236" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6471_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6472_"> + <use xlink:href="#SVGID_6471_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3237" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6473_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6474_"> + <use xlink:href="#SVGID_6473_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3238" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6475_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6476_"> + <use xlink:href="#SVGID_6475_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3239" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6477_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6478_"> + <use xlink:href="#SVGID_6477_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3240" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6479_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6480_"> + <use xlink:href="#SVGID_6479_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3241" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6481_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6482_"> + <use xlink:href="#SVGID_6481_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3242" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6483_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6484_"> + <use xlink:href="#SVGID_6483_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3243" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6485_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6486_"> + <use xlink:href="#SVGID_6485_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3244" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6487_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6488_"> + <use xlink:href="#SVGID_6487_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3245" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6489_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6490_"> + <use xlink:href="#SVGID_6489_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3246" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6491_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6492_"> + <use xlink:href="#SVGID_6491_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3247" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6493_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6494_"> + <use xlink:href="#SVGID_6493_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3248" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6495_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6496_"> + <use xlink:href="#SVGID_6495_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3249" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6497_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6498_"> + <use xlink:href="#SVGID_6497_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3250" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6499_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6500_"> + <use xlink:href="#SVGID_6499_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3251" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6501_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6502_"> + <use xlink:href="#SVGID_6501_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3252" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6503_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6504_"> + <use xlink:href="#SVGID_6503_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3253" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6505_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6506_"> + <use xlink:href="#SVGID_6505_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3254" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6507_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6508_"> + <use xlink:href="#SVGID_6507_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3255" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6509_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6510_"> + <use xlink:href="#SVGID_6509_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3256" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6511_" d="M26.3,24C26.3,24.1,26.2,24.1,26.3,24C26.1,24,26.1,24,26.3,24C26.2,23.9,26.2,23.9,26.3,24"/> + </defs> + <clipPath id="SVGID_6512_"> + <use xlink:href="#SVGID_6511_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3362 25.5249)" class="st3257" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6513_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6514_"> + <use xlink:href="#SVGID_6513_" style="overflow:visible;"/> + </clipPath> + <path class="st3258" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6515_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6516_"> + <use xlink:href="#SVGID_6515_" style="overflow:visible;"/> + </clipPath> + <path class="st3259" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6517_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6518_"> + <use xlink:href="#SVGID_6517_" style="overflow:visible;"/> + </clipPath> + <path class="st3260" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6519_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6520_"> + <use xlink:href="#SVGID_6519_" style="overflow:visible;"/> + </clipPath> + <path class="st3261" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6521_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6522_"> + <use xlink:href="#SVGID_6521_" style="overflow:visible;"/> + </clipPath> + <path class="st3262" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6523_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6524_"> + <use xlink:href="#SVGID_6523_" style="overflow:visible;"/> + </clipPath> + <path class="st3263" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6525_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6526_"> + <use xlink:href="#SVGID_6525_" style="overflow:visible;"/> + </clipPath> + <path class="st3264" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6527_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6528_"> + <use xlink:href="#SVGID_6527_" style="overflow:visible;"/> + </clipPath> + <path class="st3265" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6529_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6530_"> + <use xlink:href="#SVGID_6529_" style="overflow:visible;"/> + </clipPath> + <path class="st3266" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6531_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6532_"> + <use xlink:href="#SVGID_6531_" style="overflow:visible;"/> + </clipPath> + <path class="st3267" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6533_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6534_"> + <use xlink:href="#SVGID_6533_" style="overflow:visible;"/> + </clipPath> + <path class="st3268" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6535_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6536_"> + <use xlink:href="#SVGID_6535_" style="overflow:visible;"/> + </clipPath> + <path class="st3269" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6537_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6538_"> + <use xlink:href="#SVGID_6537_" style="overflow:visible;"/> + </clipPath> + <path class="st3270" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6539_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6540_"> + <use xlink:href="#SVGID_6539_" style="overflow:visible;"/> + </clipPath> + <path class="st3271" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6541_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6542_"> + <use xlink:href="#SVGID_6541_" style="overflow:visible;"/> + </clipPath> + <path class="st3272" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6543_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6544_"> + <use xlink:href="#SVGID_6543_" style="overflow:visible;"/> + </clipPath> + <path class="st3273" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6545_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6546_"> + <use xlink:href="#SVGID_6545_" style="overflow:visible;"/> + </clipPath> + <path class="st3274" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6547_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6548_"> + <use xlink:href="#SVGID_6547_" style="overflow:visible;"/> + </clipPath> + <path class="st3275" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6549_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6550_"> + <use xlink:href="#SVGID_6549_" style="overflow:visible;"/> + </clipPath> + <path class="st3276" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6551_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6552_"> + <use xlink:href="#SVGID_6551_" style="overflow:visible;"/> + </clipPath> + <path class="st3277" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6553_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6554_"> + <use xlink:href="#SVGID_6553_" style="overflow:visible;"/> + </clipPath> + <path class="st3278" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6555_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6556_"> + <use xlink:href="#SVGID_6555_" style="overflow:visible;"/> + </clipPath> + <path class="st3279" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6557_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6558_"> + <use xlink:href="#SVGID_6557_" style="overflow:visible;"/> + </clipPath> + <path class="st3280" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6559_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6560_"> + <use xlink:href="#SVGID_6559_" style="overflow:visible;"/> + </clipPath> + <path class="st3281" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6561_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6562_"> + <use xlink:href="#SVGID_6561_" style="overflow:visible;"/> + </clipPath> + <path class="st3282" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6563_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6564_"> + <use xlink:href="#SVGID_6563_" style="overflow:visible;"/> + </clipPath> + <path class="st3283" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6565_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6566_"> + <use xlink:href="#SVGID_6565_" style="overflow:visible;"/> + </clipPath> + <path class="st3284" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6567_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6568_"> + <use xlink:href="#SVGID_6567_" style="overflow:visible;"/> + </clipPath> + <path class="st3285" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6569_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6570_"> + <use xlink:href="#SVGID_6569_" style="overflow:visible;"/> + </clipPath> + <path class="st3286" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6571_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6572_"> + <use xlink:href="#SVGID_6571_" style="overflow:visible;"/> + </clipPath> + <path class="st3287" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6573_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6574_"> + <use xlink:href="#SVGID_6573_" style="overflow:visible;"/> + </clipPath> + <path class="st3288" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6575_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6576_"> + <use xlink:href="#SVGID_6575_" style="overflow:visible;"/> + </clipPath> + <path class="st3289" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6577_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6578_"> + <use xlink:href="#SVGID_6577_" style="overflow:visible;"/> + </clipPath> + <path class="st3290" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6579_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6580_"> + <use xlink:href="#SVGID_6579_" style="overflow:visible;"/> + </clipPath> + <path class="st3291" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6581_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6582_"> + <use xlink:href="#SVGID_6581_" style="overflow:visible;"/> + </clipPath> + <path class="st3292" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6583_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6584_"> + <use xlink:href="#SVGID_6583_" style="overflow:visible;"/> + </clipPath> + <path class="st3293" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6585_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6586_"> + <use xlink:href="#SVGID_6585_" style="overflow:visible;"/> + </clipPath> + <path class="st3294" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6587_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6588_"> + <use xlink:href="#SVGID_6587_" style="overflow:visible;"/> + </clipPath> + <path class="st3295" d="M26.1,24L26.1,24z"/> + </g> + <g> + <defs> + <path id="SVGID_6589_" d="M26.2,24.1c-0.1,0.1-0.1,0-0.1,0C26.1,24,26.1,24,26.2,24.1C26.2,24,26.2,24,26.2,24.1"/> + </defs> + <clipPath id="SVGID_6590_"> + <use xlink:href="#SVGID_6589_" style="overflow:visible;"/> + </clipPath> + <path class="st3296" d="M26.1,24L26.1,24z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_6591_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6592_"> + <use xlink:href="#SVGID_6591_" style="overflow:visible;"/> + </clipPath> + <g class="st3297"> + <g> + <defs> + <path id="SVGID_6593_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6594_"> + <use xlink:href="#SVGID_6593_" style="overflow:visible;"/> + </clipPath> + <rect x="26.1" y="23.7" class="st3298" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6595_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6596_"> + <use xlink:href="#SVGID_6595_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3299" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6597_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6598_"> + <use xlink:href="#SVGID_6597_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3300" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6599_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6600_"> + <use xlink:href="#SVGID_6599_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3301" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6601_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6602_"> + <use xlink:href="#SVGID_6601_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3302" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6603_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6604_"> + <use xlink:href="#SVGID_6603_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3303" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6605_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6606_"> + <use xlink:href="#SVGID_6605_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3304" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6607_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6608_"> + <use xlink:href="#SVGID_6607_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3305" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6609_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6610_"> + <use xlink:href="#SVGID_6609_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3306" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6611_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6612_"> + <use xlink:href="#SVGID_6611_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3307" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6613_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6614_"> + <use xlink:href="#SVGID_6613_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3308" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6615_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6616_"> + <use xlink:href="#SVGID_6615_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3309" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6617_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6618_"> + <use xlink:href="#SVGID_6617_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3310" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6619_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6620_"> + <use xlink:href="#SVGID_6619_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3311" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6621_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6622_"> + <use xlink:href="#SVGID_6621_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3312" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6623_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6624_"> + <use xlink:href="#SVGID_6623_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3313" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6625_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6626_"> + <use xlink:href="#SVGID_6625_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3314" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6627_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6628_"> + <use xlink:href="#SVGID_6627_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3315" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6629_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6630_"> + <use xlink:href="#SVGID_6629_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3316" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6631_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6632_"> + <use xlink:href="#SVGID_6631_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3317" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6633_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6634_"> + <use xlink:href="#SVGID_6633_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3318" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6635_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6636_"> + <use xlink:href="#SVGID_6635_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3319" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6637_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6638_"> + <use xlink:href="#SVGID_6637_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3320" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6639_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6640_"> + <use xlink:href="#SVGID_6639_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3321" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6641_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6642_"> + <use xlink:href="#SVGID_6641_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3322" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6643_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6644_"> + <use xlink:href="#SVGID_6643_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3323" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6645_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6646_"> + <use xlink:href="#SVGID_6645_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3324" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6647_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6648_"> + <use xlink:href="#SVGID_6647_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3325" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6649_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6650_"> + <use xlink:href="#SVGID_6649_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3326" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6651_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6652_"> + <use xlink:href="#SVGID_6651_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3327" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6653_" d="M26.2,23.7C26.2,23.7,26.3,23.8,26.2,23.7C26.2,23.9,26.1,23.8,26.2,23.7 + C26.1,23.8,26,23.7,26.2,23.7C26.1,23.7,26.2,23.7,26.2,23.7"/> + </defs> + <clipPath id="SVGID_6654_"> + <use xlink:href="#SVGID_6653_" style="overflow:visible;"/> + </clipPath> + + <rect x="26" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.1944 25.4661)" class="st3328" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6655_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6656_"> + <use xlink:href="#SVGID_6655_" style="overflow:visible;"/> + </clipPath> + <path class="st3329" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6657_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6658_"> + <use xlink:href="#SVGID_6657_" style="overflow:visible;"/> + </clipPath> + <path class="st3330" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6659_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6660_"> + <use xlink:href="#SVGID_6659_" style="overflow:visible;"/> + </clipPath> + <path class="st3331" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6661_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6662_"> + <use xlink:href="#SVGID_6661_" style="overflow:visible;"/> + </clipPath> + <path class="st3332" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6663_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6664_"> + <use xlink:href="#SVGID_6663_" style="overflow:visible;"/> + </clipPath> + <path class="st3333" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6665_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6666_"> + <use xlink:href="#SVGID_6665_" style="overflow:visible;"/> + </clipPath> + <path class="st3334" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6667_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6668_"> + <use xlink:href="#SVGID_6667_" style="overflow:visible;"/> + </clipPath> + <path class="st3335" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6669_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6670_"> + <use xlink:href="#SVGID_6669_" style="overflow:visible;"/> + </clipPath> + <path class="st3336" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6671_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6672_"> + <use xlink:href="#SVGID_6671_" style="overflow:visible;"/> + </clipPath> + <path class="st3337" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6673_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6674_"> + <use xlink:href="#SVGID_6673_" style="overflow:visible;"/> + </clipPath> + <path class="st3338" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6675_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6676_"> + <use xlink:href="#SVGID_6675_" style="overflow:visible;"/> + </clipPath> + <path class="st3339" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6677_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6678_"> + <use xlink:href="#SVGID_6677_" style="overflow:visible;"/> + </clipPath> + <path class="st3340" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6679_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6680_"> + <use xlink:href="#SVGID_6679_" style="overflow:visible;"/> + </clipPath> + <path class="st3341" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6681_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6682_"> + <use xlink:href="#SVGID_6681_" style="overflow:visible;"/> + </clipPath> + <path class="st3342" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6683_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6684_"> + <use xlink:href="#SVGID_6683_" style="overflow:visible;"/> + </clipPath> + <path class="st3343" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6685_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6686_"> + <use xlink:href="#SVGID_6685_" style="overflow:visible;"/> + </clipPath> + <path class="st3344" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6687_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6688_"> + <use xlink:href="#SVGID_6687_" style="overflow:visible;"/> + </clipPath> + <path class="st3345" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6689_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6690_"> + <use xlink:href="#SVGID_6689_" style="overflow:visible;"/> + </clipPath> + <path class="st3346" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6691_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6692_"> + <use xlink:href="#SVGID_6691_" style="overflow:visible;"/> + </clipPath> + <path class="st3347" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6693_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6694_"> + <use xlink:href="#SVGID_6693_" style="overflow:visible;"/> + </clipPath> + <path class="st3348" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6695_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6696_"> + <use xlink:href="#SVGID_6695_" style="overflow:visible;"/> + </clipPath> + <path class="st3349" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6697_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6698_"> + <use xlink:href="#SVGID_6697_" style="overflow:visible;"/> + </clipPath> + <path class="st3350" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6699_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6700_"> + <use xlink:href="#SVGID_6699_" style="overflow:visible;"/> + </clipPath> + <path class="st3351" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6701_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6702_"> + <use xlink:href="#SVGID_6701_" style="overflow:visible;"/> + </clipPath> + <path class="st3352" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6703_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6704_"> + <use xlink:href="#SVGID_6703_" style="overflow:visible;"/> + </clipPath> + <path class="st3353" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6705_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6706_"> + <use xlink:href="#SVGID_6705_" style="overflow:visible;"/> + </clipPath> + <path class="st3354" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6707_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6708_"> + <use xlink:href="#SVGID_6707_" style="overflow:visible;"/> + </clipPath> + <path class="st3355" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6709_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6710_"> + <use xlink:href="#SVGID_6709_" style="overflow:visible;"/> + </clipPath> + <path class="st3356" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6711_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6712_"> + <use xlink:href="#SVGID_6711_" style="overflow:visible;"/> + </clipPath> + <path class="st3357" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6713_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6714_"> + <use xlink:href="#SVGID_6713_" style="overflow:visible;"/> + </clipPath> + <path class="st3358" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6715_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6716_"> + <use xlink:href="#SVGID_6715_" style="overflow:visible;"/> + </clipPath> + <path class="st3359" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6717_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6718_"> + <use xlink:href="#SVGID_6717_" style="overflow:visible;"/> + </clipPath> + <path class="st3360" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6719_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6720_"> + <use xlink:href="#SVGID_6719_" style="overflow:visible;"/> + </clipPath> + <path class="st3361" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6721_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6722_"> + <use xlink:href="#SVGID_6721_" style="overflow:visible;"/> + </clipPath> + <path class="st3362" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6723_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6724_"> + <use xlink:href="#SVGID_6723_" style="overflow:visible;"/> + </clipPath> + <path class="st3363" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6725_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6726_"> + <use xlink:href="#SVGID_6725_" style="overflow:visible;"/> + </clipPath> + <path class="st3364" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6727_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6728_"> + <use xlink:href="#SVGID_6727_" style="overflow:visible;"/> + </clipPath> + <path class="st3365" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6729_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6730_"> + <use xlink:href="#SVGID_6729_" style="overflow:visible;"/> + </clipPath> + <path class="st3366" d="M26.1,23.8L26.1,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_6731_" d="M26.2,23.8C26.2,23.8,26.2,23.9,26.2,23.8c-0.1,0.1-0.1,0-0.1,0S26.1,23.7,26.2,23.8 + C26.2,23.7,26.2,23.8,26.2,23.8"/> + </defs> + <clipPath id="SVGID_6732_"> + <use xlink:href="#SVGID_6731_" style="overflow:visible;"/> + </clipPath> + <path class="st3367" d="M26.1,23.8L26.1,23.8z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_6733_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6734_"> + <use xlink:href="#SVGID_6733_" style="overflow:visible;"/> + </clipPath> + <g class="st3368"> + <g> + <defs> + <path id="SVGID_6735_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6736_"> + <use xlink:href="#SVGID_6735_" style="overflow:visible;"/> + </clipPath> + <rect x="26" y="23.7" class="st3369" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6737_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6738_"> + <use xlink:href="#SVGID_6737_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3370" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6739_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6740_"> + <use xlink:href="#SVGID_6739_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3371" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6741_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6742_"> + <use xlink:href="#SVGID_6741_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3372" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6743_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6744_"> + <use xlink:href="#SVGID_6743_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3373" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6745_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6746_"> + <use xlink:href="#SVGID_6745_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3374" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6747_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6748_"> + <use xlink:href="#SVGID_6747_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3375" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6749_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6750_"> + <use xlink:href="#SVGID_6749_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3376" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6751_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6752_"> + <use xlink:href="#SVGID_6751_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3377" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6753_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6754_"> + <use xlink:href="#SVGID_6753_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3378" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6755_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6756_"> + <use xlink:href="#SVGID_6755_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3379" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6757_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6758_"> + <use xlink:href="#SVGID_6757_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3380" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6759_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6760_"> + <use xlink:href="#SVGID_6759_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3381" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6761_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6762_"> + <use xlink:href="#SVGID_6761_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3382" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6763_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6764_"> + <use xlink:href="#SVGID_6763_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3383" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6765_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6766_"> + <use xlink:href="#SVGID_6765_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3384" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6767_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6768_"> + <use xlink:href="#SVGID_6767_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3385" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6769_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6770_"> + <use xlink:href="#SVGID_6769_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3386" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6771_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6772_"> + <use xlink:href="#SVGID_6771_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3387" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6773_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6774_"> + <use xlink:href="#SVGID_6773_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3388" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6775_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6776_"> + <use xlink:href="#SVGID_6775_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3389" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6777_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6778_"> + <use xlink:href="#SVGID_6777_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3390" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6779_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6780_"> + <use xlink:href="#SVGID_6779_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3391" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6781_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6782_"> + <use xlink:href="#SVGID_6781_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3392" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6783_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6784_"> + <use xlink:href="#SVGID_6783_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3393" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6785_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6786_"> + <use xlink:href="#SVGID_6785_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3394" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6787_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6788_"> + <use xlink:href="#SVGID_6787_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3395" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6789_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6790_"> + <use xlink:href="#SVGID_6789_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3396" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6791_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6792_"> + <use xlink:href="#SVGID_6791_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3397" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6793_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6794_"> + <use xlink:href="#SVGID_6793_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3398" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6795_" d="M26.1,23.6C26.2,23.7,26.2,23.7,26.1,23.6C26.1,23.8,26.1,23.8,26.1,23.6 + C26.1,23.8,26.1,23.8,26.1,23.6C26,23.7,26,23.7,26.1,23.6"/> + </defs> + <clipPath id="SVGID_6796_"> + <use xlink:href="#SVGID_6795_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.153 25.3657)" class="st3399" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6797_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6798_"> + <use xlink:href="#SVGID_6797_" style="overflow:visible;"/> + </clipPath> + <path class="st3400" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6799_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6800_"> + <use xlink:href="#SVGID_6799_" style="overflow:visible;"/> + </clipPath> + <path class="st3401" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6801_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6802_"> + <use xlink:href="#SVGID_6801_" style="overflow:visible;"/> + </clipPath> + <path class="st3402" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6803_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6804_"> + <use xlink:href="#SVGID_6803_" style="overflow:visible;"/> + </clipPath> + <path class="st3403" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6805_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6806_"> + <use xlink:href="#SVGID_6805_" style="overflow:visible;"/> + </clipPath> + <path class="st3404" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6807_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6808_"> + <use xlink:href="#SVGID_6807_" style="overflow:visible;"/> + </clipPath> + <path class="st3405" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6809_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6810_"> + <use xlink:href="#SVGID_6809_" style="overflow:visible;"/> + </clipPath> + <path class="st3406" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6811_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6812_"> + <use xlink:href="#SVGID_6811_" style="overflow:visible;"/> + </clipPath> + <path class="st3407" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6813_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6814_"> + <use xlink:href="#SVGID_6813_" style="overflow:visible;"/> + </clipPath> + <path class="st3408" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6815_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6816_"> + <use xlink:href="#SVGID_6815_" style="overflow:visible;"/> + </clipPath> + <path class="st3409" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6817_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6818_"> + <use xlink:href="#SVGID_6817_" style="overflow:visible;"/> + </clipPath> + <path class="st3410" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6819_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6820_"> + <use xlink:href="#SVGID_6819_" style="overflow:visible;"/> + </clipPath> + <path class="st3411" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6821_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6822_"> + <use xlink:href="#SVGID_6821_" style="overflow:visible;"/> + </clipPath> + <path class="st3412" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6823_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6824_"> + <use xlink:href="#SVGID_6823_" style="overflow:visible;"/> + </clipPath> + <path class="st3413" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6825_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6826_"> + <use xlink:href="#SVGID_6825_" style="overflow:visible;"/> + </clipPath> + <path class="st3414" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6827_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6828_"> + <use xlink:href="#SVGID_6827_" style="overflow:visible;"/> + </clipPath> + <path class="st3415" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6829_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6830_"> + <use xlink:href="#SVGID_6829_" style="overflow:visible;"/> + </clipPath> + <path class="st3416" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6831_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6832_"> + <use xlink:href="#SVGID_6831_" style="overflow:visible;"/> + </clipPath> + <path class="st3417" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6833_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6834_"> + <use xlink:href="#SVGID_6833_" style="overflow:visible;"/> + </clipPath> + <path class="st3418" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6835_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6836_"> + <use xlink:href="#SVGID_6835_" style="overflow:visible;"/> + </clipPath> + <path class="st3419" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6837_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6838_"> + <use xlink:href="#SVGID_6837_" style="overflow:visible;"/> + </clipPath> + <path class="st3420" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6839_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6840_"> + <use xlink:href="#SVGID_6839_" style="overflow:visible;"/> + </clipPath> + <path class="st3421" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6841_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6842_"> + <use xlink:href="#SVGID_6841_" style="overflow:visible;"/> + </clipPath> + <path class="st3422" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6843_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6844_"> + <use xlink:href="#SVGID_6843_" style="overflow:visible;"/> + </clipPath> + <path class="st3423" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6845_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6846_"> + <use xlink:href="#SVGID_6845_" style="overflow:visible;"/> + </clipPath> + <path class="st3424" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6847_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6848_"> + <use xlink:href="#SVGID_6847_" style="overflow:visible;"/> + </clipPath> + <path class="st3425" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6849_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6850_"> + <use xlink:href="#SVGID_6849_" style="overflow:visible;"/> + </clipPath> + <path class="st3426" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6851_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6852_"> + <use xlink:href="#SVGID_6851_" style="overflow:visible;"/> + </clipPath> + <path class="st3427" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6853_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6854_"> + <use xlink:href="#SVGID_6853_" style="overflow:visible;"/> + </clipPath> + <path class="st3428" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6855_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6856_"> + <use xlink:href="#SVGID_6855_" style="overflow:visible;"/> + </clipPath> + <path class="st3429" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6857_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6858_"> + <use xlink:href="#SVGID_6857_" style="overflow:visible;"/> + </clipPath> + <path class="st3430" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6859_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6860_"> + <use xlink:href="#SVGID_6859_" style="overflow:visible;"/> + </clipPath> + <path class="st3431" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6861_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6862_"> + <use xlink:href="#SVGID_6861_" style="overflow:visible;"/> + </clipPath> + <path class="st3432" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6863_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6864_"> + <use xlink:href="#SVGID_6863_" style="overflow:visible;"/> + </clipPath> + <path class="st3433" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6865_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6866_"> + <use xlink:href="#SVGID_6865_" style="overflow:visible;"/> + </clipPath> + <path class="st3434" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6867_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6868_"> + <use xlink:href="#SVGID_6867_" style="overflow:visible;"/> + </clipPath> + <path class="st3435" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6869_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6870_"> + <use xlink:href="#SVGID_6869_" style="overflow:visible;"/> + </clipPath> + <path class="st3436" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6871_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6872_"> + <use xlink:href="#SVGID_6871_" style="overflow:visible;"/> + </clipPath> + <path class="st3437" d="M26,23.7L26,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_6873_" d="M26.1,23.7C26.1,23.8,26.1,23.8,26.1,23.7C26,23.8,26,23.8,26.1,23.7c-0.1,0.1-0.1,0.1-0.1,0 + C26,23.7,26,23.7,26.1,23.7"/> + </defs> + <clipPath id="SVGID_6874_"> + <use xlink:href="#SVGID_6873_" style="overflow:visible;"/> + </clipPath> + <path class="st3438" d="M26,23.7L26,23.7z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_6875_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_6876_"> + <use xlink:href="#SVGID_6875_" style="overflow:visible;"/> + </clipPath> + <g class="st3439"> + <g> + <defs> + <path id="SVGID_6877_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6878_"> + <use xlink:href="#SVGID_6877_" style="overflow:visible;"/> + </clipPath> + <rect x="25.8" y="23.6" class="st3440" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6879_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6880_"> + <use xlink:href="#SVGID_6879_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3441" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6881_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6882_"> + <use xlink:href="#SVGID_6881_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3442" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6883_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6884_"> + <use xlink:href="#SVGID_6883_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3443" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6885_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6886_"> + <use xlink:href="#SVGID_6885_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3444" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6887_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6888_"> + <use xlink:href="#SVGID_6887_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3445" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6889_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6890_"> + <use xlink:href="#SVGID_6889_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3446" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6891_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6892_"> + <use xlink:href="#SVGID_6891_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3447" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6893_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6894_"> + <use xlink:href="#SVGID_6893_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3448" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6895_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6896_"> + <use xlink:href="#SVGID_6895_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3449" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6897_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6898_"> + <use xlink:href="#SVGID_6897_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3450" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6899_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6900_"> + <use xlink:href="#SVGID_6899_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3451" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6901_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6902_"> + <use xlink:href="#SVGID_6901_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3452" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6903_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6904_"> + <use xlink:href="#SVGID_6903_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3453" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6905_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6906_"> + <use xlink:href="#SVGID_6905_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3454" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6907_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6908_"> + <use xlink:href="#SVGID_6907_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3455" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6909_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6910_"> + <use xlink:href="#SVGID_6909_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3456" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6911_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6912_"> + <use xlink:href="#SVGID_6911_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3457" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6913_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6914_"> + <use xlink:href="#SVGID_6913_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3458" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6915_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6916_"> + <use xlink:href="#SVGID_6915_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3459" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6917_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6918_"> + <use xlink:href="#SVGID_6917_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3460" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6919_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6920_"> + <use xlink:href="#SVGID_6919_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3461" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6921_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6922_"> + <use xlink:href="#SVGID_6921_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3462" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6923_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6924_"> + <use xlink:href="#SVGID_6923_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3463" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6925_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6926_"> + <use xlink:href="#SVGID_6925_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3464" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6927_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6928_"> + <use xlink:href="#SVGID_6927_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3465" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6929_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6930_"> + <use xlink:href="#SVGID_6929_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3466" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6931_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6932_"> + <use xlink:href="#SVGID_6931_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3467" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6933_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6934_"> + <use xlink:href="#SVGID_6933_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3468" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6935_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6936_"> + <use xlink:href="#SVGID_6935_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3469" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6937_" d="M26,23.6C26,23.6,26,23.7,26,23.6C26,23.7,26,23.7,26,23.6C25.8,23.7,25.9,23.6,26,23.6 + C25.9,23.6,26,23.5,26,23.6"/> + </defs> + <clipPath id="SVGID_6938_"> + <use xlink:href="#SVGID_6937_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.8" y="23.5" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.1224 25.0087)" class="st3470" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_6939_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6940_"> + <use xlink:href="#SVGID_6939_" style="overflow:visible;"/> + </clipPath> + <path class="st3471" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6941_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6942_"> + <use xlink:href="#SVGID_6941_" style="overflow:visible;"/> + </clipPath> + <path class="st3472" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6943_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6944_"> + <use xlink:href="#SVGID_6943_" style="overflow:visible;"/> + </clipPath> + <path class="st3473" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6945_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6946_"> + <use xlink:href="#SVGID_6945_" style="overflow:visible;"/> + </clipPath> + <path class="st3474" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6947_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6948_"> + <use xlink:href="#SVGID_6947_" style="overflow:visible;"/> + </clipPath> + <path class="st3475" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6949_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6950_"> + <use xlink:href="#SVGID_6949_" style="overflow:visible;"/> + </clipPath> + <path class="st3476" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6951_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6952_"> + <use xlink:href="#SVGID_6951_" style="overflow:visible;"/> + </clipPath> + <path class="st3477" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6953_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6954_"> + <use xlink:href="#SVGID_6953_" style="overflow:visible;"/> + </clipPath> + <path class="st3478" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6955_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6956_"> + <use xlink:href="#SVGID_6955_" style="overflow:visible;"/> + </clipPath> + <path class="st3479" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6957_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6958_"> + <use xlink:href="#SVGID_6957_" style="overflow:visible;"/> + </clipPath> + <path class="st3480" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6959_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6960_"> + <use xlink:href="#SVGID_6959_" style="overflow:visible;"/> + </clipPath> + <path class="st3481" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6961_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6962_"> + <use xlink:href="#SVGID_6961_" style="overflow:visible;"/> + </clipPath> + <path class="st3482" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6963_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6964_"> + <use xlink:href="#SVGID_6963_" style="overflow:visible;"/> + </clipPath> + <path class="st3483" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6965_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6966_"> + <use xlink:href="#SVGID_6965_" style="overflow:visible;"/> + </clipPath> + <path class="st3484" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6967_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6968_"> + <use xlink:href="#SVGID_6967_" style="overflow:visible;"/> + </clipPath> + <path class="st3485" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6969_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6970_"> + <use xlink:href="#SVGID_6969_" style="overflow:visible;"/> + </clipPath> + <path class="st3486" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6971_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6972_"> + <use xlink:href="#SVGID_6971_" style="overflow:visible;"/> + </clipPath> + <path class="st3487" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6973_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6974_"> + <use xlink:href="#SVGID_6973_" style="overflow:visible;"/> + </clipPath> + <path class="st3488" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6975_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6976_"> + <use xlink:href="#SVGID_6975_" style="overflow:visible;"/> + </clipPath> + <path class="st3489" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6977_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6978_"> + <use xlink:href="#SVGID_6977_" style="overflow:visible;"/> + </clipPath> + <path class="st3490" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6979_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6980_"> + <use xlink:href="#SVGID_6979_" style="overflow:visible;"/> + </clipPath> + <path class="st3491" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6981_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6982_"> + <use xlink:href="#SVGID_6981_" style="overflow:visible;"/> + </clipPath> + <path class="st3492" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6983_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6984_"> + <use xlink:href="#SVGID_6983_" style="overflow:visible;"/> + </clipPath> + <path class="st3493" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6985_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6986_"> + <use xlink:href="#SVGID_6985_" style="overflow:visible;"/> + </clipPath> + <path class="st3494" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6987_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6988_"> + <use xlink:href="#SVGID_6987_" style="overflow:visible;"/> + </clipPath> + <path class="st3495" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6989_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6990_"> + <use xlink:href="#SVGID_6989_" style="overflow:visible;"/> + </clipPath> + <path class="st3496" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6991_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6992_"> + <use xlink:href="#SVGID_6991_" style="overflow:visible;"/> + </clipPath> + <path class="st3497" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6993_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6994_"> + <use xlink:href="#SVGID_6993_" style="overflow:visible;"/> + </clipPath> + <path class="st3498" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6995_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6996_"> + <use xlink:href="#SVGID_6995_" style="overflow:visible;"/> + </clipPath> + <path class="st3499" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6997_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_6998_"> + <use xlink:href="#SVGID_6997_" style="overflow:visible;"/> + </clipPath> + <path class="st3500" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_6999_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_7000_"> + <use xlink:href="#SVGID_6999_" style="overflow:visible;"/> + </clipPath> + <path class="st3501" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7001_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_7002_"> + <use xlink:href="#SVGID_7001_" style="overflow:visible;"/> + </clipPath> + <path class="st3502" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7003_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_7004_"> + <use xlink:href="#SVGID_7003_" style="overflow:visible;"/> + </clipPath> + <path class="st3503" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7005_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_7006_"> + <use xlink:href="#SVGID_7005_" style="overflow:visible;"/> + </clipPath> + <path class="st3504" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7007_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_7008_"> + <use xlink:href="#SVGID_7007_" style="overflow:visible;"/> + </clipPath> + <path class="st3505" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7009_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_7010_"> + <use xlink:href="#SVGID_7009_" style="overflow:visible;"/> + </clipPath> + <path class="st3506" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7011_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_7012_"> + <use xlink:href="#SVGID_7011_" style="overflow:visible;"/> + </clipPath> + <path class="st3507" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7013_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_7014_"> + <use xlink:href="#SVGID_7013_" style="overflow:visible;"/> + </clipPath> + <path class="st3508" d="M25.9,23.6L25.9,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7015_" d="M26,23.7C26,23.7,25.9,23.7,26,23.7C25.9,23.8,25.9,23.7,26,23.7C25.8,23.6,25.9,23.6,26,23.7 + C25.9,23.6,26,23.6,26,23.7"/> + </defs> + <clipPath id="SVGID_7016_"> + <use xlink:href="#SVGID_7015_" style="overflow:visible;"/> + </clipPath> + <path class="st3509" d="M25.9,23.6L25.9,23.6z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_7017_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_7018_"> + <use xlink:href="#SVGID_7017_" style="overflow:visible;"/> + </clipPath> + <g class="st3510"> + <g> + <defs> + <path id="SVGID_7019_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7020_"> + <use xlink:href="#SVGID_7019_" style="overflow:visible;"/> + </clipPath> + <rect x="25.7" y="23.6" class="st3511" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7021_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7022_"> + <use xlink:href="#SVGID_7021_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3512" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7023_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7024_"> + <use xlink:href="#SVGID_7023_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3513" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7025_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7026_"> + <use xlink:href="#SVGID_7025_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3514" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7027_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7028_"> + <use xlink:href="#SVGID_7027_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3515" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7029_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7030_"> + <use xlink:href="#SVGID_7029_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3516" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7031_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7032_"> + <use xlink:href="#SVGID_7031_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3517" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7033_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7034_"> + <use xlink:href="#SVGID_7033_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3518" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7035_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7036_"> + <use xlink:href="#SVGID_7035_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3519" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7037_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7038_"> + <use xlink:href="#SVGID_7037_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3520" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7039_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7040_"> + <use xlink:href="#SVGID_7039_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3521" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7041_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7042_"> + <use xlink:href="#SVGID_7041_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3522" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7043_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7044_"> + <use xlink:href="#SVGID_7043_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3523" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7045_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7046_"> + <use xlink:href="#SVGID_7045_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3524" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7047_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7048_"> + <use xlink:href="#SVGID_7047_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3525" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7049_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7050_"> + <use xlink:href="#SVGID_7049_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3526" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7051_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7052_"> + <use xlink:href="#SVGID_7051_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3527" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7053_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7054_"> + <use xlink:href="#SVGID_7053_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3528" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7055_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7056_"> + <use xlink:href="#SVGID_7055_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3529" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7057_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7058_"> + <use xlink:href="#SVGID_7057_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3530" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7059_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7060_"> + <use xlink:href="#SVGID_7059_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3531" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7061_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7062_"> + <use xlink:href="#SVGID_7061_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3532" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7063_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7064_"> + <use xlink:href="#SVGID_7063_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3533" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7065_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7066_"> + <use xlink:href="#SVGID_7065_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3534" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7067_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7068_"> + <use xlink:href="#SVGID_7067_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3535" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7069_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7070_"> + <use xlink:href="#SVGID_7069_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3536" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7071_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7072_"> + <use xlink:href="#SVGID_7071_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3537" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7073_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7074_"> + <use xlink:href="#SVGID_7073_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3538" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7075_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7076_"> + <use xlink:href="#SVGID_7075_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3539" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7077_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7078_"> + <use xlink:href="#SVGID_7077_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3540" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7079_" d="M25.9,23.7C25.9,23.8,25.8,23.7,25.9,23.7C25.7,23.7,25.7,23.7,25.9,23.7 + C25.8,23.6,25.8,23.6,25.9,23.7"/> + </defs> + <clipPath id="SVGID_7080_"> + <use xlink:href="#SVGID_7079_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.1466 25.0258)" class="st3541" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7081_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7082_"> + <use xlink:href="#SVGID_7081_" style="overflow:visible;"/> + </clipPath> + <path class="st3542" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7083_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7084_"> + <use xlink:href="#SVGID_7083_" style="overflow:visible;"/> + </clipPath> + <path class="st3543" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7085_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7086_"> + <use xlink:href="#SVGID_7085_" style="overflow:visible;"/> + </clipPath> + <path class="st3544" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7087_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7088_"> + <use xlink:href="#SVGID_7087_" style="overflow:visible;"/> + </clipPath> + <path class="st3545" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7089_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7090_"> + <use xlink:href="#SVGID_7089_" style="overflow:visible;"/> + </clipPath> + <path class="st3546" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7091_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7092_"> + <use xlink:href="#SVGID_7091_" style="overflow:visible;"/> + </clipPath> + <path class="st3547" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7093_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7094_"> + <use xlink:href="#SVGID_7093_" style="overflow:visible;"/> + </clipPath> + <path class="st3548" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7095_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7096_"> + <use xlink:href="#SVGID_7095_" style="overflow:visible;"/> + </clipPath> + <path class="st3549" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7097_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7098_"> + <use xlink:href="#SVGID_7097_" style="overflow:visible;"/> + </clipPath> + <path class="st3550" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7099_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7100_"> + <use xlink:href="#SVGID_7099_" style="overflow:visible;"/> + </clipPath> + <path class="st3551" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7101_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7102_"> + <use xlink:href="#SVGID_7101_" style="overflow:visible;"/> + </clipPath> + <path class="st3552" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7103_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7104_"> + <use xlink:href="#SVGID_7103_" style="overflow:visible;"/> + </clipPath> + <path class="st3553" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7105_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7106_"> + <use xlink:href="#SVGID_7105_" style="overflow:visible;"/> + </clipPath> + <path class="st3554" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7107_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7108_"> + <use xlink:href="#SVGID_7107_" style="overflow:visible;"/> + </clipPath> + <path class="st3555" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7109_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7110_"> + <use xlink:href="#SVGID_7109_" style="overflow:visible;"/> + </clipPath> + <path class="st3556" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7111_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7112_"> + <use xlink:href="#SVGID_7111_" style="overflow:visible;"/> + </clipPath> + <path class="st3557" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7113_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7114_"> + <use xlink:href="#SVGID_7113_" style="overflow:visible;"/> + </clipPath> + <path class="st3558" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7115_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7116_"> + <use xlink:href="#SVGID_7115_" style="overflow:visible;"/> + </clipPath> + <path class="st3559" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7117_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7118_"> + <use xlink:href="#SVGID_7117_" style="overflow:visible;"/> + </clipPath> + <path class="st3560" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7119_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7120_"> + <use xlink:href="#SVGID_7119_" style="overflow:visible;"/> + </clipPath> + <path class="st3561" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7121_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7122_"> + <use xlink:href="#SVGID_7121_" style="overflow:visible;"/> + </clipPath> + <path class="st3562" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7123_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7124_"> + <use xlink:href="#SVGID_7123_" style="overflow:visible;"/> + </clipPath> + <path class="st3563" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7125_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7126_"> + <use xlink:href="#SVGID_7125_" style="overflow:visible;"/> + </clipPath> + <path class="st3564" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7127_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7128_"> + <use xlink:href="#SVGID_7127_" style="overflow:visible;"/> + </clipPath> + <path class="st3565" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7129_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7130_"> + <use xlink:href="#SVGID_7129_" style="overflow:visible;"/> + </clipPath> + <path class="st3566" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7131_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7132_"> + <use xlink:href="#SVGID_7131_" style="overflow:visible;"/> + </clipPath> + <path class="st3567" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7133_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7134_"> + <use xlink:href="#SVGID_7133_" style="overflow:visible;"/> + </clipPath> + <path class="st3568" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7135_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7136_"> + <use xlink:href="#SVGID_7135_" style="overflow:visible;"/> + </clipPath> + <path class="st3569" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7137_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7138_"> + <use xlink:href="#SVGID_7137_" style="overflow:visible;"/> + </clipPath> + <path class="st3570" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7139_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7140_"> + <use xlink:href="#SVGID_7139_" style="overflow:visible;"/> + </clipPath> + <path class="st3571" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7141_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7142_"> + <use xlink:href="#SVGID_7141_" style="overflow:visible;"/> + </clipPath> + <path class="st3572" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7143_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7144_"> + <use xlink:href="#SVGID_7143_" style="overflow:visible;"/> + </clipPath> + <path class="st3573" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7145_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7146_"> + <use xlink:href="#SVGID_7145_" style="overflow:visible;"/> + </clipPath> + <path class="st3574" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7147_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7148_"> + <use xlink:href="#SVGID_7147_" style="overflow:visible;"/> + </clipPath> + <path class="st3575" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7149_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7150_"> + <use xlink:href="#SVGID_7149_" style="overflow:visible;"/> + </clipPath> + <path class="st3576" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7151_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7152_"> + <use xlink:href="#SVGID_7151_" style="overflow:visible;"/> + </clipPath> + <path class="st3577" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7153_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7154_"> + <use xlink:href="#SVGID_7153_" style="overflow:visible;"/> + </clipPath> + <path class="st3578" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7155_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7156_"> + <use xlink:href="#SVGID_7155_" style="overflow:visible;"/> + </clipPath> + <path class="st3579" d="M25.8,23.6L25.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_7157_" d="M25.8,23.7c-0.1,0.1-0.1,0-0.1,0C25.7,23.6,25.7,23.6,25.8,23.7C25.8,23.6,25.8,23.6,25.8,23.7"/> + </defs> + <clipPath id="SVGID_7158_"> + <use xlink:href="#SVGID_7157_" style="overflow:visible;"/> + </clipPath> + <path class="st3580" d="M25.8,23.6L25.8,23.6z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_7159_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_7160_"> + <use xlink:href="#SVGID_7159_" style="overflow:visible;"/> + </clipPath> + <g class="st3581"> + <g> + <defs> + <path id="SVGID_7161_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7162_"> + <use xlink:href="#SVGID_7161_" style="overflow:visible;"/> + </clipPath> + <rect x="25.6" y="23.6" class="st3582" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7163_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7164_"> + <use xlink:href="#SVGID_7163_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3583" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7165_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7166_"> + <use xlink:href="#SVGID_7165_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3584" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7167_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7168_"> + <use xlink:href="#SVGID_7167_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3585" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7169_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7170_"> + <use xlink:href="#SVGID_7169_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3586" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7171_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7172_"> + <use xlink:href="#SVGID_7171_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3587" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7173_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7174_"> + <use xlink:href="#SVGID_7173_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3588" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7175_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7176_"> + <use xlink:href="#SVGID_7175_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3589" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7177_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7178_"> + <use xlink:href="#SVGID_7177_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3590" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7179_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7180_"> + <use xlink:href="#SVGID_7179_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3591" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7181_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7182_"> + <use xlink:href="#SVGID_7181_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3592" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7183_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7184_"> + <use xlink:href="#SVGID_7183_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3593" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7185_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7186_"> + <use xlink:href="#SVGID_7185_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3594" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7187_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7188_"> + <use xlink:href="#SVGID_7187_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3595" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7189_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7190_"> + <use xlink:href="#SVGID_7189_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3596" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7191_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7192_"> + <use xlink:href="#SVGID_7191_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3597" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7193_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7194_"> + <use xlink:href="#SVGID_7193_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3598" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7195_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7196_"> + <use xlink:href="#SVGID_7195_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3599" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7197_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7198_"> + <use xlink:href="#SVGID_7197_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3600" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7199_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7200_"> + <use xlink:href="#SVGID_7199_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3601" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7201_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7202_"> + <use xlink:href="#SVGID_7201_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3602" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7203_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7204_"> + <use xlink:href="#SVGID_7203_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3603" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7205_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7206_"> + <use xlink:href="#SVGID_7205_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3604" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7207_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7208_"> + <use xlink:href="#SVGID_7207_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3605" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7209_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7210_"> + <use xlink:href="#SVGID_7209_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3606" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7211_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7212_"> + <use xlink:href="#SVGID_7211_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3607" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7213_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7214_"> + <use xlink:href="#SVGID_7213_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3608" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7215_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7216_"> + <use xlink:href="#SVGID_7215_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3609" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7217_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7218_"> + <use xlink:href="#SVGID_7217_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3610" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7219_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7220_"> + <use xlink:href="#SVGID_7219_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3611" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7221_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7222_"> + <use xlink:href="#SVGID_7221_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3612" points="25.6,23.6 25.7,23.7 25.6,23.8 25.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7223_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7224_"> + <use xlink:href="#SVGID_7223_" style="overflow:visible;"/> + </clipPath> + <path class="st3613" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7225_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7226_"> + <use xlink:href="#SVGID_7225_" style="overflow:visible;"/> + </clipPath> + <path class="st3614" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7227_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7228_"> + <use xlink:href="#SVGID_7227_" style="overflow:visible;"/> + </clipPath> + <path class="st3615" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7229_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7230_"> + <use xlink:href="#SVGID_7229_" style="overflow:visible;"/> + </clipPath> + <path class="st3616" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7231_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7232_"> + <use xlink:href="#SVGID_7231_" style="overflow:visible;"/> + </clipPath> + <path class="st3617" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7233_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7234_"> + <use xlink:href="#SVGID_7233_" style="overflow:visible;"/> + </clipPath> + <path class="st3618" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7235_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7236_"> + <use xlink:href="#SVGID_7235_" style="overflow:visible;"/> + </clipPath> + <path class="st3619" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7237_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7238_"> + <use xlink:href="#SVGID_7237_" style="overflow:visible;"/> + </clipPath> + <path class="st3620" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7239_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7240_"> + <use xlink:href="#SVGID_7239_" style="overflow:visible;"/> + </clipPath> + <path class="st3621" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7241_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7242_"> + <use xlink:href="#SVGID_7241_" style="overflow:visible;"/> + </clipPath> + <path class="st3622" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7243_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7244_"> + <use xlink:href="#SVGID_7243_" style="overflow:visible;"/> + </clipPath> + <path class="st3623" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7245_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7246_"> + <use xlink:href="#SVGID_7245_" style="overflow:visible;"/> + </clipPath> + <path class="st3624" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7247_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7248_"> + <use xlink:href="#SVGID_7247_" style="overflow:visible;"/> + </clipPath> + <path class="st3625" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7249_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7250_"> + <use xlink:href="#SVGID_7249_" style="overflow:visible;"/> + </clipPath> + <path class="st3626" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7251_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7252_"> + <use xlink:href="#SVGID_7251_" style="overflow:visible;"/> + </clipPath> + <path class="st3627" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7253_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7254_"> + <use xlink:href="#SVGID_7253_" style="overflow:visible;"/> + </clipPath> + <path class="st3628" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7255_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7256_"> + <use xlink:href="#SVGID_7255_" style="overflow:visible;"/> + </clipPath> + <path class="st3629" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7257_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7258_"> + <use xlink:href="#SVGID_7257_" style="overflow:visible;"/> + </clipPath> + <path class="st3630" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7259_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7260_"> + <use xlink:href="#SVGID_7259_" style="overflow:visible;"/> + </clipPath> + <path class="st3631" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7261_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7262_"> + <use xlink:href="#SVGID_7261_" style="overflow:visible;"/> + </clipPath> + <path class="st3632" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7263_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7264_"> + <use xlink:href="#SVGID_7263_" style="overflow:visible;"/> + </clipPath> + <path class="st3633" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7265_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7266_"> + <use xlink:href="#SVGID_7265_" style="overflow:visible;"/> + </clipPath> + <path class="st3634" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7267_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7268_"> + <use xlink:href="#SVGID_7267_" style="overflow:visible;"/> + </clipPath> + <path class="st3635" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7269_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7270_"> + <use xlink:href="#SVGID_7269_" style="overflow:visible;"/> + </clipPath> + <path class="st3636" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7271_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7272_"> + <use xlink:href="#SVGID_7271_" style="overflow:visible;"/> + </clipPath> + <path class="st3637" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7273_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7274_"> + <use xlink:href="#SVGID_7273_" style="overflow:visible;"/> + </clipPath> + <path class="st3638" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7275_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7276_"> + <use xlink:href="#SVGID_7275_" style="overflow:visible;"/> + </clipPath> + <path class="st3639" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7277_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7278_"> + <use xlink:href="#SVGID_7277_" style="overflow:visible;"/> + </clipPath> + <path class="st3640" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7279_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7280_"> + <use xlink:href="#SVGID_7279_" style="overflow:visible;"/> + </clipPath> + <path class="st3641" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7281_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7282_"> + <use xlink:href="#SVGID_7281_" style="overflow:visible;"/> + </clipPath> + <path class="st3642" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7283_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7284_"> + <use xlink:href="#SVGID_7283_" style="overflow:visible;"/> + </clipPath> + <path class="st3643" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7285_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7286_"> + <use xlink:href="#SVGID_7285_" style="overflow:visible;"/> + </clipPath> + <path class="st3644" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7287_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7288_"> + <use xlink:href="#SVGID_7287_" style="overflow:visible;"/> + </clipPath> + <path class="st3645" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7289_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7290_"> + <use xlink:href="#SVGID_7289_" style="overflow:visible;"/> + </clipPath> + <path class="st3646" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7291_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7292_"> + <use xlink:href="#SVGID_7291_" style="overflow:visible;"/> + </clipPath> + <path class="st3647" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7293_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7294_"> + <use xlink:href="#SVGID_7293_" style="overflow:visible;"/> + </clipPath> + <path class="st3648" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7295_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7296_"> + <use xlink:href="#SVGID_7295_" style="overflow:visible;"/> + </clipPath> + <path class="st3649" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7297_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7298_"> + <use xlink:href="#SVGID_7297_" style="overflow:visible;"/> + </clipPath> + <path class="st3650" d="M25.6,23.7L25.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7299_" d="M25.7,23.7C25.7,23.7,25.7,23.8,25.7,23.7c-0.1,0.1-0.1,0-0.1,0S25.6,23.6,25.7,23.7 + C25.7,23.6,25.7,23.7,25.7,23.7"/> + </defs> + <clipPath id="SVGID_7300_"> + <use xlink:href="#SVGID_7299_" style="overflow:visible;"/> + </clipPath> + <path class="st3651" d="M25.6,23.7L25.6,23.7z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_7301_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_7302_"> + <use xlink:href="#SVGID_7301_" style="overflow:visible;"/> + </clipPath> + <g class="st3652"> + <g> + <defs> + <path id="SVGID_7303_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7304_"> + <use xlink:href="#SVGID_7303_" style="overflow:visible;"/> + </clipPath> + <rect x="25.4" y="23.7" class="st3653" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7305_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7306_"> + <use xlink:href="#SVGID_7305_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3654" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7307_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7308_"> + <use xlink:href="#SVGID_7307_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3655" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7309_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7310_"> + <use xlink:href="#SVGID_7309_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3656" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7311_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7312_"> + <use xlink:href="#SVGID_7311_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3657" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7313_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7314_"> + <use xlink:href="#SVGID_7313_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3658" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7315_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7316_"> + <use xlink:href="#SVGID_7315_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3659" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7317_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7318_"> + <use xlink:href="#SVGID_7317_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3660" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7319_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7320_"> + <use xlink:href="#SVGID_7319_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3661" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7321_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7322_"> + <use xlink:href="#SVGID_7321_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3662" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7323_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7324_"> + <use xlink:href="#SVGID_7323_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3663" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7325_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7326_"> + <use xlink:href="#SVGID_7325_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3664" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7327_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7328_"> + <use xlink:href="#SVGID_7327_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3665" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7329_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7330_"> + <use xlink:href="#SVGID_7329_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3666" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7331_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7332_"> + <use xlink:href="#SVGID_7331_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3667" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7333_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7334_"> + <use xlink:href="#SVGID_7333_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3668" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7335_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7336_"> + <use xlink:href="#SVGID_7335_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3669" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7337_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7338_"> + <use xlink:href="#SVGID_7337_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3670" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7339_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7340_"> + <use xlink:href="#SVGID_7339_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3671" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7341_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7342_"> + <use xlink:href="#SVGID_7341_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3672" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7343_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7344_"> + <use xlink:href="#SVGID_7343_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3673" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7345_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7346_"> + <use xlink:href="#SVGID_7345_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3674" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7347_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7348_"> + <use xlink:href="#SVGID_7347_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3675" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7349_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7350_"> + <use xlink:href="#SVGID_7349_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3676" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7351_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7352_"> + <use xlink:href="#SVGID_7351_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3677" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7353_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7354_"> + <use xlink:href="#SVGID_7353_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3678" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7355_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7356_"> + <use xlink:href="#SVGID_7355_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3679" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7357_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7358_"> + <use xlink:href="#SVGID_7357_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3680" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7359_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7360_"> + <use xlink:href="#SVGID_7359_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3681" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7361_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7362_"> + <use xlink:href="#SVGID_7361_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3682" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7363_" d="M25.6,23.6C25.7,23.7,25.7,23.7,25.6,23.6C25.6,23.8,25.5,23.7,25.6,23.6 + C25.5,23.7,25.5,23.7,25.6,23.6"/> + </defs> + <clipPath id="SVGID_7364_"> + <use xlink:href="#SVGID_7363_" style="overflow:visible;"/> + </clipPath> + + <rect x="25.4" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.3003 25.0113)" class="st3683" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7365_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7366_"> + <use xlink:href="#SVGID_7365_" style="overflow:visible;"/> + </clipPath> + <path class="st3684" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7367_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7368_"> + <use xlink:href="#SVGID_7367_" style="overflow:visible;"/> + </clipPath> + <path class="st3685" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7369_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7370_"> + <use xlink:href="#SVGID_7369_" style="overflow:visible;"/> + </clipPath> + <path class="st3686" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7371_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7372_"> + <use xlink:href="#SVGID_7371_" style="overflow:visible;"/> + </clipPath> + <path class="st3687" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7373_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7374_"> + <use xlink:href="#SVGID_7373_" style="overflow:visible;"/> + </clipPath> + <path class="st3688" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7375_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7376_"> + <use xlink:href="#SVGID_7375_" style="overflow:visible;"/> + </clipPath> + <path class="st3689" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7377_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7378_"> + <use xlink:href="#SVGID_7377_" style="overflow:visible;"/> + </clipPath> + <path class="st3690" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7379_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7380_"> + <use xlink:href="#SVGID_7379_" style="overflow:visible;"/> + </clipPath> + <path class="st3691" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7381_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7382_"> + <use xlink:href="#SVGID_7381_" style="overflow:visible;"/> + </clipPath> + <path class="st3692" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7383_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7384_"> + <use xlink:href="#SVGID_7383_" style="overflow:visible;"/> + </clipPath> + <path class="st3693" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7385_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7386_"> + <use xlink:href="#SVGID_7385_" style="overflow:visible;"/> + </clipPath> + <path class="st3694" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7387_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7388_"> + <use xlink:href="#SVGID_7387_" style="overflow:visible;"/> + </clipPath> + <path class="st3695" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7389_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7390_"> + <use xlink:href="#SVGID_7389_" style="overflow:visible;"/> + </clipPath> + <path class="st3696" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7391_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7392_"> + <use xlink:href="#SVGID_7391_" style="overflow:visible;"/> + </clipPath> + <path class="st3697" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7393_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7394_"> + <use xlink:href="#SVGID_7393_" style="overflow:visible;"/> + </clipPath> + <path class="st3698" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7395_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7396_"> + <use xlink:href="#SVGID_7395_" style="overflow:visible;"/> + </clipPath> + <path class="st3699" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7397_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7398_"> + <use xlink:href="#SVGID_7397_" style="overflow:visible;"/> + </clipPath> + <path class="st3700" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7399_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7400_"> + <use xlink:href="#SVGID_7399_" style="overflow:visible;"/> + </clipPath> + <path class="st3701" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7401_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7402_"> + <use xlink:href="#SVGID_7401_" style="overflow:visible;"/> + </clipPath> + <path class="st3702" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7403_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7404_"> + <use xlink:href="#SVGID_7403_" style="overflow:visible;"/> + </clipPath> + <path class="st3703" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7405_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7406_"> + <use xlink:href="#SVGID_7405_" style="overflow:visible;"/> + </clipPath> + <path class="st3704" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7407_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7408_"> + <use xlink:href="#SVGID_7407_" style="overflow:visible;"/> + </clipPath> + <path class="st3705" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7409_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7410_"> + <use xlink:href="#SVGID_7409_" style="overflow:visible;"/> + </clipPath> + <path class="st3706" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7411_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7412_"> + <use xlink:href="#SVGID_7411_" style="overflow:visible;"/> + </clipPath> + <path class="st3707" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7413_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7414_"> + <use xlink:href="#SVGID_7413_" style="overflow:visible;"/> + </clipPath> + <path class="st3708" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7415_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7416_"> + <use xlink:href="#SVGID_7415_" style="overflow:visible;"/> + </clipPath> + <path class="st3709" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7417_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7418_"> + <use xlink:href="#SVGID_7417_" style="overflow:visible;"/> + </clipPath> + <path class="st3710" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7419_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7420_"> + <use xlink:href="#SVGID_7419_" style="overflow:visible;"/> + </clipPath> + <path class="st3711" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7421_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7422_"> + <use xlink:href="#SVGID_7421_" style="overflow:visible;"/> + </clipPath> + <path class="st3712" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7423_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7424_"> + <use xlink:href="#SVGID_7423_" style="overflow:visible;"/> + </clipPath> + <path class="st3713" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7425_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7426_"> + <use xlink:href="#SVGID_7425_" style="overflow:visible;"/> + </clipPath> + <path class="st3714" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7427_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7428_"> + <use xlink:href="#SVGID_7427_" style="overflow:visible;"/> + </clipPath> + <path class="st3715" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7429_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7430_"> + <use xlink:href="#SVGID_7429_" style="overflow:visible;"/> + </clipPath> + <path class="st3716" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7431_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7432_"> + <use xlink:href="#SVGID_7431_" style="overflow:visible;"/> + </clipPath> + <path class="st3717" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7433_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7434_"> + <use xlink:href="#SVGID_7433_" style="overflow:visible;"/> + </clipPath> + <path class="st3718" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7435_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7436_"> + <use xlink:href="#SVGID_7435_" style="overflow:visible;"/> + </clipPath> + <path class="st3719" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7437_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7438_"> + <use xlink:href="#SVGID_7437_" style="overflow:visible;"/> + </clipPath> + <path class="st3720" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7439_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7440_"> + <use xlink:href="#SVGID_7439_" style="overflow:visible;"/> + </clipPath> + <path class="st3721" d="M25.5,23.7L25.5,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7441_" d="M25.6,23.7C25.6,23.8,25.6,23.8,25.6,23.7c-0.1,0.1-0.1,0-0.1,0S25.5,23.7,25.6,23.7"/> + </defs> + <clipPath id="SVGID_7442_"> + <use xlink:href="#SVGID_7441_" style="overflow:visible;"/> + </clipPath> + <path class="st3722" d="M25.5,23.7L25.5,23.7z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_7443_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_7444_"> + <use xlink:href="#SVGID_7443_" style="overflow:visible;"/> + </clipPath> + <g class="st3723"> + <g> + <defs> + <path id="SVGID_7445_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7446_"> + <use xlink:href="#SVGID_7445_" style="overflow:visible;"/> + </clipPath> + <rect x="24.4" y="23.9" class="st3724" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7447_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7448_"> + <use xlink:href="#SVGID_7447_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3725" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7449_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7450_"> + <use xlink:href="#SVGID_7449_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3726" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7451_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7452_"> + <use xlink:href="#SVGID_7451_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3727" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7453_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7454_"> + <use xlink:href="#SVGID_7453_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3728" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7455_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7456_"> + <use xlink:href="#SVGID_7455_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3729" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7457_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7458_"> + <use xlink:href="#SVGID_7457_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3730" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7459_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7460_"> + <use xlink:href="#SVGID_7459_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3731" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7461_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7462_"> + <use xlink:href="#SVGID_7461_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3732" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7463_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7464_"> + <use xlink:href="#SVGID_7463_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3733" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7465_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7466_"> + <use xlink:href="#SVGID_7465_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3734" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7467_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7468_"> + <use xlink:href="#SVGID_7467_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3735" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7469_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7470_"> + <use xlink:href="#SVGID_7469_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3736" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7471_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7472_"> + <use xlink:href="#SVGID_7471_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3737" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7473_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7474_"> + <use xlink:href="#SVGID_7473_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3738" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7475_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7476_"> + <use xlink:href="#SVGID_7475_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3739" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7477_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7478_"> + <use xlink:href="#SVGID_7477_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3740" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7479_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7480_"> + <use xlink:href="#SVGID_7479_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3741" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7481_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7482_"> + <use xlink:href="#SVGID_7481_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3742" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7483_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7484_"> + <use xlink:href="#SVGID_7483_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3743" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7485_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7486_"> + <use xlink:href="#SVGID_7485_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3744" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7487_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7488_"> + <use xlink:href="#SVGID_7487_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3745" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7489_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7490_"> + <use xlink:href="#SVGID_7489_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3746" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7491_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7492_"> + <use xlink:href="#SVGID_7491_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3747" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7493_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7494_"> + <use xlink:href="#SVGID_7493_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3748" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7495_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7496_"> + <use xlink:href="#SVGID_7495_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3749" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7497_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7498_"> + <use xlink:href="#SVGID_7497_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3750" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7499_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7500_"> + <use xlink:href="#SVGID_7499_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3751" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7501_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7502_"> + <use xlink:href="#SVGID_7501_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3752" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7503_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7504_"> + <use xlink:href="#SVGID_7503_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3753" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7505_" d="M24.4,23.9C24.5,24,24.5,24,24.4,23.9C24.5,23.9,24.5,23.8,24.4,23.9C24.5,23.8,24.5,23.8,24.4,23.9 + "/> + </defs> + <clipPath id="SVGID_7506_"> + <use xlink:href="#SVGID_7505_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.3" y="23.8" transform="matrix(0.7105 -0.7036 0.7036 0.7105 -9.7675 24.0401)" class="st3754" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7507_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7508_"> + <use xlink:href="#SVGID_7507_" style="overflow:visible;"/> + </clipPath> + <path class="st3755" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7509_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7510_"> + <use xlink:href="#SVGID_7509_" style="overflow:visible;"/> + </clipPath> + <path class="st3756" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7511_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7512_"> + <use xlink:href="#SVGID_7511_" style="overflow:visible;"/> + </clipPath> + <path class="st3757" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7513_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7514_"> + <use xlink:href="#SVGID_7513_" style="overflow:visible;"/> + </clipPath> + <path class="st3758" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7515_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7516_"> + <use xlink:href="#SVGID_7515_" style="overflow:visible;"/> + </clipPath> + <path class="st3759" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7517_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7518_"> + <use xlink:href="#SVGID_7517_" style="overflow:visible;"/> + </clipPath> + <path class="st3760" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7519_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7520_"> + <use xlink:href="#SVGID_7519_" style="overflow:visible;"/> + </clipPath> + <path class="st3761" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7521_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7522_"> + <use xlink:href="#SVGID_7521_" style="overflow:visible;"/> + </clipPath> + <path class="st3762" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7523_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7524_"> + <use xlink:href="#SVGID_7523_" style="overflow:visible;"/> + </clipPath> + <path class="st3763" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7525_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7526_"> + <use xlink:href="#SVGID_7525_" style="overflow:visible;"/> + </clipPath> + <path class="st3764" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7527_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7528_"> + <use xlink:href="#SVGID_7527_" style="overflow:visible;"/> + </clipPath> + <path class="st3765" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7529_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7530_"> + <use xlink:href="#SVGID_7529_" style="overflow:visible;"/> + </clipPath> + <path class="st3766" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7531_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7532_"> + <use xlink:href="#SVGID_7531_" style="overflow:visible;"/> + </clipPath> + <path class="st3767" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7533_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7534_"> + <use xlink:href="#SVGID_7533_" style="overflow:visible;"/> + </clipPath> + <path class="st3768" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7535_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7536_"> + <use xlink:href="#SVGID_7535_" style="overflow:visible;"/> + </clipPath> + <path class="st3769" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7537_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7538_"> + <use xlink:href="#SVGID_7537_" style="overflow:visible;"/> + </clipPath> + <path class="st3770" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7539_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7540_"> + <use xlink:href="#SVGID_7539_" style="overflow:visible;"/> + </clipPath> + <path class="st3771" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7541_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7542_"> + <use xlink:href="#SVGID_7541_" style="overflow:visible;"/> + </clipPath> + <path class="st3772" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7543_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7544_"> + <use xlink:href="#SVGID_7543_" style="overflow:visible;"/> + </clipPath> + <path class="st3773" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7545_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7546_"> + <use xlink:href="#SVGID_7545_" style="overflow:visible;"/> + </clipPath> + <path class="st3774" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7547_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7548_"> + <use xlink:href="#SVGID_7547_" style="overflow:visible;"/> + </clipPath> + <path class="st3775" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7549_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7550_"> + <use xlink:href="#SVGID_7549_" style="overflow:visible;"/> + </clipPath> + <path class="st3776" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7551_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7552_"> + <use xlink:href="#SVGID_7551_" style="overflow:visible;"/> + </clipPath> + <path class="st3777" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7553_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7554_"> + <use xlink:href="#SVGID_7553_" style="overflow:visible;"/> + </clipPath> + <path class="st3778" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7555_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7556_"> + <use xlink:href="#SVGID_7555_" style="overflow:visible;"/> + </clipPath> + <path class="st3779" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7557_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7558_"> + <use xlink:href="#SVGID_7557_" style="overflow:visible;"/> + </clipPath> + <path class="st3780" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7559_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7560_"> + <use xlink:href="#SVGID_7559_" style="overflow:visible;"/> + </clipPath> + <path class="st3781" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7561_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7562_"> + <use xlink:href="#SVGID_7561_" style="overflow:visible;"/> + </clipPath> + <path class="st3782" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7563_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7564_"> + <use xlink:href="#SVGID_7563_" style="overflow:visible;"/> + </clipPath> + <path class="st3783" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7565_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7566_"> + <use xlink:href="#SVGID_7565_" style="overflow:visible;"/> + </clipPath> + <path class="st3784" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7567_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7568_"> + <use xlink:href="#SVGID_7567_" style="overflow:visible;"/> + </clipPath> + <path class="st3785" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7569_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7570_"> + <use xlink:href="#SVGID_7569_" style="overflow:visible;"/> + </clipPath> + <path class="st3786" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7571_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7572_"> + <use xlink:href="#SVGID_7571_" style="overflow:visible;"/> + </clipPath> + <path class="st3787" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7573_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7574_"> + <use xlink:href="#SVGID_7573_" style="overflow:visible;"/> + </clipPath> + <path class="st3788" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7575_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7576_"> + <use xlink:href="#SVGID_7575_" style="overflow:visible;"/> + </clipPath> + <path class="st3789" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7577_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7578_"> + <use xlink:href="#SVGID_7577_" style="overflow:visible;"/> + </clipPath> + <path class="st3790" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7579_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7580_"> + <use xlink:href="#SVGID_7579_" style="overflow:visible;"/> + </clipPath> + <path class="st3791" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7581_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7582_"> + <use xlink:href="#SVGID_7581_" style="overflow:visible;"/> + </clipPath> + <path class="st3792" d="M24.4,23.9L24.4,23.9z"/> + </g> + <g> + <defs> + <path id="SVGID_7583_" d="M24.4,23.9C24.4,24,24.4,24,24.4,23.9C24.5,24,24.5,23.9,24.4,23.9C24.5,23.9,24.5,23.9,24.4,23.9" + /> + </defs> + <clipPath id="SVGID_7584_"> + <use xlink:href="#SVGID_7583_" style="overflow:visible;"/> + </clipPath> + <path class="st3793" d="M24.4,23.9L24.4,23.9z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_7585_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_7586_"> + <use xlink:href="#SVGID_7585_" style="overflow:visible;"/> + </clipPath> + <g class="st3794"> + <g> + <defs> + <path id="SVGID_7587_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7588_"> + <use xlink:href="#SVGID_7587_" style="overflow:visible;"/> + </clipPath> + <rect x="24.4" y="24" class="st3795" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7589_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7590_"> + <use xlink:href="#SVGID_7589_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3796" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7591_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7592_"> + <use xlink:href="#SVGID_7591_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3797" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7593_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7594_"> + <use xlink:href="#SVGID_7593_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3798" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7595_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7596_"> + <use xlink:href="#SVGID_7595_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3799" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7597_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7598_"> + <use xlink:href="#SVGID_7597_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3800" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7599_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7600_"> + <use xlink:href="#SVGID_7599_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3801" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7601_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7602_"> + <use xlink:href="#SVGID_7601_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3802" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7603_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7604_"> + <use xlink:href="#SVGID_7603_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3803" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7605_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7606_"> + <use xlink:href="#SVGID_7605_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3804" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7607_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7608_"> + <use xlink:href="#SVGID_7607_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3805" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7609_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7610_"> + <use xlink:href="#SVGID_7609_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3806" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7611_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7612_"> + <use xlink:href="#SVGID_7611_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3807" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7613_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7614_"> + <use xlink:href="#SVGID_7613_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3808" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7615_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7616_"> + <use xlink:href="#SVGID_7615_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3809" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7617_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7618_"> + <use xlink:href="#SVGID_7617_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3810" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7619_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7620_"> + <use xlink:href="#SVGID_7619_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3811" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7621_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7622_"> + <use xlink:href="#SVGID_7621_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3812" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7623_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7624_"> + <use xlink:href="#SVGID_7623_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3813" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7625_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7626_"> + <use xlink:href="#SVGID_7625_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3814" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7627_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7628_"> + <use xlink:href="#SVGID_7627_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3815" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7629_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7630_"> + <use xlink:href="#SVGID_7629_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3816" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7631_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7632_"> + <use xlink:href="#SVGID_7631_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3817" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7633_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7634_"> + <use xlink:href="#SVGID_7633_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3818" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7635_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7636_"> + <use xlink:href="#SVGID_7635_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3819" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7637_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7638_"> + <use xlink:href="#SVGID_7637_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3820" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7639_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7640_"> + <use xlink:href="#SVGID_7639_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3821" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7641_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7642_"> + <use xlink:href="#SVGID_7641_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3822" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7643_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7644_"> + <use xlink:href="#SVGID_7643_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3823" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7645_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7646_"> + <use xlink:href="#SVGID_7645_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3824" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7647_" d="M24.5,24.1C24.5,24.1,24.6,24.1,24.5,24.1C24.7,24.1,24.6,24.1,24.5,24.1 + C24.6,23.9,24.5,24,24.5,24.1C24.4,24.1,24.4,24.1,24.5,24.1"/> + </defs> + <clipPath id="SVGID_7648_"> + <use xlink:href="#SVGID_7647_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.9" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.8075 24.3908)" class="st3825" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7649_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7650_"> + <use xlink:href="#SVGID_7649_" style="overflow:visible;"/> + </clipPath> + <path class="st3826" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7651_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7652_"> + <use xlink:href="#SVGID_7651_" style="overflow:visible;"/> + </clipPath> + <path class="st3827" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7653_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7654_"> + <use xlink:href="#SVGID_7653_" style="overflow:visible;"/> + </clipPath> + <path class="st3828" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7655_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7656_"> + <use xlink:href="#SVGID_7655_" style="overflow:visible;"/> + </clipPath> + <path class="st3829" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7657_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7658_"> + <use xlink:href="#SVGID_7657_" style="overflow:visible;"/> + </clipPath> + <path class="st3830" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7659_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7660_"> + <use xlink:href="#SVGID_7659_" style="overflow:visible;"/> + </clipPath> + <path class="st3831" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7661_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7662_"> + <use xlink:href="#SVGID_7661_" style="overflow:visible;"/> + </clipPath> + <path class="st3832" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7663_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7664_"> + <use xlink:href="#SVGID_7663_" style="overflow:visible;"/> + </clipPath> + <path class="st3833" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7665_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7666_"> + <use xlink:href="#SVGID_7665_" style="overflow:visible;"/> + </clipPath> + <path class="st3834" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7667_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7668_"> + <use xlink:href="#SVGID_7667_" style="overflow:visible;"/> + </clipPath> + <path class="st3835" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7669_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7670_"> + <use xlink:href="#SVGID_7669_" style="overflow:visible;"/> + </clipPath> + <path class="st3836" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7671_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7672_"> + <use xlink:href="#SVGID_7671_" style="overflow:visible;"/> + </clipPath> + <path class="st3837" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7673_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7674_"> + <use xlink:href="#SVGID_7673_" style="overflow:visible;"/> + </clipPath> + <path class="st3838" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7675_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7676_"> + <use xlink:href="#SVGID_7675_" style="overflow:visible;"/> + </clipPath> + <path class="st3839" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7677_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7678_"> + <use xlink:href="#SVGID_7677_" style="overflow:visible;"/> + </clipPath> + <path class="st3840" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7679_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7680_"> + <use xlink:href="#SVGID_7679_" style="overflow:visible;"/> + </clipPath> + <path class="st3841" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7681_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7682_"> + <use xlink:href="#SVGID_7681_" style="overflow:visible;"/> + </clipPath> + <path class="st3842" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7683_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7684_"> + <use xlink:href="#SVGID_7683_" style="overflow:visible;"/> + </clipPath> + <path class="st3843" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7685_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7686_"> + <use xlink:href="#SVGID_7685_" style="overflow:visible;"/> + </clipPath> + <path class="st3844" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7687_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7688_"> + <use xlink:href="#SVGID_7687_" style="overflow:visible;"/> + </clipPath> + <path class="st3845" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7689_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7690_"> + <use xlink:href="#SVGID_7689_" style="overflow:visible;"/> + </clipPath> + <path class="st3846" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7691_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7692_"> + <use xlink:href="#SVGID_7691_" style="overflow:visible;"/> + </clipPath> + <path class="st3847" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7693_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7694_"> + <use xlink:href="#SVGID_7693_" style="overflow:visible;"/> + </clipPath> + <path class="st3848" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7695_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7696_"> + <use xlink:href="#SVGID_7695_" style="overflow:visible;"/> + </clipPath> + <path class="st3849" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7697_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7698_"> + <use xlink:href="#SVGID_7697_" style="overflow:visible;"/> + </clipPath> + <path class="st3850" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7699_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7700_"> + <use xlink:href="#SVGID_7699_" style="overflow:visible;"/> + </clipPath> + <path class="st3851" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7701_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7702_"> + <use xlink:href="#SVGID_7701_" style="overflow:visible;"/> + </clipPath> + <path class="st3852" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7703_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7704_"> + <use xlink:href="#SVGID_7703_" style="overflow:visible;"/> + </clipPath> + <path class="st3853" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7705_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7706_"> + <use xlink:href="#SVGID_7705_" style="overflow:visible;"/> + </clipPath> + <path class="st3854" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7707_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7708_"> + <use xlink:href="#SVGID_7707_" style="overflow:visible;"/> + </clipPath> + <path class="st3855" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7709_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7710_"> + <use xlink:href="#SVGID_7709_" style="overflow:visible;"/> + </clipPath> + <path class="st3856" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7711_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7712_"> + <use xlink:href="#SVGID_7711_" style="overflow:visible;"/> + </clipPath> + <path class="st3857" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7713_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7714_"> + <use xlink:href="#SVGID_7713_" style="overflow:visible;"/> + </clipPath> + <path class="st3858" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7715_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7716_"> + <use xlink:href="#SVGID_7715_" style="overflow:visible;"/> + </clipPath> + <path class="st3859" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7717_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7718_"> + <use xlink:href="#SVGID_7717_" style="overflow:visible;"/> + </clipPath> + <path class="st3860" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7719_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7720_"> + <use xlink:href="#SVGID_7719_" style="overflow:visible;"/> + </clipPath> + <path class="st3861" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7721_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7722_"> + <use xlink:href="#SVGID_7721_" style="overflow:visible;"/> + </clipPath> + <path class="st3862" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7723_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7724_"> + <use xlink:href="#SVGID_7723_" style="overflow:visible;"/> + </clipPath> + <path class="st3863" d="M24.5,24L24.5,24z"/> + </g> + <g> + <defs> + <path id="SVGID_7725_" d="M24.4,24.1C24.4,24.1,24.5,24.1,24.4,24.1C24.5,24.2,24.5,24.1,24.4,24.1C24.6,24,24.5,24,24.4,24.1 + C24.4,24,24.4,24,24.4,24.1"/> + </defs> + <clipPath id="SVGID_7726_"> + <use xlink:href="#SVGID_7725_" style="overflow:visible;"/> + </clipPath> + <path class="st3864" d="M24.5,24L24.5,24z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_7727_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_7728_"> + <use xlink:href="#SVGID_7727_" style="overflow:visible;"/> + </clipPath> + <g class="st3865"> + <g> + <defs> + <path id="SVGID_7729_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7730_"> + <use xlink:href="#SVGID_7729_" style="overflow:visible;"/> + </clipPath> + <rect x="24.4" y="23.7" class="st3866" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7731_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7732_"> + <use xlink:href="#SVGID_7731_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3867" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7733_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7734_"> + <use xlink:href="#SVGID_7733_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3868" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7735_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7736_"> + <use xlink:href="#SVGID_7735_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3869" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7737_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7738_"> + <use xlink:href="#SVGID_7737_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3870" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7739_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7740_"> + <use xlink:href="#SVGID_7739_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3871" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7741_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7742_"> + <use xlink:href="#SVGID_7741_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3872" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7743_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7744_"> + <use xlink:href="#SVGID_7743_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3873" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7745_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7746_"> + <use xlink:href="#SVGID_7745_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3874" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7747_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7748_"> + <use xlink:href="#SVGID_7747_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3875" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7749_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7750_"> + <use xlink:href="#SVGID_7749_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3876" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7751_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7752_"> + <use xlink:href="#SVGID_7751_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3877" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7753_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7754_"> + <use xlink:href="#SVGID_7753_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3878" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7755_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7756_"> + <use xlink:href="#SVGID_7755_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3879" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7757_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7758_"> + <use xlink:href="#SVGID_7757_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3880" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7759_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7760_"> + <use xlink:href="#SVGID_7759_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3881" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7761_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7762_"> + <use xlink:href="#SVGID_7761_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3882" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7763_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7764_"> + <use xlink:href="#SVGID_7763_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3883" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7765_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7766_"> + <use xlink:href="#SVGID_7765_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3884" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7767_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7768_"> + <use xlink:href="#SVGID_7767_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3885" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7769_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7770_"> + <use xlink:href="#SVGID_7769_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3886" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7771_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7772_"> + <use xlink:href="#SVGID_7771_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3887" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7773_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7774_"> + <use xlink:href="#SVGID_7773_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3888" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7775_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7776_"> + <use xlink:href="#SVGID_7775_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3889" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7777_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7778_"> + <use xlink:href="#SVGID_7777_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3890" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7779_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7780_"> + <use xlink:href="#SVGID_7779_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3891" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7781_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7782_"> + <use xlink:href="#SVGID_7781_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3892" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7783_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7784_"> + <use xlink:href="#SVGID_7783_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3893" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7785_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7786_"> + <use xlink:href="#SVGID_7785_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3894" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7787_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7788_"> + <use xlink:href="#SVGID_7787_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3895" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7789_" d="M24.4,23.9C24.4,23.9,24.5,23.9,24.4,23.9C24.6,23.9,24.5,23.8,24.4,23.9 + C24.6,23.7,24.4,23.7,24.4,23.9C24.4,23.8,24.4,23.9,24.4,23.9"/> + </defs> + <clipPath id="SVGID_7790_"> + <use xlink:href="#SVGID_7789_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.4" y="23.7" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.6657 24.332)" class="st3896" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7791_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7792_"> + <use xlink:href="#SVGID_7791_" style="overflow:visible;"/> + </clipPath> + <path class="st3897" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7793_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7794_"> + <use xlink:href="#SVGID_7793_" style="overflow:visible;"/> + </clipPath> + <path class="st3898" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7795_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7796_"> + <use xlink:href="#SVGID_7795_" style="overflow:visible;"/> + </clipPath> + <path class="st3899" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7797_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7798_"> + <use xlink:href="#SVGID_7797_" style="overflow:visible;"/> + </clipPath> + <path class="st3900" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7799_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7800_"> + <use xlink:href="#SVGID_7799_" style="overflow:visible;"/> + </clipPath> + <path class="st3901" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7801_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7802_"> + <use xlink:href="#SVGID_7801_" style="overflow:visible;"/> + </clipPath> + <path class="st3902" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7803_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7804_"> + <use xlink:href="#SVGID_7803_" style="overflow:visible;"/> + </clipPath> + <path class="st3903" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7805_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7806_"> + <use xlink:href="#SVGID_7805_" style="overflow:visible;"/> + </clipPath> + <path class="st3904" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7807_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7808_"> + <use xlink:href="#SVGID_7807_" style="overflow:visible;"/> + </clipPath> + <path class="st3905" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7809_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7810_"> + <use xlink:href="#SVGID_7809_" style="overflow:visible;"/> + </clipPath> + <path class="st3906" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7811_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7812_"> + <use xlink:href="#SVGID_7811_" style="overflow:visible;"/> + </clipPath> + <path class="st3907" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7813_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7814_"> + <use xlink:href="#SVGID_7813_" style="overflow:visible;"/> + </clipPath> + <path class="st3908" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7815_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7816_"> + <use xlink:href="#SVGID_7815_" style="overflow:visible;"/> + </clipPath> + <path class="st3909" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7817_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7818_"> + <use xlink:href="#SVGID_7817_" style="overflow:visible;"/> + </clipPath> + <path class="st3910" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7819_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7820_"> + <use xlink:href="#SVGID_7819_" style="overflow:visible;"/> + </clipPath> + <path class="st3911" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7821_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7822_"> + <use xlink:href="#SVGID_7821_" style="overflow:visible;"/> + </clipPath> + <path class="st3912" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7823_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7824_"> + <use xlink:href="#SVGID_7823_" style="overflow:visible;"/> + </clipPath> + <path class="st3913" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7825_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7826_"> + <use xlink:href="#SVGID_7825_" style="overflow:visible;"/> + </clipPath> + <path class="st3914" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7827_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7828_"> + <use xlink:href="#SVGID_7827_" style="overflow:visible;"/> + </clipPath> + <path class="st3915" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7829_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7830_"> + <use xlink:href="#SVGID_7829_" style="overflow:visible;"/> + </clipPath> + <path class="st3916" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7831_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7832_"> + <use xlink:href="#SVGID_7831_" style="overflow:visible;"/> + </clipPath> + <path class="st3917" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7833_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7834_"> + <use xlink:href="#SVGID_7833_" style="overflow:visible;"/> + </clipPath> + <path class="st3918" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7835_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7836_"> + <use xlink:href="#SVGID_7835_" style="overflow:visible;"/> + </clipPath> + <path class="st3919" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7837_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7838_"> + <use xlink:href="#SVGID_7837_" style="overflow:visible;"/> + </clipPath> + <path class="st3920" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7839_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7840_"> + <use xlink:href="#SVGID_7839_" style="overflow:visible;"/> + </clipPath> + <path class="st3921" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7841_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7842_"> + <use xlink:href="#SVGID_7841_" style="overflow:visible;"/> + </clipPath> + <path class="st3922" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7843_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7844_"> + <use xlink:href="#SVGID_7843_" style="overflow:visible;"/> + </clipPath> + <path class="st3923" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7845_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7846_"> + <use xlink:href="#SVGID_7845_" style="overflow:visible;"/> + </clipPath> + <path class="st3924" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7847_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7848_"> + <use xlink:href="#SVGID_7847_" style="overflow:visible;"/> + </clipPath> + <path class="st3925" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7849_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7850_"> + <use xlink:href="#SVGID_7849_" style="overflow:visible;"/> + </clipPath> + <path class="st3926" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7851_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7852_"> + <use xlink:href="#SVGID_7851_" style="overflow:visible;"/> + </clipPath> + <path class="st3927" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7853_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7854_"> + <use xlink:href="#SVGID_7853_" style="overflow:visible;"/> + </clipPath> + <path class="st3928" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7855_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7856_"> + <use xlink:href="#SVGID_7855_" style="overflow:visible;"/> + </clipPath> + <path class="st3929" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7857_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7858_"> + <use xlink:href="#SVGID_7857_" style="overflow:visible;"/> + </clipPath> + <path class="st3930" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7859_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7860_"> + <use xlink:href="#SVGID_7859_" style="overflow:visible;"/> + </clipPath> + <path class="st3931" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7861_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7862_"> + <use xlink:href="#SVGID_7861_" style="overflow:visible;"/> + </clipPath> + <path class="st3932" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7863_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7864_"> + <use xlink:href="#SVGID_7863_" style="overflow:visible;"/> + </clipPath> + <path class="st3933" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7865_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7866_"> + <use xlink:href="#SVGID_7865_" style="overflow:visible;"/> + </clipPath> + <path class="st3934" d="M24.5,23.8L24.5,23.8z"/> + </g> + <g> + <defs> + <path id="SVGID_7867_" d="M24.4,23.8C24.4,23.8,24.4,23.9,24.4,23.8C24.5,23.9,24.5,23.8,24.4,23.8 + C24.6,23.8,24.5,23.7,24.4,23.8C24.4,23.7,24.4,23.8,24.4,23.8"/> + </defs> + <clipPath id="SVGID_7868_"> + <use xlink:href="#SVGID_7867_" style="overflow:visible;"/> + </clipPath> + <path class="st3935" d="M24.5,23.8L24.5,23.8z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_7869_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_7870_"> + <use xlink:href="#SVGID_7869_" style="overflow:visible;"/> + </clipPath> + <g class="st3936"> + <g> + <defs> + <path id="SVGID_7871_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7872_"> + <use xlink:href="#SVGID_7871_" style="overflow:visible;"/> + </clipPath> + <rect x="24.5" y="23.7" class="st3937" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_7873_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7874_"> + <use xlink:href="#SVGID_7873_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3938" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7875_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7876_"> + <use xlink:href="#SVGID_7875_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3939" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7877_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7878_"> + <use xlink:href="#SVGID_7877_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3940" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7879_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7880_"> + <use xlink:href="#SVGID_7879_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3941" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7881_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7882_"> + <use xlink:href="#SVGID_7881_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3942" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7883_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7884_"> + <use xlink:href="#SVGID_7883_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3943" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7885_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7886_"> + <use xlink:href="#SVGID_7885_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3944" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7887_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7888_"> + <use xlink:href="#SVGID_7887_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3945" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7889_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7890_"> + <use xlink:href="#SVGID_7889_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3946" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7891_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7892_"> + <use xlink:href="#SVGID_7891_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3947" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7893_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7894_"> + <use xlink:href="#SVGID_7893_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3948" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7895_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7896_"> + <use xlink:href="#SVGID_7895_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3949" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7897_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7898_"> + <use xlink:href="#SVGID_7897_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3950" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7899_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7900_"> + <use xlink:href="#SVGID_7899_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3951" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7901_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7902_"> + <use xlink:href="#SVGID_7901_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3952" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7903_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7904_"> + <use xlink:href="#SVGID_7903_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3953" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7905_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7906_"> + <use xlink:href="#SVGID_7905_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3954" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7907_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7908_"> + <use xlink:href="#SVGID_7907_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3955" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7909_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7910_"> + <use xlink:href="#SVGID_7909_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3956" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7911_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7912_"> + <use xlink:href="#SVGID_7911_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3957" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7913_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7914_"> + <use xlink:href="#SVGID_7913_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3958" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7915_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7916_"> + <use xlink:href="#SVGID_7915_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3959" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7917_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7918_"> + <use xlink:href="#SVGID_7917_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3960" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7919_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7920_"> + <use xlink:href="#SVGID_7919_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3961" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7921_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7922_"> + <use xlink:href="#SVGID_7921_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3962" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7923_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7924_"> + <use xlink:href="#SVGID_7923_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3963" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7925_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7926_"> + <use xlink:href="#SVGID_7925_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3964" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7927_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7928_"> + <use xlink:href="#SVGID_7927_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3965" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7929_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7930_"> + <use xlink:href="#SVGID_7929_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3966" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7931_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7932_"> + <use xlink:href="#SVGID_7931_" style="overflow:visible;"/> + </clipPath> + <polygon class="st3967" points="24.6,23.6 24.7,23.7 24.6,23.8 24.5,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_7933_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7934_"> + <use xlink:href="#SVGID_7933_" style="overflow:visible;"/> + </clipPath> + <path class="st3968" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7935_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7936_"> + <use xlink:href="#SVGID_7935_" style="overflow:visible;"/> + </clipPath> + <path class="st3969" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7937_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7938_"> + <use xlink:href="#SVGID_7937_" style="overflow:visible;"/> + </clipPath> + <path class="st3970" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7939_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7940_"> + <use xlink:href="#SVGID_7939_" style="overflow:visible;"/> + </clipPath> + <path class="st3971" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7941_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7942_"> + <use xlink:href="#SVGID_7941_" style="overflow:visible;"/> + </clipPath> + <path class="st3972" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7943_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7944_"> + <use xlink:href="#SVGID_7943_" style="overflow:visible;"/> + </clipPath> + <path class="st3973" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7945_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7946_"> + <use xlink:href="#SVGID_7945_" style="overflow:visible;"/> + </clipPath> + <path class="st3974" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7947_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7948_"> + <use xlink:href="#SVGID_7947_" style="overflow:visible;"/> + </clipPath> + <path class="st3975" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7949_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7950_"> + <use xlink:href="#SVGID_7949_" style="overflow:visible;"/> + </clipPath> + <path class="st3976" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7951_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7952_"> + <use xlink:href="#SVGID_7951_" style="overflow:visible;"/> + </clipPath> + <path class="st3977" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7953_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7954_"> + <use xlink:href="#SVGID_7953_" style="overflow:visible;"/> + </clipPath> + <path class="st3978" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7955_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7956_"> + <use xlink:href="#SVGID_7955_" style="overflow:visible;"/> + </clipPath> + <path class="st3979" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7957_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7958_"> + <use xlink:href="#SVGID_7957_" style="overflow:visible;"/> + </clipPath> + <path class="st3980" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7959_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7960_"> + <use xlink:href="#SVGID_7959_" style="overflow:visible;"/> + </clipPath> + <path class="st3981" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7961_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7962_"> + <use xlink:href="#SVGID_7961_" style="overflow:visible;"/> + </clipPath> + <path class="st3982" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7963_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7964_"> + <use xlink:href="#SVGID_7963_" style="overflow:visible;"/> + </clipPath> + <path class="st3983" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7965_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7966_"> + <use xlink:href="#SVGID_7965_" style="overflow:visible;"/> + </clipPath> + <path class="st3984" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7967_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7968_"> + <use xlink:href="#SVGID_7967_" style="overflow:visible;"/> + </clipPath> + <path class="st3985" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7969_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7970_"> + <use xlink:href="#SVGID_7969_" style="overflow:visible;"/> + </clipPath> + <path class="st3986" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7971_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7972_"> + <use xlink:href="#SVGID_7971_" style="overflow:visible;"/> + </clipPath> + <path class="st3987" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7973_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7974_"> + <use xlink:href="#SVGID_7973_" style="overflow:visible;"/> + </clipPath> + <path class="st3988" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7975_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7976_"> + <use xlink:href="#SVGID_7975_" style="overflow:visible;"/> + </clipPath> + <path class="st3989" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7977_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7978_"> + <use xlink:href="#SVGID_7977_" style="overflow:visible;"/> + </clipPath> + <path class="st3990" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7979_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7980_"> + <use xlink:href="#SVGID_7979_" style="overflow:visible;"/> + </clipPath> + <path class="st3991" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7981_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7982_"> + <use xlink:href="#SVGID_7981_" style="overflow:visible;"/> + </clipPath> + <path class="st3992" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7983_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7984_"> + <use xlink:href="#SVGID_7983_" style="overflow:visible;"/> + </clipPath> + <path class="st3993" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7985_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7986_"> + <use xlink:href="#SVGID_7985_" style="overflow:visible;"/> + </clipPath> + <path class="st3994" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7987_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7988_"> + <use xlink:href="#SVGID_7987_" style="overflow:visible;"/> + </clipPath> + <path class="st3995" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7989_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7990_"> + <use xlink:href="#SVGID_7989_" style="overflow:visible;"/> + </clipPath> + <path class="st3996" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7991_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7992_"> + <use xlink:href="#SVGID_7991_" style="overflow:visible;"/> + </clipPath> + <path class="st3997" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7993_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7994_"> + <use xlink:href="#SVGID_7993_" style="overflow:visible;"/> + </clipPath> + <path class="st3998" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7995_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7996_"> + <use xlink:href="#SVGID_7995_" style="overflow:visible;"/> + </clipPath> + <path class="st3999" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7997_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_7998_"> + <use xlink:href="#SVGID_7997_" style="overflow:visible;"/> + </clipPath> + <path class="st4000" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_7999_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_8000_"> + <use xlink:href="#SVGID_7999_" style="overflow:visible;"/> + </clipPath> + <path class="st4001" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8001_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_8002_"> + <use xlink:href="#SVGID_8001_" style="overflow:visible;"/> + </clipPath> + <path class="st4002" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8003_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_8004_"> + <use xlink:href="#SVGID_8003_" style="overflow:visible;"/> + </clipPath> + <path class="st4003" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8005_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_8006_"> + <use xlink:href="#SVGID_8005_" style="overflow:visible;"/> + </clipPath> + <path class="st4004" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8007_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_8008_"> + <use xlink:href="#SVGID_8007_" style="overflow:visible;"/> + </clipPath> + <path class="st4005" d="M24.6,23.7L24.6,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8009_" d="M24.5,23.7C24.5,23.8,24.5,23.8,24.5,23.7c0.1,0.1,0.1,0,0.1,0C24.7,23.7,24.6,23.7,24.5,23.7"/> + </defs> + <clipPath id="SVGID_8010_"> + <use xlink:href="#SVGID_8009_" style="overflow:visible;"/> + </clipPath> + <path class="st4006" d="M24.6,23.7L24.6,23.7z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_8011_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8012_"> + <use xlink:href="#SVGID_8011_" style="overflow:visible;"/> + </clipPath> + <g class="st4007"> + <g> + <defs> + <path id="SVGID_8013_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8014_"> + <use xlink:href="#SVGID_8013_" style="overflow:visible;"/> + </clipPath> + <rect x="24.6" y="23.6" class="st4008" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8015_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8016_"> + <use xlink:href="#SVGID_8015_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4009" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8017_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8018_"> + <use xlink:href="#SVGID_8017_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4010" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8019_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8020_"> + <use xlink:href="#SVGID_8019_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4011" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8021_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8022_"> + <use xlink:href="#SVGID_8021_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4012" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8023_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8024_"> + <use xlink:href="#SVGID_8023_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4013" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8025_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8026_"> + <use xlink:href="#SVGID_8025_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4014" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8027_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8028_"> + <use xlink:href="#SVGID_8027_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4015" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8029_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8030_"> + <use xlink:href="#SVGID_8029_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4016" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8031_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8032_"> + <use xlink:href="#SVGID_8031_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4017" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8033_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8034_"> + <use xlink:href="#SVGID_8033_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4018" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8035_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8036_"> + <use xlink:href="#SVGID_8035_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4019" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8037_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8038_"> + <use xlink:href="#SVGID_8037_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4020" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8039_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8040_"> + <use xlink:href="#SVGID_8039_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4021" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8041_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8042_"> + <use xlink:href="#SVGID_8041_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4022" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8043_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8044_"> + <use xlink:href="#SVGID_8043_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4023" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8045_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8046_"> + <use xlink:href="#SVGID_8045_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4024" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8047_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8048_"> + <use xlink:href="#SVGID_8047_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4025" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8049_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8050_"> + <use xlink:href="#SVGID_8049_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4026" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8051_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8052_"> + <use xlink:href="#SVGID_8051_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4027" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8053_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8054_"> + <use xlink:href="#SVGID_8053_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4028" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8055_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8056_"> + <use xlink:href="#SVGID_8055_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4029" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8057_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8058_"> + <use xlink:href="#SVGID_8057_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4030" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8059_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8060_"> + <use xlink:href="#SVGID_8059_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4031" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8061_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8062_"> + <use xlink:href="#SVGID_8061_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4032" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8063_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8064_"> + <use xlink:href="#SVGID_8063_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4033" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8065_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8066_"> + <use xlink:href="#SVGID_8065_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4034" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8067_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8068_"> + <use xlink:href="#SVGID_8067_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4035" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8069_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8070_"> + <use xlink:href="#SVGID_8069_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4036" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8071_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8072_"> + <use xlink:href="#SVGID_8071_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4037" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8073_" d="M24.7,23.7C24.7,23.7,24.8,23.7,24.7,23.7C24.9,23.7,24.8,23.7,24.7,23.7 + C24.8,23.5,24.7,23.6,24.7,23.7C24.7,23.6,24.6,23.7,24.7,23.7"/> + </defs> + <clipPath id="SVGID_8074_"> + <use xlink:href="#SVGID_8073_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.6" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4669 24.2499)" class="st4038" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8075_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8076_"> + <use xlink:href="#SVGID_8075_" style="overflow:visible;"/> + </clipPath> + <path class="st4039" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8077_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8078_"> + <use xlink:href="#SVGID_8077_" style="overflow:visible;"/> + </clipPath> + <path class="st4040" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8079_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8080_"> + <use xlink:href="#SVGID_8079_" style="overflow:visible;"/> + </clipPath> + <path class="st4041" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8081_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8082_"> + <use xlink:href="#SVGID_8081_" style="overflow:visible;"/> + </clipPath> + <path class="st4042" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8083_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8084_"> + <use xlink:href="#SVGID_8083_" style="overflow:visible;"/> + </clipPath> + <path class="st4043" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8085_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8086_"> + <use xlink:href="#SVGID_8085_" style="overflow:visible;"/> + </clipPath> + <path class="st4044" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8087_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8088_"> + <use xlink:href="#SVGID_8087_" style="overflow:visible;"/> + </clipPath> + <path class="st4045" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8089_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8090_"> + <use xlink:href="#SVGID_8089_" style="overflow:visible;"/> + </clipPath> + <path class="st4046" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8091_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8092_"> + <use xlink:href="#SVGID_8091_" style="overflow:visible;"/> + </clipPath> + <path class="st4047" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8093_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8094_"> + <use xlink:href="#SVGID_8093_" style="overflow:visible;"/> + </clipPath> + <path class="st4048" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8095_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8096_"> + <use xlink:href="#SVGID_8095_" style="overflow:visible;"/> + </clipPath> + <path class="st4049" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8097_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8098_"> + <use xlink:href="#SVGID_8097_" style="overflow:visible;"/> + </clipPath> + <path class="st4050" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8099_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8100_"> + <use xlink:href="#SVGID_8099_" style="overflow:visible;"/> + </clipPath> + <path class="st4051" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8101_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8102_"> + <use xlink:href="#SVGID_8101_" style="overflow:visible;"/> + </clipPath> + <path class="st4052" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8103_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8104_"> + <use xlink:href="#SVGID_8103_" style="overflow:visible;"/> + </clipPath> + <path class="st4053" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8105_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8106_"> + <use xlink:href="#SVGID_8105_" style="overflow:visible;"/> + </clipPath> + <path class="st4054" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8107_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8108_"> + <use xlink:href="#SVGID_8107_" style="overflow:visible;"/> + </clipPath> + <path class="st4055" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8109_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8110_"> + <use xlink:href="#SVGID_8109_" style="overflow:visible;"/> + </clipPath> + <path class="st4056" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8111_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8112_"> + <use xlink:href="#SVGID_8111_" style="overflow:visible;"/> + </clipPath> + <path class="st4057" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8113_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8114_"> + <use xlink:href="#SVGID_8113_" style="overflow:visible;"/> + </clipPath> + <path class="st4058" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8115_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8116_"> + <use xlink:href="#SVGID_8115_" style="overflow:visible;"/> + </clipPath> + <path class="st4059" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8117_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8118_"> + <use xlink:href="#SVGID_8117_" style="overflow:visible;"/> + </clipPath> + <path class="st4060" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8119_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8120_"> + <use xlink:href="#SVGID_8119_" style="overflow:visible;"/> + </clipPath> + <path class="st4061" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8121_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8122_"> + <use xlink:href="#SVGID_8121_" style="overflow:visible;"/> + </clipPath> + <path class="st4062" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8123_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8124_"> + <use xlink:href="#SVGID_8123_" style="overflow:visible;"/> + </clipPath> + <path class="st4063" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8125_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8126_"> + <use xlink:href="#SVGID_8125_" style="overflow:visible;"/> + </clipPath> + <path class="st4064" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8127_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8128_"> + <use xlink:href="#SVGID_8127_" style="overflow:visible;"/> + </clipPath> + <path class="st4065" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8129_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8130_"> + <use xlink:href="#SVGID_8129_" style="overflow:visible;"/> + </clipPath> + <path class="st4066" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8131_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8132_"> + <use xlink:href="#SVGID_8131_" style="overflow:visible;"/> + </clipPath> + <path class="st4067" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8133_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8134_"> + <use xlink:href="#SVGID_8133_" style="overflow:visible;"/> + </clipPath> + <path class="st4068" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8135_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8136_"> + <use xlink:href="#SVGID_8135_" style="overflow:visible;"/> + </clipPath> + <path class="st4069" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8137_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8138_"> + <use xlink:href="#SVGID_8137_" style="overflow:visible;"/> + </clipPath> + <path class="st4070" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8139_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8140_"> + <use xlink:href="#SVGID_8139_" style="overflow:visible;"/> + </clipPath> + <path class="st4071" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8141_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8142_"> + <use xlink:href="#SVGID_8141_" style="overflow:visible;"/> + </clipPath> + <path class="st4072" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8143_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8144_"> + <use xlink:href="#SVGID_8143_" style="overflow:visible;"/> + </clipPath> + <path class="st4073" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8145_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8146_"> + <use xlink:href="#SVGID_8145_" style="overflow:visible;"/> + </clipPath> + <path class="st4074" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8147_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8148_"> + <use xlink:href="#SVGID_8147_" style="overflow:visible;"/> + </clipPath> + <path class="st4075" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8149_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8150_"> + <use xlink:href="#SVGID_8149_" style="overflow:visible;"/> + </clipPath> + <path class="st4076" d="M24.7,23.6L24.7,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8151_" d="M24.6,23.7C24.6,23.7,24.7,23.7,24.6,23.7c0.1,0.1,0.1,0,0.1,0C24.8,23.6,24.7,23.6,24.6,23.7 + C24.7,23.6,24.6,23.6,24.6,23.7"/> + </defs> + <clipPath id="SVGID_8152_"> + <use xlink:href="#SVGID_8151_" style="overflow:visible;"/> + </clipPath> + <path class="st4077" d="M24.7,23.6L24.7,23.6z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_8153_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8154_"> + <use xlink:href="#SVGID_8153_" style="overflow:visible;"/> + </clipPath> + <g class="st4078"> + <g> + <defs> + <path id="SVGID_8155_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8156_"> + <use xlink:href="#SVGID_8155_" style="overflow:visible;"/> + </clipPath> + <rect x="24.8" y="23.6" class="st4079" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8157_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8158_"> + <use xlink:href="#SVGID_8157_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4080" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8159_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8160_"> + <use xlink:href="#SVGID_8159_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4081" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8161_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8162_"> + <use xlink:href="#SVGID_8161_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4082" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8163_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8164_"> + <use xlink:href="#SVGID_8163_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4083" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8165_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8166_"> + <use xlink:href="#SVGID_8165_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4084" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8167_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8168_"> + <use xlink:href="#SVGID_8167_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4085" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8169_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8170_"> + <use xlink:href="#SVGID_8169_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4086" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8171_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8172_"> + <use xlink:href="#SVGID_8171_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4087" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8173_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8174_"> + <use xlink:href="#SVGID_8173_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4088" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8175_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8176_"> + <use xlink:href="#SVGID_8175_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4089" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8177_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8178_"> + <use xlink:href="#SVGID_8177_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4090" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8179_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8180_"> + <use xlink:href="#SVGID_8179_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4091" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8181_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8182_"> + <use xlink:href="#SVGID_8181_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4092" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8183_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8184_"> + <use xlink:href="#SVGID_8183_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4093" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8185_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8186_"> + <use xlink:href="#SVGID_8185_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4094" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8187_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8188_"> + <use xlink:href="#SVGID_8187_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4095" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8189_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8190_"> + <use xlink:href="#SVGID_8189_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4096" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8191_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8192_"> + <use xlink:href="#SVGID_8191_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4097" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8193_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8194_"> + <use xlink:href="#SVGID_8193_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4098" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8195_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8196_"> + <use xlink:href="#SVGID_8195_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4099" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8197_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8198_"> + <use xlink:href="#SVGID_8197_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4100" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8199_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8200_"> + <use xlink:href="#SVGID_8199_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4101" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8201_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8202_"> + <use xlink:href="#SVGID_8201_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4102" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8203_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8204_"> + <use xlink:href="#SVGID_8203_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4103" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8205_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8206_"> + <use xlink:href="#SVGID_8205_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4104" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8207_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8208_"> + <use xlink:href="#SVGID_8207_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4105" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8209_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8210_"> + <use xlink:href="#SVGID_8209_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4106" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8211_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8212_"> + <use xlink:href="#SVGID_8211_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4107" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8213_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8214_"> + <use xlink:href="#SVGID_8213_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4108" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8215_" d="M24.9,23.7C25,23.7,25,23.6,24.9,23.7C24.9,23.5,24.9,23.5,24.9,23.7C24.8,23.6,24.8,23.6,24.9,23.7 + "/> + </defs> + <clipPath id="SVGID_8216_"> + <use xlink:href="#SVGID_8215_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.7" y="23.5" transform="matrix(0.7088 -0.7054 0.7054 0.7088 -9.4378 24.3205)" class="st4109" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8217_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8218_"> + <use xlink:href="#SVGID_8217_" style="overflow:visible;"/> + </clipPath> + <path class="st4110" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8219_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8220_"> + <use xlink:href="#SVGID_8219_" style="overflow:visible;"/> + </clipPath> + <path class="st4111" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8221_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8222_"> + <use xlink:href="#SVGID_8221_" style="overflow:visible;"/> + </clipPath> + <path class="st4112" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8223_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8224_"> + <use xlink:href="#SVGID_8223_" style="overflow:visible;"/> + </clipPath> + <path class="st4113" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8225_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8226_"> + <use xlink:href="#SVGID_8225_" style="overflow:visible;"/> + </clipPath> + <path class="st4114" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8227_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8228_"> + <use xlink:href="#SVGID_8227_" style="overflow:visible;"/> + </clipPath> + <path class="st4115" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8229_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8230_"> + <use xlink:href="#SVGID_8229_" style="overflow:visible;"/> + </clipPath> + <path class="st4116" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8231_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8232_"> + <use xlink:href="#SVGID_8231_" style="overflow:visible;"/> + </clipPath> + <path class="st4117" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8233_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8234_"> + <use xlink:href="#SVGID_8233_" style="overflow:visible;"/> + </clipPath> + <path class="st4118" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8235_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8236_"> + <use xlink:href="#SVGID_8235_" style="overflow:visible;"/> + </clipPath> + <path class="st4119" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8237_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8238_"> + <use xlink:href="#SVGID_8237_" style="overflow:visible;"/> + </clipPath> + <path class="st4120" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8239_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8240_"> + <use xlink:href="#SVGID_8239_" style="overflow:visible;"/> + </clipPath> + <path class="st4121" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8241_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8242_"> + <use xlink:href="#SVGID_8241_" style="overflow:visible;"/> + </clipPath> + <path class="st4122" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8243_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8244_"> + <use xlink:href="#SVGID_8243_" style="overflow:visible;"/> + </clipPath> + <path class="st4123" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8245_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8246_"> + <use xlink:href="#SVGID_8245_" style="overflow:visible;"/> + </clipPath> + <path class="st4124" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8247_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8248_"> + <use xlink:href="#SVGID_8247_" style="overflow:visible;"/> + </clipPath> + <path class="st4125" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8249_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8250_"> + <use xlink:href="#SVGID_8249_" style="overflow:visible;"/> + </clipPath> + <path class="st4126" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8251_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8252_"> + <use xlink:href="#SVGID_8251_" style="overflow:visible;"/> + </clipPath> + <path class="st4127" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8253_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8254_"> + <use xlink:href="#SVGID_8253_" style="overflow:visible;"/> + </clipPath> + <path class="st4128" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8255_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8256_"> + <use xlink:href="#SVGID_8255_" style="overflow:visible;"/> + </clipPath> + <path class="st4129" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8257_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8258_"> + <use xlink:href="#SVGID_8257_" style="overflow:visible;"/> + </clipPath> + <path class="st4130" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8259_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8260_"> + <use xlink:href="#SVGID_8259_" style="overflow:visible;"/> + </clipPath> + <path class="st4131" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8261_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8262_"> + <use xlink:href="#SVGID_8261_" style="overflow:visible;"/> + </clipPath> + <path class="st4132" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8263_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8264_"> + <use xlink:href="#SVGID_8263_" style="overflow:visible;"/> + </clipPath> + <path class="st4133" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8265_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8266_"> + <use xlink:href="#SVGID_8265_" style="overflow:visible;"/> + </clipPath> + <path class="st4134" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8267_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8268_"> + <use xlink:href="#SVGID_8267_" style="overflow:visible;"/> + </clipPath> + <path class="st4135" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8269_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8270_"> + <use xlink:href="#SVGID_8269_" style="overflow:visible;"/> + </clipPath> + <path class="st4136" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8271_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8272_"> + <use xlink:href="#SVGID_8271_" style="overflow:visible;"/> + </clipPath> + <path class="st4137" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8273_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8274_"> + <use xlink:href="#SVGID_8273_" style="overflow:visible;"/> + </clipPath> + <path class="st4138" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8275_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8276_"> + <use xlink:href="#SVGID_8275_" style="overflow:visible;"/> + </clipPath> + <path class="st4139" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8277_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8278_"> + <use xlink:href="#SVGID_8277_" style="overflow:visible;"/> + </clipPath> + <path class="st4140" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8279_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8280_"> + <use xlink:href="#SVGID_8279_" style="overflow:visible;"/> + </clipPath> + <path class="st4141" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8281_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8282_"> + <use xlink:href="#SVGID_8281_" style="overflow:visible;"/> + </clipPath> + <path class="st4142" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8283_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8284_"> + <use xlink:href="#SVGID_8283_" style="overflow:visible;"/> + </clipPath> + <path class="st4143" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8285_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8286_"> + <use xlink:href="#SVGID_8285_" style="overflow:visible;"/> + </clipPath> + <path class="st4144" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8287_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8288_"> + <use xlink:href="#SVGID_8287_" style="overflow:visible;"/> + </clipPath> + <path class="st4145" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8289_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8290_"> + <use xlink:href="#SVGID_8289_" style="overflow:visible;"/> + </clipPath> + <path class="st4146" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8291_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8292_"> + <use xlink:href="#SVGID_8291_" style="overflow:visible;"/> + </clipPath> + <path class="st4147" d="M24.8,23.6L24.8,23.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8293_" d="M24.8,23.7c0.1,0.1,0.1,0,0.1,0C24.9,23.6,24.9,23.6,24.8,23.7C24.8,23.6,24.8,23.6,24.8,23.7"/> + </defs> + <clipPath id="SVGID_8294_"> + <use xlink:href="#SVGID_8293_" style="overflow:visible;"/> + </clipPath> + <path class="st4148" d="M24.8,23.6L24.8,23.6z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_8295_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8296_"> + <use xlink:href="#SVGID_8295_" style="overflow:visible;"/> + </clipPath> + <g class="st4149"> + <g> + <defs> + <path id="SVGID_8297_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8298_"> + <use xlink:href="#SVGID_8297_" style="overflow:visible;"/> + </clipPath> + <rect x="24.9" y="23.6" class="st4150" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8299_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8300_"> + <use xlink:href="#SVGID_8299_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4151" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8301_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8302_"> + <use xlink:href="#SVGID_8301_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4152" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8303_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8304_"> + <use xlink:href="#SVGID_8303_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4153" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8305_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8306_"> + <use xlink:href="#SVGID_8305_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4154" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8307_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8308_"> + <use xlink:href="#SVGID_8307_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4155" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8309_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8310_"> + <use xlink:href="#SVGID_8309_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4156" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8311_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8312_"> + <use xlink:href="#SVGID_8311_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4157" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8313_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8314_"> + <use xlink:href="#SVGID_8313_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4158" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8315_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8316_"> + <use xlink:href="#SVGID_8315_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4159" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8317_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8318_"> + <use xlink:href="#SVGID_8317_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4160" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8319_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8320_"> + <use xlink:href="#SVGID_8319_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4161" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8321_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8322_"> + <use xlink:href="#SVGID_8321_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4162" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8323_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8324_"> + <use xlink:href="#SVGID_8323_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4163" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8325_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8326_"> + <use xlink:href="#SVGID_8325_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4164" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8327_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8328_"> + <use xlink:href="#SVGID_8327_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4165" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8329_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8330_"> + <use xlink:href="#SVGID_8329_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4166" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8331_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8332_"> + <use xlink:href="#SVGID_8331_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4167" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8333_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8334_"> + <use xlink:href="#SVGID_8333_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4168" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8335_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8336_"> + <use xlink:href="#SVGID_8335_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4169" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8337_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8338_"> + <use xlink:href="#SVGID_8337_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4170" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8339_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8340_"> + <use xlink:href="#SVGID_8339_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4171" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8341_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8342_"> + <use xlink:href="#SVGID_8341_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4172" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8343_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8344_"> + <use xlink:href="#SVGID_8343_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4173" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8345_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8346_"> + <use xlink:href="#SVGID_8345_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4174" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8347_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8348_"> + <use xlink:href="#SVGID_8347_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4175" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8349_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8350_"> + <use xlink:href="#SVGID_8349_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4176" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8351_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8352_"> + <use xlink:href="#SVGID_8351_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4177" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8353_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8354_"> + <use xlink:href="#SVGID_8353_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4178" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8355_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8356_"> + <use xlink:href="#SVGID_8355_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4179" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8357_" d="M24.9,23.8C24.9,23.8,25,23.8,24.9,23.8C25.1,23.8,25,23.7,24.9,23.8C25,23.7,24.9,23.6,24.9,23.8 + C24.9,23.7,24.9,23.8,24.9,23.8"/> + </defs> + <clipPath id="SVGID_8358_"> + <use xlink:href="#SVGID_8357_" style="overflow:visible;"/> + </clipPath> + + <rect x="24.9" y="23.6" transform="matrix(0.7054 -0.7088 0.7088 0.7054 -9.4476 24.6569)" class="st4180" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8359_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8360_"> + <use xlink:href="#SVGID_8359_" style="overflow:visible;"/> + </clipPath> + <path class="st4181" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8361_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8362_"> + <use xlink:href="#SVGID_8361_" style="overflow:visible;"/> + </clipPath> + <path class="st4182" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8363_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8364_"> + <use xlink:href="#SVGID_8363_" style="overflow:visible;"/> + </clipPath> + <path class="st4183" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8365_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8366_"> + <use xlink:href="#SVGID_8365_" style="overflow:visible;"/> + </clipPath> + <path class="st4184" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8367_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8368_"> + <use xlink:href="#SVGID_8367_" style="overflow:visible;"/> + </clipPath> + <path class="st4185" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8369_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8370_"> + <use xlink:href="#SVGID_8369_" style="overflow:visible;"/> + </clipPath> + <path class="st4186" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8371_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8372_"> + <use xlink:href="#SVGID_8371_" style="overflow:visible;"/> + </clipPath> + <path class="st4187" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8373_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8374_"> + <use xlink:href="#SVGID_8373_" style="overflow:visible;"/> + </clipPath> + <path class="st4188" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8375_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8376_"> + <use xlink:href="#SVGID_8375_" style="overflow:visible;"/> + </clipPath> + <path class="st4189" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8377_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8378_"> + <use xlink:href="#SVGID_8377_" style="overflow:visible;"/> + </clipPath> + <path class="st4190" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8379_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8380_"> + <use xlink:href="#SVGID_8379_" style="overflow:visible;"/> + </clipPath> + <path class="st4191" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8381_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8382_"> + <use xlink:href="#SVGID_8381_" style="overflow:visible;"/> + </clipPath> + <path class="st4192" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8383_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8384_"> + <use xlink:href="#SVGID_8383_" style="overflow:visible;"/> + </clipPath> + <path class="st4193" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8385_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8386_"> + <use xlink:href="#SVGID_8385_" style="overflow:visible;"/> + </clipPath> + <path class="st4194" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8387_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8388_"> + <use xlink:href="#SVGID_8387_" style="overflow:visible;"/> + </clipPath> + <path class="st4195" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8389_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8390_"> + <use xlink:href="#SVGID_8389_" style="overflow:visible;"/> + </clipPath> + <path class="st4196" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8391_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8392_"> + <use xlink:href="#SVGID_8391_" style="overflow:visible;"/> + </clipPath> + <path class="st4197" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8393_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8394_"> + <use xlink:href="#SVGID_8393_" style="overflow:visible;"/> + </clipPath> + <path class="st4198" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8395_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8396_"> + <use xlink:href="#SVGID_8395_" style="overflow:visible;"/> + </clipPath> + <path class="st4199" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8397_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8398_"> + <use xlink:href="#SVGID_8397_" style="overflow:visible;"/> + </clipPath> + <path class="st4200" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8399_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8400_"> + <use xlink:href="#SVGID_8399_" style="overflow:visible;"/> + </clipPath> + <path class="st4201" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8401_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8402_"> + <use xlink:href="#SVGID_8401_" style="overflow:visible;"/> + </clipPath> + <path class="st4202" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8403_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8404_"> + <use xlink:href="#SVGID_8403_" style="overflow:visible;"/> + </clipPath> + <path class="st4203" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8405_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8406_"> + <use xlink:href="#SVGID_8405_" style="overflow:visible;"/> + </clipPath> + <path class="st4204" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8407_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8408_"> + <use xlink:href="#SVGID_8407_" style="overflow:visible;"/> + </clipPath> + <path class="st4205" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8409_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8410_"> + <use xlink:href="#SVGID_8409_" style="overflow:visible;"/> + </clipPath> + <path class="st4206" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8411_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8412_"> + <use xlink:href="#SVGID_8411_" style="overflow:visible;"/> + </clipPath> + <path class="st4207" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8413_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8414_"> + <use xlink:href="#SVGID_8413_" style="overflow:visible;"/> + </clipPath> + <path class="st4208" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8415_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8416_"> + <use xlink:href="#SVGID_8415_" style="overflow:visible;"/> + </clipPath> + <path class="st4209" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8417_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8418_"> + <use xlink:href="#SVGID_8417_" style="overflow:visible;"/> + </clipPath> + <path class="st4210" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8419_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8420_"> + <use xlink:href="#SVGID_8419_" style="overflow:visible;"/> + </clipPath> + <path class="st4211" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8421_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8422_"> + <use xlink:href="#SVGID_8421_" style="overflow:visible;"/> + </clipPath> + <path class="st4212" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8423_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8424_"> + <use xlink:href="#SVGID_8423_" style="overflow:visible;"/> + </clipPath> + <path class="st4213" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8425_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8426_"> + <use xlink:href="#SVGID_8425_" style="overflow:visible;"/> + </clipPath> + <path class="st4214" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8427_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8428_"> + <use xlink:href="#SVGID_8427_" style="overflow:visible;"/> + </clipPath> + <path class="st4215" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8429_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8430_"> + <use xlink:href="#SVGID_8429_" style="overflow:visible;"/> + </clipPath> + <path class="st4216" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8431_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8432_"> + <use xlink:href="#SVGID_8431_" style="overflow:visible;"/> + </clipPath> + <path class="st4217" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8433_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8434_"> + <use xlink:href="#SVGID_8433_" style="overflow:visible;"/> + </clipPath> + <path class="st4218" d="M25,23.7L25,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8435_" d="M24.9,23.7C24.9,23.7,24.9,23.8,24.9,23.7C25,23.8,25,23.7,24.9,23.7C25,23.7,25,23.6,24.9,23.7 + C24.9,23.6,24.9,23.7,24.9,23.7"/> + </defs> + <clipPath id="SVGID_8436_"> + <use xlink:href="#SVGID_8435_" style="overflow:visible;"/> + </clipPath> + <path class="st4219" d="M25,23.7L25,23.7z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_8437_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8438_"> + <use xlink:href="#SVGID_8437_" style="overflow:visible;"/> + </clipPath> + <g class="st4220"> + <g> + <defs> + <path id="SVGID_8439_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8440_"> + <use xlink:href="#SVGID_8439_" style="overflow:visible;"/> + </clipPath> + <rect x="25" y="23.7" class="st4221" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8441_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8442_"> + <use xlink:href="#SVGID_8441_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4222" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8443_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8444_"> + <use xlink:href="#SVGID_8443_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4223" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8445_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8446_"> + <use xlink:href="#SVGID_8445_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4224" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8447_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8448_"> + <use xlink:href="#SVGID_8447_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4225" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8449_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8450_"> + <use xlink:href="#SVGID_8449_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4226" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8451_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8452_"> + <use xlink:href="#SVGID_8451_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4227" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8453_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8454_"> + <use xlink:href="#SVGID_8453_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4228" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8455_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8456_"> + <use xlink:href="#SVGID_8455_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4229" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8457_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8458_"> + <use xlink:href="#SVGID_8457_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4230" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8459_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8460_"> + <use xlink:href="#SVGID_8459_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4231" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8461_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8462_"> + <use xlink:href="#SVGID_8461_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4232" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8463_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8464_"> + <use xlink:href="#SVGID_8463_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4233" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8465_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8466_"> + <use xlink:href="#SVGID_8465_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4234" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8467_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8468_"> + <use xlink:href="#SVGID_8467_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4235" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8469_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8470_"> + <use xlink:href="#SVGID_8469_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4236" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8471_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8472_"> + <use xlink:href="#SVGID_8471_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4237" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8473_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8474_"> + <use xlink:href="#SVGID_8473_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4238" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8475_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8476_"> + <use xlink:href="#SVGID_8475_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4239" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8477_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8478_"> + <use xlink:href="#SVGID_8477_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4240" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8479_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8480_"> + <use xlink:href="#SVGID_8479_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4241" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8481_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8482_"> + <use xlink:href="#SVGID_8481_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4242" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8483_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8484_"> + <use xlink:href="#SVGID_8483_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4243" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8485_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8486_"> + <use xlink:href="#SVGID_8485_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4244" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8487_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8488_"> + <use xlink:href="#SVGID_8487_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4245" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8489_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8490_"> + <use xlink:href="#SVGID_8489_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4246" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8491_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8492_"> + <use xlink:href="#SVGID_8491_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4247" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8493_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8494_"> + <use xlink:href="#SVGID_8493_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4248" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8495_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8496_"> + <use xlink:href="#SVGID_8495_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4249" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8497_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8498_"> + <use xlink:href="#SVGID_8497_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4250" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8499_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8500_"> + <use xlink:href="#SVGID_8499_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4251" points="25.1,23.6 25.2,23.7 25.1,23.8 25,23.7 "/> + </g> + <g> + <defs> + <path id="SVGID_8501_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8502_"> + <use xlink:href="#SVGID_8501_" style="overflow:visible;"/> + </clipPath> + <path class="st4252" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8503_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8504_"> + <use xlink:href="#SVGID_8503_" style="overflow:visible;"/> + </clipPath> + <path class="st4253" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8505_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8506_"> + <use xlink:href="#SVGID_8505_" style="overflow:visible;"/> + </clipPath> + <path class="st4254" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8507_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8508_"> + <use xlink:href="#SVGID_8507_" style="overflow:visible;"/> + </clipPath> + <path class="st4255" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8509_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8510_"> + <use xlink:href="#SVGID_8509_" style="overflow:visible;"/> + </clipPath> + <path class="st4256" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8511_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8512_"> + <use xlink:href="#SVGID_8511_" style="overflow:visible;"/> + </clipPath> + <path class="st4257" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8513_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8514_"> + <use xlink:href="#SVGID_8513_" style="overflow:visible;"/> + </clipPath> + <path class="st4258" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8515_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8516_"> + <use xlink:href="#SVGID_8515_" style="overflow:visible;"/> + </clipPath> + <path class="st4259" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8517_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8518_"> + <use xlink:href="#SVGID_8517_" style="overflow:visible;"/> + </clipPath> + <path class="st4260" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8519_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8520_"> + <use xlink:href="#SVGID_8519_" style="overflow:visible;"/> + </clipPath> + <path class="st4261" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8521_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8522_"> + <use xlink:href="#SVGID_8521_" style="overflow:visible;"/> + </clipPath> + <path class="st4262" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8523_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8524_"> + <use xlink:href="#SVGID_8523_" style="overflow:visible;"/> + </clipPath> + <path class="st4263" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8525_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8526_"> + <use xlink:href="#SVGID_8525_" style="overflow:visible;"/> + </clipPath> + <path class="st4264" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8527_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8528_"> + <use xlink:href="#SVGID_8527_" style="overflow:visible;"/> + </clipPath> + <path class="st4265" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8529_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8530_"> + <use xlink:href="#SVGID_8529_" style="overflow:visible;"/> + </clipPath> + <path class="st4266" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8531_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8532_"> + <use xlink:href="#SVGID_8531_" style="overflow:visible;"/> + </clipPath> + <path class="st4267" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8533_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8534_"> + <use xlink:href="#SVGID_8533_" style="overflow:visible;"/> + </clipPath> + <path class="st4268" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8535_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8536_"> + <use xlink:href="#SVGID_8535_" style="overflow:visible;"/> + </clipPath> + <path class="st4269" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8537_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8538_"> + <use xlink:href="#SVGID_8537_" style="overflow:visible;"/> + </clipPath> + <path class="st4270" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8539_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8540_"> + <use xlink:href="#SVGID_8539_" style="overflow:visible;"/> + </clipPath> + <path class="st4271" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8541_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8542_"> + <use xlink:href="#SVGID_8541_" style="overflow:visible;"/> + </clipPath> + <path class="st4272" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8543_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8544_"> + <use xlink:href="#SVGID_8543_" style="overflow:visible;"/> + </clipPath> + <path class="st4273" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8545_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8546_"> + <use xlink:href="#SVGID_8545_" style="overflow:visible;"/> + </clipPath> + <path class="st4274" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8547_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8548_"> + <use xlink:href="#SVGID_8547_" style="overflow:visible;"/> + </clipPath> + <path class="st4275" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8549_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8550_"> + <use xlink:href="#SVGID_8549_" style="overflow:visible;"/> + </clipPath> + <path class="st4276" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8551_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8552_"> + <use xlink:href="#SVGID_8551_" style="overflow:visible;"/> + </clipPath> + <path class="st4277" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8553_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8554_"> + <use xlink:href="#SVGID_8553_" style="overflow:visible;"/> + </clipPath> + <path class="st4278" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8555_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8556_"> + <use xlink:href="#SVGID_8555_" style="overflow:visible;"/> + </clipPath> + <path class="st4279" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8557_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8558_"> + <use xlink:href="#SVGID_8557_" style="overflow:visible;"/> + </clipPath> + <path class="st4280" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8559_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8560_"> + <use xlink:href="#SVGID_8559_" style="overflow:visible;"/> + </clipPath> + <path class="st4281" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8561_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8562_"> + <use xlink:href="#SVGID_8561_" style="overflow:visible;"/> + </clipPath> + <path class="st4282" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8563_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8564_"> + <use xlink:href="#SVGID_8563_" style="overflow:visible;"/> + </clipPath> + <path class="st4283" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8565_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8566_"> + <use xlink:href="#SVGID_8565_" style="overflow:visible;"/> + </clipPath> + <path class="st4284" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8567_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8568_"> + <use xlink:href="#SVGID_8567_" style="overflow:visible;"/> + </clipPath> + <path class="st4285" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8569_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8570_"> + <use xlink:href="#SVGID_8569_" style="overflow:visible;"/> + </clipPath> + <path class="st4286" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8571_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8572_"> + <use xlink:href="#SVGID_8571_" style="overflow:visible;"/> + </clipPath> + <path class="st4287" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8573_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8574_"> + <use xlink:href="#SVGID_8573_" style="overflow:visible;"/> + </clipPath> + <path class="st4288" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8575_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8576_"> + <use xlink:href="#SVGID_8575_" style="overflow:visible;"/> + </clipPath> + <path class="st4289" d="M25.1,23.7L25.1,23.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8577_" d="M25,23.7C25,23.8,25.1,23.8,25,23.7c0.1,0.1,0.1,0,0.1,0C25.2,23.7,25.1,23.7,25,23.7 + C25.1,23.7,25,23.7,25,23.7"/> + </defs> + <clipPath id="SVGID_8578_"> + <use xlink:href="#SVGID_8577_" style="overflow:visible;"/> + </clipPath> + <path class="st4290" d="M25.1,23.7L25.1,23.7z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_8579_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8580_"> + <use xlink:href="#SVGID_8579_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4291" points="25.4,23.3 25.4,23.5 25.3,23.4 "/> + </g> + <g> + <defs> + <path id="SVGID_8581_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8582_"> + <use xlink:href="#SVGID_8581_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4292" points="25.5,23.7 25.2,23.4 25.5,23.2 "/> + </g> + <g> + <defs> + <path id="SVGID_8583_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8584_"> + <use xlink:href="#SVGID_8583_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4293" points="25.2,23.3 25.4,23.3 25.3,23.4 "/> + </g> + <g> + <defs> + <path id="SVGID_8585_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8586_"> + <use xlink:href="#SVGID_8585_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4294" points="25.3,23.5 25.1,23.2 25.5,23.2 "/> + </g> + <g> + <defs> + <path id="SVGID_8587_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8588_"> + <use xlink:href="#SVGID_8587_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4295" points="25.2,23.5 25.2,23.3 25.3,23.4 "/> + </g> + <g> + <defs> + <path id="SVGID_8589_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8590_"> + <use xlink:href="#SVGID_8589_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4296" points="25.1,23.6 25.1,23.2 25.4,23.4 "/> + </g> + <g> + <defs> + <path id="SVGID_8591_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8592_"> + <use xlink:href="#SVGID_8591_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4297" points="25.4,23.6 25.2,23.6 25.3,23.5 "/> + </g> + <g> + <defs> + <path id="SVGID_8593_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8594_"> + <use xlink:href="#SVGID_8593_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4298" points="25.5,23.6 25.1,23.6 25.3,23.3 "/> + </g> + <g> + <defs> + <path id="SVGID_8595_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8596_"> + <use xlink:href="#SVGID_8595_" style="overflow:visible;"/> + </clipPath> + <g class="st4299"> + <g> + <defs> + <path id="SVGID_8597_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8598_"> + <use xlink:href="#SVGID_8597_" style="overflow:visible;"/> + </clipPath> + <rect x="25.3" y="23.4" class="st4300" width="0.1" height="0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8599_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8600_"> + <use xlink:href="#SVGID_8599_" style="overflow:visible;"/> + </clipPath> + <path class="st4301" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8601_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8602_"> + <use xlink:href="#SVGID_8601_" style="overflow:visible;"/> + </clipPath> + <path class="st4302" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8603_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8604_"> + <use xlink:href="#SVGID_8603_" style="overflow:visible;"/> + </clipPath> + <path class="st4303" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8605_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8606_"> + <use xlink:href="#SVGID_8605_" style="overflow:visible;"/> + </clipPath> + <path class="st4304" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8607_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8608_"> + <use xlink:href="#SVGID_8607_" style="overflow:visible;"/> + </clipPath> + <path class="st4305" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8609_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8610_"> + <use xlink:href="#SVGID_8609_" style="overflow:visible;"/> + </clipPath> + <path class="st4306" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8611_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8612_"> + <use xlink:href="#SVGID_8611_" style="overflow:visible;"/> + </clipPath> + <path class="st4307" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8613_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8614_"> + <use xlink:href="#SVGID_8613_" style="overflow:visible;"/> + </clipPath> + <path class="st4308" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8615_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8616_"> + <use xlink:href="#SVGID_8615_" style="overflow:visible;"/> + </clipPath> + <path class="st4309" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8617_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8618_"> + <use xlink:href="#SVGID_8617_" style="overflow:visible;"/> + </clipPath> + <path class="st4310" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8619_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8620_"> + <use xlink:href="#SVGID_8619_" style="overflow:visible;"/> + </clipPath> + <path class="st4311" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8621_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8622_"> + <use xlink:href="#SVGID_8621_" style="overflow:visible;"/> + </clipPath> + <path class="st4312" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8623_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8624_"> + <use xlink:href="#SVGID_8623_" style="overflow:visible;"/> + </clipPath> + <path class="st4313" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8625_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8626_"> + <use xlink:href="#SVGID_8625_" style="overflow:visible;"/> + </clipPath> + <path class="st4314" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8627_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8628_"> + <use xlink:href="#SVGID_8627_" style="overflow:visible;"/> + </clipPath> + <path class="st4315" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8629_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8630_"> + <use xlink:href="#SVGID_8629_" style="overflow:visible;"/> + </clipPath> + <path class="st4316" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8631_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8632_"> + <use xlink:href="#SVGID_8631_" style="overflow:visible;"/> + </clipPath> + <path class="st4317" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8633_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8634_"> + <use xlink:href="#SVGID_8633_" style="overflow:visible;"/> + </clipPath> + <path class="st4318" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8635_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8636_"> + <use xlink:href="#SVGID_8635_" style="overflow:visible;"/> + </clipPath> + <path class="st4319" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8637_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8638_"> + <use xlink:href="#SVGID_8637_" style="overflow:visible;"/> + </clipPath> + <path class="st4320" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8639_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8640_"> + <use xlink:href="#SVGID_8639_" style="overflow:visible;"/> + </clipPath> + <path class="st4321" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8641_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8642_"> + <use xlink:href="#SVGID_8641_" style="overflow:visible;"/> + </clipPath> + <path class="st4322" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8643_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8644_"> + <use xlink:href="#SVGID_8643_" style="overflow:visible;"/> + </clipPath> + <path class="st4323" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8645_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8646_"> + <use xlink:href="#SVGID_8645_" style="overflow:visible;"/> + </clipPath> + <path class="st4324" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8647_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8648_"> + <use xlink:href="#SVGID_8647_" style="overflow:visible;"/> + </clipPath> + <path class="st4325" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8649_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8650_"> + <use xlink:href="#SVGID_8649_" style="overflow:visible;"/> + </clipPath> + <path class="st4326" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8651_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8652_"> + <use xlink:href="#SVGID_8651_" style="overflow:visible;"/> + </clipPath> + <path class="st4327" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8653_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8654_"> + <use xlink:href="#SVGID_8653_" style="overflow:visible;"/> + </clipPath> + <path class="st4328" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8655_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8656_"> + <use xlink:href="#SVGID_8655_" style="overflow:visible;"/> + </clipPath> + <path class="st4329" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8657_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8658_"> + <use xlink:href="#SVGID_8657_" style="overflow:visible;"/> + </clipPath> + <path class="st4330" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8659_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8660_"> + <use xlink:href="#SVGID_8659_" style="overflow:visible;"/> + </clipPath> + <path class="st4331" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8661_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8662_"> + <use xlink:href="#SVGID_8661_" style="overflow:visible;"/> + </clipPath> + <path class="st4332" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8663_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8664_"> + <use xlink:href="#SVGID_8663_" style="overflow:visible;"/> + </clipPath> + <path class="st4333" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8665_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8666_"> + <use xlink:href="#SVGID_8665_" style="overflow:visible;"/> + </clipPath> + <path class="st4334" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8667_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8668_"> + <use xlink:href="#SVGID_8667_" style="overflow:visible;"/> + </clipPath> + <path class="st4335" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8669_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8670_"> + <use xlink:href="#SVGID_8669_" style="overflow:visible;"/> + </clipPath> + <path class="st4336" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8671_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8672_"> + <use xlink:href="#SVGID_8671_" style="overflow:visible;"/> + </clipPath> + <path class="st4337" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8673_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8674_"> + <use xlink:href="#SVGID_8673_" style="overflow:visible;"/> + </clipPath> + <path class="st4338" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8675_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8676_"> + <use xlink:href="#SVGID_8675_" style="overflow:visible;"/> + </clipPath> + <path class="st4339" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8677_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8678_"> + <use xlink:href="#SVGID_8677_" style="overflow:visible;"/> + </clipPath> + <path class="st4340" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8679_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8680_"> + <use xlink:href="#SVGID_8679_" style="overflow:visible;"/> + </clipPath> + <path class="st4341" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8681_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8682_"> + <use xlink:href="#SVGID_8681_" style="overflow:visible;"/> + </clipPath> + <path class="st4342" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8683_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8684_"> + <use xlink:href="#SVGID_8683_" style="overflow:visible;"/> + </clipPath> + <path class="st4343" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8685_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8686_"> + <use xlink:href="#SVGID_8685_" style="overflow:visible;"/> + </clipPath> + <path class="st4344" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8687_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8688_"> + <use xlink:href="#SVGID_8687_" style="overflow:visible;"/> + </clipPath> + <path class="st4345" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8689_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8690_"> + <use xlink:href="#SVGID_8689_" style="overflow:visible;"/> + </clipPath> + <path class="st4346" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8691_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8692_"> + <use xlink:href="#SVGID_8691_" style="overflow:visible;"/> + </clipPath> + <path class="st4347" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8693_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8694_"> + <use xlink:href="#SVGID_8693_" style="overflow:visible;"/> + </clipPath> + <path class="st4348" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8695_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8696_"> + <use xlink:href="#SVGID_8695_" style="overflow:visible;"/> + </clipPath> + <path class="st4349" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8697_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8698_"> + <use xlink:href="#SVGID_8697_" style="overflow:visible;"/> + </clipPath> + <path class="st4350" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8699_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8700_"> + <use xlink:href="#SVGID_8699_" style="overflow:visible;"/> + </clipPath> + <path class="st4351" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8701_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8702_"> + <use xlink:href="#SVGID_8701_" style="overflow:visible;"/> + </clipPath> + <path class="st4352" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8703_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8704_"> + <use xlink:href="#SVGID_8703_" style="overflow:visible;"/> + </clipPath> + <path class="st4353" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8705_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8706_"> + <use xlink:href="#SVGID_8705_" style="overflow:visible;"/> + </clipPath> + <path class="st4354" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8707_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8708_"> + <use xlink:href="#SVGID_8707_" style="overflow:visible;"/> + </clipPath> + <path class="st4355" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8709_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8710_"> + <use xlink:href="#SVGID_8709_" style="overflow:visible;"/> + </clipPath> + <path class="st4356" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8711_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8712_"> + <use xlink:href="#SVGID_8711_" style="overflow:visible;"/> + </clipPath> + <path class="st4357" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8713_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8714_"> + <use xlink:href="#SVGID_8713_" style="overflow:visible;"/> + </clipPath> + <path class="st4358" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8715_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8716_"> + <use xlink:href="#SVGID_8715_" style="overflow:visible;"/> + </clipPath> + <path class="st4359" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8717_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8718_"> + <use xlink:href="#SVGID_8717_" style="overflow:visible;"/> + </clipPath> + <path class="st4360" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8719_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8720_"> + <use xlink:href="#SVGID_8719_" style="overflow:visible;"/> + </clipPath> + <path class="st4361" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8721_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8722_"> + <use xlink:href="#SVGID_8721_" style="overflow:visible;"/> + </clipPath> + <path class="st4362" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8723_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8724_"> + <use xlink:href="#SVGID_8723_" style="overflow:visible;"/> + </clipPath> + <path class="st4363" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8725_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8726_"> + <use xlink:href="#SVGID_8725_" style="overflow:visible;"/> + </clipPath> + <path class="st4364" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8727_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8728_"> + <use xlink:href="#SVGID_8727_" style="overflow:visible;"/> + </clipPath> + <path class="st4365" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8729_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8730_"> + <use xlink:href="#SVGID_8729_" style="overflow:visible;"/> + </clipPath> + <path class="st4366" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8731_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8732_"> + <use xlink:href="#SVGID_8731_" style="overflow:visible;"/> + </clipPath> + <path class="st4367" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8733_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8734_"> + <use xlink:href="#SVGID_8733_" style="overflow:visible;"/> + </clipPath> + <path class="st4368" d="M25.3,23.4L25.3,23.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8735_" d="M25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4C25.3,23.5,25.3,23.5,25.3,23.4"/> + </defs> + <clipPath id="SVGID_8736_"> + <use xlink:href="#SVGID_8735_" style="overflow:visible;"/> + </clipPath> + <path class="st4369" d="M25.3,23.4L25.3,23.4z"/> + </g> + </g> + </g> + <g> + <defs> + <path id="SVGID_8737_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8738_"> + <use xlink:href="#SVGID_8737_" style="overflow:visible;"/> + </clipPath> + <path class="st4370" d="M18.7,24.1L18.7,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_8739_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8740_"> + <use xlink:href="#SVGID_8739_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4371" points="18.7,24.1 18.7,24.1 18.7,24 "/> + </g> + <g> + <defs> + <path id="SVGID_8741_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8742_"> + <use xlink:href="#SVGID_8741_" style="overflow:visible;"/> + </clipPath> + <path class="st4372" d="M18.6,24.1L18.6,24.1C18.6,24.1,18.6,24.2,18.6,24.1z"/> + </g> + <g> + <defs> + <path id="SVGID_8743_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8744_"> + <use xlink:href="#SVGID_8743_" style="overflow:visible;"/> + </clipPath> + <path class="st4373" d="M18.6,24.2L18.6,24.2C18.5,24.2,18.5,24.2,18.6,24.2c0-0.1,0-0.1,0.1-0.1L18.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_8745_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8746_"> + <use xlink:href="#SVGID_8745_" style="overflow:visible;"/> + </clipPath> + <path class="st4374" d="M18.6,24.2L18.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_8747_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8748_"> + <use xlink:href="#SVGID_8747_" style="overflow:visible;"/> + </clipPath> + <path class="st4375" d="M18.6,24.2h-0.1H18.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8749_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8750_"> + <use xlink:href="#SVGID_8749_" style="overflow:visible;"/> + </clipPath> + <path class="st4376" d="M18.6,24.3L18.6,24.3z"/> + </g> + <g> + <defs> + <path id="SVGID_8751_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8752_"> + <use xlink:href="#SVGID_8751_" style="overflow:visible;"/> + </clipPath> + <path class="st4377" d="M18.7,24.3L18.7,24.3C18.6,24.3,18.6,24.3,18.7,24.3C18.6,24.3,18.6,24.3,18.7,24.3l-0.1-0.1L18.7,24.3z" + /> + </g> + <g> + <defs> + <path id="SVGID_8753_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8754_"> + <use xlink:href="#SVGID_8753_" style="overflow:visible;"/> + </clipPath> + <path class="st4378" d="M18.8,24.5L18.8,24.5z"/> + </g> + <g> + <defs> + <path id="SVGID_8755_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8756_"> + <use xlink:href="#SVGID_8755_" style="overflow:visible;"/> + </clipPath> + <path class="st4379" d="M18.8,24.5L18.8,24.5C18.8,24.6,18.8,24.6,18.8,24.5z"/> + </g> + <g> + <defs> + <path id="SVGID_8757_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8758_"> + <use xlink:href="#SVGID_8757_" style="overflow:visible;"/> + </clipPath> + <path class="st4380" d="M18.7,24.6L18.7,24.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8759_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8760_"> + <use xlink:href="#SVGID_8759_" style="overflow:visible;"/> + </clipPath> + <path class="st4381" d="M18.6,24.7L18.6,24.7c0-0.1,0-0.1,0.1-0.1C18.7,24.6,18.7,24.6,18.6,24.7C18.7,24.6,18.6,24.6,18.6,24.7z + "/> + </g> + <g> + <defs> + <path id="SVGID_8761_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8762_"> + <use xlink:href="#SVGID_8761_" style="overflow:visible;"/> + </clipPath> + <path class="st4382" d="M18.7,24.6L18.7,24.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8763_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8764_"> + <use xlink:href="#SVGID_8763_" style="overflow:visible;"/> + </clipPath> + <path class="st4383" d="M18.7,24.7h-0.1H18.7C18.7,24.6,18.7,24.6,18.7,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8765_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8766_"> + <use xlink:href="#SVGID_8765_" style="overflow:visible;"/> + </clipPath> + <path class="st4384" d="M18.8,24.7L18.8,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8767_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8768_"> + <use xlink:href="#SVGID_8767_" style="overflow:visible;"/> + </clipPath> + <path class="st4385" d="M18.8,24.7C18.8,24.7,18.7,24.7,18.8,24.7C18.8,24.8,18.8,24.8,18.8,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8769_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8770_"> + <use xlink:href="#SVGID_8769_" style="overflow:visible;"/> + </clipPath> + <path class="st4386" d="M19.3,24.6C19.2,24.6,19.2,24.6,19.3,24.6C19.2,24.7,19.2,24.7,19.3,24.6C19.2,24.7,19.2,24.7,19.3,24.6z + "/> + </g> + <g> + <defs> + <path id="SVGID_8771_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8772_"> + <use xlink:href="#SVGID_8771_" style="overflow:visible;"/> + </clipPath> + <path class="st4387" d="M19.1,24.7L19.1,24.7C19.2,24.6,19.2,24.6,19.1,24.7C19.2,24.6,19.2,24.6,19.1,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8773_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8774_"> + <use xlink:href="#SVGID_8773_" style="overflow:visible;"/> + </clipPath> + <path class="st4388" d="M19.2,24.7L19.2,24.7C19.2,24.8,19.2,24.8,19.2,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8775_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8776_"> + <use xlink:href="#SVGID_8775_" style="overflow:visible;"/> + </clipPath> + <path class="st4389" d="M19.1,24.8L19.1,24.8C19.1,24.8,19.1,24.7,19.1,24.8C19.1,24.7,19.2,24.7,19.1,24.8z"/> + </g> + <g> + <defs> + <path id="SVGID_8777_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8778_"> + <use xlink:href="#SVGID_8777_" style="overflow:visible;"/> + </clipPath> + <path class="st4390" d="M19.2,24.8L19.2,24.8z"/> + </g> + <g> + <defs> + <path id="SVGID_8779_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8780_"> + <use xlink:href="#SVGID_8779_" style="overflow:visible;"/> + </clipPath> + <path class="st4391" d="M19.2,24.9L19.2,24.9C19.2,24.9,19.2,24.8,19.2,24.9C19.3,24.8,19.3,24.8,19.2,24.9z"/> + </g> + <g> + <defs> + <path id="SVGID_8781_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8782_"> + <use xlink:href="#SVGID_8781_" style="overflow:visible;"/> + </clipPath> + <path class="st4392" d="M19.4,24.8L19.4,24.8z"/> + </g> + <g> + <defs> + <path id="SVGID_8783_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8784_"> + <use xlink:href="#SVGID_8783_" style="overflow:visible;"/> + </clipPath> + <path class="st4393" d="M19.3,24.8L19.3,24.8C19.4,24.8,19.4,24.8,19.3,24.8z M19.4,24.8L19.4,24.8z"/> + </g> + <g> + <defs> + <path id="SVGID_8785_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8786_"> + <use xlink:href="#SVGID_8785_" style="overflow:visible;"/> + </clipPath> + <path class="st4394" d="M19.7,24.5L19.7,24.5C19.7,24.6,19.7,24.6,19.7,24.5z"/> + </g> + <g> + <defs> + <path id="SVGID_8787_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8788_"> + <use xlink:href="#SVGID_8787_" style="overflow:visible;"/> + </clipPath> + <path class="st4395" d="M19.6,24.6L19.6,24.6C19.6,24.5,19.6,24.5,19.6,24.6c0.1-0.1,0.1-0.1,0.1-0.1s0,0-0.1,0V24.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8789_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8790_"> + <use xlink:href="#SVGID_8789_" style="overflow:visible;"/> + </clipPath> + <path class="st4396" d="M19.6,24.6L19.6,24.6C19.6,24.6,19.6,24.7,19.6,24.6C19.7,24.7,19.7,24.6,19.6,24.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8791_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8792_"> + <use xlink:href="#SVGID_8791_" style="overflow:visible;"/> + </clipPath> + <path class="st4397" d="M19.6,24.7L19.6,24.7C19.6,24.6,19.6,24.6,19.6,24.7C19.7,24.6,19.7,24.6,19.6,24.7 + C19.7,24.7,19.7,24.7,19.6,24.7z M19.6,24.6L19.6,24.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8793_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8794_"> + <use xlink:href="#SVGID_8793_" style="overflow:visible;"/> + </clipPath> + <path class="st4398" d="M19.7,24.7L19.7,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8795_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8796_"> + <use xlink:href="#SVGID_8795_" style="overflow:visible;"/> + </clipPath> + <path class="st4399" d="M19.7,24.8L19.7,24.8C19.7,24.7,19.7,24.7,19.7,24.8C19.7,24.7,19.7,24.7,19.7,24.8z"/> + </g> + <g> + <defs> + <path id="SVGID_8797_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8798_"> + <use xlink:href="#SVGID_8797_" style="overflow:visible;"/> + </clipPath> + <path class="st4400" d="M19.8,24.7L19.8,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8799_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8800_"> + <use xlink:href="#SVGID_8799_" style="overflow:visible;"/> + </clipPath> + <path class="st4401" d="M19.8,24.7L19.8,24.7C19.9,24.7,19.9,24.7,19.8,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8801_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8802_"> + <use xlink:href="#SVGID_8801_" style="overflow:visible;"/> + </clipPath> + <path class="st4402" d="M19.4,24.4l-0.1,0.1C19.3,24.5,19.3,24.5,19.4,24.4c0,0.1,0,0.2-0.1,0.2c0,0,0,0-0.1,0h0.1h0.1V24.4 + L19.4,24.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8803_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8804_"> + <use xlink:href="#SVGID_8803_" style="overflow:visible;"/> + </clipPath> + <path class="st4403" d="M19.3,24.8C19.3,24.8,19.2,24.8,19.3,24.8C19.2,24.8,19.2,24.8,19.3,24.8C19.3,24.7,19.3,24.7,19.3,24.8 + c0-0.1,0-0.1,0.1-0.1L19.3,24.8c0-0.1,0-0.2,0.1-0.2s0.1,0,0.1,0s0,0,0.1,0c0,0,0,0,0,0.1c0,0,0,0,0,0.1 + C19.4,24.8,19.3,24.8,19.3,24.8z M19.3,24.8L19.3,24.8l0.1-0.1v-0.1v-0.1h-0.1c0,0,0,0.1-0.1,0.1C19.3,24.7,19.3,24.7,19.3,24.8z + M19.2,24.7L19.2,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8805_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8806_"> + <use xlink:href="#SVGID_8805_" style="overflow:visible;"/> + </clipPath> + <path class="st4404" d="M19.7,24.1L19.7,24.1c-0.1,0-0.2,0-0.2,0s0,0,0,0.1l0.1,0.1h0.1h0.1c0,0,0,0-0.1,0s-0.1,0-0.2,0 + s-0.1,0-0.2,0h-0.1H19v0.1h-0.1c0,0,0,0-0.1,0c0,0,0,0-0.1,0h0.1h0.1v0.1c0,0,0,0.1,0,0H19l0.1-0.1c0,0,0-0.1,0.1-0.1h0.1 + c0.1,0,0.1,0.1,0.1,0.1h0.1 M19.6,24.6L19.6,24.6C19.7,24.6,19.6,24.6,19.6,24.6C19.6,24.7,19.6,24.7,19.6,24.6 + C19.6,24.7,19.6,24.7,19.6,24.6h0.1l0.1-0.1c0,0,0-0.1-0.1-0.1h-0.1h0.1c0,0,0,0,0-0.1c0,0,0-0.1-0.1-0.1h-0.1c0,0,0,0-0.1,0 + s0,0,0,0s0,0,0.1,0s0.2,0,0.2,0c0.1,0,0.1,0,0.2,0H20c-0.1,0-0.1,0-0.2,0s-0.1,0-0.2,0C19.6,24.2,19.6,24.6,19.6,24.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8807_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8808_"> + <use xlink:href="#SVGID_8807_" style="overflow:visible;"/> + </clipPath> + <path class="st4405" d="M18.9,24.8L18.9,24.8C18.8,24.7,18.8,24.7,18.9,24.8C18.8,24.8,18.8,24.8,18.9,24.8 + C18.8,24.7,18.8,24.7,18.9,24.8c-0.2-0.1-0.2-0.1-0.2-0.1s0,0,0.1,0l0.1-0.2h0.2h0.1h0.1h0.1c-0.1,0-0.1,0-0.1-0.1 + c0,0,0-0.1,0.1-0.1h0.1c0,0,0,0,0.1,0s0.1,0,0.2,0s0.1,0,0.2,0h-0.1c-0.1,0-0.1,0-0.2,0c0,0,0.1,0,0.1,0.1v0.1c0,0,0,0-0.1,0h0.1 + c0,0,0,0.1,0.1,0.1v0.1h-0.1c0,0,0,0,0-0.1c0,0,0,0,0-0.1c0,0,0,0-0.1,0c0,0-0.1,0-0.1-0.1h-0.1c0,0,0,0-0.1,0.1 + c0,0.1-0.1,0.1-0.1,0.2L18.9,24.8z M18.8,24.7L18.8,24.7H19h0.1l0.1-0.1c0,0,0-0.1,0.1-0.1c0,0,0.1,0,0.1-0.1c0,0,0.1,0,0.1,0.1 + c0,0,0,0,0.1,0h0.1c0,0,0,0,0,0.1v-0.1c0,0,0-0.1-0.1-0.1h-0.1h0.1h0.1c0,0,0,0,0-0.1c0,0.1,0,0.1-0.1,0.1h-0.1h-0.1h-0.1h-0.1 + h-0.1h-0.2v0.1H19h-0.1c0,0,0,0-0.1,0V24.7z M19.8,24.6L19.8,24.6z M19.7,24.3L19.7,24.3C19.8,24.3,19.8,24.3,19.7,24.3z + M19.7,24.3L19.7,24.3z M19.6,24.3L19.6,24.3z M19.6,24.2L19.6,24.2h0.1H19.6z M19.5,24.2L19.5,24.2 + C19.5,24.2,19.6,24.2,19.5,24.2h0.2H19.5z M19.6,24.1C19.6,24.1,19.5,24.1,19.6,24.1c-0.1,0-0.1,0-0.1,0S19.5,24.1,19.6,24.1h0.1 + H19.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8809_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8810_"> + <use xlink:href="#SVGID_8809_" style="overflow:visible;"/> + </clipPath> + <path class="st4406" d="M18.9,24.3l-0.1-0.1c0,0,0,0,0-0.1v0.1v0.1c0,0,0.1,0,0.1,0.1s0,0,0,0s0,0,0.1,0 + C18.8,24.3,18.8,24.3,18.9,24.3v0.1H19l0.1-0.1H18.9z"/> + </g> + <g> + <defs> + <path id="SVGID_8811_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8812_"> + <use xlink:href="#SVGID_8811_" style="overflow:visible;"/> + </clipPath> + <path class="st4407" d="M18.9,24.5L18.9,24.5c-0.1,0-0.1,0-0.1,0s0-0.1-0.1-0.1l0.1,0.1H18.9z M18.8,24.4L18.8,24.4v-0.1 + l-0.1-0.1v-0.1c0,0,0,0,0.1,0C18.8,24.3,18.8,24.3,18.8,24.4z M18.6,24.2L18.6,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_8813_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8814_"> + <use xlink:href="#SVGID_8813_" style="overflow:visible;"/> + </clipPath> + <path class="st4408" d="M18.9,24.3L18.9,24.3C18.9,24.3,18.9,24.4,18.9,24.3l-0.1,0.1h-0.1c-0.1,0-0.1,0-0.1,0s0,0,0,0.1 + c0,0,0,0,0.1-0.1h0.2v0.1H19c0,0,0,0,0-0.1v0.1v-0.1h0.1c0,0,0,0-0.1,0S19,24.4,18.9,24.3C19,24.2,19,24.3,18.9,24.3L18.9,24.3 + c0,0,0,0,0,0.1C18.9,24.2,18.9,24.2,18.9,24.3C18.9,24.2,18.9,24.3,18.9,24.3z"/> + </g> + <g> + <defs> + <path id="SVGID_8815_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8816_"> + <use xlink:href="#SVGID_8815_" style="overflow:visible;"/> + </clipPath> + <path class="st4409" d="M18.6,24.6L18.6,24.6c0-0.1,0-0.1,0-0.1s0.1,0,0.1-0.1h0.1c0,0,0,0,0-0.1h0.1H19c0,0,0,0,0,0.1 + c0,0,0,0,0.1,0h0.1c0,0,0,0-0.1,0h0.1h-0.1H19v0.1v0.1l-0.1,0.1h-0.1h0.1h-0.1C18.8,24.5,18.7,24.5,18.6,24.6 + C18.7,24.5,18.7,24.6,18.6,24.6z M19,24.4L19,24.4L19,24.4C19,24.5,19,24.5,19,24.4C19,24.5,19,24.4,19,24.4h0.1H19 + C19.1,24.3,19.1,24.3,19,24.4c0.1-0.1,0.1-0.1,0.1-0.1H19C19,24.3,19,24.3,19,24.4C19,24.3,19,24.3,19,24.4 + c-0.1,0-0.1,0.1-0.2,0.1C18.8,24.5,18.9,24.5,19,24.4C18.9,24.5,18.9,24.5,19,24.4z M19.1,24.2L19.1,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_8817_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8818_"> + <use xlink:href="#SVGID_8817_" style="overflow:visible;"/> + </clipPath> + <path class="st4410" d="M19.1,24.5C19.1,24.5,19.1,24.6,19.1,24.5c0,0.1,0,0.1,0,0.1H19c0,0,0,0,0,0.1c0,0,0,0.1,0,0h0.1 + C19.1,24.7,19.1,24.6,19.1,24.5C19.1,24.6,19.1,24.6,19.1,24.5C19.2,24.5,19.2,24.5,19.1,24.5c0.1,0,0.1,0,0.1,0l0.1-0.1h0.1 + c0,0,0,0,0.1,0"/> + </g> + <g> + <defs> + <path id="SVGID_8819_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8820_"> + <use xlink:href="#SVGID_8819_" style="overflow:visible;"/> + </clipPath> + <path class="st4411" d="M18.9,24.8L18.9,24.8C18.9,24.7,19,24.7,18.9,24.8l0.2-0.1v-0.1v-0.1c0,0,0,0,0.1,0l0.1-0.1h0.1h0.1 + c0,0,0,0-0.1,0c0,0,0,0-0.1,0c0,0-0.1,0-0.1,0.1c0,0,0,0-0.1,0C19.1,24.5,19.1,24.5,18.9,24.8L18.9,24.8z M19,24.7L19,24.7z + M19,24.7L19,24.7z M19.1,24.5C19.1,24.5,19.1,24.6,19.1,24.5C19.1,24.6,19.1,24.5,19.1,24.5z"/> + </g> + <g> + <defs> + <path id="SVGID_8821_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8822_"> + <use xlink:href="#SVGID_8821_" style="overflow:visible;"/> + </clipPath> + <path class="st4412" d="M19.4,24.4C19.4,24.4,19.4,24.5,19.4,24.4C19.5,24.4,19.5,24.5,19.4,24.4C19.5,24.5,19.5,24.5,19.4,24.4 + c0,0.1,0,0.1,0,0.2l-0.1,0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8823_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8824_"> + <use xlink:href="#SVGID_8823_" style="overflow:visible;"/> + </clipPath> + <path class="st4413" d="M19.4,24.7L19.4,24.7L19.4,24.7c0-0.1,0-0.1,0-0.2v-0.1C19.5,24.6,19.5,24.6,19.4,24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8825_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8826_"> + <use xlink:href="#SVGID_8825_" style="overflow:visible;"/> + </clipPath> + <line class="st4414" x1="19.5" y1="24.4" x2="19.5" y2="24.4"/> + </g> + <g> + <defs> + <path id="SVGID_8827_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8828_"> + <use xlink:href="#SVGID_8827_" style="overflow:visible;"/> + </clipPath> + <path class="st4415" d="M19.5,24.5L19.5,24.5C19.5,24.5,19.5,24.4,19.5,24.5z"/> + </g> + <g> + <defs> + <path id="SVGID_8829_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8830_"> + <use xlink:href="#SVGID_8829_" style="overflow:visible;"/> + </clipPath> + <path class="st4416" d="M19.6,24.5C19.7,24.5,19.7,24.5,19.6,24.5h0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8831_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8832_"> + <use xlink:href="#SVGID_8831_" style="overflow:visible;"/> + </clipPath> + <path class="st4417" d="M19.8,24.5L19.8,24.5C19.7,24.5,19.7,24.5,19.8,24.5c-0.1,0-0.1,0-0.1,0H19.8 + C19.7,24.5,19.8,24.5,19.8,24.5z"/> + </g> + <g> + <defs> + <path id="SVGID_8833_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8834_"> + <use xlink:href="#SVGID_8833_" style="overflow:visible;"/> + </clipPath> + <path class="st4418" d="M19.8,24.5L19.8,24.5c0,0.1,0,0.1,0,0.1"/> + </g> + <g> + <defs> + <path id="SVGID_8835_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8836_"> + <use xlink:href="#SVGID_8835_" style="overflow:visible;"/> + </clipPath> + <path class="st4419" d="M19.9,24.6L19.9,24.6C19.8,24.6,19.8,24.6,19.9,24.6c0-0.1,0-0.1,0-0.1S19.9,24.5,19.9,24.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8837_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8838_"> + <use xlink:href="#SVGID_8837_" style="overflow:visible;"/> + </clipPath> + <line class="st4420" x1="19.7" y1="24.4" x2="19.7" y2="24.4"/> + </g> + <g> + <defs> + <path id="SVGID_8839_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8840_"> + <use xlink:href="#SVGID_8839_" style="overflow:visible;"/> + </clipPath> + <path class="st4421" d="M19.7,24.4L19.7,24.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8841_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8842_"> + <use xlink:href="#SVGID_8841_" style="overflow:visible;"/> + </clipPath> + <line class="st4422" x1="19" y1="24.3" x2="19" y2="24.3"/> + </g> + <g> + <defs> + <path id="SVGID_8843_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8844_"> + <use xlink:href="#SVGID_8843_" style="overflow:visible;"/> + </clipPath> + <path class="st4423" d="M19,24.3L19,24.3C18.9,24.3,18.9,24.3,19,24.3z"/> + </g> + <g> + <defs> + <path id="SVGID_8845_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8846_"> + <use xlink:href="#SVGID_8845_" style="overflow:visible;"/> + </clipPath> + <path class="st4424" d="M19.1,24.2C19,24.2,19,24.2,19.1,24.2C19,24.2,19.1,24.2,19.1,24.2C19.1,24.3,19.1,24.3,19.1,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_8847_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8848_"> + <use xlink:href="#SVGID_8847_" style="overflow:visible;"/> + </clipPath> + <path class="st4425" d="M19,24.2L19,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_8849_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8850_"> + <use xlink:href="#SVGID_8849_" style="overflow:visible;"/> + </clipPath> + <path class="st4426" d="M19,24.3L19,24.3C19,24.2,19,24.2,19,24.3C19,24.2,19,24.2,19,24.3z"/> + </g> + <g> + <defs> + <path id="SVGID_8851_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8852_"> + <use xlink:href="#SVGID_8851_" style="overflow:visible;"/> + </clipPath> + <path class="st4427" d="M19,24.3L19,24.3v0.1C19,24.4,19,24.4,19,24.3C19,24.2,19,24.3,19,24.3z"/> + </g> + <g> + <defs> + <path id="SVGID_8853_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8854_"> + <use xlink:href="#SVGID_8853_" style="overflow:visible;"/> + </clipPath> + <path class="st4428" d="M18.9,24.5L18.9,24.5C18.9,24.4,18.9,24.4,18.9,24.5C18.9,24.4,18.9,24.4,18.9,24.5v-0.2 + C19,24.4,19,24.4,18.9,24.5z"/> + </g> + <g> + <defs> + <path id="SVGID_8855_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8856_"> + <use xlink:href="#SVGID_8855_" style="overflow:visible;"/> + </clipPath> + <path class="st4429" d="M19,24.3C19.1,24.3,19.1,24.3,19,24.3C19,24.3,19,24.2,19,24.3C19,24.2,19,24.2,19,24.3"/> + </g> + <g> + <defs> + <path id="SVGID_8857_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8858_"> + <use xlink:href="#SVGID_8857_" style="overflow:visible;"/> + </clipPath> + <path class="st4430" d="M19,24.3L19,24.3C19,24.3,19,24.2,19,24.3C19.1,24.2,19.1,24.3,19,24.3C19.1,24.3,19.1,24.3,19,24.3 + C19.1,24.3,19.1,24.4,19,24.3z"/> + </g> + <g> + <defs> + <path id="SVGID_8859_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8860_"> + <use xlink:href="#SVGID_8859_" style="overflow:visible;"/> + </clipPath> + <path class="st4431" d="M19,24.2L19,24.2z"/> + </g> + <g> + <defs> + <path id="SVGID_8861_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8862_"> + <use xlink:href="#SVGID_8861_" style="overflow:visible;"/> + </clipPath> + <path class="st4432" d="M16,16.5L16,16.5c0.1,0,0.2,0.1,0.2,0.1l0.1,0.1h-0.1c0,0,0,0-0.1,0H16h-0.1c0,0,0,0,0-0.1h-0.1L16,16.5 + L16,16.5z M16.1,16.5L16.1,16.5C16.1,16.5,16.1,16.6,16.1,16.5C16,16.6,16,16.6,16.1,16.5C16,16.6,16,16.6,16,16.6h0.1 + C16.2,16.7,16.2,16.6,16.1,16.5C16.2,16.6,16.2,16.6,16.1,16.5C16.1,16.6,16.1,16.6,16.1,16.5C16.1,16.6,16.1,16.6,16.1,16.5z"/> + </g> + <g> + <defs> + <path id="SVGID_8863_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8864_"> + <use xlink:href="#SVGID_8863_" style="overflow:visible;"/> + </clipPath> + <path class="st4433" d="M16.1,16.8L16.1,16.8c-0.1,0-0.1,0-0.1,0s0,0-0.1-0.1h-0.1v-0.1h0.1H16h0.1c0.1,0,0.1,0.1,0.2,0.1 + l0.1,0.1c0,0,0,0-0.1,0c0,0,0,0-0.1,0C16.1,16.7,16.1,16.8,16.1,16.8z M15.9,16.6L15.9,16.6C16,16.6,16,16.6,15.9,16.6 + C16,16.6,16,16.6,15.9,16.6C16,16.6,16,16.5,15.9,16.6z M16.1,16.6L16.1,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8865_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8866_"> + <use xlink:href="#SVGID_8865_" style="overflow:visible;"/> + </clipPath> + <path class="st4434" d="M16,16.6C16,16.7,16,16.7,16,16.6c0.1,0.1,0.2,0,0.2,0S16.1,16.5,16,16.6C16.1,16.5,16.1,16.5,16,16.6 + C16,16.5,16,16.6,16,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8867_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8868_"> + <use xlink:href="#SVGID_8867_" style="overflow:visible;"/> + </clipPath> + <path class="st4435" d="M16.1,16.8L16.1,16.8c-0.1,0-0.1-0.1-0.1-0.1c0-0.1,0.1-0.1,0.1-0.1h0.1v0.1 + C16.2,16.7,16.2,16.8,16.1,16.8z M16.1,16.6L16.1,16.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8869_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8870_"> + <use xlink:href="#SVGID_8869_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4436" points="22.1,26.6 21.9,26.5 21.7,26.8 21.6,26.6 21.4,26.7 21.5,26.5 21.3,26.4 21.5,26.3 21.4,26.1 + 21.6,26.2 21.7,26 21.8,26.2 22,26.1 22,26.2 22.2,26.3 22,26.4 "/> + </g> + <g> + <defs> + <path id="SVGID_8871_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8872_"> + <use xlink:href="#SVGID_8871_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4437" points="21.6,25.5 21.4,25.4 21.2,25.6 21.2,25.2 20.9,25.2 21.1,25 21,24.8 21.3,24.8 21.4,24.6 + 21.5,24.8 21.8,24.8 21.7,25 21.9,25.2 21.6,25.2 "/> + </g> + <g> + <defs> + <path id="SVGID_8873_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8874_"> + <use xlink:href="#SVGID_8873_" style="overflow:visible;"/> + </clipPath> + <path class="st4438" d="M23.6,24.9h-0.2l-0.1,0.2l-0.1-0.2H23l0.1-0.2L23,24.5h0.2l0.1-0.2l0.1,0.2h0.2l-0.1,0.2 + C23.4,24.7,23.6,24.9,23.6,24.9z"/> + </g> + <g> + <defs> + <path id="SVGID_8875_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8876_"> + <use xlink:href="#SVGID_8875_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4439" points="22.5,24.3 22.3,24.2 22.1,24.4 22.1,24.1 21.8,24 22,23.8 21.9,23.6 22.2,23.6 22.3,23.4 + 22.4,23.6 22.7,23.6 22.6,23.8 22.8,24 22.5,24.1 "/> + </g> + <g> + <defs> + <path id="SVGID_8877_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8878_"> + <use xlink:href="#SVGID_8877_" style="overflow:visible;"/> + </clipPath> + <polygon class="st4440" points="26,29.8 26,29.8 26,29.7 26,29.8 26,29.7 26,29.6 26,29.8 26,29.6 26,29.5 26.2,29.5 26.2,29.3 + 26.1,29.3 26.1,29.4 26.1,29.5 26.1,29.4 26.1,29.5 26.1,29.4 26.1,29.5 26.1,29.4 26.2,29.4 26.2,29.2 26.2,29.1 26.2,29 + 25.7,29 25.7,29.1 25.1,29.1 25,29.1 25,29.2 24.8,29.2 24.7,29.2 24.7,29.3 24.7,29.2 24.7,29.4 24.7,29.2 24.6,29.2 24.6,29.1 + 24.6,29 24.6,28.9 24.5,28.9 24.4,28.9 24.3,28.9 24.2,28.9 24.2,29 24.2,28.9 24.2,29 24.2,28.9 24.3,28.9 24.6,28.9 24.6,28.6 + 24.6,28.2 24.5,28.2 24.4,28.2 24.4,28.1 24.5,28.1 24.4,28.1 24.4,28 24.4,27.8 24.7,27.8 24.8,27.8 24.8,27.7 24.9,27.7 + 24.9,27.8 25.2,27.8 25.3,27.8 25.4,27.8 25.4,27.9 25.4,28.2 25.3,28.2 26,28.2 26.1,28.2 26.1,28.1 25.6,28.1 25.6,27.6 + 26.1,27.6 26.2,27.6 26.4,27.6 26.6,27.6 26.5,27.6 26.3,27.6 26.2,27.6 26,27.6 26,27.8 26.6,27.8 26.6,27.9 26.6,28 26.6,28.2 + 26.6,28.3 26.6,28.4 26.6,29.1 26.7,29.1 26.6,29.1 26.6,29.2 26.6,29.3 26.3,29.3 26.3,29.8 "/> + </g> + <g> + <defs> + <path id="SVGID_8879_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8880_"> + <use xlink:href="#SVGID_8879_" style="overflow:visible;"/> + </clipPath> + <path class="st4441" d="M26.4,28.5c0.2-0.2,0.2-0.4,0-0.5c-0.1,0-0.3-0.1-0.4-0.1c-0.2,0-0.2-0.1-0.3-0.2c0-0.2,0.1-0.3,0.2-0.2 + H26c0.1,0.1,0.2,0.1,0.2,0.1s0.1,0,0.1-0.1c0,0,0,0,0-0.1c0,0,0-0.1,0.1-0.1h-0.1c-0.1-0.1-0.1-0.1-0.2-0.1H26 + c-0.1,0-0.1-0.1-0.2,0c-0.1,0-0.2,0.1-0.2,0.3c0,0.1,0.1,0.3,0.2,0.3h0.4c0.2,0,0.1,0.4,0,0.2c0,0.2-0.1,0.2-0.2,0.2l-0.3,0.1 + l-0.2,0.1c-0.1,0-0.1-0.1-0.1-0.1s0,0,0.1,0v-0.1l-0.1-0.1c0-0.1,0-0.1-0.1-0.2c0,0,0.1,0,0.1-0.1c0,0-0.1,0-0.1-0.1v-0.1 + c0,0-0.1,0,0,0.1v-0.1c0,0-0.1,0-0.1,0.1v-0.1c-0.1,0-0.1,0-0.1,0c0-0.1,0-0.1-0.1-0.1c0-0.1,0-0.1-0.1-0.1c0,0,0,0,0,0.1v-0.1 + v0.1c-0.1,0-0.1,0-0.1,0h-0.1c0,0,0,0-0.1,0.1h-0.1c0,0,0,0,0,0.1s0,0,0,0s0,0,0,0.1c0,0,0,0.1,0.1,0.1s0.1,0.1,0.1,0 + c-0.1,0-0.1,0-0.2,0c-0.1-0.1-0.1-0.1-0.1,0s0,0.1,0.2,0.1v0.1h0.1c0,0,0,0,0,0.1l-0.1,0.1v0.1v0.1v0.1c-0.1,0-0.2-0.1-0.2,0 + c-0.1-0.1-0.1,0-0.2,0.1v0.1c0,0,0,0.1,0.1,0.1s0,0.1,0.1,0s0,0,0.1,0c0,0,0,0,0-0.1h0.1h0.1c0,0,0,0,0,0.1h0.1v0.2 + c0,0,0-0.1,0.1-0.1c0,0.1,0,0.1,0,0.1L25,29v0.1c0,0,0,0,0-0.1v0.1V29c0,0.1,0,0.1,0,0.2s0,0.1,0,0.2v0.2h-0.1 + c-0.1,0-0.1,0-0.1,0.1s0,0,0,0.1c0,0,0,0,0.1,0H25c0.1,0,0.1,0,0.1-0.1s0-0.1,0-0.1s0,0,0.1,0c0,0,0,0,0-0.1c0,0,0,0,0.1,0v-0.1 + c0,0,0,0,0,0.1v-0.1c0,0,0,0,0.1,0v-0.1c0,0,0,0,0.1,0v-0.1c0,0,0,0,0-0.1c0,0,0,0,0-0.1h0.1h0.1c0.1,0,0.1-0.1,0.2,0 + c0,0.1,0,0.1,0.1,0.1c0.1,0.1,0.1,0.1,0,0.2l-0.3,0.3c-0.1,0-0.1,0-0.2,0.1c0,0.1,0,0,0,0.1c0,0,0.1,0.1,0.1,0c0,0,0,0.1,0.1,0.1 + s0,0,0,0c0.1,0,0.1-0.1,0.1-0.2c0,0,0-0.1,0,0v-0.1c0,0,0,0,0.1,0v-0.1c0,0,0,0,0.1,0v-0.1c0.1,0,0.1,0,0.1,0.2 + c0,0.1,0,0.1-0.1,0.1s-0.1,0-0.1,0v0.1c0,0,0,0,0,0.1c0,0,0,0,0.1,0.1h0.1c0.1,0,0.1-0.1,0.1-0.2v-0.1v-0.1v-0.1c0,0,0,0,0.1,0 + c0,0,0,0-0.1,0v-0.1c0.1-0.1,0.1-0.2,0.1-0.2c0-0.1,0.1-0.1,0-0.2L26.4,28.5z"/> + </g> + <g> + <defs> + <path id="SVGID_8881_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8882_"> + <use xlink:href="#SVGID_8881_" style="overflow:visible;"/> + </clipPath> + <path class="st4442" d="M24.7,27.6L24.7,27.6C24.8,27.6,24.8,27.6,24.7,27.6C24.8,27.6,24.8,27.6,24.7,27.6z M24.7,27.6 + L24.7,27.6C24.8,27.6,24.7,27.6,24.7,27.6z M24.8,27.6L24.8,27.6C24.7,27.6,24.8,27.6,24.8,27.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8883_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8884_"> + <use xlink:href="#SVGID_8883_" style="overflow:visible;"/> + </clipPath> + <path class="st4443" d="M26,29.8v0.1V29.8z"/> + </g> + <g> + <defs> + <path id="SVGID_8885_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8886_"> + <use xlink:href="#SVGID_8885_" style="overflow:visible;"/> + </clipPath> + <path class="st4444" d="M25.9,29.7L25.9,29.7C25.9,29.8,25.9,29.8,25.9,29.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8887_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8888_"> + <use xlink:href="#SVGID_8887_" style="overflow:visible;"/> + </clipPath> + <path class="st4445" d="M25.9,29.6L25.9,29.6C25.9,29.7,25.9,29.7,25.9,29.6C25.9,29.7,25.9,29.6,25.9,29.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8889_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8890_"> + <use xlink:href="#SVGID_8889_" style="overflow:visible;"/> + </clipPath> + <path class="st4446" d="M25.6,29.7L25.6,29.7C25.6,29.8,25.6,29.8,25.6,29.7C25.6,29.8,25.6,29.7,25.6,29.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8891_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8892_"> + <use xlink:href="#SVGID_8891_" style="overflow:visible;"/> + </clipPath> + <path class="st4447" d="M25.5,29.7L25.5,29.7C25.5,29.8,25.5,29.8,25.5,29.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8893_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8894_"> + <use xlink:href="#SVGID_8893_" style="overflow:visible;"/> + </clipPath> + <path class="st4448" d="M25.5,29.7L25.5,29.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8895_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8896_"> + <use xlink:href="#SVGID_8895_" style="overflow:visible;"/> + </clipPath> + <path class="st4449" d="M26,29.7L26,29.7c0.1,0,0.1,0,0.1-0.1C26.1,29.7,26.1,29.7,26,29.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8897_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8898_"> + <use xlink:href="#SVGID_8897_" style="overflow:visible;"/> + </clipPath> + <path class="st4450" d="M25.9,29.7C25.9,29.6,26,29.6,25.9,29.7c0.1,0,0.1,0,0.2-0.1C26.1,29.6,26.1,29.7,25.9,29.7 + C26,29.6,26,29.6,25.9,29.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8899_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8900_"> + <use xlink:href="#SVGID_8899_" style="overflow:visible;"/> + </clipPath> + <path class="st4451" d="M25.6,29.7L25.6,29.7c0.1,0,0.1,0,0.1-0.1C25.7,29.7,25.7,29.7,25.6,29.7C25.6,29.7,25.6,29.6,25.6,29.7z + "/> + </g> + <g> + <defs> + <path id="SVGID_8901_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8902_"> + <use xlink:href="#SVGID_8901_" style="overflow:visible;"/> + </clipPath> + <path class="st4452" d="M25.7,29.6L25.7,29.6c-0.1,0-0.1,0.1-0.1,0.1C25.5,29.6,25.5,29.6,25.7,29.6 + C25.6,29.6,25.6,29.6,25.7,29.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8903_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8904_"> + <use xlink:href="#SVGID_8903_" style="overflow:visible;"/> + </clipPath> + <path class="st4453" d="M24.6,29.8C24.6,29.8,24.6,29.9,24.6,29.8C24.6,29.9,24.6,29.9,24.6,29.8z"/> + </g> + <g> + <defs> + <path id="SVGID_8905_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8906_"> + <use xlink:href="#SVGID_8905_" style="overflow:visible;"/> + </clipPath> + <path class="st4454" d="M24.5,29.8v0.1V29.8z"/> + </g> + <g> + <defs> + <path id="SVGID_8907_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8908_"> + <use xlink:href="#SVGID_8907_" style="overflow:visible;"/> + </clipPath> + <path class="st4455" d="M24.5,29.7C24.5,29.7,24.5,29.8,24.5,29.7C24.5,29.8,24.5,29.8,24.5,29.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8909_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8910_"> + <use xlink:href="#SVGID_8909_" style="overflow:visible;"/> + </clipPath> + <path class="st4456" d="M24.7,29.8C24.7,29.7,24.7,29.7,24.7,29.8C24.8,29.7,24.7,29.7,24.7,29.8z"/> + </g> + <g> + <defs> + <path id="SVGID_8911_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8912_"> + <use xlink:href="#SVGID_8911_" style="overflow:visible;"/> + </clipPath> + <path class="st4457" d="M24.5,29.7L24.5,29.7c0.1-0.1,0.1-0.1,0.2-0.1C24.7,29.6,24.6,29.6,24.5,29.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8913_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8914_"> + <use xlink:href="#SVGID_8913_" style="overflow:visible;"/> + </clipPath> + <path class="st4458" d="M24.7,29.7h-0.1c0,0,0,0,0,0.1v-0.1H24.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8915_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8916_"> + <use xlink:href="#SVGID_8915_" style="overflow:visible;"/> + </clipPath> + <path class="st4459" d="M26,27.5c0.1,0,0.1,0,0.2-0.1C26.2,27.5,26.1,27.6,26,27.5z"/> + </g> + <g> + <defs> + <path id="SVGID_8917_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8918_"> + <use xlink:href="#SVGID_8917_" style="overflow:visible;"/> + </clipPath> + <path class="st4460" d="M26.2,27.5C26.2,27.5,26.3,27.5,26.2,27.5C26.3,27.5,26.3,27.5,26.2,27.5z"/> + </g> + <g> + <defs> + <path id="SVGID_8919_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8920_"> + <use xlink:href="#SVGID_8919_" style="overflow:visible;"/> + </clipPath> + <path class="st4461" d="M26.2,27.6c0.1,0,0.1,0,0.2,0C26.3,27.7,26.2,27.7,26.2,27.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8921_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8922_"> + <use xlink:href="#SVGID_8921_" style="overflow:visible;"/> + </clipPath> + <path class="st4462" d="M26.2,27.5c0.1,0,0.2,0,0.2,0C26.4,27.6,26.3,27.6,26.2,27.5z"/> + </g> + <g> + <defs> + <path id="SVGID_8923_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8924_"> + <use xlink:href="#SVGID_8923_" style="overflow:visible;"/> + </clipPath> + <path class="st4463" d="M26.2,27.5c0.1-0.1,0.1-0.1,0.2,0C26.3,27.4,26.2,27.4,26.2,27.5z"/> + </g> + <g> + <defs> + <path id="SVGID_8925_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8926_"> + <use xlink:href="#SVGID_8925_" style="overflow:visible;"/> + </clipPath> + <path class="st4464" d="M26.1,27.5c0.1,0.1,0.2,0.1,0.3,0C26.3,27.6,26.2,27.6,26.1,27.5z"/> + </g> + <g> + <defs> + <path id="SVGID_8927_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8928_"> + <use xlink:href="#SVGID_8927_" style="overflow:visible;"/> + </clipPath> + <path class="st4465" d="M25.3,29C25.3,29,25.3,29.1,25.3,29C25.3,29.1,25.4,29.1,25.3,29z"/> + </g> + <g> + <defs> + <path id="SVGID_8929_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8930_"> + <use xlink:href="#SVGID_8929_" style="overflow:visible;"/> + </clipPath> + <path class="st4466" d="M25.9,29c-0.1,0.1-0.2,0.1-0.2,0.1C25.8,29.1,25.9,29.1,25.9,29z"/> + </g> + <g> + <defs> + <path id="SVGID_8931_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8932_"> + <use xlink:href="#SVGID_8931_" style="overflow:visible;"/> + </clipPath> + <path class="st4467" d="M26,28.8c0,0.1,0,0.3,0,0.4C25.9,29.1,25.9,29,26,28.8z"/> + </g> + <g> + <defs> + <path id="SVGID_8933_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8934_"> + <use xlink:href="#SVGID_8933_" style="overflow:visible;"/> + </clipPath> + <path class="st4468" d="M24.9,27.4L24.9,27.4L24.9,27.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8935_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8936_"> + <use xlink:href="#SVGID_8935_" style="overflow:visible;"/> + </clipPath> + <path class="st4469" d="M24.5,27.8C24.6,27.8,24.6,27.8,24.5,27.8C24.6,27.8,24.6,27.9,24.5,27.8z"/> + </g> + <g> + <defs> + <path id="SVGID_8937_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8938_"> + <use xlink:href="#SVGID_8937_" style="overflow:visible;"/> + </clipPath> + <path class="st4470" d="M24.6,27.9C24.6,27.9,24.7,27.9,24.6,27.9C24.7,27.9,24.7,27.9,24.6,27.9z"/> + </g> + <g> + <defs> + <path id="SVGID_8939_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8940_"> + <use xlink:href="#SVGID_8939_" style="overflow:visible;"/> + </clipPath> + <path class="st4471" d="M24.2,28.9L24.2,28.9C24.2,29,24.3,28.9,24.2,28.9C24.3,28.9,24.2,28.9,24.2,28.9z"/> + </g> + <g> + <defs> + <path id="SVGID_8941_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8942_"> + <use xlink:href="#SVGID_8941_" style="overflow:visible;"/> + </clipPath> + <path class="st4472" d="M24.1,28.9L24.1,28.9L24.1,28.9z"/> + </g> + <g> + <defs> + <path id="SVGID_8943_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8944_"> + <use xlink:href="#SVGID_8943_" style="overflow:visible;"/> + </clipPath> + <path class="st4473" d="M24.1,28.8L24.1,28.8c0,0.1,0,0.1,0,0.1C24,28.9,24,28.8,24.1,28.8z"/> + </g> + <g> + <defs> + <path id="SVGID_8945_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8946_"> + <use xlink:href="#SVGID_8945_" style="overflow:visible;"/> + </clipPath> + <path class="st4474" d="M24,28.7L24,28.7C24,28.8,24,28.8,24,28.7C24.1,28.7,24.1,28.7,24,28.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8947_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8948_"> + <use xlink:href="#SVGID_8947_" style="overflow:visible;"/> + </clipPath> + <path class="st4475" d="M24.1,28.7c0-0.1,0.1-0.1,0.2-0.1C24.2,28.6,24.1,28.6,24.1,28.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8949_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8950_"> + <use xlink:href="#SVGID_8949_" style="overflow:visible;"/> + </clipPath> + <path class="st4476" d="M24.1,28.8c0-0.1,0.1-0.1,0.1-0.1S24.2,28.7,24.1,28.8z"/> + </g> + <g> + <defs> + <path id="SVGID_8951_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8952_"> + <use xlink:href="#SVGID_8951_" style="overflow:visible;"/> + </clipPath> + <path class="st4477" d="M24.2,28.9c0-0.1,0.1-0.1,0.1-0.1C24.3,28.7,24.2,28.8,24.2,28.9z"/> + </g> + <g> + <defs> + <path id="SVGID_8953_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8954_"> + <use xlink:href="#SVGID_8953_" style="overflow:visible;"/> + </clipPath> + <path class="st4478" d="M24.7,28.2c-0.1,0.1-0.1,0.2-0.1,0.3C24.6,28.4,24.6,28.3,24.7,28.2z"/> + </g> + <g> + <defs> + <path id="SVGID_8955_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8956_"> + <use xlink:href="#SVGID_8955_" style="overflow:visible;"/> + </clipPath> + <path class="st4479" d="M24.8,28.1c0,0,0,0.1,0,0.2C24.8,28.2,24.8,28.1,24.8,28.1z"/> + </g> + <g> + <defs> + <path id="SVGID_8957_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8958_"> + <use xlink:href="#SVGID_8957_" style="overflow:visible;"/> + </clipPath> + <path class="st4480" d="M24.8,28.1C24.8,28.2,24.8,28.2,24.8,28.1C24.8,28.2,24.8,28.2,24.8,28.1z"/> + </g> + <g> + <defs> + <path id="SVGID_8959_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8960_"> + <use xlink:href="#SVGID_8959_" style="overflow:visible;"/> + </clipPath> + <path class="st4481" d="M24.7,28.1C24.7,28.1,24.7,28.2,24.7,28.1C24.7,28.2,24.7,28.1,24.7,28.1z"/> + </g> + <g> + <defs> + <path id="SVGID_8961_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8962_"> + <use xlink:href="#SVGID_8961_" style="overflow:visible;"/> + </clipPath> + <path class="st4482" d="M24.7,28.1L24.7,28.1L24.7,28.1z"/> + </g> + <g> + <defs> + <path id="SVGID_8963_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8964_"> + <use xlink:href="#SVGID_8963_" style="overflow:visible;"/> + </clipPath> + <path class="st4483" d="M24.6,27.9c-0.1,0-0.1,0-0.1,0C24.5,27.8,24.5,27.8,24.6,27.9z"/> + </g> + <g> + <defs> + <path id="SVGID_8965_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8966_"> + <use xlink:href="#SVGID_8965_" style="overflow:visible;"/> + </clipPath> + <path class="st4484" d="M24.5,27.7C24.6,27.7,24.6,27.8,24.5,27.7C24.6,27.7,24.6,27.7,24.5,27.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8967_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8968_"> + <use xlink:href="#SVGID_8967_" style="overflow:visible;"/> + </clipPath> + <path class="st4485" d="M24.5,28c0.1,0,0.1,0,0.2-0.1C24.7,28,24.6,28,24.5,28z"/> + </g> + <g> + <defs> + <path id="SVGID_8969_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8970_"> + <use xlink:href="#SVGID_8969_" style="overflow:visible;"/> + </clipPath> + <path class="st4486" d="M24.7,27.9c0.1,0.1,0.1,0.1,0.1,0.3C24.9,28,24.8,27.9,24.7,27.9z"/> + </g> + <g> + <defs> + <path id="SVGID_8971_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8972_"> + <use xlink:href="#SVGID_8971_" style="overflow:visible;"/> + </clipPath> + <path class="st4487" d="M24.9,27.9c0,0.1,0.1,0.1,0.1,0.2C25,28,25,28,24.9,27.9z"/> + </g> + <g> + <defs> + <path id="SVGID_8973_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8974_"> + <use xlink:href="#SVGID_8973_" style="overflow:visible;"/> + </clipPath> + <path class="st4488" d="M25.1,27.5L25.1,27.5z"/> + </g> + <g> + <defs> + <path id="SVGID_8975_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8976_"> + <use xlink:href="#SVGID_8975_" style="overflow:visible;"/> + </clipPath> + <path class="st4489" d="M25,27.6c0,0.1,0.1,0.1,0.1,0C25,27.7,25,27.7,25,27.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8977_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8978_"> + <use xlink:href="#SVGID_8977_" style="overflow:visible;"/> + </clipPath> + <path class="st4490" d="M25.1,27.6c0-0.1-0.1-0.1-0.1,0C25,27.5,25.1,27.6,25.1,27.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8979_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8980_"> + <use xlink:href="#SVGID_8979_" style="overflow:visible;"/> + </clipPath> + <path class="st4491" d="M25,27.6c0.1-0.1,0.1-0.1,0.2,0C25.1,27.5,25,27.5,25,27.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8981_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8982_"> + <use xlink:href="#SVGID_8981_" style="overflow:visible;"/> + </clipPath> + <path class="st4492" d="M25,27.4C25,27.4,25,27.5,25,27.4C25,27.6,25,27.5,25,27.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8983_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8984_"> + <use xlink:href="#SVGID_8983_" style="overflow:visible;"/> + </clipPath> + <path class="st4493" d="M24.9,27.4c0,0.1,0,0.1-0.1,0.2C24.9,27.5,25,27.4,24.9,27.4z"/> + </g> + <g> + <defs> + <path id="SVGID_8985_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8986_"> + <use xlink:href="#SVGID_8985_" style="overflow:visible;"/> + </clipPath> + <path class="st4494" d="M25.2,27.7h0.1C25.3,27.7,25.3,27.7,25.2,27.7z"/> + </g> + <g> + <defs> + <path id="SVGID_8987_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8988_"> + <use xlink:href="#SVGID_8987_" style="overflow:visible;"/> + </clipPath> + <path class="st4495" d="M25.2,27.6c0,0,0,0.1-0.1,0.1C25.2,27.7,25.2,27.6,25.2,27.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8989_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8990_"> + <use xlink:href="#SVGID_8989_" style="overflow:visible;"/> + </clipPath> + <path class="st4496" d="M25.2,27.6l-0.1,0.1L25.2,27.6z"/> + </g> + <g> + <defs> + <path id="SVGID_8991_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8992_"> + <use xlink:href="#SVGID_8991_" style="overflow:visible;"/> + </clipPath> + <path class="st4497" d="M25.2,27.8h0.1C25.4,27.8,25.2,27.8,25.2,27.8z"/> + </g> + <g> + <defs> + <path id="SVGID_8993_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8994_"> + <use xlink:href="#SVGID_8993_" style="overflow:visible;"/> + </clipPath> + <path class="st4498" d="M25.2,27.8c0.1,0.1,0.1,0.1,0.1,0.2C25.4,27.9,25.3,27.8,25.2,27.8z"/> + </g> + <g> + <defs> + <path id="SVGID_8995_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8996_"> + <use xlink:href="#SVGID_8995_" style="overflow:visible;"/> + </clipPath> + <path class="st4499" d="M25.3,28c0,0.1,0.1,0.2,0.1,0.3C25.3,28.2,25.3,28.1,25.3,28z"/> + </g> + <g> + <defs> + <path id="SVGID_8997_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_8998_"> + <use xlink:href="#SVGID_8997_" style="overflow:visible;"/> + </clipPath> + <path class="st4500" d="M25.1,28.1c0,0.1,0.1,0.2,0.1,0.3C25.2,28.2,25.2,28.1,25.1,28.1z"/> + </g> + <g> + <defs> + <path id="SVGID_8999_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9000_"> + <use xlink:href="#SVGID_8999_" style="overflow:visible;"/> + </clipPath> + <path class="st4501" d="M25.1,28l0.1,0.1C25.2,28,25.2,28,25.1,28z"/> + </g> + <g> + <defs> + <path id="SVGID_9001_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9002_"> + <use xlink:href="#SVGID_9001_" style="overflow:visible;"/> + </clipPath> + <path class="st4502" d="M25.1,27.8c0.1,0.1,0.1,0.2,0.1,0.3C25.2,27.9,25.2,27.8,25.1,27.8z"/> + </g> + <g> + <defs> + <path id="SVGID_9003_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9004_"> + <use xlink:href="#SVGID_9003_" style="overflow:visible;"/> + </clipPath> + <path class="st4503" d="M25,27.7c0,0.1,0.1,0.1,0.1,0.2C25.1,27.8,25.1,27.8,25,27.7z"/> + </g> + <g> + <defs> + <path id="SVGID_9005_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9006_"> + <use xlink:href="#SVGID_9005_" style="overflow:visible;"/> + </clipPath> + <path class="st4504" d="M25,27.8c0.1,0.1,0.2,0.2,0.2,0.3C25.2,27.9,25.1,27.9,25,27.8z"/> + </g> + <g> + <defs> + <path id="SVGID_9007_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9008_"> + <use xlink:href="#SVGID_9007_" style="overflow:visible;"/> + </clipPath> + <path class="st4505" d="M25,27.8c0.1,0.1,0.1,0.2,0.1,0.3C25.1,28,25.1,27.9,25,27.8z"/> + </g> + <g> + <defs> + <path id="SVGID_9009_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9010_"> + <use xlink:href="#SVGID_9009_" style="overflow:visible;"/> + </clipPath> + <path class="st4506" d="M24.9,27.9C25,28,25,28.1,25,28.2C25,28.1,25,28,24.9,27.9z"/> + </g> + <g> + <defs> + <path id="SVGID_9011_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9012_"> + <use xlink:href="#SVGID_9011_" style="overflow:visible;"/> + </clipPath> + <path class="st4507" d="M24.8,28.1c0.1,0.1,0.1,0.2,0.1,0.3C25,28.2,24.9,28.1,24.8,28.1z"/> + </g> + <g> + <defs> + <path id="SVGID_9013_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9014_"> + <use xlink:href="#SVGID_9013_" style="overflow:visible;"/> + </clipPath> + <path class="st4508" d="M25.3,28.8c0,0.1,0,0.2,0,0.3C25.3,29,25.3,28.9,25.3,28.8z"/> + </g> + <g> + <defs> + <path id="SVGID_9015_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9016_"> + <use xlink:href="#SVGID_9015_" style="overflow:visible;"/> + </clipPath> + <path class="st4509" d="M24.8,28.9L24.8,28.9C24.8,29,24.8,29,24.8,28.9z"/> + </g> + <g> + <defs> + <path id="SVGID_9017_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9018_"> + <use xlink:href="#SVGID_9017_" style="overflow:visible;"/> + </clipPath> + <path class="st4510" d="M24.5,28.7c0,0.1,0,0.1,0,0.2C24.5,28.8,24.5,28.7,24.5,28.7z"/> + </g> + <g> + <defs> + <path id="SVGID_9019_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9020_"> + <use xlink:href="#SVGID_9019_" style="overflow:visible;"/> + </clipPath> + <path class="st4511" d="M24.6,28.7c0,0.1,0,0.2,0,0.2C24.6,28.8,24.6,28.8,24.6,28.7z"/> + </g> + <g> + <defs> + <path id="SVGID_9021_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9022_"> + <use xlink:href="#SVGID_9021_" style="overflow:visible;"/> + </clipPath> + <path class="st4512" d="M24.8,28.6c-0.1,0.2-0.1,0.3-0.1,0.4C24.7,28.9,24.7,28.8,24.8,28.6z"/> + </g> + <g> + <defs> + <path id="SVGID_9023_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9024_"> + <use xlink:href="#SVGID_9023_" style="overflow:visible;"/> + </clipPath> + <path class="st4513" d="M24.8,28.9c0,0.1,0.1,0.2,0.1,0.2C24.9,29,24.9,29,24.8,28.9C25,29,25,29,25,29.1 + C24.8,29.1,24.8,29,24.8,28.9z"/> + </g> + <g> + <defs> + <path id="SVGID_9025_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9026_"> + <use xlink:href="#SVGID_9025_" style="overflow:visible;"/> + </clipPath> + <path class="st4514" d="M24.9,28.8c0,0.1,0,0.1,0.1,0.2C24.9,28.9,24.9,28.9,24.9,28.8z"/> + </g> + <g> + <defs> + <path id="SVGID_9027_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9028_"> + <use xlink:href="#SVGID_9027_" style="overflow:visible;"/> + </clipPath> + <path class="st4515" d="M24.8,28.4c0,0.1-0.1,0.2-0.1,0.3C24.8,28.6,24.8,28.5,24.8,28.4z"/> + </g> + <g> + <defs> + <path id="SVGID_9029_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9030_"> + <use xlink:href="#SVGID_9029_" style="overflow:visible;"/> + </clipPath> + <path class="st4516" d="M24.7,28.3c0,0.1,0,0.1-0.1,0.2c0,0.1,0,0.2,0,0.2c0-0.1,0-0.1,0-0.2C24.7,28.4,24.7,28.4,24.7,28.3z"/> + </g> + <g> + <defs> + <path id="SVGID_9031_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9032_"> + <use xlink:href="#SVGID_9031_" style="overflow:visible;"/> + </clipPath> + <path class="st4517" d="M24.8,28.3c0,0.1,0,0.2,0,0.4c0,0.1,0,0.2,0,0.3c-0.1-0.1-0.1-0.2,0-0.3C24.8,28.5,24.8,28.4,24.8,28.3z" + /> + </g> + <g> + <defs> + <path id="SVGID_9033_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9034_"> + <use xlink:href="#SVGID_9033_" style="overflow:visible;"/> + </clipPath> + <path class="st4518" d="M25,28.6c0,0.1,0,0.2,0,0.2C25,28.7,25,28.7,25,28.6c0,0.1,0,0.2,0,0.3C24.9,28.8,24.9,28.7,25,28.6z"/> + </g> + <g> + <defs> + <path id="SVGID_9035_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9036_"> + <use xlink:href="#SVGID_9035_" style="overflow:visible;"/> + </clipPath> + <path class="st4519" d="M24.8,28.3c0.2,0.3,0,0.3,0,0.6C24.8,28.6,25,28.6,24.8,28.3z"/> + </g> + <g> + <defs> + <path id="SVGID_9037_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9038_"> + <use xlink:href="#SVGID_9037_" style="overflow:visible;"/> + </clipPath> + <path class="st4520" d="M24.9,28c0.1,0.2,0.1,0.3,0.1,0.5C25,28.4,25,28.2,24.9,28z"/> + </g> + <g> + <defs> + <path id="SVGID_9039_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9040_"> + <use xlink:href="#SVGID_9039_" style="overflow:visible;"/> + </clipPath> + <path class="st4521" d="M25.2,28.1c0.1,0.1,0.1,0.2,0.1,0.3C25.4,28.3,25.3,28.1,25.2,28.1z"/> + </g> + <g> + <defs> + <path id="SVGID_9041_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9042_"> + <use xlink:href="#SVGID_9041_" style="overflow:visible;"/> + </clipPath> + <path class="st4522" d="M25.2,28.1c0,0.1,0.1,0.2,0.1,0.3C25.3,28.4,25.2,28.3,25.2,28.1z"/> + </g> + <g> + <defs> + <path id="SVGID_9043_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9044_"> + <use xlink:href="#SVGID_9043_" style="overflow:visible;"/> + </clipPath> + <path class="st4523" d="M25.2,28.1c0,0.1,0,0.3,0,0.4C25.2,28.4,25.2,28.3,25.2,28.1z"/> + </g> + <g> + <defs> + <path id="SVGID_9045_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9046_"> + <use xlink:href="#SVGID_9045_" style="overflow:visible;"/> + </clipPath> + <path class="st4524" d="M25,28.2c0,0.1,0,0.1,0.1,0.2C25.1,28.3,25.1,28.2,25,28.2z"/> + </g> + <g> + <defs> + <path id="SVGID_9047_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9048_"> + <use xlink:href="#SVGID_9047_" style="overflow:visible;"/> + </clipPath> + <path class="st4525" d="M25,28.4c0,0.1,0.1,0.2,0.1,0.3C25.1,28.6,25.1,28.5,25,28.4z"/> + </g> + <g> + <defs> + <path id="SVGID_9049_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9050_"> + <use xlink:href="#SVGID_9049_" style="overflow:visible;"/> + </clipPath> + <path class="st4526" d="M25.1,28.2c0.1,0.2,0.1,0.4,0.1,0.6C25.2,28.6,25.2,28.3,25.1,28.2z"/> + </g> + <g> + <defs> + <path id="SVGID_9051_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9052_"> + <use xlink:href="#SVGID_9051_" style="overflow:visible;"/> + </clipPath> + <rect x="18.4" y="29.9" class="st4527" width="1.8" height="0.2"/> + </g> + <g> + <defs> + <path id="SVGID_9053_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9054_"> + <use xlink:href="#SVGID_9053_" style="overflow:visible;"/> + </clipPath> + <path class="st4528" d="M19.5,29.2c0,0.1,0.4,0.6,0.4,0.6c0.1,0,0.2,0.1,0.2,0.1h-0.3c0,0,0,0,0-0.1c-0.1-0.1-0.2-0.2-0.2-0.3 + l-0.1-0.1C19.4,29.4,19.5,29.2,19.5,29.2z"/> + </g> + <g> + <defs> + <path id="SVGID_9055_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9056_"> + <use xlink:href="#SVGID_9055_" style="overflow:visible;"/> + </clipPath> + <path class="st4529" d="M20.1,30h-0.4c-0.1-0.1-0.2-0.2-0.2-0.3l-0.1-0.1l0.1-0.2h0.1c0.1,0.2,0.2,0.4,0.3,0.5H20 + C19.9,29.9,20,29.9,20.1,30z M19.8,29.9h0.1C19.9,29.9,19.9,29.9,19.8,29.9z M19.4,29.4L19.4,29.4C19.5,29.4,19.5,29.4,19.4,29.4 + z"/> + </g> + <g> + <defs> + <path id="SVGID_9057_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9058_"> + <use xlink:href="#SVGID_9057_" style="overflow:visible;"/> + </clipPath> + <path class="st4530" d="M19.1,29.2c0,0.1-0.4,0.6-0.4,0.6c-0.1,0-0.2,0.1-0.2,0.1h0.3c0,0,0,0,0-0.1c0.1-0.1,0.2-0.2,0.2-0.3 + l0.1-0.1V29.2z"/> + </g> + <g> + <defs> + <path id="SVGID_9059_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9060_"> + <use xlink:href="#SVGID_9059_" style="overflow:visible;"/> + </clipPath> + <path class="st4531" d="M18.5,30L18.5,30c0.1-0.1,0.1-0.2,0.2-0.2c0.2-0.2,0.3-0.3,0.3-0.5h0.1l0.1,0.2l-0.1,0.1 + c-0.1,0.1-0.1,0.2-0.2,0.3V30H18.5z M18.7,29.9L18.7,29.9z M19.1,29.4c0,0,0,0.1-0.1,0.1L19.1,29.4z"/> + </g> + <g> + <defs> + <path id="SVGID_9061_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9062_"> + <use xlink:href="#SVGID_9061_" style="overflow:visible;"/> + </clipPath> + <path class="st4532" d="M19.2,29.5L19.2,29.5z M19.2,29.5c-0.2,0.1-0.3,0.6-0.3,0.6s0,0,0,0.1H19c0,0,0,0,0,0.1l0.1,0.1v-0.1v0.1 + c0,0,0.1,0,0.1-0.1s0,0,0,0s0,0,0-0.1c0,0,0,0,0.1,0v-0.1C19.4,30.1,19.4,29.7,19.2,29.5l-0.1,0.2L19,29.5H19.2z M19.3,29.5 + L19.3,29.5z"/> + </g> + <g> + <defs> + <path id="SVGID_9063_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9064_"> + <use xlink:href="#SVGID_9063_" style="overflow:visible;"/> + </clipPath> + <path class="st4533" d="M19.3,30.5L19.3,30.5c-0.1-0.1-0.1-0.1-0.1-0.1s0,0-0.1,0H19c0,0,0.1-0.5,0.3-0.7v0.1h0.1 + c0.2,0.2,0.3,0.6,0.3,0.7c0,0,0,0-0.1,0c0,0,0,0.1-0.1,0.1L19.3,30.5z M19.2,30.2L19.2,30.2L19.2,30.2h0.2v-0.1h0.1V30h0.1 + c0-0.2-0.1-0.4-0.2-0.5l-0.1,0.2l-0.1-0.2c-0.1,0.2-0.1,0.4-0.1,0.5h0.1V30.2C19.1,30.2,19.1,30.2,19.2,30.2z"/> + </g> + <g> + <defs> + <path id="SVGID_9065_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9066_"> + <use xlink:href="#SVGID_9065_" style="overflow:visible;"/> + </clipPath> + <path class="st4534" d="M19.2,28.3c0,0.1,0,0.2-0.1,0.3v0.6c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.2 + c0.1,0,0.1-0.2,0.1-0.3v-0.2c0,0,0.1-0.1,0.1-0.2v-0.3v-0.3c-0.1-0.2-0.1-0.4-0.2-0.5s-0.2,0-0.2,0s0,0.1,0,0.2 + C19.2,28.3,19.2,28.3,19.2,28.3z"/> + </g> + <g> + <defs> + <path id="SVGID_9067_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9068_"> + <use xlink:href="#SVGID_9067_" style="overflow:visible;"/> + </clipPath> + <path class="st4535" d="M19.2,29.8L19.2,29.8c0-0.1-0.1-0.2-0.1-0.3c0,0,0,0,0-0.1s0-0.2-0.1-0.2h-0.1v-0.6 + c0.1-0.1,0.1-0.2,0.1-0.3v-0.1c0,0,0,0,0-0.1V28c0.1,0,0.2,0,0.2,0.1c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0,0.1,0.1,0.2v0.3v0.3 + c0,0.1-0.1,0.1-0.1,0.2v0.1c0,0,0,0.1,0,0.2C19.4,29.6,19.4,29.7,19.2,29.8z M19.1,29.2c0.1,0.1,0.1,0.2,0.1,0.2v0.1 + c0,0.1,0,0.1,0.1,0.2c0-0.1,0.1-0.1,0.1-0.2c0,0,0,0,0-0.1v-0.1l0.1-0.1v-0.3v-0.3c0-0.1-0.1-0.1-0.1-0.2s0-0.2-0.1-0.2h-0.1v0.1 + v0.1c0,0.1,0,0.2-0.1,0.3V29.2z"/> + </g> + <g> + <defs> + <path id="SVGID_9069_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9070_"> + <use xlink:href="#SVGID_9069_" style="overflow:visible;"/> + </clipPath> + <path class="st4536" d="M19.1,28.6c0.2,0,0.1-0.2,0.2-0.3c0.1-0.1,0.2,0.1,0.1,0.4c0,0.3,0,0.4,0,0.5s0,0.4-0.1,0.4 + S19.2,29,19.2,29c0,0.1,0,0.1-0.1,0.2c0-0.1,0-0.2,0-0.3C19.1,28.8,19.1,28.7,19.1,28.6z"/> + </g> + <g> + <defs> + <path id="SVGID_9071_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9072_"> + <use xlink:href="#SVGID_9071_" style="overflow:visible;"/> + </clipPath> + <path class="st4537" d="M19.1,28.6c-0.4-0.2-0.3-0.7-0.3-0.9c0-0.1,0-0.4,0-0.4l-0.1,0.1c0-0.1,0-0.3-0.1-0.4 + c0,0.1-0.1,0.3-0.1,0.4c0-0.1-0.1-0.1-0.2-0.2c0,0.1,0,0.2,0.1,0.4c-0.1-0.1-0.1-0.1-0.2-0.2c0,0.1,0.1,0.2,0.1,0.3 + c-0.1,0-0.2,0-0.2,0c0.1,0.1,0.1,0.2,0.2,0.3c-0.1,0-0.2-0.1-0.3,0c0.1,0.1,0.2,0.2,0.3,0.3c-0.1,0-0.2,0-0.3,0 + c0.1,0.1,0.2,0.1,0.3,0.1c-0.1,0-0.1,0.1-0.2,0.2c0.1,0,0.2,0,0.2,0c-0.1,0-0.1,0.1-0.1,0.2c0.1,0,0.2,0,0.2,0 + c-0.1,0.1-0.1,0.1-0.1,0.2c0.1,0,0.1,0,0.1,0c0,0.1-0.1,0.1,0,0.2c0.1,0,0.1-0.1,0.1-0.1c0,0.1,0,0.1,0,0.2 + c0.1,0,0.1-0.1,0.1-0.1c0,0.1,0,0.1,0,0.2c0.1,0,0.1-0.1,0.1-0.2c0,0.1,0,0.1,0,0.1l0.1-0.1l0.2-0.1c0-0.1,0.1-0.2,0.1-0.3 + C19.1,28.8,19.1,28.7,19.1,28.6z"/> + </g> + <g> + <defs> + <path id="SVGID_9073_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9074_"> + <use xlink:href="#SVGID_9073_" style="overflow:visible;"/> + </clipPath> + <path class="st4538" d="M18.8,28.6c-0.1,0.1,0,0.2,0,0.2V28.6c0.1,0.2,0.1,0.2,0.1,0.3c0.1-0.1,0.1-0.2,0.1-0.3 + c0-0.1,0-0.1-0.1-0.1c-0.1-0.1-0.1-0.1-0.1-0.2v0.1C18.7,28.5,18.7,28.5,18.8,28.6c-0.1-0.2-0.1,0-0.1,0 + C18.6,28.7,18.8,28.7,18.8,28.6z"/> + </g> + <g> + <defs> + <path id="SVGID_9075_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9076_"> + <use xlink:href="#SVGID_9075_" style="overflow:visible;"/> + </clipPath> + <path class="st4539" d="M18.7,27.8L18.7,27.8C18.7,27.9,18.7,27.9,18.7,27.8z"/> + </g> + <g> + <defs> + <path id="SVGID_9077_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9078_"> + <use xlink:href="#SVGID_9077_" style="overflow:visible;"/> + </clipPath> + <path class="st4540" d="M18.7,27.9L18.7,27.9C18.7,28,18.7,28,18.7,27.9C18.6,27.9,18.6,27.9,18.7,27.9 + C18.6,27.9,18.7,27.9,18.7,27.9z"/> + </g> + <g> + <defs> + <path id="SVGID_9079_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9080_"> + <use xlink:href="#SVGID_9079_" style="overflow:visible;"/> + </clipPath> + <path class="st4541" d="M18.7,28L18.7,28C18.7,28.1,18.7,28.1,18.7,28C18.6,28.1,18.6,28.1,18.7,28C18.6,28,18.6,28,18.7,28z"/> + </g> + <g> + <defs> + <path id="SVGID_9081_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9082_"> + <use xlink:href="#SVGID_9081_" style="overflow:visible;"/> + </clipPath> + <path class="st4542" d="M18.7,28.1L18.7,28.1C18.7,28.2,18.7,28.2,18.7,28.1C18.6,28.2,18.6,28.2,18.7,28.1 + C18.6,28.2,18.6,28.2,18.7,28.1C18.6,28.1,18.6,28.1,18.7,28.1z"/> + </g> + <g> + <defs> + <path id="SVGID_9083_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9084_"> + <use xlink:href="#SVGID_9083_" style="overflow:visible;"/> + </clipPath> + <path class="st4543" d="M18.7,28.2L18.7,28.2C18.7,28.3,18.7,28.3,18.7,28.2C18.7,28.3,18.6,28.3,18.7,28.2 + C18.6,28.3,18.6,28.3,18.7,28.2C18.6,28.3,18.6,28.2,18.7,28.2z"/> + </g> + <g> + <defs> + <path id="SVGID_9085_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9086_"> + <use xlink:href="#SVGID_9085_" style="overflow:visible;"/> + </clipPath> + <path class="st4544" d="M19.5,28.6c0.4-0.2,0.3-0.7,0.3-0.9c0-0.1,0-0.4,0-0.4l0.1,0.1c0-0.1,0-0.3,0.1-0.4 + c0,0.1,0.1,0.3,0.1,0.4c0-0.1,0.1-0.1,0.2-0.2c0,0.1,0,0.2-0.1,0.4c0.1-0.1,0.1-0.1,0.2-0.2c0,0.1-0.1,0.2-0.1,0.3 + c0.1,0,0.2,0,0.2,0c-0.1,0.1-0.1,0.2-0.2,0.3c0.1,0,0.2-0.1,0.3,0c-0.1,0.1-0.2,0.2-0.3,0.3c0.1,0,0.2,0,0.3,0 + c-0.1,0.1-0.2,0.1-0.3,0.1c0.1,0,0.2,0.1,0.2,0.2c-0.1,0-0.2,0-0.2,0c0.1,0,0.1,0.1,0.1,0.2c-0.1,0-0.2,0-0.2,0 + c0,0.1,0.1,0.1,0.1,0.2c-0.1,0-0.1,0-0.1,0c0,0.1,0,0.1,0,0.2l-0.1-0.1c0,0.1,0,0.1,0,0.2c-0.1,0-0.1-0.1-0.1-0.1 + c0,0.1,0,0.1,0,0.2c-0.1,0-0.1-0.1-0.1-0.2c0,0.1,0,0.1,0,0.1l-0.1-0.1l-0.2-0.1c0-0.1-0.1-0.2-0.1-0.3 + C19.4,28.8,19.4,28.7,19.5,28.6z"/> + </g> + <g> + <defs> + <path id="SVGID_9087_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9088_"> + <use xlink:href="#SVGID_9087_" style="overflow:visible;"/> + </clipPath> + <path class="st4545" d="M19.8,28.6c0.1,0.1,0.1,0.2,0.1,0.2L19.8,28.6c-0.1,0.2-0.1,0.3-0.1,0.3c-0.1-0.1-0.1-0.2-0.1-0.3 + c0-0.1,0-0.1,0.1-0.1c0.1-0.1,0.1-0.1,0.1-0.2v0.1h0.1C19.8,28.5,19.8,28.5,19.8,28.6c0.1-0.2,0.1,0,0.1,0 + C19.9,28.7,19.7,28.7,19.8,28.6z"/> + </g> + <g> + <defs> + <path id="SVGID_9089_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9090_"> + <use xlink:href="#SVGID_9089_" style="overflow:visible;"/> + </clipPath> + <path class="st4546" d="M19.8,27.8L19.8,27.8C19.8,27.9,19.8,27.9,19.8,27.8C19.9,27.8,19.9,27.8,19.8,27.8 + C19.9,27.8,19.8,27.8,19.8,27.8z"/> + </g> + <g> + <defs> + <path id="SVGID_9091_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9092_"> + <use xlink:href="#SVGID_9091_" style="overflow:visible;"/> + </clipPath> + <path class="st4547" d="M19.9,27.9C19.8,27.9,19.8,27.9,19.9,27.9C19.8,28,19.9,28,19.9,27.9z"/> + </g> + <g> + <defs> + <path id="SVGID_9093_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9094_"> + <use xlink:href="#SVGID_9093_" style="overflow:visible;"/> + </clipPath> + <path class="st4548" d="M19.9,28C19.8,28,19.8,28,19.9,28C19.8,28.1,19.9,28.1,19.9,28C19.9,28.1,19.9,28.1,19.9,28z"/> + </g> + <g> + <defs> + <path id="SVGID_9095_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9096_"> + <use xlink:href="#SVGID_9095_" style="overflow:visible;"/> + </clipPath> + <path class="st4549" d="M19.9,28.1C19.8,28.1,19.8,28.1,19.9,28.1C19.8,28.2,19.8,28.2,19.9,28.1C19.9,28.2,19.9,28.2,19.9,28.1 + C19.9,28.2,19.9,28.2,19.9,28.1C19.9,28.2,19.9,28.2,19.9,28.1z"/> + </g> + <g> + <defs> + <path id="SVGID_9097_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9098_"> + <use xlink:href="#SVGID_9097_" style="overflow:visible;"/> + </clipPath> + <path class="st4550" d="M19.9,28.2C19.9,28.2,19.8,28.2,19.9,28.2C19.8,28.2,19.8,28.2,19.9,28.2C19.8,28.3,19.8,28.3,19.9,28.2 + C19.9,28.3,19.9,28.3,19.9,28.2C19.9,28.3,19.9,28.2,19.9,28.2z"/> + </g> + <g> + <defs> + <path id="SVGID_9099_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9100_"> + <use xlink:href="#SVGID_9099_" style="overflow:visible;"/> + </clipPath> + <path class="st4551" d="M19.3,28.1C19.3,28.1,19.3,28.2,19.3,28.1C19.2,28.2,19.2,28.2,19.3,28.1C19.2,28.1,19.2,28.1,19.3,28.1z + "/> + </g> + <g> + <defs> + <path id="SVGID_9101_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9102_"> + <use xlink:href="#SVGID_9101_" style="overflow:visible;"/> + </clipPath> + <path class="st4552" d="M19.2,28.1L19.2,28.1z"/> + </g> + <g> + <defs> + <path id="SVGID_9103_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9104_"> + <use xlink:href="#SVGID_9103_" style="overflow:visible;"/> + </clipPath> + <path class="st4553" d="M19.1,28C19,28,19,28,19,28C19,28.1,19,28.1,19.1,28c0,0.1,0,0.1,0,0.1H19h-0.1l0.1,0.1h0.1 + c0,0,0.1,0,0.1-0.1C19.2,28.2,19.2,28.1,19.1,28z"/> + </g> + <g> + <defs> + <path id="SVGID_9105_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9106_"> + <use xlink:href="#SVGID_9105_" style="overflow:visible;"/> + </clipPath> + <path class="st4554" d="M19.1,28.3c0,0-0.1,0-0.1-0.1L19.1,28.3l0.1-0.1L19.1,28.3c0-0.1,0-0.1,0.1-0.1h0.1 + c0,0.1,0.1,0.1,0.1,0.2C19.2,28.4,19.1,28.4,19.1,28.3z M19,28.2l0.1,0.1h0.1c0,0,0.1,0,0.1-0.1s0-0.1-0.1-0.2h-0.1h0.1 + c0,0,0,0,0.1,0.1C19.1,28.2,19.1,28.2,19,28.2z"/> + </g> + <g> + <defs> + <path id="SVGID_9107_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9108_"> + <use xlink:href="#SVGID_9107_" style="overflow:visible;"/> + </clipPath> + <path class="st4555" d="M19.2,29.8c-0.1,0.1-0.1,0.3-0.1,0.5C19.1,30.2,19.1,29.9,19.2,29.8C19.2,29.8,19.2,29.7,19.2,29.8 + C19.2,29.7,19.2,29.8,19.2,29.8z"/> + </g> + <g> + <defs> + <path id="SVGID_9109_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9110_"> + <use xlink:href="#SVGID_9109_" style="overflow:visible;"/> + </clipPath> + <path class="st4556" d="M19.2,29.6c-0.1,0.1-0.1,0.2-0.1,0.3v0.2C19.1,30.2,19.1,29.8,19.2,29.6C19.3,29.6,19.2,29.7,19.2,29.6 + C19.2,29.6,19.2,29.7,19.2,29.6z"/> + </g> + <g> + <defs> + <path id="SVGID_9111_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9112_"> + <use xlink:href="#SVGID_9111_" style="overflow:visible;"/> + </clipPath> + <path class="st4557" d="M19.1,29.6C19,29.7,19,29.8,18.9,30v0.2C19,30.1,19,29.8,19.1,29.6C19.2,29.6,19.2,29.6,19.1,29.6 + C19.2,29.6,19.1,29.6,19.1,29.6z"/> + </g> + <g> + <defs> + <path id="SVGID_9113_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9114_"> + <use xlink:href="#SVGID_9113_" style="overflow:visible;"/> + </clipPath> + <path class="st4558" d="M19.2,29.8c-0.1,0.1-0.1,0.2-0.1,0.3v0.2c0,0,0-0.3,0.1-0.4C19.2,29.9,19.3,29.8,19.2,29.8z"/> + </g> + <g> + <defs> + <path id="SVGID_9115_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9116_"> + <use xlink:href="#SVGID_9115_" style="overflow:visible;"/> + </clipPath> + <path class="st4559" d="M19.4,29.8c0.1,0.1,0.1,0.3,0.1,0.5C19.4,30.2,19.4,29.9,19.4,29.8C19.3,29.8,19.3,29.7,19.4,29.8 + C19.3,29.7,19.4,29.8,19.4,29.8z"/> + </g> + <g> + <defs> + <path id="SVGID_9117_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9118_"> + <use xlink:href="#SVGID_9117_" style="overflow:visible;"/> + </clipPath> + <path class="st4560" d="M19.4,29.6c0.1,0.1,0.1,0.2,0.1,0.3v0.2C19.5,30.2,19.4,29.8,19.4,29.6C19.3,29.6,19.3,29.7,19.4,29.6 + C19.4,29.6,19.4,29.7,19.4,29.6z"/> + </g> + <g> + <defs> + <path id="SVGID_9119_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9120_"> + <use xlink:href="#SVGID_9119_" style="overflow:visible;"/> + </clipPath> + <path class="st4561" d="M19.4,29.6c0.1,0.1,0.1,0.2,0.2,0.4v0.2C19.5,30.1,19.5,29.8,19.4,29.6z"/> + </g> + <g> + <defs> + <path id="SVGID_9121_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9122_"> + <use xlink:href="#SVGID_9121_" style="overflow:visible;"/> + </clipPath> + <path class="st4562" d="M19.3,29.8c0,0.1,0.1,0.2,0.1,0.3v0.2c0,0,0-0.3-0.1-0.4V29.8z"/> + </g> + <g> + <defs> + <path id="SVGID_9123_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9124_"> + <use xlink:href="#SVGID_9123_" style="overflow:visible;"/> + </clipPath> + <path class="st4563" d="M19.2,30.3C19.2,30.3,19.3,30.4,19.2,30.3c0.1,0.1,0.1,0,0.1,0s0-0.4-0.1-0.4 + C19.2,29.9,19.2,30.2,19.2,30.3z"/> + </g> + <g> + <defs> + <path id="SVGID_9125_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9126_"> + <use xlink:href="#SVGID_9125_" style="overflow:visible;"/> + </clipPath> + <path class="st4564" d="M22.6,31.2c-0.4-0.2-0.3-0.1-0.4,0s-0.2,0.1-0.3,0.1c-0.1,0-0.1-0.1-0.1-0.1l0.1-0.1 + c-0.1,0-0.3-0.1-0.4-0.2s-0.2-0.6-0.2-0.7s-0.1-0.1-0.1-0.1l0.1-0.1c-0.1-0.1-0.1-0.3-0.1-0.4c0.2,0.1,0.3,0.3,0.4,0.3 + c0.2-0.1,0.5-0.2,0.7-0.3l0.4,0.5h0.1c0.1-0.2,0.1-0.5,0-0.7c-0.2-0.3-0.3-0.7-0.3-1c0-0.4,0.1-0.7,0.3-0.6 + c0.2,0.1,0.3,0.3,0.3,0.5c0,0.1,0.1,0.2,0.1,0.3v0.1c0,0-0.1-0.2-0.1-0.3c0,0,0,0-0.1,0s-0.1-0.2-0.2-0.2c0,0-0.1,0.1-0.1,0.2 + c0,0.2,0.5,1,0.5,1.5C23.3,31,23,31.3,22.6,31.2z"/> + </g> + <g> + <defs> + <path id="SVGID_9127_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9128_"> + <use xlink:href="#SVGID_9127_" style="overflow:visible;"/> + </clipPath> + <path class="st4565" d="M22,31.3L22,31.3c-0.1,0-0.2,0-0.2-0.1c0,0,0,0,0-0.1c-0.1,0-0.2-0.1-0.3-0.2c-0.1-0.1-0.1-0.3-0.2-0.4 + c0-0.1-0.1-0.2-0.1-0.2c0-0.1,0-0.1-0.1-0.2l0.1-0.1c-0.1-0.1-0.1-0.3-0.1-0.4v-0.1h0.1c0.1,0,0.2,0.1,0.2,0.2l0.1,0.1 + c0.2-0.1,0.5-0.2,0.7-0.3l0.4,0.5h0.1c0.1-0.2,0.1-0.4,0-0.7c0-0.1-0.1-0.2-0.1-0.3c-0.1-0.2-0.2-0.5-0.2-0.8 + c0-0.2,0.1-0.5,0.2-0.6c0,0,0.1,0,0.2,0s0.2,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.4c0,0.1,0.1,0.2,0.1,0.3v0.1v0.1v-0.1 + c0-0.1-0.1-0.2-0.1-0.2L23,28.3c0,0,0,0,0-0.1c0,0.1,0,0.1,0,0.2s0.1,0.2,0.1,0.3c0.2,0.4,0.3,0.7,0.4,1.1c0,0.7-0.1,1.2-0.4,1.3 + c-0.2,0.1-0.4,0.1-0.6,0.1c-0.2-0.1-0.3-0.1-0.3-0.1s0,0,0,0.1C22.2,31.2,22.1,31.3,22,31.3z M21.9,31.2L21.9,31.2 + c0.1,0.1,0.2,0,0.3,0c0,0,0-0.1,0.1-0.1c0,0,0.1,0,0.4,0.1c0.1,0.1,0.2,0.1,0.3,0c0.2-0.2,0.3-0.6,0.3-1.3 + c-0.1-0.4-0.2-0.8-0.4-1.1c-0.1-0.1-0.1-0.2-0.2-0.4c0-0.1,0-0.2,0.1-0.3h0.1l0.1,0.1c0,0,0,0.1,0.1,0.1c0,0,0,0,0.1,0v0.1 + c0-0.1,0-0.1-0.1-0.2c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.1-0.1-0.2h-0.1c-0.1,0.2-0.2,0.4-0.2,0.6c0,0.3,0.1,0.5,0.2,0.8 + c0,0.1,0.1,0.2,0.1,0.3c0.1,0.3,0.1,0.7,0,0.8h-0.1l-0.4-0.5c-0.2,0.1-0.5,0.3-0.7,0.3c-0.1,0-0.1-0.1-0.2-0.1l-0.1-0.1 + c0,0.1,0.1,0.2,0.1,0.3l-0.1,0.1c0,0,0,0.1,0.1,0.1c0,0.1,0.1,0.2,0.1,0.3c0,0.2,0.1,0.4,0.1,0.4C21.8,31.1,21.9,31.2,21.9,31.2z + "/> + </g> + <g> + <defs> + <path id="SVGID_9129_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9130_"> + <use xlink:href="#SVGID_9129_" style="overflow:visible;"/> + </clipPath> + <path class="st4566" d="M23,27.9C23,28,23,28,23,27.9C23,28,23,28,23,27.9z"/> + </g> + <g> + <defs> + <path id="SVGID_9131_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9132_"> + <use xlink:href="#SVGID_9131_" style="overflow:visible;"/> + </clipPath> + <path class="st4567" d="M23,27.9C23,28,23,28,23,27.9C23,28,23,28,23,27.9z"/> + </g> + <g> + <defs> + <path id="SVGID_9133_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9134_"> + <use xlink:href="#SVGID_9133_" style="overflow:visible;"/> + </clipPath> + <path class="st4568" d="M21.7,30c0-0.1-0.1-0.2-0.1-0.3s-0.1-0.2-0.1-0.3c0,0,0.1,0.1,0.1-0.1c0-0.1,0-0.2-0.1-0.3 + c-0.1-0.1,0-0.1,0.1-0.1c0,0,0.1-0.2,0.1-0.3c0-0.1,0.1-0.1,0.1,0s0.1-0.1,0.1-0.1c0-0.1,0-0.2,0-0.3s0.2,0.1,0.2,0.2 + c0.1,0.1,0.1-0.1,0-0.2c0-0.1,0.1,0,0.1,0c0-0.1,0-0.2,0-0.3c0-0.2,0.1,0.3,0.2,0.3c0,0.2,0.1,0.3,0.1,0.5 + c0.3,0.4,0.4,0.9,0.4,1.4c0,0.1,0,0.3-0.1,0.2c-0.1-0.1-0.2-0.1-0.3-0.2c-0.1,0-0.1,0-0.2-0.1c-0.1,0-0.1,0-0.2,0s-0.1,0-0.2,0 + C21.8,30,21.7,29.9,21.7,30z"/> + </g> + <g> + <defs> + <path id="SVGID_9135_" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3 + l8.8-5.1c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1 + C23.7,37.7,22.8,37.9,21.9,37.9"/> + </defs> + <clipPath id="SVGID_9136_"> + <use xlink:href="#SVGID_9135_" style="overflow:visible;"/> + </clipPath> + <path class="st4569" d="M22.8,30.2C22.8,30.2,22.7,30.1,22.8,30.2c-0.1-0.1-0.2-0.1-0.3-0.2h-0.1h-0.1h-0.1h-0.1 + c-0.1,0-0.1,0-0.2,0h-0.1c-0.1,0-0.1,0-0.2,0.1v0.1v-0.1c0-0.1-0.1-0.2-0.1-0.3v-0.1c0-0.1,0-0.1-0.1-0.2c0,0,0,0,0.1,0 + c0-0.1,0-0.2-0.1-0.3c0-0.1,0-0.1,0-0.2h0.1c0-0.1,0-0.2,0-0.3v-0.1h0.1c0-0.1,0-0.2,0-0.3c0,0,0,0,0.1,0s0.2,0.1,0.2,0.2v-0.1 + c0,0,0,0,0-0.1H22c0.1,0,0-0.2,0-0.2V28l0.2,0.4c0,0.2,0.1,0.3,0.1,0.4v0.1C22.5,29.3,22.7,29.8,22.8,30.2l-0.1,0.2 + C22.8,30.1,22.8,30.1,22.8,30.2z M22.2,29.8L22.2,29.8c0.1,0,0.1,0,0.2,0h0.1h0.1c0.1,0,0.1,0.1,0.2,0.1v-0.1v-0.1 + c0-0.5-0.1-0.9-0.4-1.3v-0.1c-0.1-0.2-0.1-0.3-0.1-0.5c0-0.1,0-0.1-0.1-0.2c0,0.2,0,0.2,0,0.2h-0.1c0,0.1,0,0.2,0,0.2H22 + c0-0.1-0.1-0.1-0.1-0.1c0,0.1,0,0.2,0,0.3s0,0.1-0.1,0.2c0,0,0,0-0.1,0c0,0.1,0,0.3-0.1,0.4h-0.1c0,0,0,0,0,0.1 + c0.1,0.1,0.1,0.2,0.1,0.3v0.1c0,0.1,0,0.1,0,0.2v0.1c0,0.1,0.1,0.2,0.1,0.3c0-0.1,0.1-0.1,0.2-0.1H22 + C22.1,29.8,22.1,29.8,22.2,29.8z"/> + </g> + </g> + <path class="st4570" d="M2.3,26.8v-8h1c0.6,0,1.1,0.5,1.1,1.1v5.8c0,0.6-0.5,1.1-1.1,1.1C3.3,26.8,2.3,26.8,2.3,26.8z"/> + <path class="st4570" d="M9.5,9.6c-0.4,0-0.8-0.2-1-0.5L8,8.2l6.9-4l0.6,0.9c0.3,0.5,0.1,1.2-0.4,1.5l-5,2.9 + C9.8,9.5,9.7,9.6,9.5,9.6z"/> + <path class="st4570" d="M33.5,9c-0.2,0-0.4-0.1-0.6-0.1l-5-2.9c-0.5-0.3-0.7-1-0.4-1.5L28,3.6l7,4l-0.5,0.9C34.3,8.8,33.9,9,33.5,9 + z"/> + <path class="st4570" d="M40.6,26.8c-0.6,0-1.1-0.5-1.1-1.1v-5.8c0-0.6,0.5-1.1,1.1-1.1h1v8C41.6,26.8,40.6,26.8,40.6,26.8z"/> + <path class="st4570" d="M8,37.4l0.5-0.8c0.2-0.3,0.6-0.5,1-0.5c0.2,0,0.4,0.1,0.6,0.1l5,2.9c0.3,0.1,0.4,0.4,0.5,0.7s0,0.6-0.1,0.8 + L15,41.4L8,37.4z"/> + <path class="st4570" d="M27.5,41.1c-0.1-0.3-0.2-0.6-0.1-0.8c0.1-0.3,0.3-0.5,0.5-0.7l5-2.9c0.2-0.1,0.4-0.1,0.6-0.1 + c0.4,0,0.7,0.2,0.9,0.5l0.5,0.8l-7,4L27.5,41.1z"/> + <path class="st0" d="M21.9,1.1c1.2,0,2.4,0.3,3.4,0.9l12.8,7.4c2.1,1.2,3.4,3.5,3.4,5.9v14.8c0,2.4-1.3,4.7-3.4,5.9l-12.8,7.4 + c-2.1,1.2-4.7,1.2-6.8,0L5.7,36c-2.1-1.2-3.4-3.5-3.4-5.9V15.3c0-2.4,1.3-4.7,3.4-5.9L18.5,2C19.6,1.4,20.8,1.1,21.9,1.1 M21.9,0.9 + c-1.2,0-2.4,0.3-3.5,0.9L5.6,9.2c-2.2,1.3-3.5,3.6-3.5,6.1v14.8c0,2.5,1.3,4.8,3.5,6.1l12.8,7.4c2.2,1.3,4.8,1.3,7,0l12.9-7.4 + c2.2-1.3,3.5-3.6,3.5-6.1V15.3c0-2.5-1.3-4.8-3.5-6.1L25.4,1.8C24.4,1.2,23.2,0.9,21.9,0.9z"/> + <path class="st0" d="M3.3,18.8c0.6,0,1,0.5,1.1,1v5.8c0,0.6-0.5,1.1-1,1.1h-1v-7.9H3.3 M3.3,18.7h-1v8.1h1.1c0.6,0,1.1-0.5,1.1-1.2 + v-5.8C4.5,19.2,3.9,18.7,3.3,18.7z"/> + <path class="st0" d="M14.9,4.1L15.4,5c0.3,0.5,0.1,1.2-0.4,1.5l-5,2.9C9.5,9.7,8.9,9.5,8.6,9L8.1,8.1L14.9,4.1 M14.9,4L14.9,4l-7,4 + L7.8,8.1l0.1,0.1l0.5,0.9c0.2,0.4,0.6,0.6,1,0.6c0.2,0,0.4-0.1,0.6-0.2l5-2.9c0.3-0.2,0.5-0.4,0.5-0.7c0.2-0.4,0.2-0.7,0-0.9 + L15,4.1L14.9,4z"/> + <path class="st0" d="M28.1,3.6l6.9,4l-0.5,0.9c-0.3,0.5-0.9,0.7-1.4,0.4l-5-2.9c-0.5-0.3-0.7-0.9-0.4-1.4L28.1,3.6 M28,3.5L28,3.5 + l-0.6,1c-0.1,0.3-0.2,0.6-0.1,0.9s0.3,0.6,0.5,0.7l5,2.9c0.2,0.1,0.4,0.2,0.6,0.2c0.4,0,0.8-0.2,1-0.6l0.5-0.9L35,7.6l-0.1-0.1 + L28,3.5z"/> + <path class="st0" d="M41.5,18.8v7.9h-1c-0.6,0-1.1-0.5-1.1-1.1v-5.8c0-0.6,0.5-1,1.1-1H41.5 M41.6,18.7h-1.1 + c-0.6,0-1.1,0.5-1.1,1.1v5.8c0,0.6,0.5,1.2,1.1,1.2h1.1V18.7z"/> + <path class="st0" d="M9.5,36c0.2,0,0.4,0,0.5,0.1l5,2.9c0.5,0.3,0.7,0.9,0.4,1.4L15,41.2l-6.9-4l0.5-0.8C8.8,36.3,9.1,36.1,9.5,36 + M9.5,35.9c-0.4,0-0.8,0.2-1,0.6L8,37.3l-0.1,0.1L8,37.5l6.9,4l0.1,0.1l0.1-0.1l0.4-0.8c0.3-0.6,0.1-1.3-0.4-1.6l-5-2.9 + C9.9,36,9.7,35.9,9.5,35.9z"/> + <path class="st0" d="M33.5,36.6c0.4,0,0.7,0.2,0.9,0.5l0.5,0.8l-6.9,4l-0.4-0.8c-0.3-0.5-0.1-1.1,0.4-1.4l5-2.9 + C33.1,36.6,33.3,36.6,33.5,36.6 M33.5,36.5c-0.2,0-0.4,0.1-0.6,0.2l-5,2.9c-0.6,0.3-0.8,1-0.5,1.6l0.4,0.8l0.1,0.1L28,42l6.9-4 + l0.1-0.1l-0.1-0.1L34.4,37C34.2,36.7,33.8,36.5,33.5,36.5z"/> + <path class="st0" d="M21.9,39.3c-0.2,0-0.4,0-0.6,0c-0.1,0-0.1-0.1-0.1-0.1c0-0.1,0.1-0.1,0.1-0.1c0.4,0,0.7,0,1.1,0 + c0.1,0,0.1,0,0.1,0.1s0,0.1-0.1,0.1S22.1,39.3,21.9,39.3z M23.5,39.1c-0.1,0-0.1,0-0.1-0.1c0,0,0-0.1,0.1-0.1 + c0.3-0.1,0.7-0.3,1-0.4c0.1,0,0.1,0,0.1,0c0,0.1,0,0.1,0,0.1C24.3,38.8,23.9,38.9,23.5,39.1z M20.3,39L20.3,39 + c-0.4-0.1-0.7-0.3-1-0.4h-0.1c0,0-0.1-0.1,0-0.2c0,0,0.1-0.1,0.1,0h0.1c0.3,0.2,0.6,0.3,0.9,0.4c0.1,0,0.1,0.1,0.1,0.1 + C20.4,39,20.3,39,20.3,39z M25.5,38.1C25.5,38.1,25.4,38.1,25.5,38.1c-0.1-0.1-0.1-0.2-0.1-0.2l1-0.6c0.1,0,0.1,0,0.2,0v0.1 + L25.5,38.1z M18.3,38L18.3,38l-1-0.6c-0.1,0-0.1-0.1,0-0.2c0-0.1,0.1-0.1,0.1,0l1,0.6C18.4,37.8,18.4,37.9,18.3,38 + C18.4,38,18.4,38,18.3,38z M27.4,37c-0.1,0-0.1,0-0.1-0.1c0,0,0-0.1,0.1-0.1l1-0.6c0.1,0,0.1,0,0.1,0c0,0.1,0,0.1,0,0.1L27.4,37z + M16.4,36.9L16.4,36.9l-1-0.6c0,0-0.1-0.1,0-0.2c0,0,0.1-0.1,0.1,0l1,0.6C16.5,36.8,16.5,36.8,16.4,36.9 + C16.5,36.9,16.4,36.9,16.4,36.9z M29.3,35.9C29.3,35.9,29.2,35.9,29.3,35.9c-0.1-0.1-0.1-0.2-0.1-0.2l1-0.6c0,0,0.1,0,0.2,0 + c0,0,0,0.1,0,0.2L29.3,35.9C29.4,35.9,29.3,35.9,29.3,35.9z M14.5,35.8L14.5,35.8l-1-0.6c0,0-0.1-0.1,0-0.2c0,0,0.1-0.1,0.1,0 + l1,0.6C14.6,35.6,14.6,35.7,14.5,35.8C14.6,35.8,14.5,35.8,14.5,35.8z M31.2,34.8C31.2,34.8,31.1,34.8,31.2,34.8 + c-0.1-0.1-0.1-0.2-0.1-0.2l1-0.6c0.1,0,0.1,0,0.1,0c0,0.1,0,0.1,0,0.2L31.2,34.8C31.3,34.8,31.2,34.8,31.2,34.8z M12.6,34.7 + C12.6,34.7,12.5,34.7,12.6,34.7l-1-0.6c-0.1,0-0.1-0.1,0-0.2c0-0.1,0.1-0.1,0.2,0l1,0.6C12.7,34.6,12.7,34.6,12.6,34.7z M33.1,33.7 + C33,33.7,33,33.7,33.1,33.7c-0.1-0.1-0.1-0.2,0-0.2l1-0.6c0.1,0,0.1,0,0.1,0c0,0.1,0,0.1,0,0.1L33.1,33.7 + C33.2,33.7,33.2,33.7,33.1,33.7z M10.7,33.6C10.7,33.6,10.6,33.6,10.7,33.6l-1-0.6l-0.2-0.1c-0.1,0-0.1-0.1,0-0.2 + c0-0.1,0.1-0.1,0.2,0l0.2,0.1l1,0.6C10.8,33.4,10.8,33.5,10.7,33.6z M35,32.5C35,32.5,34.9,32.5,35,32.5c-0.1-0.1-0.1-0.2-0.1-0.2 + c0.3-0.2,0.5-0.5,0.7-0.8c0,0,0.1,0,0.2,0v0.1C35.6,32,35.3,32.2,35,32.5z M8.6,32.2L8.6,32.2c-0.3-0.3-0.6-0.6-0.8-0.9 + c0-0.1,0-0.1,0-0.2c0.1,0,0.1,0,0.1,0c0.2,0.3,0.4,0.6,0.7,0.8C8.7,32.1,8.8,32.1,8.6,32.2C8.7,32.2,8.7,32.2,8.6,32.2 + C8.7,32.2,8.7,32.2,8.6,32.2z M36.3,30.7L36.3,30.7c-0.1,0-0.1-0.1-0.1-0.1c0.2-0.3,0.3-0.7,0.4-1c0-0.1,0.1-0.1,0.1-0.1 + c0.1,0,0.1,0.1,0.1,0.1C36.7,30,36.6,30.3,36.3,30.7C36.4,30.7,36.4,30.7,36.3,30.7z M7.4,30.4c0,0-0.1,0-0.1-0.1 + c-0.1-0.4-0.2-0.7-0.3-1.1c0-0.1,0-0.1,0.1-0.1s0.1,0,0.1,0.1c0.1,0.4,0.2,0.7,0.3,1C7.6,30.3,7.5,30.4,7.4,30.4z M36.8,28.6 + L36.8,28.6c-0.1,0-0.1,0-0.1-0.1v-0.1v-1c0-0.1,0-0.1,0.1-0.1s0.1,0,0.1,0.1v1v0.1C36.9,28.6,36.9,28.6,36.8,28.6z M7.1,28.2 + c-0.1,0-0.1,0-0.1-0.1V27c0-0.1,0-0.1,0.1-0.1s0.1,0,0.1,0.1v1.1C7.2,28.2,7.2,28.2,7.1,28.2z M36.8,26.4c-0.1,0-0.1,0-0.1-0.1 + v-1.1c0-0.1,0-0.1,0.1-0.1s0.1,0,0.1,0.1v1.1C36.9,26.3,36.9,26.4,36.8,26.4z M7.1,26C7,26,7,25.9,7,25.9v-1.1c0-0.1,0-0.1,0.1-0.1 + s0.1,0,0.1,0.1v1.1C7.2,26,7.2,26,7.1,26z M36.8,24.2c-0.1,0-0.1,0-0.1-0.1V23c0-0.1,0-0.1,0.1-0.1s0.1,0,0.1,0.1v1.1 + C36.9,24.1,36.9,24.2,36.8,24.2z M7.1,23.8c-0.1,0-0.1,0-0.1-0.1v-1.1c0-0.1,0-0.1,0.1-0.1s0.1,0,0.1,0.1v1.1 + C7.2,23.8,7.2,23.8,7.1,23.8z M36.8,22c-0.1,0-0.1,0-0.1-0.1v-1.1c0-0.1,0-0.1,0.1-0.1s0.1,0,0.1,0.1v1.1C37,21.9,36.9,22,36.8,22z + M7.1,21.6c-0.1,0-0.1,0-0.1-0.1v-1.1c0-0.1,0-0.1,0.1-0.1s0.1,0,0.1,0.1v1.1C7.2,21.6,7.2,21.6,7.1,21.6z M36.8,19.8 + c-0.1,0-0.1,0-0.1-0.1v-1.1c0-0.1,0-0.1,0.1-0.1s0.1,0.1,0.1,0.1v1.1C36.9,19.7,36.9,19.8,36.8,19.8z M7.1,19.4 + c-0.1,0-0.1,0-0.1-0.1v-1.1c0-0.1,0-0.1,0.1-0.1s0.1,0,0.1,0.1v1.1C7.2,19.4,7.2,19.4,7.1,19.4z M36.8,17.6c-0.1,0-0.1,0-0.1-0.1 + v-0.1c0-0.3,0-0.6-0.1-0.9c0-0.1,0-0.1,0.1-0.1s0.1,0,0.1,0.1c0.1,0.3,0.1,0.6,0.1,1L36.8,17.6C37,17.5,36.9,17.6,36.8,17.6z + M7.1,17.2L7.1,17.2C7,17.2,7,17.1,7,17.1c0-0.4,0.1-0.7,0.2-1.1c0-0.1,0.1-0.1,0.1-0.1L7.4,16c-0.1,0.4-0.1,0.7-0.2,1.1 + C7.2,17.2,7.2,17.2,7.1,17.2z M36.4,15.4c0,0-0.1,0-0.1-0.1c-0.1-0.3-0.3-0.7-0.5-0.9c0-0.1,0-0.1,0-0.2c0,0,0.1,0,0.2,0 + c0.2,0.3,0.4,0.6,0.5,1C36.6,15.3,36.5,15.4,36.4,15.4C36.5,15.4,36.5,15.4,36.4,15.4z M7.7,15.1C7.6,15.1,7.6,15.1,7.7,15.1 + c-0.1,0-0.1-0.1-0.1-0.1c0.2-0.3,0.4-0.7,0.6-1c0,0,0.1,0,0.2,0c0,0,0,0.1,0,0.2C8.1,14.4,7.9,14.7,7.7,15.1 + C7.7,15,7.7,15.1,7.7,15.1z M35.2,13.6C35.2,13.6,35.1,13.6,35.2,13.6c-0.3-0.3-0.6-0.5-0.9-0.7c-0.1,0-0.1-0.1,0-0.2 + c0-0.1,0.1-0.1,0.1,0c0.3,0.2,0.6,0.4,0.9,0.7C35.3,13.5,35.3,13.5,35.2,13.6z M9,13.4C9,13.4,8.9,13.3,9,13.4 + c-0.1-0.1-0.1-0.2-0.1-0.2c0.2-0.2,0.5-0.4,0.7-0.5l0.2-0.1c0.1,0,0.1,0,0.1,0.1v0.1l-0.2,0.1C9.5,13,9.3,13.2,9,13.4 + C9,13.3,9,13.4,9,13.4z M33.4,12.4C33.3,12.4,33.3,12.4,33.4,12.4l-1-0.6c-0.1,0-0.1-0.1,0-0.1c0-0.1,0.1-0.1,0.2,0l1,0.6 + C33.5,12.2,33.5,12.3,33.4,12.4z M10.9,12.2C10.9,12.2,10.8,12.2,10.9,12.2c-0.1-0.1-0.1-0.2-0.1-0.2l1-0.6c0.1,0,0.1,0,0.1,0 + c0,0.1,0,0.1,0,0.2L10.9,12.2z M31.5,11.3C31.4,11.3,31.4,11.3,31.5,11.3l-1-0.6c-0.1,0-0.1-0.1,0-0.1c0-0.1,0.1-0.1,0.2,0l1,0.6 + C31.6,11.1,31.6,11.2,31.5,11.3z M12.8,11.1C12.7,11.1,12.7,11.1,12.8,11.1c-0.1-0.1-0.1-0.2-0.1-0.2l1-0.6c0.1,0,0.1,0,0.2,0 + c0,0.1,0,0.1,0,0.1L12.8,11.1z M29.5,10.2L29.5,10.2l-1-0.6c-0.1,0-0.1-0.1,0-0.2c0-0.1,0.1-0.1,0.1,0l0.9,0.5 + C29.6,10,29.6,10.1,29.5,10.2C29.6,10.1,29.6,10.1,29.5,10.2C29.6,10.1,29.6,10.2,29.5,10.2z M14.7,10C14.6,10,14.6,10,14.7,10 + c-0.1-0.1-0.1-0.2-0.1-0.2l1-0.6c0,0,0.1,0,0.1,0.1v0.1L14.7,10z M27.6,9.1L27.6,9.1l-1-0.6c0,0-0.1-0.1,0-0.2c0,0,0.1-0.1,0.1,0 + l1,0.6C27.7,8.9,27.7,9,27.6,9.1C27.7,9.1,27.6,9.1,27.6,9.1z M16.6,8.9C16.6,8.9,16.5,8.9,16.6,8.9c-0.1-0.1-0.1-0.2-0.1-0.2 + l1-0.6c0.1,0,0.1,0,0.1,0c0,0.1,0,0.1,0,0.1L16.6,8.9z M25.7,7.9L25.7,7.9l-1-0.6c0,0-0.1-0.1,0-0.2c0,0.1,0,0.1,0.1,0.1l1,0.6 + C25.8,7.8,25.8,7.8,25.7,7.9C25.8,7.9,25.7,7.9,25.7,7.9z M18.5,7.8c-0.1,0-0.1,0-0.1-0.1c0,0,0-0.1,0.1-0.1l0.8-0.5L19.5,7 + c0.1,0,0.1,0,0.2,0s0,0.1,0,0.2l-0.1,0.1L18.5,7.8C18.6,7.8,18.5,7.8,18.5,7.8z M23.8,6.9L23.8,6.9c-0.4-0.1-0.7-0.2-1.1-0.3 + c-0.1,0-0.1-0.1-0.1-0.1l0.1-0.1c0.4,0.1,0.7,0.1,1.1,0.3C23.8,6.7,23.9,6.8,23.8,6.9z M20.5,6.8c0,0-0.1,0-0.1-0.1s0-0.1,0.1-0.1 + c0.4-0.1,0.7-0.2,1.1-0.2c0.1,0,0.1,0,0.1,0.1s0,0.1-0.1,0.1C21.2,6.6,20.9,6.7,20.5,6.8z"/> + <path class="st0" d="M21.9,37.9c-0.9,0-1.7-0.2-2.5-0.7l-8.7-5c-1.5-0.9-2.5-2.5-2.5-4.3V17.8c0-1.8,0.9-3.4,2.5-4.3l8.8-5.1 + c1.5-0.9,3.4-0.9,4.9,0l8.8,5.1c1.5,0.9,2.5,2.5,2.5,4.3V28c0,1.8-0.9,3.4-2.5,4.3l-8.8,5.1C23.7,37.7,22.8,37.9,21.9,37.9z + M21.9,8c-0.8,0-1.6,0.2-2.4,0.6l-8.8,5.1c-1.5,0.8-2.4,2.4-2.4,4.1V28c0,1.7,0.9,3.2,2.4,4.1l8.8,5.1c1.5,0.8,3.2,0.8,4.7,0 + l8.8-5.1c1.5-0.8,2.3-2.4,2.4-4.1V17.8c0-1.7-0.9-3.2-2.4-4.1l-8.8-5.1C23.6,8.2,22.8,8,21.9,8z"/> +</g> +<text transform="matrix(1 0 0 1 52.3002 42.0996)" class="st4571 st4572">AussieCasinoHEX.com</text> +</svg> diff --git a/themes/vue/source/images/authing.svg b/themes/vue/source/images/authing.svg new file mode 100644 index 0000000000..22209f1a0d --- /dev/null +++ b/themes/vue/source/images/authing.svg @@ -0,0 +1,13 @@ +<svg width="495" height="191" viewBox="0 0 495 191" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M164.38 70.1256L174.151 38.7177L183.921 70.1256H164.38ZM178.158 25.8346H170.143H165.93L141.27 101.541H154.607L160.65 82.115H187.651L193.693 101.541H207.03L182.371 25.8346H178.158Z" fill="#396AFF"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M287.288 31.6061H275.298V43.3715H266.7V55.3615H275.298V101.012H287.288V55.3615H295.887V43.3715H287.288V31.6061Z" fill="#396AFF"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M363.629 101.011H375.618V44.8479H363.629V101.011Z" fill="#396AFF"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M247.501 76.7231V78.4067C247.501 85.4318 241.785 91.1471 234.76 91.1471C227.735 91.1471 222.02 85.4318 222.02 78.4067V76.7231L222.085 43.3308H210.095L210.16 76.7231V78.4067C210.16 91.9716 221.195 103.007 234.76 103.007C248.324 103.007 259.36 91.9716 259.36 78.4067V76.7231L259.425 43.3308H247.435L247.501 76.7231Z" fill="#396AFF"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M469.317 88.8023C462.011 88.8023 456.088 82.1364 456.088 70.6225C456.088 59.6593 462.011 52.4428 469.317 52.4428C476.624 52.4428 482.664 59.6228 482.664 70.6225C482.664 82.4878 476.624 88.8023 469.317 88.8023ZM494.653 80.7664V43.4147H482.664V49.5845C478.387 44.8275 472.588 42.1357 466.249 42.1357C453.273 42.1357 442.756 53.444 442.756 70.6225C442.756 88.6646 453.273 99.1094 466.249 99.1094C472.588 99.1094 478.387 96.7408 482.664 92.1567V98.3028H482.674V101.619C482.674 108.573 477.015 114.231 470.061 114.231C463.106 114.231 457.449 108.573 457.449 101.619H445.334C445.334 115.253 456.426 126.346 470.061 126.346C483.696 126.346 494.789 115.253 494.789 101.619V80.7664H494.653Z" fill="#396AFF"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M369.624 23.204C365.287 23.204 361.77 26.7204 361.77 31.0581C361.77 35.3951 365.287 38.9115 369.624 38.9115C373.961 38.9115 377.478 35.3951 377.478 31.0581C377.478 26.7204 373.961 23.204 369.624 23.204Z" fill="#396AFF"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M416.65 41.4199H413.94C407.541 41.4199 397.943 46.031 397.943 54.8657V45.9567H385.954V100.845H397.943V66.4756C397.943 58.9147 404.073 52.7852 411.634 52.7852C418.414 52.7852 423.909 58.2809 423.909 65.0602V101.011H437.175V61.9452C437.175 50.6093 427.985 41.4199 416.65 41.4199Z" fill="#396AFF"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M333.774 41.4199H331.065C325.249 41.4199 317.795 44.2488 315.779 50.7758V21.6853H303.789V100.588H315.779V62.1443C317.593 56.7081 322.713 52.7852 328.758 52.7852C335.538 52.7852 341.034 58.2809 341.034 65.0602V101.011H354.3V61.9452C354.3 50.6093 345.11 41.4199 333.774 41.4199Z" fill="#396AFF"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M59.803 113.736C33.9292 100.103 16.2866 72.9507 16.2866 41.6727C16.2866 40.8821 16.3058 40.096 16.3282 39.3112L59.81 12.796L103.278 39.3112C103.3 40.096 103.32 40.8821 103.32 41.6727C103.32 72.9507 85.6767 100.103 59.803 113.736ZM114.301 33.2374L59.81 0L5.30538 33.2374C5.27721 34.222 5.25352 35.2072 5.25352 36.1981C5.25352 75.4063 27.3689 109.443 59.803 126.532C92.237 109.443 114.352 75.4063 114.352 36.1981C114.352 35.2072 114.329 34.222 114.301 33.2374Z" fill="#396AFF"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M69.5359 28.4935L59.8888 46.4088L71.0121 66.6908L59.8837 84.2284L48.7559 66.6908L59.8792 46.4088L50.435 28.3942L26.2366 44.3328V46.2174C26.2366 70.6309 39.9685 91.8123 60.1628 102.404C80.3577 91.7227 94.0897 70.5413 94.0897 46.2174C94.0897 45.59 94.0897 44.9614 94.0897 44.3328L69.5359 28.4935Z" fill="#396AFF"/> +<path d="M18.8014 164.798V176.325H44.4221V164.798H18.8014ZM39.7678 172.246H23.4557V168.833H39.7678V172.246ZM23.766 176.591L19.422 178.232C20.6632 179.34 21.7713 180.493 22.7022 181.734H12.2855V186.123H50.6721V181.734H41.009C41.8955 180.581 42.7377 179.34 43.5356 178.01L39.2359 176.458C38.3051 178.276 37.2412 180.049 36.0001 181.734H27.6224C26.4699 179.783 25.1844 178.054 23.766 176.591ZM16.8068 152.163L13.7039 155.089C15.7429 156.507 17.4717 157.882 18.9344 159.212C16.7181 160.764 14.1028 162.138 11 163.335L13.8369 166.97C18.0036 165.241 21.5054 163.158 24.3422 160.675V162.094H40.61V160.453C43.181 162.803 46.1952 164.931 49.6526 166.882L52.7111 163.335C50.3175 162.138 48.1899 160.808 46.2395 159.389C48.0125 158.015 49.6083 156.463 50.9381 154.778L47.7023 151.941C46.3725 153.67 44.821 155.266 42.9593 156.685C42.0728 155.887 41.2749 155.089 40.5657 154.202C42.3831 152.872 43.9788 151.365 45.3086 149.768L42.0728 146.887C40.9647 148.305 39.6349 149.635 38.0834 150.877C37.1083 149.414 36.2661 147.862 35.5568 146.222L31.7004 148.35C33.2519 151.808 35.3795 154.956 38.0391 157.882H27.0462C28.7749 155.842 30.149 153.537 31.1685 150.966V147.507H15.8759V151.764H25.938C24.9628 153.448 23.7217 155.044 22.1703 156.552C20.6632 155.133 18.8458 153.67 16.8068 152.163ZM61.1332 147.552V151.719H82.8531V154.823H62.6403V158.813H82.8531V161.872H56.7005V166.084H73.2786V170.961C68.4027 175.128 62.6846 178.675 56.0356 181.69L57.8973 185.99C63.7927 182.931 68.9346 179.517 73.2786 175.704V181.512C73.2786 182.665 72.924 183.286 72.2591 183.286C70.752 183.286 69.2006 183.153 67.6048 182.975L68.6243 187.32H73.8105C76.5144 187.32 77.8885 185.724 77.8885 182.621V175.527C81.7006 179.65 86.7095 183.153 92.9152 186.079L95.2645 182C90.9205 180.138 87.1084 178.054 83.8283 175.66C86.7538 174.064 89.3691 171.803 91.6741 168.966L88.1723 166.084H95.0429V161.872H87.5517V147.552H61.1332ZM62.2413 166.749L59.1828 169.675C62.0197 171.626 64.1917 173.399 65.7431 175.084L68.7573 172.069C66.9843 170.296 64.8123 168.522 62.2413 166.749ZM88.0836 166.084C86.0003 169.099 83.518 171.448 80.6811 173.133C79.6616 172.246 78.7307 171.36 77.8885 170.429V166.084H88.0836ZM125.096 146.576C125.052 155.089 124.431 161.961 123.234 167.281C121.727 173.576 118.447 178.897 113.394 183.241L116.541 187.099C122.481 182.089 126.249 175.793 127.8 168.212C127.889 167.857 127.933 167.458 128.022 167.059C130.415 174.818 133.695 181.468 137.906 186.966L141.275 183.108C135.602 176.68 131.612 168.079 129.396 157.305C129.662 154.025 129.795 150.433 129.795 146.576H125.096ZM105.903 146.532L102.623 149.724C105.77 152.03 108.208 154.202 109.892 156.241L113.084 153.005C111.089 150.877 108.695 148.704 105.903 146.532ZM99.7415 159.345V163.778H105.814V179.074C105.814 180.049 105.415 180.892 104.617 181.512L106.39 185.635C109.671 183.507 112.729 181.158 115.61 178.498L114.369 173.754C112.951 175.128 111.577 176.369 110.291 177.433V159.345H99.7415ZM171.107 152.384V181.291H166.32V158.813H161.798V181.291H157.765V185.813H185.291V181.291H175.806V167.635H183.74V163.335H175.806V152.384H184.361V147.862H159.095V152.384H171.107ZM150.362 146.576L147.126 149.635C150.185 151.941 152.534 154.158 154.219 156.241L157.366 153.005C155.415 150.877 153.11 148.749 150.362 146.576ZM144.024 159.345V163.778H150.052V179.074C150.052 180.049 149.653 180.847 148.855 181.468L150.628 185.68C153.642 183.596 156.524 181.246 159.227 178.675L158.031 173.798C156.79 175.039 155.593 176.148 154.44 177.212V159.345H144.024ZM195.265 175.97C194.157 175.97 193.27 176.281 192.605 176.946C191.896 177.567 191.541 178.409 191.541 179.473C191.541 180.448 191.852 181.291 192.517 181.956C193.182 182.621 193.979 182.975 194.955 182.975C195.442 182.975 195.797 182.887 196.063 182.798C196.063 183.862 195.708 184.882 194.91 185.946C194.068 186.921 193.049 187.631 191.852 188.074V191C194.157 190.335 196.018 189.138 197.393 187.409C198.722 185.635 199.432 183.596 199.432 181.246C199.432 179.695 199.033 178.409 198.279 177.433C197.481 176.458 196.462 175.97 195.265 175.97ZM237.242 162.094V166.571H246.063L243.004 181.069H233.297V185.591H273.102V181.069H266.276V162.094H251.648L253.598 152.872H271.418V148.394H234.937V152.872H248.944L246.994 162.094H237.242ZM247.659 181.069L250.717 166.571H261.577V181.069H247.659ZM293.847 148.571V153.138H315.655V148.571H293.847ZM292.783 159.567V164.133H306.037V181.557C306.037 182.443 305.416 182.887 304.219 182.887C302.357 182.887 300.407 182.754 298.368 182.576L299.388 187.099H305.815C309.095 187.099 310.735 185.635 310.735 182.709V164.133H317.561V159.567H292.783ZM286.134 146.488C284.095 150.522 280.992 154.025 276.825 156.995L278.244 161.65C283.962 157.704 287.996 153.315 290.345 148.483L286.134 146.488ZM288.217 156.685C285.824 161.384 282.145 165.507 277.18 168.966L278.599 173.532C280.283 172.335 281.923 171.094 283.43 169.852V187.276H287.996V165.286C289.769 163.158 291.232 160.941 292.384 158.635L288.217 156.685ZM360.07 156.197L346.329 158.103C346.063 154.645 345.93 150.655 345.93 146.133H341.232C341.32 150.833 341.498 155.044 341.764 158.724L332.322 160.054L333.031 164.443L342.163 163.158C342.473 166.128 342.872 168.655 343.404 170.695C344.689 175.749 346.64 179.828 349.255 182.931C351.648 185.768 353.953 187.232 356.17 187.232C357.633 187.187 358.829 186.478 359.716 185.059C360.735 183.286 361.533 180.626 362.154 176.99L358.12 174.64C357.632 179.828 356.879 182.443 355.904 182.532C354.53 182.443 353.067 181.246 351.515 178.941C349.831 176.547 348.501 173 347.526 168.389C347.171 166.704 346.906 164.754 346.684 162.537L360.824 160.586L360.07 156.197ZM326.382 164.222V187.365H331.081V157.35C332.765 154.424 334.184 151.32 335.248 148.039L330.904 146C328.776 152.828 325.452 158.724 320.975 163.734L322.482 168.567C323.856 167.148 325.141 165.685 326.382 164.222ZM350.585 146.31L347.659 149.148C350.496 151.586 352.624 153.847 354.131 155.931L357.278 152.828C355.416 150.655 353.2 148.483 350.585 146.31ZM381.391 161.384H373.324C374.299 158.635 375.053 155.754 375.629 152.695H382.101V148.261H366.586V152.695H371.285C370.221 158.635 368.226 163.956 365.257 168.7L367.562 172.468C368.182 171.537 368.803 170.606 369.423 169.631V185.813H373.679V182.931H377.136V184.97H381.391V161.384ZM373.679 178.719V165.552H377.136V178.719H373.679ZM386.001 154.424L383.608 169.453H401.516C401.516 175.749 401.161 179.517 400.496 180.847C399.876 182.133 397.925 182.798 394.645 182.798C393.892 182.798 392.517 182.665 390.567 182.399L391.897 186.877C393.227 187.01 394.468 187.099 395.709 187.099C399.876 187.099 402.624 186.212 403.954 184.527C405.239 182.798 405.904 176.325 405.904 165.153H401.471L403.776 147.64H383.696V151.985H398.767L396.817 165.153H388.705L390.523 154.69L386.001 154.424ZM382.766 173.754V178.099H399.344V173.754H382.766ZM416.631 147.64V163.734H429.087V181.069C428.555 180.892 428.067 180.759 427.624 180.581C425.23 179.606 423.058 177.3 421.108 173.665C421.773 171.537 422.349 169.232 422.837 166.837L418.315 166.039C416.941 173.488 414.282 179.473 410.381 183.906L413.306 187.631C415.789 184.97 417.828 181.778 419.512 178.01C421.285 181.158 423.324 183.286 425.629 184.394C428.51 185.768 433.874 186.478 441.764 186.522C443.98 186.567 446.507 186.611 449.299 186.611L450.629 182.044C448.147 182.222 445.088 182.31 441.454 182.31C438.528 182.31 435.957 182.177 433.741 181.911V174.241H448.058V169.719H433.741V163.734H445.443V147.64H416.631ZM440.744 159.389H421.285V152.074H440.744V159.389ZM464.769 166.793H472.66C472.527 168.478 472.261 170.074 471.817 171.581H455.948V175.837H469.778C469.468 176.325 469.113 176.813 468.714 177.256C466.321 179.828 461.667 182 454.84 183.685L457.323 187.631C464.149 185.946 469.113 183.507 472.128 180.315C473.103 179.207 473.989 177.966 474.743 176.547C477.491 181.113 483.475 184.793 492.739 187.631L495 183.64C487.287 181.601 482.012 178.985 479.131 175.837H493.626V171.581H476.605C476.959 170.118 477.181 168.522 477.269 166.793H490.035V162.537H467.207C467.562 161.739 467.961 160.852 468.315 159.921L465.966 158.946C472.349 158.68 478.998 158.325 485.913 157.926C486.8 159.034 487.598 160.143 488.395 161.296L492.252 158.591C490.035 155.576 486.888 152.074 482.81 147.995L479.22 150.256C480.461 151.542 481.613 152.828 482.766 154.158C479.22 154.379 473.989 154.645 466.986 155C469.557 153.138 472.083 150.611 474.654 147.463L469.823 146C466.011 150.921 462.331 153.98 458.741 155.177L459.539 159.212L463.883 159.034C462.376 162.67 460.159 165.685 457.234 167.99L460.824 171.138C462.243 169.897 463.573 168.478 464.769 166.793Z" fill="#396AFF"/> +</svg> diff --git a/themes/vue/source/images/autocode.svg b/themes/vue/source/images/autocode.svg new file mode 100644 index 0000000000..25c3bde4f1 --- /dev/null +++ b/themes/vue/source/images/autocode.svg @@ -0,0 +1,17 @@ +<svg id="b7e6d4be-0271-4266-8428-993f5d19aefc" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="260.8566" height="64" viewBox="0 0 260.8566 64"> + <g> + <g> + <path d="M99.4376,38.4262H88.99l-1.8715,5.779H80.0031L91.088,14.2617h6.2313l11.126,29.9435H101.33ZM97.69,33.0381,94.2139,22.3645l-3.455,10.6736Z" style="fill: #111"/> + <path d="M129.854,21.9532v22.252h-6.0257l-.1851-2.3445a7.1964,7.1964,0,0,1-2.5707,2.0463,7.9468,7.9468,0,0,1-3.4344.71,7.2778,7.2778,0,0,1-5.45-2.0155q-1.9743-2.0154-1.9743-6.2519V21.9532H116.63V36.39a3.0208,3.0208,0,0,0,.7914,2.2931,3.0544,3.0544,0,0,0,2.1906.7506,3.9915,3.9915,0,0,0,3.8046-1.892V21.9532Z" style="fill: #111"/> + <path d="M145.5867,39.2077v4.8329a11.5388,11.5388,0,0,1-3.743.5759,6.9279,6.9279,0,0,1-4.9464-1.6247q-1.7172-1.6242-1.7168-5.1208V26.6216h-3.0437V21.9532h3.0437V16.4417h6.4165v5.5115h3.7223v4.6684H141.597V37.09a2.4033,2.4033,0,0,0,.5141,1.7892,2.5632,2.5632,0,0,0,1.7481.473A9.3476,9.3476,0,0,0,145.5867,39.2077Z" style="fill: #111"/> + <path d="M148.2914,27.0329a9.4186,9.4186,0,0,1,3.6394-4.0308,12.0241,12.0241,0,0,1,11.4862,0,9.4179,9.4179,0,0,1,3.65,4.0205,13.2237,13.2237,0,0,1,1.2446,5.8509v.4319a13.2394,13.2394,0,0,1-1.2446,5.8406,9.3594,9.3594,0,0,1-3.6393,4.0206,12.0994,12.0994,0,0,1-11.4863,0,9.3464,9.3464,0,0,1-3.65-4.01,13.2122,13.2122,0,0,1-1.2446-5.8509v-.4319A13.2312,13.2312,0,0,1,148.2914,27.0329Zm6.17,10.7455A3.49,3.49,0,0,0,157.7,39.4339a3.446,3.446,0,0,0,3.1975-1.6658,8.6431,8.6431,0,0,0,.9979-4.4627v-.4319a8.723,8.723,0,0,0-.9979-4.4524,3.4679,3.4679,0,0,0-3.2387-1.6967,3.43,3.43,0,0,0-3.1975,1.6967,8.7159,8.7159,0,0,0-.9978,4.4524v.4319A8.6238,8.6238,0,0,0,154.4611,37.7784Z" style="fill: #111"/> + <path d="M190.4607,36.3491a7.6439,7.6439,0,0,1-1.2339,4.2879,8.3477,8.3477,0,0,1-3.3522,2.9306,11.5179,11.5179,0,0,1-10.4161-.4113,9.0445,9.0445,0,0,1-3.4961-4,13.8106,13.8106,0,0,1-1.1624-5.81v-.5141a13.8817,13.8817,0,0,1,1.1624-5.82,9.0637,9.0637,0,0,1,3.4855-4.01,10.4619,10.4619,0,0,1,5.676-1.46,10.699,10.699,0,0,1,4.8642,1.0591,7.8174,7.8174,0,0,1,3.2905,3.0643,9.1712,9.1712,0,0,1,1.1821,4.74H184.435a3.9813,3.9813,0,0,0-.9148-2.653,3.1877,3.1877,0,0,0-2.54-1.0283,2.99,2.99,0,0,0-2.9714,1.635,10.4053,10.4053,0,0,0-.7921,4.473v.5141a10.2969,10.2969,0,0,0,.7921,4.4936,3.0414,3.0414,0,0,0,3.0125,1.5938,3.55,3.55,0,0,0,2.4679-.8329,2.94,2.94,0,0,0,.946-2.2519Z" style="fill: #111"/> + <path d="M193.9881,27.0329a9.419,9.419,0,0,1,3.6393-4.0308,12.0243,12.0243,0,0,1,11.4863,0,9.4179,9.4179,0,0,1,3.65,4.0205,13.2251,13.2251,0,0,1,1.2446,5.8509v.4319a13.2408,13.2408,0,0,1-1.2446,5.8406,9.36,9.36,0,0,1-3.6394,4.0206,12.0992,12.0992,0,0,1-11.4862,0,9.3464,9.3464,0,0,1-3.65-4.01,13.2108,13.2108,0,0,1-1.2446-5.8509v-.4319A13.23,13.23,0,0,1,193.9881,27.0329Zm6.17,10.7455a3.49,3.49,0,0,0,3.2387,1.6555,3.4463,3.4463,0,0,0,3.1976-1.6658,8.6432,8.6432,0,0,0,.9978-4.4627v-.4319a8.723,8.723,0,0,0-.9978-4.4524,3.4681,3.4681,0,0,0-3.2387-1.6967,3.43,3.43,0,0,0-3.1976,1.6967,8.7159,8.7159,0,0,0-.9978,4.4524v.4319A8.6238,8.6238,0,0,0,200.1577,37.7784Z" style="fill: #111"/> + <path d="M236.8155,12.6165V44.2052h-5.779l-.3084-2.4062a6.7491,6.7491,0,0,1-5.5733,2.8175,7.6144,7.6144,0,0,1-4.6684-1.45,8.9953,8.9953,0,0,1-2.9721-4,15.6145,15.6145,0,0,1-1.0176-5.82v-.4318a16.1442,16.1442,0,0,1,1.0176-5.964,8.7781,8.7781,0,0,1,2.9721-3.99,7.7968,7.7968,0,0,1,4.7095-1.419,6.5522,6.5522,0,0,1,5.1825,2.3856V12.6165ZM228.97,38.889a3.754,3.754,0,0,0,1.4083-1.5733v-8.473a3.61,3.61,0,0,0-3.5578-2.1183,3.1629,3.1629,0,0,0-2.9721,1.6658,9.2639,9.2639,0,0,0-.9354,4.5245v.4318a9.2459,9.2459,0,0,0,.9049,4.4422,3.12,3.12,0,0,0,2.9615,1.6452A4.14,4.14,0,0,0,228.97,38.889Z" style="fill: #111"/> + <path d="M260.8566,35.1769h-13.964A5.2064,5.2064,0,0,0,248.6,38.2926a5.073,5.073,0,0,0,3.4139,1.1413,7.5041,7.5041,0,0,0,2.9614-.5758,5.87,5.87,0,0,0,2.324-1.7892l3.0231,3.599a9.0863,9.0863,0,0,1-3.4345,2.8072,11.59,11.59,0,0,1-5.2853,1.1414,11.9044,11.9044,0,0,1-5.9846-1.45,9.9854,9.9854,0,0,1-3.9074-3.9177,11.0794,11.0794,0,0,1-1.3574-5.4294v-.7814a13.4465,13.4465,0,0,1,1.2545-5.9126,9.6922,9.6922,0,0,1,3.63-4.0926,11.5562,11.5562,0,0,1,11.0536-.1645,8.5016,8.5016,0,0,1,3.4033,3.7841,13.4221,13.4221,0,0,1,1.1623,5.7892Zm-6.2931-4.7712a3.7522,3.7522,0,0,0-.9353-2.7044,3.66,3.66,0,0,0-2.7665-.9769q-3.27,0-3.9486,4.1954h7.65Z" style="fill: #111"/> + </g> + <path d="M63.52,26.1787v-.01c-.13-.4-.28-.78-.45-1.17a10.468,10.468,0,0,0-1.31-2.21,13.4861,13.4861,0,0,0-.88-1.04l-.45-.46c-.33-.32-.68-.61-1.05-.91L42.27,6.9988a14.8154,14.8154,0,0,0-3.46-2.02,15.31,15.31,0,0,0-1.61-.58,18.2287,18.2287,0,0,0-10.4,0c-.54.17-1.07.36-1.6.58a14.6149,14.6149,0,0,0-3.46,2.02L4.63,20.3788c-.36.3-.72.59-1.03.9-.1.1-.21.2-.31.31l-.18.19c-.14.14-.27.29-.38.42a10.8277,10.8277,0,0,0-1.32,1.86c-.01.02-.02.05-.03.07-.17.31-.33.62-.49.97a4.6815,4.6815,0,0,0-.18.45,4.3135,4.3135,0,0,0-.22.63c-.08.27-.16.55-.24.83,0,.02-.01.05-.01.07-.06.28-.12.57-.15.84a9.8942,9.8942,0,0,0-.09,1.38v5.73a11.3714,11.3714,0,0,0,4.51,8.55l1.92,1.78a3.8364,3.8364,0,0,0,2.49,1.03,3.7953,3.7953,0,0,0,1.18,1.56l11.58,9.06a16.6616,16.6616,0,0,0,10.27,3.35,16.6538,16.6538,0,0,0,10.26-3.35l2.51-1.96a3.8188,3.8188,0,0,0,1.47-3.02v-4.56a6.4661,6.4661,0,0,0-.2-1.22,3.3256,3.3256,0,0,0-.14-.36,3.96,3.96,0,0,0-1.14-1.45l-15.88-12.42,3.17-2.48,20.37,15.94a3.96,3.96,0,0,0,4.72,0l2.29-1.81a11.3618,11.3618,0,0,0,4.62-8.9v-5.47A10.1275,10.1275,0,0,0,63.52,26.1787Zm-21.23,20.85-2.24,1.76a13.181,13.181,0,0,1-8.1,2.59,13.19,13.19,0,0,1-8.11-2.59l-11.32-8.87,10.17-7.94a.274.274,0,0,1,.36,0Zm14.92-11.58-2.48,1.95-22.36-17.48a.5592.5592,0,0,0-.37-.13.5779.5779,0,0,0-.37.13L9.28,37.3987l-2.48-1.95a7.8384,7.8384,0,0,1-3.28-6.08,7.6373,7.6373,0,0,1,2.5-5.55.01.01,0,0,0,.01-.01c.11-.11.25-.23.36-.33.13-.11.26-.22.41-.34l17.1-13.37a11.8481,11.8481,0,0,1,3.77-1.95c.34-.11.69-.21,1.05-.29a14.4675,14.4675,0,0,1,9.6,1.1,11.8729,11.8729,0,0,1,1.79,1.14l17.1,13.38c.15.11.28.22.39.31.13.12.26.24.38.36a7.5623,7.5623,0,0,1,2.51,5.59A7.8988,7.8988,0,0,1,57.21,35.4488Z" style="fill: #111"/> + <path d="M42.29,47.0287l-2.24,1.76a13.181,13.181,0,0,1-8.1,2.59,13.19,13.19,0,0,1-8.11-2.59l-11.32-8.87,10.17-7.94a.274.274,0,0,1,.36,0Z" style="fill: #fff"/> + <path d="M60.49,29.4087a7.8988,7.8988,0,0,1-3.28,6.04l-2.48,1.95-22.36-17.48a.5592.5592,0,0,0-.37-.13.5779.5779,0,0,0-.37.13L9.28,37.3987l-2.48-1.95a7.8384,7.8384,0,0,1-3.28-6.08,7.6373,7.6373,0,0,1,2.5-5.55.01.01,0,0,0,.01-.01c.11-.11.25-.23.36-.33.13-.11.26-.22.41-.34l17.1-13.37a11.8481,11.8481,0,0,1,3.77-1.95c.34-.11.69-.21,1.05-.29a14.4675,14.4675,0,0,1,9.6,1.1,11.8729,11.8729,0,0,1,1.79,1.14l17.1,13.38c.15.11.28.22.39.31.13.12.26.24.38.36A7.5623,7.5623,0,0,1,60.49,29.4087Z" style="fill: #fff"/> + </g> +</svg> diff --git a/themes/vue/source/images/bacancy_technology.png b/themes/vue/source/images/bacancy_technology.png new file mode 100644 index 0000000000..d9224fc966 Binary files /dev/null and b/themes/vue/source/images/bacancy_technology.png differ diff --git a/themes/vue/source/images/banners/bg-desktop.svg b/themes/vue/source/images/banners/bg-desktop.svg new file mode 100644 index 0000000000..a05fbd8a7e --- /dev/null +++ b/themes/vue/source/images/banners/bg-desktop.svg @@ -0,0 +1,253 @@ +<svg width="1600" height="72" viewBox="0 0 1600 72" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <linearGradient x1="89.414%" y1="61.013%" x2="12.037%" y2="61.013%" id="d482newe7b"> + <stop stop-color="#282F64" offset="0%"/> + <stop stop-color="#191E3F" offset="100%"/> + </linearGradient> + <linearGradient x1="89.414%" y1="61.013%" x2="12.037%" y2="61.013%" id="d99hf5iw4d"> + <stop stop-color="#2E3570" offset="0%"/> + <stop stop-color="#191E3F" offset="100%"/> + </linearGradient> + <linearGradient x1="89.414%" y1="61.013%" x2="12.037%" y2="61.013%" id="ev27gpsgke"> + <stop stop-color="#2E3570" offset="0%"/> + <stop stop-color="#191E3F" stop-opacity="0" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="saa7qmgvhg"> + <stop stop-color="#403F9F" stop-opacity="0" offset="0%"/> + <stop stop-opacity=".2" offset="100%"/> + </linearGradient> + <linearGradient x1="0%" y1="32.091%" x2="100%" y2="67.909%" id="ce5gxpf76i"> + <stop stop-opacity=".3" offset="0%"/> + <stop stop-color="#1F1845" stop-opacity="0" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="le5mg3xf6k"> + <stop stop-color="#FFC62C" stop-opacity="0" offset="0%"/> + <stop stop-color="#FF6663" stop-opacity=".3" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="06rcssgl7m"> + <stop stop-color="#A7A7EE" stop-opacity="0" offset="0%"/> + <stop stop-color="#4C55A0" stop-opacity=".2" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="7q9jn06kho"> + <stop stop-color="#A7A7EE" stop-opacity="0" offset="0%"/> + <stop stop-color="#4C55A0" stop-opacity=".2" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="ezcb32jf6q"> + <stop stop-color="#403F9F" stop-opacity="0" offset="0%"/> + <stop stop-opacity=".2" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="txlzgcqvys"> + <stop stop-color="#FFC62C" stop-opacity="0" offset="0%"/> + <stop stop-color="#FF6663" stop-opacity=".3" offset="100%"/> + </linearGradient> + <linearGradient x1="98.428%" y1="50%" x2="1.572%" y2="100%" id="ufuctnxgnt"> + <stop stop-opacity=".2" offset="0%"/> + <stop stop-color="#FFC42C" stop-opacity="0" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="lrpq226fxv"> + <stop stop-color="#403F9F" stop-opacity="0" offset="0%"/> + <stop stop-opacity=".2" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="2hrf3zwz1x"> + <stop stop-color="#FFC62C" stop-opacity="0" offset="0%"/> + <stop stop-color="#FF6663" stop-opacity=".3" offset="100%"/> + </linearGradient> + <linearGradient x1="100%" y1="38.311%" x2="0%" y2="61.689%" id="zw29mcq42y"> + <stop stop-opacity=".15" offset="0%"/> + <stop stop-color="#FFC42C" stop-opacity="0" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="ug2qg3glsA"> + <stop stop-color="#FFC62C" stop-opacity="0" offset="0%"/> + <stop stop-color="#FF6663" stop-opacity=".3" offset="100%"/> + </linearGradient> + <linearGradient x1="76.207%" y1="4.524%" x2="5.77%" y2="136.106%" id="qs3xaqlfhB"> + <stop stop-color="#F3ECD7" offset="0%"/> + <stop stop-color="#FFD24B" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="pclbq5xneC"> + <stop stop-color="#52C761" offset="0%"/> + <stop stop-color="#51A256" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="2gwsduzgaD"> + <stop stop-color="#FFE56C" offset="0%"/> + <stop stop-color="#FFC73A" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="5r2vls0e8E"> + <stop stop-color="#89E99B" offset="0%"/> + <stop stop-color="#53CE63" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="pfjfs4qvjF"> + <stop stop-color="#51C861" offset="0%"/> + <stop stop-color="#51A256" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="gq2p1x81pG"> + <stop stop-color="#D2A732" offset="0%"/> + <stop stop-color="#A17C1D" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="cyjvslt1sI"> + <stop stop-color="#348B70" offset="0%"/> + <stop stop-color="#288384" offset="100%"/> + </linearGradient> + <linearGradient x1="84.661%" y1="26.487%" x2="50%" y2="58.486%" id="6x10eg2iiH"> + <stop stop-color="#52D5B3" offset="0%"/> + <stop stop-color="#2F8977" offset="100%"/> + </linearGradient> + <linearGradient x1="34.164%" y1="4.57%" x2="101.204%" y2="265.256%" id="c1596p1blJ"> + <stop stop-color="#DEFFF0" offset="0%"/> + <stop stop-color="#3EAF7D" offset="100%"/> + </linearGradient> + <linearGradient x1="24.492%" y1="9.15%" x2="58.635%" y2="100%" id="nryep7r8dK"> + <stop stop-color="#263E7B" offset="0%"/> + <stop stop-color="#253867" offset="100%"/> + </linearGradient> + <linearGradient x1="101.462%" y1="124.814%" x2="19.296%" y2="50%" id="2s4xkdxeqN"> + <stop stop-color="#243B74" offset="0%"/> + <stop stop-color="#2357BD" offset="100%"/> + </linearGradient> + <linearGradient x1="69.68%" y1="5.498%" x2="24.256%" y2="96.98%" id="9qa78t1wxO"> + <stop stop-color="#0075C4" offset="0%"/> + <stop stop-color="#005F9F" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="7812l4nxyQ"> + <stop stop-color="#348B70" offset="0%"/> + <stop stop-color="#288384" offset="100%"/> + </linearGradient> + <linearGradient x1="84.661%" y1="26.487%" x2="50%" y2="58.486%" id="1zyyvdzupP"> + <stop stop-color="#52D5B3" offset="0%"/> + <stop stop-color="#2F8977" offset="100%"/> + </linearGradient> + <linearGradient x1="34.164%" y1="4.57%" x2="82.543%" y2="143.256%" id="68oz963z5R"> + <stop stop-color="#E2FFF2" offset="0%"/> + <stop stop-color="#3EAF7D" offset="100%"/> + </linearGradient> + <path id="qtgw17kl6a" d="M0 0h1600v72H0z"/> + <path d="M10.623 44.566c-7.19-5.77-13.431-18.727-9.295-31.037 4.085-12.22 18.46-17.497 29.61-10.213 10.98 7.358 11.03 14.663 26.292 17.906 15.16 3.305 20.9 23.4 6.905 31.037-14.108 7.764-46.326-1.938-53.512-7.693z" id="sxlwjl92ff"/> + <path d="M62.944 52.854c-11.35 5.147-32.317.706-44.44-4.16-3.082-2.792-6.093-6.098-8.944-9.964-5.085-6.8-5.75-13.432-1.991-19.896h22.706c4.497 3.822 8.17 6.563 11.021 8.224 4.36 2.422 17.316 4.66 22.042 9.948 3.955 4.485 2.801 10.893-.394 15.848z" id="hdrilhddah"/> + <path d="M8.233 47.219c-3.551-.35-5.543-1.279-5.976-2.786-.619-2.295-2.853-4.867-2.124-5.836.824-.885 1.978 2.062 2.655 2.388.896.359.518-9.696 3.851-7.163 3.334 2.616 2.558 4.848 2.125 7.826a84.416 84.416 0 0 0-.531 5.57z" id="ow1x3npuoj"/> + <path d="M37.445 37.138c-6.631 0-28.923 4.929-30.142 5.173-1.274.294-1.866 3.545 0 4.642 1.81 1.18 24.636.684 26.026.663 1.484.021 10.805-10.478 4.116-10.478z" id="22c0oozldl"/> + <path d="M37.445 37.138h37.578c3.657 0 2.67 5.637 0 5.704-1.761-.012-23.104 3.171-23.104 4.244 0 .715.885 6.109 2.655 16.182l-17.129 2.785c-4.68-6.876-8.365-12.476-8.365-17.375 0-4.9 1.936-11.54 8.365-11.54z" id="9j5y2nnz4n"/> + <path d="M38.64 67.512c-1.887 4.96-2.348 13.133 0 16.314 2.33 3.2 15.092 18.299 16.997 19.233 1.903.996 4.78-1.203 4.78-3.316 0-2.157-6.58-14.599-11.685-19.63-5.108-4.866-8.223-17.409-10.092-12.601z" id="sx3yrisb7p"/> + <path d="M20.98 71.756c.997 5.395 9.097 8.755 24.3 10.08 1.033-.123 1.785-.742 2.257-1.856.83-1.731.843-3.01.797-3.05 8.338.04 11.748-10.553 6.108-16.978-5.568-6.348-34.772 3.668-33.462 11.804z" id="5hs00ybdgu"/> + <path d="M50.06 18.834c2.971.053 4.21 1.335 3.718 3.847-.47 2.827-1.5 5.463-3.851 5.173-2.551 4.684-5.653 7.56-11.685 7.56-5.968 0-8.848-5.675-9.295-8.754-1.164-3.123-.053-14.26.398-15.386.858-2.676 6.328 2.174 12.35 3.98 3.912 1.308 6.7 2.502 8.365 3.58z" id="26itinqodw"/> + <path d="M75.023 42.842c-3.184 0-3.69-9.75-2.39-9.816 1.327.066.466 3.934 1.726 3.98 1.274-.046.57-9.201 3.984-8.622 3.353.638 3.752 7.398 2.125 10.478-1.605 3.052-2.378 3.98-5.445 3.98z" id="b4i1jt3viz"/> + <path d="m37.643 36.727-15.43-1.15c-.113 0-.224-.02-.338-.036l-.108-.018-.227-.036-.131-.028-.204-.044-.14-.036-.195-.057-.142-.044-.193-.064-.142-.052-.194-.074-.136-.06-.196-.087c-.044-.021-.088-.039-.132-.062l-.211-.106-.113-.06a3.074 3.074 0 0 1-.258-.149l-.054-.018a5.775 5.775 0 0 1-.315-.196l-.095-.062-.217-.15-.118-.084c-.062-.047-.127-.09-.189-.14l-.126-.097-.175-.142-.127-.106-.17-.147-.124-.11-.146-.14-.18-.173-.132-.131a5.875 5.875 0 0 1-.176-.183l-.129-.137-.17-.196a3.056 3.056 0 0 1-.121-.136l-.175-.214-.106-.132-.19-.258-.083-.108a13.312 13.312 0 0 1-.258-.369l-.041-.062a22.07 22.07 0 0 1-.207-.317c-.028-.046-.054-.092-.082-.136a8.46 8.46 0 0 1-.152-.258c-.05-.088-.06-.106-.088-.16-.028-.054-.09-.16-.134-.24-.044-.08-.057-.116-.088-.172a6.746 6.746 0 0 1-.118-.238l-.085-.18-.124-.24a5.628 5.628 0 0 0-.08-.183 2.651 2.651 0 0 1-.098-.258c-.03-.095-.049-.123-.072-.185l-.093-.258-.062-.183c-.03-.088-.056-.178-.085-.258l-.054-.173c-.028-.1-.054-.198-.08-.299l-.041-.147c-.036-.152-.072-.301-.103-.453L9.817 7.842a10.377 10.377 0 0 1-.116-.665c0-.072-.015-.142-.023-.214a13.036 13.036 0 0 1-.046-.433c0-.083 0-.163-.013-.245 0-.129-.013-.258-.013-.387v-.611c0-.108 0-.16.018-.237 0-.124.026-.242.041-.36 0-.073.018-.145.031-.217.02-.13.05-.258.078-.382 0-.057.02-.11.033-.165.044-.178.093-.353.15-.516 0-.023.018-.04.025-.064.05-.144.104-.286.163-.425a3.25 3.25 0 0 1 .162-.34 4.046 4.046 0 0 1 .242-.425l.073-.11c.054-.082.11-.162.17-.242l.098-.121c.057-.07.113-.137.173-.201.059-.065.072-.08.108-.116a7.24 7.24 0 0 1 .188-.183l.114-.103.216-.173.106-.08c.11-.081.225-.157.343-.227l-9.59 5.53a3.702 3.702 0 0 0-.344.222l-.105.08c-.073.054-.147.11-.217.173l-.116.103-.186.18c-.036.039-.074.078-.11.119a8.899 8.899 0 0 0-.17.2c-.057.07-.068.08-.099.122-.03.041-.116.16-.17.242-.023.037-.049.07-.072.109a4.368 4.368 0 0 0-.242.425c-.052.1-.103.201-.147.304l-.016.036c-.059.137-.113.281-.165.426 0 .02-.015.041-.023.064-.057.168-.106.34-.15.516l-.036.167A7.104 7.104 0 0 0 .106 10c-.013.072-.02.144-.031.217-.016.118-.031.237-.041.358 0 .08-.013.16-.019.237 0 .121-.012.242-.015.366v.258c0 .126 0 .258.013.387 0 .08 0 .162.013.258 0 .141.028.288.046.433 0 .072 0 .141.023.214.031.218.07.44.116.665L4.1 32.298c.031.152.067.302.103.451l.039.147.082.302.055.173c.025.09.054.18.085.257l.062.183.092.258c.024.062.047.124.073.186l.098.245c.033.082.051.121.08.183l.108.24.085.177c.039.08.077.16.118.24l.088.17.132.243.09.16c.049.085.1.17.152.257l.082.134c.067.109.137.217.21.323l.038.059c.082.124.17.258.258.369l.08.105c.064.085.126.17.19.258l.109.132c.056.072.116.141.175.214l.119.136c.056.067.116.132.172.196l.13.137.172.183.134.131.18.173c.024.026.05.05.075.072l.072.067.124.111.17.147.127.106.175.142.126.098.189.139.118.085c.072.052.144.1.217.147l.095.064c.103.067.209.134.315.196l.051.031.258.15.116.06c.067.035.137.071.209.105l.131.062.196.087.137.057c.064.028.129.052.193.077l.142.052.193.064.142.044.194.054.139.036c.07.018.136.034.206.047l.131.028.225.036.11.018c.114 0 .225.026.338.034l15.43 1.145a4.71 4.71 0 0 0 2.746-.586l9.59-5.53a4.71 4.71 0 0 1-2.727.562z" id="knh48u1foL"/> + <filter x="-33.4%" y="-32.4%" width="166.9%" height="164.7%" filterUnits="objectBoundingBox" id="gn1twrq42M"> + <feGaussianBlur stdDeviation="6.5" in="SourceAlpha" result="shadowBlurInner1"/> + <feOffset dx="14" dy="-10" in="shadowBlurInner1" result="shadowOffsetInner1"/> + <feComposite in="shadowOffsetInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"/> + <feColorMatrix values="0 0 0 0 0.117647059 0 0 0 0 0.321568627 0 0 0 0 0.725490196 0 0 0 0.430732354 0" in="shadowInnerInner1"/> + </filter> + <rect id="uhfyv47b4r" x="0" y="0" width="7.702" height="11.539" rx="3.851"/> + </defs> + <g fill="none" fill-rule="evenodd"> + <mask id="yvguywbp7c" fill="#fff"> + <use xlink:href="#qtgw17kl6a"/> + </mask> + <path d="M1658-22.28c-17.701 126.926-90.423 176.371-218.164 148.335C1248.224 84.002 1323.675 231 1036 231V-85h622v62.72z" fill="url(#d482newe7b)" mask="url(#yvguywbp7c)" transform="rotate(180 1347 73)"/> + <path d="M1658-17.28c-17.701 126.926-90.423 176.371-218.164 148.335C1248.224 89.002 1323.675 236 1036 236V-80h622v62.72z" fill="url(#d99hf5iw4d)" mask="url(#yvguywbp7c)" transform="rotate(180 1347 78)"/> + <path d="M622-2.28c-17.701 126.926-90.423 176.371-218.164 148.335C212.224 104.002 287.675 251 0 251V-65h622v62.72z" fill="url(#ev27gpsgke)" mask="url(#yvguywbp7c)" transform="rotate(180 311 93)"/> + <g mask="url(#yvguywbp7c)"> + <path d="M1269.784 93.19c.217-.04.436-.077.474-.357-.09-.174-.177-.35-.271-.523-1-1.82-1.537-3.76-1.5-5.85.007-.358.03-.551.441-.285.225.146.513.162.794.167 1.155.02 2.24-.293 3.301-.698 2.429-.928 4.672-2.18 6.636-3.91.701-.603 1.337-1.265 1.66-2.154.263-.72.04-1.095-.691-1.322-.527-.164-1.038-.02-1.555.037-.212.03-.43.032-.634.091-3.727 1.076-7.07 2.792-9.605 5.848-.059.07-.1.192-.223.12-.098-.058-.083-.159-.064-.261.13-.691.232-1.388.383-2.074.747-3.382 2.19-6.542 3.111-9.87.05-.178.12-.346.365-.21.583.322 1.22.206 1.84.217 1.957-.386 3.777-1.14 5.504-2.118 1.742-.986 3.421-2.068 4.673-3.682.407-.525.895-1.105.524-1.809-.35-.66-1.07-.565-1.687-.526-1.202.076-2.337.447-3.438.913-2.432 1.029-4.695 2.332-6.599 4.2-.19.187-.36.395-.618.68.196-1.26.124-2.41.118-3.558-.014-2.457-.64-4.803-1.326-7.136-.056-.189-.123-.373-.187-.559-.097-.284-.054-.426.291-.512 1.012-.253 1.658-1.048 2.266-1.8 1.947-2.408 3.333-5.116 4.051-8.15a7.033 7.033 0 0 0 .192-1.985c-.058-1.137-.836-1.57-1.808-.956-.887.56-1.58 1.342-2.193 2.19-1.798 2.513-3.141 5.234-3.735 8.444-.2-.549-.35-.95-.493-1.354-.727-2.05-1.47-4.095-1.898-6.237-.036-.18-.092-.326.065-.483.77-.772 1.01-1.783 1.27-2.796.225-.872.248-1.772.437-2.646.037-2.1.063-4.201-.462-6.26-.185-.725-.422-1.433-.803-2.082-.583-.992-1.472-.997-2.03.013-.626 1.13-.93 2.353-1.062 3.643-.107 1.034-.246 2.06-.22 3.104.016.567.21 1.122.107 1.696.037 1.609.347 3.154 1.071 4.6.096.19.195.424.36.526.604.374.695.983.842 1.595.463 1.93 1.131 3.795 1.79 5.664.062.175.179.348.09.653-.64-.604-1.25-1.17-1.925-1.651-2.186-1.553-4.497-2.84-7.149-3.408-.429-.092-.86-.085-1.284-.045-.79.076-1.095.61-.854 1.387.186.6.566 1.07.984 1.513 2.408 2.553 5.325 4.273 8.646 5.329.13.041.256.095.383.143.752.038 1.505.28 2.252-.055.215-.096.261.127.306.261a36.205 36.205 0 0 1 1.307 5.417c.251 1.516.122 3.053.129 4.582 0 .212.015.428-.215.604-.076-.12-.148-.228-.217-.34a15.521 15.521 0 0 0-2.487-3.035c-1.03-.988-2.154-1.868-3.312-2.702-1.132-.616-2.219-1.333-3.51-1.594a2.866 2.866 0 0 0-.52-.064c-.923-.013-1.311.508-1.08 1.41.277 1.08.924 1.955 1.613 2.775 1.91 2.275 4.16 4.136 6.859 5.407.583.274 1.178.535 1.837.561.323.013.33.155.256.422-.391 1.42-.917 2.795-1.39 4.188-.73 2.152-1.498 4.292-1.863 6.536-.251.072-.282-.126-.366-.241-2.017-2.787-4.585-4.909-7.676-6.389-.58-.278-1.196-.488-1.854-.495-.892-.008-1.287.506-1.071 1.374.274 1.101.935 1.993 1.638 2.828 1.911 2.273 4.163 4.133 6.864 5.4.6.281 1.213.562 1.897.552.398-.006.376.252.367.514-.082 2.335.679 4.436 1.767 6.446.027.05.076.088.114.132M1231.784 93.19c.217-.04.436-.077.474-.357-.09-.174-.177-.35-.271-.523-1-1.82-1.537-3.76-1.5-5.85.007-.358.03-.551.441-.285.225.146.513.162.794.167 1.155.02 2.24-.293 3.301-.698 2.429-.928 4.672-2.18 6.636-3.91.701-.603 1.337-1.265 1.66-2.154.263-.72.04-1.095-.691-1.322-.527-.164-1.038-.02-1.555.037-.212.03-.43.032-.634.091-3.727 1.076-7.07 2.792-9.605 5.848-.059.07-.1.192-.223.12-.098-.058-.083-.159-.064-.261.13-.691.232-1.388.383-2.074.747-3.382 2.19-6.542 3.111-9.87.05-.178.12-.346.365-.21.583.322 1.22.206 1.84.217 1.957-.386 3.777-1.14 5.504-2.118 1.742-.986 3.421-2.068 4.673-3.682.407-.525.895-1.105.524-1.809-.35-.66-1.07-.565-1.687-.526-1.202.076-2.337.447-3.438.913-2.432 1.029-4.695 2.332-6.599 4.2-.19.187-.36.395-.618.68.196-1.26.124-2.41.118-3.558-.014-2.457-.64-4.803-1.326-7.136-.056-.189-.123-.373-.187-.559-.097-.284-.054-.426.291-.512 1.012-.253 1.658-1.048 2.266-1.8 1.947-2.408 3.333-5.116 4.051-8.15a7.033 7.033 0 0 0 .192-1.985c-.058-1.137-.836-1.57-1.808-.956-.887.56-1.58 1.342-2.193 2.19-1.798 2.513-3.141 5.234-3.735 8.444-.2-.549-.35-.95-.493-1.354-.727-2.05-1.47-4.095-1.898-6.237-.036-.18-.092-.326.065-.483.77-.772 1.01-1.783 1.27-2.796.225-.872.248-1.772.437-2.646.037-2.1.063-4.201-.462-6.26-.185-.725-.422-1.433-.803-2.082-.583-.992-1.472-.997-2.03.013-.626 1.13-.93 2.353-1.062 3.643-.107 1.034-.246 2.06-.22 3.104.016.567.21 1.122.107 1.696.037 1.609.347 3.154 1.071 4.6.096.19.195.424.36.526.604.374.695.983.842 1.595.463 1.93 1.131 3.795 1.79 5.664.062.175.179.348.09.653-.64-.604-1.25-1.17-1.925-1.651-2.186-1.553-4.497-2.84-7.149-3.408-.429-.092-.86-.085-1.284-.045-.79.076-1.095.61-.854 1.387.186.6.566 1.07.984 1.513 2.408 2.553 5.325 4.273 8.646 5.329.13.041.256.095.383.143.752.038 1.505.28 2.252-.055.215-.096.261.127.306.261a36.205 36.205 0 0 1 1.307 5.417c.251 1.516.122 3.053.129 4.582 0 .212.015.428-.215.604-.076-.12-.148-.228-.217-.34a15.521 15.521 0 0 0-2.487-3.035c-1.03-.988-2.154-1.868-3.312-2.702-1.132-.616-2.219-1.333-3.51-1.594a2.866 2.866 0 0 0-.52-.064c-.923-.013-1.311.508-1.08 1.41.277 1.08.924 1.955 1.613 2.775 1.91 2.275 4.16 4.136 6.859 5.407.583.274 1.178.535 1.837.561.323.013.33.155.256.422-.391 1.42-.917 2.795-1.39 4.188-.73 2.152-1.498 4.292-1.863 6.536-.251.072-.282-.126-.366-.241-2.017-2.787-4.585-4.909-7.676-6.389-.58-.278-1.196-.488-1.854-.495-.892-.008-1.287.506-1.071 1.374.274 1.101.935 1.993 1.638 2.828 1.911 2.273 4.163 4.133 6.864 5.4.6.281 1.213.562 1.897.552.398-.006.376.252.367.514-.082 2.335.679 4.436 1.767 6.446.027.05.076.088.114.132" fill="#454E90"/> + <path d="M1256.02 102.19c-.325-.058-.652-.113-.71-.523.136-.256.266-.515.407-.767 1.501-2.67 2.305-5.515 2.249-8.582-.01-.524-.045-.807-.661-.416-.338.214-.769.238-1.19.245-1.733.028-3.362-.43-4.953-1.024-3.643-1.361-7.008-3.199-9.954-5.734-1.051-.886-2.005-1.856-2.49-3.16-.394-1.055-.059-1.606 1.037-1.939.791-.24 1.557-.029 2.333.055.317.042.646.047.95.133 5.591 1.578 10.606 4.095 14.408 8.577.088.103.151.281.335.175.147-.084.124-.232.096-.383-.195-1.013-.348-2.035-.575-3.041-1.12-4.96-3.285-9.595-4.666-14.475-.074-.261-.18-.509-.547-.31-.875.473-1.83.304-2.76.32-2.936-.566-5.666-1.673-8.257-3.107-2.613-1.447-5.132-3.033-7.01-5.401-.61-.77-1.342-1.62-.785-2.652.524-.968 1.605-.829 2.53-.772 1.803.111 3.505.656 5.157 1.34 3.648 1.508 7.043 3.419 9.898 6.16.285.274.54.578.928.997-.294-1.847-.186-3.534-.177-5.218.021-3.605.96-7.046 1.99-10.468.082-.276.184-.547.28-.82.145-.415.08-.623-.438-.75-1.517-.371-2.487-1.536-3.398-2.639-2.92-3.532-5-7.504-6.077-11.954a10.095 10.095 0 0 1-.288-2.911c.087-1.669 1.255-2.303 2.713-1.402 1.33.822 2.368 1.967 3.288 3.212 2.697 3.685 4.712 7.676 5.604 12.384.3-.805.523-1.394.738-1.986 1.09-3.007 2.207-6.006 2.848-9.148.054-.263.137-.478-.098-.708-1.154-1.132-1.515-2.615-1.906-4.1-.336-1.28-.371-2.6-.654-3.882-.056-3.081-.094-6.162.693-9.18.277-1.064.633-2.102 1.204-3.054.875-1.456 2.208-1.463 3.046.019.938 1.657 1.393 3.45 1.592 5.343.16 1.517.37 3.021.329 4.552-.023.832-.313 1.646-.16 2.487-.055 2.36-.52 4.626-1.607 6.747-.143.28-.29.622-.539.772-.906.549-1.043 1.44-1.263 2.339-.695 2.83-1.697 5.566-2.684 8.306-.093.258-.269.511-.135.959.96-.887 1.873-1.718 2.887-2.422 3.28-2.277 6.745-4.164 10.723-4.998.643-.135 1.291-.125 1.926-.066 1.186.11 1.643.894 1.281 2.034-.28.88-.85 1.57-1.476 2.22-3.612 3.743-7.987 6.266-12.97 7.815-.194.06-.382.14-.574.21-1.127.056-2.257.412-3.377-.08-.323-.142-.392.185-.459.383-.875 2.595-1.504 5.252-1.96 7.944-.378 2.223-.183 4.478-.194 6.72-.001.312-.022.628.322.886.114-.175.223-.335.326-.498 1.041-1.648 2.31-3.12 3.73-4.452 1.544-1.449 3.231-2.74 4.968-3.963 1.698-.903 3.329-1.955 5.266-2.337.256-.05.52-.09.78-.094 1.384-.02 1.966.745 1.62 2.066-.416 1.585-1.387 2.869-2.42 4.072-2.864 3.336-6.24 6.066-10.289 7.93-.874.402-1.767.785-2.755.823-.484.018-.495.226-.385.619.587 2.083 1.376 4.1 2.085 6.143 1.096 3.155 2.248 6.294 2.795 9.585.377.105.423-.184.549-.354 3.026-4.086 6.877-7.199 11.514-9.37.871-.408 1.795-.716 2.782-.726 1.338-.012 1.93.743 1.606 2.015-.412 1.616-1.402 2.923-2.457 4.148-2.867 3.334-6.245 6.062-10.296 7.92-.9.412-1.82.824-2.846.81-.596-.01-.564.37-.55.754.123 3.423-1.019 6.505-2.651 9.453-.04.073-.113.13-.171.194" fill="#6B73AB"/> + <path d="M1291.752 80.19c-.364-.065-.731-.126-.795-.583.151-.285.297-.573.456-.854 1.679-2.974 2.579-6.141 2.516-9.557-.011-.583-.05-.899-.74-.463-.378.238-.86.265-1.332.272-1.938.031-3.762-.478-5.542-1.14-4.076-1.516-7.843-3.562-11.139-6.385-1.176-.986-2.243-2.067-2.787-3.52-.44-1.174-.065-1.787 1.161-2.159.885-.267 1.742-.032 2.61.061.355.048.723.052 1.064.148 6.257 1.758 11.869 4.56 16.123 9.552.098.116.169.313.375.196.164-.095.139-.26.107-.427-.218-1.128-.39-2.267-.644-3.387-1.253-5.523-3.676-10.686-5.221-16.12-.083-.29-.2-.566-.612-.345-.979.527-2.047.338-3.09.356-3.284-.63-6.34-1.862-9.239-3.46-2.923-1.61-5.742-3.377-7.843-6.014-.683-.858-1.503-1.805-.88-2.954.587-1.078 1.797-.923 2.832-.86 2.017.124 3.922.731 5.77 1.492 4.083 1.68 7.882 3.808 11.077 6.861.32.305.604.643 1.038 1.11-.329-2.057-.208-3.936-.197-5.811.023-4.014 1.073-7.846 2.225-11.657.093-.307.207-.61.314-.913.163-.463.09-.695-.49-.836-1.698-.413-2.782-1.71-3.802-2.939-3.268-3.933-5.595-8.356-6.8-13.312a11.19 11.19 0 0 1-.322-3.242c.097-1.858 1.403-2.565 3.035-1.561 1.488.915 2.65 2.19 3.68 3.577 3.018 4.104 5.273 8.548 6.27 13.791.336-.897.586-1.552.827-2.212 1.22-3.348 2.47-6.688 3.187-10.188.06-.292.153-.531-.11-.788-1.291-1.26-1.696-2.912-2.133-4.566-.376-1.425-.415-2.894-.732-4.322-.063-3.432-.105-6.862.775-10.224.31-1.185.709-2.34 1.349-3.401.978-1.621 2.47-1.63 3.408.021 1.05 1.845 1.559 3.843 1.782 5.95.178 1.69.413 3.365.367 5.07-.025.926-.35 1.833-.178 2.77-.063 2.627-.582 5.151-1.798 7.513-.16.311-.326.692-.604.86-1.014.61-1.167 1.604-1.413 2.604-.778 3.152-1.9 6.2-3.004 9.25-.104.288-.3.57-.151 1.068 1.074-.987 2.096-1.912 3.231-2.697 3.67-2.535 7.548-4.637 11.999-5.566.72-.15 1.445-.14 2.156-.073 1.327.123 1.838.995 1.433 2.265-.313.98-.95 1.748-1.652 2.472-4.041 4.169-8.938 6.978-14.513 8.703-.218.068-.428.156-.643.234-1.261.063-2.525.459-3.78-.09-.36-.157-.438.207-.513.427-.978 2.89-1.683 5.85-2.194 8.847-.422 2.476-.204 4.987-.216 7.485-.002.346-.025.698.36.986.128-.195.25-.374.365-.556 1.165-1.834 2.585-3.475 4.174-4.957 1.728-1.613 3.616-3.05 5.56-4.413 1.9-1.006 3.724-2.178 5.892-2.603.287-.056.582-.1.873-.105 1.549-.021 2.2.83 1.813 2.302-.466 1.764-1.553 3.194-2.708 4.534-3.205 3.716-6.983 6.755-11.514 8.831-.978.448-1.977.874-3.083.916-.542.02-.554.253-.43.69.657 2.32 1.54 4.565 2.333 6.84 1.225 3.514 2.515 7.01 3.128 10.675.421.117.473-.205.613-.394 3.387-4.55 7.697-8.017 12.885-10.435.975-.454 2.009-.797 3.113-.808 1.497-.014 2.16.827 1.798 2.244-.461 1.799-1.57 3.254-2.75 4.62-3.208 3.712-6.988 6.75-11.522 8.818-1.007.46-2.036.92-3.184.902-.668-.01-.632.412-.616.84.138 3.813-1.14 7.245-2.967 10.528-.045.082-.126.144-.191.216" fill="#6B73AB"/> + <g transform="translate(1137.05 3)"> + <use fill="#464D89" xlink:href="#sxlwjl92ff"/> + <use fill="url(#saa7qmgvhg)" xlink:href="#sxlwjl92ff"/> + <use fill="url(#ce5gxpf76i)" xlink:href="#hdrilhddah"/> + </g> + <g transform="translate(1117 3)"> + <use fill="#FFC62C" xlink:href="#ow1x3npuoj"/> + <use fill="url(#le5mg3xf6k)" xlink:href="#ow1x3npuoj"/> + </g> + <g transform="translate(1117 3)"> + <use fill="#EFEFFF" xlink:href="#22c0oozldl"/> + <use fill="url(#06rcssgl7m)" xlink:href="#22c0oozldl"/> + </g> + <g transform="translate(1117 3)"> + <use fill="#EFEFFF" xlink:href="#9j5y2nnz4n"/> + <use fill="url(#7q9jn06kho)" xlink:href="#9j5y2nnz4n"/> + </g> + <g fill-rule="nonzero"> + <path d="M1155.772 52.254c-.46-2.276-.024-3.77-.024-3.77s-.116.91.8 2.375c-.01 1.817.347 2.765.347 2.765l.073-.054-.073.064s-.544-.444-1.123-1.38zM1157.94 51.932c.22.222.426.375.574.448l-.002-.001s.166.06.196.02c.203-.215.252-.616.117-1.37-.774-.441-.872-1.13-.872-1.13s-.14.956-.013 2.033z" fill="#364FDE"/> + <path d="M1155.748 48.484s-.637 2.182.441 5.289c.03.09 0 .19-.078.249l-1.137.797c-.108.08-.265.03-.314-.1-.303-.826-1.136-3.565-.293-6.563.039-.12.166-.19.284-.14l1.097.468z" fill="#56D8FF"/> + <path d="m1157.924 52.867-1.03.757s-.548-1.455-.264-4.213a.213.213 0 0 1 .323-.16l1 .648s-.196 1.344.088 2.639c.03.13-.02.259-.117.329zM1159.825 51.183l-.95-.627c-.06-.04-.148.02-.128.09.225 1.006.196 1.504-.04 1.753-.029.04-.195-.02-.195-.02.156.08.196.04.196.04.156-.12.744-.548 1.117-.807.147-.11.147-.329 0-.429z" fill="#667DFF"/> + </g> + <g transform="translate(1117 3)"> + <use fill="#464D89" xlink:href="#sx3yrisb7p"/> + <use fill="url(#ezcb32jf6q)" xlink:href="#sx3yrisb7p"/> + </g> + <g transform="translate(1153.117 33.241)"> + <use fill="#FFC62C" xlink:href="#uhfyv47b4r"/> + <use fill="url(#txlzgcqvys)" xlink:href="#uhfyv47b4r"/> + </g> + <path d="M7.702 6.715c-1.543.723-3.363 1.11-5.577 1.11A8.675 8.675 0 0 1 0 7.569V3.846A3.849 3.849 0 0 1 3.85 0a3.849 3.849 0 0 1 3.852 3.846v2.87z" fill="url(#ufuctnxgnt)" transform="translate(1153.117 33.241)"/> + <g transform="translate(1117 3)"> + <use fill="#464D89" xlink:href="#5hs00ybdgu"/> + <use fill="url(#lrpq226fxv)" xlink:href="#5hs00ybdgu"/> + </g> + <g transform="translate(1117 3)"> + <use fill="#FFC62C" xlink:href="#26itinqodw"/> + <use fill="url(#2hrf3zwz1x)" xlink:href="#26itinqodw"/> + </g> + <path d="M29.76 15.784h16.698c2.172 0 4.133 2.702 4.133 6.035s-1.96 6.035-4.133 6.035H29.76c-2.172 0-4.133-2.702-4.133-6.035s1.961-6.035 4.133-6.035z" fill="url(#zw29mcq42y)" transform="translate(1117 3)"/> + <path d="M1146.76 17.457h16.698c2.172 0 4.133 2.702 4.133 6.035s-1.96 6.035-4.133 6.035h-16.698c-2.172 0-4.133-2.702-4.133-6.035s1.961-6.035 4.133-6.035z" fill="#D6DFEA"/> + <path d="M1144.731 19.049h18.1c2.355 0 2.768 1.99 2.768 4.443 0 2.454-.413 4.444-2.767 4.444h-18.101c-2.355 0-2.767-1.99-2.767-4.444 0-2.454.412-4.443 2.767-4.443z" fill="#1F1845"/> + <path d="m1164.802 20.375 1.516.076a1.2 1.2 0 0 1 1.14 1.199v.184l-2.656 2.123v-3.582z" fill="#1F1845"/> + <path d="M1151.122 20.508h3.858a3.05 3.05 0 0 1 0 6.101h-3.858a3.05 3.05 0 0 1 0-6.101z" fill="#7BC1EB" opacity=".3"/> + <path d="M1151.124 22.498h3.854a1.061 1.061 0 0 1 0 2.122h-3.854a1.061 1.061 0 0 1 0-2.122z" fill="#7BC1EB"/> + <path d="M1148.683 71.235a.199.199 0 1 1 .105-.385c2.077.563 3.9 1.521 6.368 3.202.55.375 2.475 1.725 2.52 1.756 3.044 2.114 5.184 3.313 7.853 4.198a.199.199 0 1 1-.125.377c-2.713-.898-4.883-2.114-7.956-4.249-.046-.031-1.969-1.38-2.516-1.753-2.434-1.658-4.222-2.598-6.249-3.146z" fill="#FFF" fill-rule="nonzero"/> + <g transform="translate(1117 3)"> + <use fill="#FFC62C" xlink:href="#b4i1jt3viz"/> + <use fill="url(#ug2qg3glsA)" xlink:href="#b4i1jt3viz"/> + </g> + </g> + <g fill-rule="nonzero" mask="url(#yvguywbp7c)"> + <path d="M38.443 10.282c1.038-.337 1.989-.443 2.82-.336.819.104 1.517.417 2.058.915 1.103 1.017 1.528 2.773 1.118 4.983L41.706 30.85c-.428 2.35-1.716 4.766-3.441 6.775-1.722 2.004-3.883 3.608-6.084 4.321l-14.057 4.561c-1.04.337-1.99.443-2.822.337-.818-.105-1.517-.417-2.059-.916-1.105-1.017-1.534-2.775-1.132-4.986l2.733-15.003c.428-2.351 1.715-4.765 3.44-6.772 1.722-2.005 3.884-3.61 6.086-4.324z" stroke="#FFF9E3" fill="url(#qs3xaqlfhB)" transform="translate(1359.819 7.257)"/> + <path d="M17.402 4.078c.506-.05.86.025.965.208.352.625-.902 4.706-3.17 7.14l-.063.067a6.113 6.113 0 0 0-2.391-2.708c.243-.738.444-1.49.602-2.251.05-.227.087-.452.119-.675 1.405-1.123 2.957-1.683 3.938-1.78z" fill="url(#pclbq5xneC)" transform="translate(1380.284 20.62)"/> + <path d="M1391.923 35.378a.262.262 0 0 1 .295.304.537.537 0 0 1-.391.462h-.044a.265.265 0 0 1-.296-.304.537.537 0 0 1 .392-.46l.044-.002z" fill="#CDCDCD"/> + <g fill="#ECB732"> + <path d="m1388.384 33.826.929-1.043.312.304-.925 1.037z"/> + <path d="m1388.494 31.168 1.206 1.177.313.306.75.73-.392.43-.746-.724-.312-.304-1.21-1.181z"/> + </g> + <path fill="#ECB732" d="m1391.2 30.664.316.298-1.503 1.69-.313-.307zM1394.618 39.09l.32.295-1.945 2.218-.304-.312zM1390.319 43.997l1.987-2.269.304.315-1.973 2.25z"/> + <path d="M1393.141 36.988c.556-.054.956.077.931.327-.031.285-.61.625-1.298.752-.09.016-.179.029-.262.037-.554.054-.954-.075-.929-.325.03-.287.61-.625 1.298-.754.09-.016.177-.029.26-.037z" fill="#EAADCC"/> + <path d="M1393.147 35.663a1.418 1.418 0 0 1-1.041 1.216l-.117.02a.698.698 0 0 1-.783-.805 1.414 1.414 0 0 1 1.041-1.216.81.81 0 0 1 .117-.021.696.696 0 0 1 .783.806zm-1.32.481a.537.537 0 0 0 .391-.462.262.262 0 0 0-.295-.304h-.044a.537.537 0 0 0-.392.46.265.265 0 0 0 .296.304h.044" fill="#000"/> + <path fill="#ECB732" d="m1384.943 43.105 1.593 1.598-.393.429-1.581-1.583zM1382.693 41.676l.394-.429 1.548 1.55-.382.441z"/> + <path fill="#ECB732" d="m1386.032 41.178.323.29-1.412 1.637-.381.444-.946 1.095-.323-.29.96-1.116.382-.441z"/> + <path d="M1387.434 37.796a.065.065 0 0 1 .062.03c.17.268.448.389.867.362h.05a1.808 1.808 0 0 0 1.087-.534.117.117 0 0 1 .067-.03.058.058 0 0 1 .058.022c.024.044.013.1-.027.131-.324.331-.752.541-1.212.596h-.054c-.456.033-.794-.106-.985-.417a.11.11 0 0 1 .037-.133.096.096 0 0 1 .05-.027z" fill="#000"/> + <path d="M1384.437 37.988c.203.17.469.245.73.208a1.393 1.393 0 0 0 .342-.081.31.31 0 0 1 .157.325c-.06.289-.559.554-1.13.61h-.087c-.608.037-1.041-.181-.98-.486.055-.239.468-.491.968-.576z" fill="#EAADCC"/> + <path d="M1385.157 36.355a.265.265 0 0 1 .296.304.535.535 0 0 1-.391.46h-.044a.265.265 0 0 1-.298-.304.537.537 0 0 1 .394-.46h.043z" fill="#CDCDCD"/> + <path d="M1386.382 36.638a1.412 1.412 0 0 1-1.041 1.216l-.117.019a.698.698 0 0 1-.775-.798 1.414 1.414 0 0 1 1.042-1.216l.116-.019a.698.698 0 0 1 .775.798zm-1.32.481a.535.535 0 0 0 .391-.46.265.265 0 0 0-.296-.304h-.043a.537.537 0 0 0-.394.46.265.265 0 0 0 .298.304h.044" fill="#000"/> + <path d="M1386.697 36.567a1.897 1.897 0 0 1-1.188 1.556 1.393 1.393 0 0 1-.341.081.933.933 0 0 1-.731-.208 1.006 1.006 0 0 1-.306-.848c.081-.77.627-1.41 1.374-1.612l.154-.025c.63-.069 1.081.38 1.038 1.056zm-1.352 1.287c.566-.15.98-.634 1.041-1.216a.698.698 0 0 0-.783-.804l-.116.019c-.566.15-.98.634-1.042 1.216a.698.698 0 0 0 .783.804l.117-.019" fill="#FFF9E3"/> + <path d="M15.134 11.491a6.113 6.113 0 0 0-2.391-2.708 5.013 5.013 0 0 0-3.05-.624 6.873 6.873 0 0 0-1.922.492c-1.373.574-2.676 1.59-3.81 2.903a16.806 16.806 0 0 0-3.855 9.072C-.43 25.89 2.15 27.037 5.763 26.68c.502-.048 1.02-.127 1.556-.227 4.397-.833 8.096-2.81 8.706-8.804.246-2.404-.102-4.526-.891-6.157zm-1.346 5.207c-.03.286-.61.625-1.297.752-.09.017-.18.03-.263.038-.554.054-.954-.075-.929-.325.03-.288.61-.625 1.298-.754.09-.017.177-.03.26-.038.557-.054.956.077.931.327m-1.647-2.787c.625-.062 1.085.386 1.041 1.065a1.875 1.875 0 0 1-1.374 1.612l-.157.025c-.624.06-1.08-.388-1.041-1.067a1.875 1.875 0 0 1 1.375-1.61c.05-.012.1-.02.152-.025m-3.93-3.357 1.205 1.177 1.5-1.683.317.297-1.504 1.69.75.729-.392.43-.746-.724-.924 1.041-.317-.3.929-1.04-1.21-1.182.391-.431M5.855 24.513 4.274 22.93l-.941 1.094-.323-.28.96-1.116-1.56-1.562.394-.43 1.547 1.55 1.398-1.618.322.29-1.412 1.637 1.594 1.597-.394.43m.554-8.565a1.897 1.897 0 0 1-1.187 1.556.31.31 0 0 1 .156.324c-.06.29-.558.555-1.129.61h-.087c-.609.038-1.042-.18-.981-.485.056-.264.468-.506.968-.591a1.006 1.006 0 0 1-.306-.848c.082-.77.628-1.41 1.375-1.612l.154-.025c.625-.06 1.083.387 1.041 1.064m2.902 1.206c-.325.331-.752.541-1.213.596h-.054c-.456.033-.793-.106-.985-.416a.11.11 0 0 1 .038-.134.096.096 0 0 1 .056-.027.065.065 0 0 1 .062.03c.169.268.448.389.867.362h.05a1.808 1.808 0 0 0 1.087-.534.117.117 0 0 1 .067-.03.058.058 0 0 1 .058.022c.024.045.013.1-.027.131m3.38 3.827.769.791-.398.427-.754-.779-1.972 2.25-.319-.296 1.987-2.268-1.127-1.163.396-.416 1.114 1.15 1.929-2.202.32.298-1.945 2.208" fill="url(#2gwsduzgaD)" transform="translate(1380.284 20.62)"/> + <path fill="#ECB732" d="m1391.575 40.141 1.114 1.15.304.312.769.792-.398.427-.754-.78-.304-.314-1.127-1.162z"/> + <path d="M1393.464 35.592a1.875 1.875 0 0 1-1.375 1.612l-.156.025c-.625.06-1.081-.387-1.041-1.066a1.875 1.875 0 0 1 1.374-1.61c.05-.012.101-.02.152-.025.638-.063 1.092.385 1.046 1.064zm-1.352 1.287a1.418 1.418 0 0 0 1.041-1.216.696.696 0 0 0-.78-.806.81.81 0 0 0-.117.02c-.566.152-.98.635-1.042 1.217a.698.698 0 0 0 .783.804l.117-.019" fill="#FFF9E3"/> + <path d="M12.13.169c.657-.04 1.756 2.662 1.334 5.694a8.825 8.825 0 0 1-.12.675 20.279 20.279 0 0 1-.601 2.252 5.013 5.013 0 0 0-3.05-.625 6.873 6.873 0 0 0-1.922.492c.065-.548.17-1.153.31-1.804.057-.27.127-.538.209-.804.912-3.004 3.19-5.818 3.84-5.88z" fill="url(#5r2vls0e8E)" transform="translate(1380.284 20.62)"/> + <path d="M4.911 4.79A4.564 4.564 0 0 1 8.29 6.04a9.306 9.306 0 0 0-.209.804 19.46 19.46 0 0 0-.31 1.804c-1.373.575-2.676 1.591-3.81 2.903-.935-2.29-.428-5.846.155-6.473.225-.183.505-.284.795-.287z" fill="url(#pfjfs4qvjF)" transform="translate(1380.284 20.62)"/> + <path d="m29.47.5 11.271 8.429h-.668c-.668.087-.888.126-1.052.161l-.087.02-14.88 4.784c-.202.068-.405.144-.61.223-.347.14-.552.228-.754.326-.246.121-.423.211-.597.308-.332.17-.528.286-.725.406-1.422 1.009-1.667 1.211-1.902 1.412-.252.215-.435.384-.613.553-.278.265-.447.43-.61.597-.437.475-.52.567-.553.605l-.013.016c-2.073 2.842-2.18 3.028-2.28 3.213l-.31.613-.107.215a9.716 9.716 0 0 0-.255.539c-.115.274-.209.508-.293.742L11.12 40.755c-.238 1.326-.205 2.503.052 3.495l-.01-.04-9.249-7.645c-.533-.443-.927-1.05-1.162-1.792l-.072-.252c-.225-.87-.244-1.902-.032-3.062L3.38 16.454c.659-2.08.757-2.338.868-2.592.727-1.498.825-1.666.923-1.834.77-1.164.937-1.4 1.045-1.545l.033-.043.359-.393.319-.347a64.462 64.462 0 0 1 1.45-1.55l.068-.069c.04-.04.074-.071.102-.097l.04-.036.054-.047c.263-.222.494-.413.728-.592 1.92-1.227 2.087-1.312 2.258-1.396.244-.116.428-.197.605-.27.32-.125.507-.194.695-.255L27.004.826 29.471.5z" stroke="#AF8822" fill="url(#gq2p1x81pG)" transform="translate(1359.819 7.257)"/> + <g> + <path d="m10.417.525 14.787 4.9c2.633 1.537 2.832 1.691 2.987 1.839.487.508.674.712.79.848l1.82 17.275-6.265 7.4.955-14.332-.073-1.035c-1.987-4.163-2.134-4.31-2.269-4.46-.2-.231-.35-.384-.51-.538a12.448 12.448 0 0 0-.645-.57L5.96 5.689l-1.558-.223L7.67 1.387l2.748-.862z" stroke="url(#6x10eg2iiH)" fill="url(#cyjvslt1sI)" transform="translate(1351 28.95)"/> + <path d="M1.951 6.816c.946-.586 2.258-.668 3.701-.169l13.29 4.606c1.527.53 2.912 1.608 3.92 2.918.995 1.295 1.628 2.82 1.637 4.273l.089 12.775c.01 1.347-.532 2.387-1.452 2.957-.946.585-2.257.667-3.7.167l-13.29-4.606c-1.528-.53-2.912-1.608-3.92-2.918C1.23 25.525.599 24 .59 22.546L.5 9.771c-.01-1.346.531-2.386 1.451-2.955z" stroke="#74EFC9" fill="url(#c1596p1blJ)" transform="translate(1351 28.95)"/> + <path d="M1362.927 42.182c.46.152.824.505.992.959l1.125 2.997-4.897 5.47c-.386.429-.32 1.092.04 1.578l-4.073-1.3c-.957-.305-1.412-1.519-.818-2.183l6.468-7.252a1.081 1.081 0 0 1 1.163-.27z" fill="#80EEC0"/> + <path d="M1367.905 45.933c.38.124.684.412.827.785l3.295 8.672c.303.797-.31 1.476-1.103 1.223l-8.64-2.754c-.792-.253-1.169-1.248-.68-1.792l5.34-5.916a.894.894 0 0 1 .961-.218z" fill="#00DC82"/> + </g> + </g> + <g fill-rule="nonzero" mask="url(#yvguywbp7c)"> + <g transform="translate(478.44 7)"> + <use fill="url(#nryep7r8dK)" xlink:href="#knh48u1foL"/> + <use fill="#000" filter="url(#gn1twrq42M)" xlink:href="#knh48u1foL"/> + <path stroke="url(#2s4xkdxeqN)" d="m9.757 2.559-.012.029-.061.139c-.059.14-.114.282-.164.427a.602.602 0 0 0-.048.128 6.341 6.341 0 0 0-.148.517l-.01.037c-.017.06-.03.12-.037.182-.027.12-.053.244-.073.368l-.008.04a1.55 1.55 0 0 0-.03.222l-.01.064a2.516 2.516 0 0 0-.03.28c-.017.087-.02.162-.02.295v.62l.014.43c.014.066.012.128.012.193v.023l.002.022a13.223 13.223 0 0 0 .059.532c.003.024.008.046.008.07a.21.21 0 0 1-.001.024 10.507 10.507 0 0 0 .128.742L13.2 26.834c.029.143.062.284.096.426l.012.05.025.09.017.06c.027.106.055.21.085.317l.06.19.038.117c.015.048.031.098.047.14l.065.193.095.264c.011.031.022.056.033.082.01.02.019.043.032.083.037.115.084.237.119.311.028.063.054.123.08.186l.13.25.083.177c.042.087.096.197.13.259l.023.047c.017.035.035.073.065.127l.068.121.061.11.08.147.014.025c.052.093.107.183.161.273l.008.012.041.068.036.06c.07.11.142.22.216.332l.042.064c.088.13.177.256.275.392l.078.103.197.266.115.142.076.094.102.124c.043.051.088.103.134.151l.17.197.132.139c.061.067.126.134.19.198l.14.14.182.174.152.144.135.122.177.152.132.11.184.149.122.095c.044.034.088.067.133.099l.074.054.126.09.223.154.093.06c.127.086.258.165.388.24l.048.016.087.053.152.084.121.063.207.104c.037.019.074.036.108.051l.048.022.2.09.147.063.212.082.148.054.205.068.156.048.202.06.157.04.213.046.145.03.237.038.114.02.074.01c.107.016.212.03.32.031l15.345 1.143-7.003 4.04a4.213 4.213 0 0 1-2.205.538l-.259-.016-15.433-1.145c-.035-.002-.07-.008-.106-.012a2.268 2.268 0 0 0-.22-.022l-.077-.012-.211-.034-.126-.028a2.442 2.442 0 0 1-.179-.04l-.13-.033-.187-.052-.13-.04-.181-.061-.13-.048-.06-.023c-.037-.014-.073-.028-.118-.048l-.13-.054-.182-.08-.134-.064a3.68 3.68 0 0 1-.191-.097l-.105-.053-.24-.14-.056-.033a7.444 7.444 0 0 1-.287-.179l-.105-.07a4.842 4.842 0 0 1-.195-.133l-.113-.081-.18-.132-.118-.092-.168-.137-.12-.1-.164-.141-.117-.105-.08-.074a.487.487 0 0 1-.05-.048l-.188-.18-.127-.125-.166-.176-.124-.132-.055-.062-.109-.123-.11-.128-.057-.068c-.038-.045-.075-.09-.118-.145l-.1-.12-.032-.045a16.85 16.85 0 0 0-.155-.208l-.086-.114c-.071-.09-.141-.197-.21-.299l-.066-.101a8.064 8.064 0 0 1-.196-.303l-.078-.126-.058-.098-.089-.151-.086-.153-.126-.233-.088-.17c-.04-.076-.076-.152-.112-.226l-.08-.168-.11-.243-.006-.012c-.022-.048-.038-.083-.065-.15l-.045-.114-.055-.135-.063-.163-.09-.249-.066-.197a2.168 2.168 0 0 1-.075-.227l-.054-.172-.038-.138a11.992 11.992 0 0 0-.04-.148l-.037-.137c-.034-.144-.07-.287-.1-.435L.702 13.292a10.312 10.312 0 0 1-.12-.698.063.063 0 0 1-.01-.02c-.006-.02.001-.04.001-.06 0-.018-.005-.035-.003-.053a3.715 3.715 0 0 0-.018-.133c-.012-.083-.025-.166-.025-.247v-.034a.839.839 0 0 1-.005-.033c-.01-.071-.008-.132-.008-.191v-.027l-.003-.023c-.01-.112-.01-.227-.01-.337v-.252c.001-.048.004-.095.007-.142.004-.07.008-.14.008-.21l.006-.055c.006-.059.011-.118.012-.177.01-.108.024-.213.037-.317l.01-.074c.006-.04.01-.08.019-.127a6.585 6.585 0 0 1 .088-.44l.015-.07c.04-.162.085-.322.138-.476l-.005.013.02-.049.016-.052c.045-.123.091-.247.143-.366l.016-.037c.04-.092.086-.182.132-.272l.018-.04v-.001l.006-.01c.06-.115.123-.224.192-.33l.006-.009a.29.29 0 0 1 .004-.006l.024-.037a5.465 5.465 0 0 1 .19-.271l.038-.048.047-.057c.053-.065.125-.15.159-.188.019-.022.039-.042.06-.064l.03-.032.17-.166.108-.096c.06-.052.123-.1.186-.147l7.357-4.272z" stroke-linejoin="square"/> + </g> + <path d="m14.585.501.272.013 15.43 1.142c1.768.13 3.54 1.143 4.987 2.645 1.477 1.533 2.616 3.585 3.068 5.792l3.89 18.905c.441 2.148.152 4.047-.709 5.373a4.057 4.057 0 0 1-1.633 1.468c-.643.311-1.39.45-2.215.39l-15.425-1.15c-1.769-.131-3.54-1.143-4.987-2.646-1.477-1.534-2.617-3.586-3.068-5.794L10.307 7.74c-.445-2.146-.158-4.043.7-5.367A4.054 4.054 0 0 1 12.64.906c.644-.312 1.391-.452 2.217-.392z" stroke="#6097FF" fill="url(#9qa78t1wxO)" transform="translate(478.44 7)"/> + <g fill="#F9F9F9"> + <path d="M514.678 26.25c.746 1.116 1.062 2.881.764 4.215-.34 1.455-1.412 2.454-3.055 2.804a5.634 5.634 0 0 1-.989.087 7.788 7.788 0 0 1-1.3-.074 6.055 6.055 0 0 1-3.233-1.795c-.311-.343-.934-1.261-.91-1.323l.265-.211 1.052-.773.79-.588.226.301c.34.486.762.907 1.249 1.246.45.246.956.372 1.469.366.588-.01 1.124-.21 1.443-.588.246-.29.353-.672.294-1.047a1.58 1.58 0 0 0-.312-.882c-.276-.378-.787-.682-2.204-1.353-1.626-.735-2.332-1.21-3.02-1.946a5.713 5.713 0 0 1-.994-1.719c-.162-.501-.319-1.73-.262-2.226.147-1.74 1.167-2.973 2.752-3.347a3.82 3.82 0 0 1 .813-.081c.493-.017.987.027 1.47.13.764.209 1.452.634 1.982 1.225.311.342.781.942.827 1.097 0 .052-1.193 1.088-1.925 1.665-.049 0-.173-.137-.304-.342-.453-.635-.882-.907-1.505-.948h-.147c-.815.013-1.297.558-1.213 1.415.018.23.086.455.2.657.248.473.65.754 1.871 1.322 2.247 1.029 3.246 1.714 3.906 2.713zM498.722 17.68c2.887-.048 5.263-.08 5.263-.054.033.016.094.648.17 1.43l.136 1.387-3.901.064 1.256 12.825-2.767.047-1.252-12.83-3.898.066-.138-1.414-.115-1.412 5.246-.109z"/> + </g> + <g> + <path d="m12.118.525 17.24 5.713c1.903 1.031 2.494 1.363 2.727 1.51l.073.049c.04.027.064.047.089.067.244.196.43.362.607.531.223.217.383.378.529.536.207.232.353.403.494.578l1.931 4.948.103 15.047-6.915 8.16.575-16.264c-1.258-4.034-1.503-4.661-1.615-4.858l-.015-.026-.014-.022-.014-.02c-.737-.99-.892-1.172-1.048-1.346a9.145 9.145 0 0 0-.587-.62 14.582 14.582 0 0 0-.677-.6 16.592 16.592 0 0 0-.536-.419L6.91 6.695l-1.942-.278 3.904-4.874L12.118.525z" stroke="url(#1zyyvdzupP)" fill="url(#7812l4nxyQ)" transform="translate(471.875 25.343)"/> + <path d="M22.223 12.54c3.762 1.304 6.832 5.295 6.856 8.91l.103 14.86c.026 3.61-3.004 5.491-6.765 4.187L6.958 35.14C3.197 33.835.126 29.844.103 26.23L0 11.37c-.026-3.61 3.004-5.49 6.765-4.187l15.458 5.357z" fill="url(#68oz963z5R)" transform="translate(471.875 25.343)"/> + <path fill="#3EB17E" d="m495.092 45.454-9.793 11.365-9.257-17.71 3.762 1.254 5.601 10.683 5.877-6.86z"/> + <path fill="#33465A" d="m491.282 44.186-5.877 6.86-5.601-10.683 3.523 1.173 2.178 4.118 2.252-2.642z"/> + </g> + </g> + </g> +</svg> diff --git a/themes/vue/source/images/banners/bg-mobile.png b/themes/vue/source/images/banners/bg-mobile.png new file mode 100644 index 0000000000..f18973d137 Binary files /dev/null and b/themes/vue/source/images/banners/bg-mobile.png differ diff --git a/themes/vue/source/images/banners/bg-tablet.svg b/themes/vue/source/images/banners/bg-tablet.svg new file mode 100644 index 0000000000..95e08041ac --- /dev/null +++ b/themes/vue/source/images/banners/bg-tablet.svg @@ -0,0 +1,253 @@ +<svg width="768" height="72" viewBox="0 0 768 72" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <linearGradient x1="89.414%" y1="61.013%" x2="12.037%" y2="61.013%" id="x4z7rncnjb"> + <stop stop-color="#282F64" offset="0%"/> + <stop stop-color="#191E3F" offset="100%"/> + </linearGradient> + <linearGradient x1="89.414%" y1="61.013%" x2="12.037%" y2="61.013%" id="eqs2eehfbd"> + <stop stop-color="#2E3570" offset="0%"/> + <stop stop-color="#191E3F" offset="100%"/> + </linearGradient> + <linearGradient x1="89.414%" y1="61.013%" x2="12.037%" y2="61.013%" id="ac2qp08yee"> + <stop stop-color="#2E3570" offset="0%"/> + <stop stop-color="#191E3F" stop-opacity="0" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="9iaagghgbg"> + <stop stop-color="#403F9F" stop-opacity="0" offset="0%"/> + <stop stop-opacity=".2" offset="100%"/> + </linearGradient> + <linearGradient x1="0%" y1="32.091%" x2="100%" y2="67.909%" id="7ted8bby6i"> + <stop stop-opacity=".3" offset="0%"/> + <stop stop-color="#1F1845" stop-opacity="0" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="wtnv1zwigk"> + <stop stop-color="#FFC62C" stop-opacity="0" offset="0%"/> + <stop stop-color="#FF6663" stop-opacity=".3" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="r65pzzurym"> + <stop stop-color="#A7A7EE" stop-opacity="0" offset="0%"/> + <stop stop-color="#4C55A0" stop-opacity=".2" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="yf5gdjpoqo"> + <stop stop-color="#A7A7EE" stop-opacity="0" offset="0%"/> + <stop stop-color="#4C55A0" stop-opacity=".2" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="40qi6pxfaq"> + <stop stop-color="#403F9F" stop-opacity="0" offset="0%"/> + <stop stop-opacity=".2" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="cknulgfsvs"> + <stop stop-color="#FFC62C" stop-opacity="0" offset="0%"/> + <stop stop-color="#FF6663" stop-opacity=".3" offset="100%"/> + </linearGradient> + <linearGradient x1="98.428%" y1="50%" x2="1.572%" y2="100%" id="uwqzm8w77t"> + <stop stop-opacity=".2" offset="0%"/> + <stop stop-color="#FFC42C" stop-opacity="0" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="u1e053vxjv"> + <stop stop-color="#403F9F" stop-opacity="0" offset="0%"/> + <stop stop-opacity=".2" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="qw72fgzeyx"> + <stop stop-color="#FFC62C" stop-opacity="0" offset="0%"/> + <stop stop-color="#FF6663" stop-opacity=".3" offset="100%"/> + </linearGradient> + <linearGradient x1="100%" y1="38.311%" x2="0%" y2="61.689%" id="qwkvpwu3uy"> + <stop stop-opacity=".15" offset="0%"/> + <stop stop-color="#FFC42C" stop-opacity="0" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="aqlkonu3vA"> + <stop stop-color="#FFC62C" stop-opacity="0" offset="0%"/> + <stop stop-color="#FF6663" stop-opacity=".3" offset="100%"/> + </linearGradient> + <linearGradient x1="24.492%" y1="9.15%" x2="58.635%" y2="100%" id="wkogocufwB"> + <stop stop-color="#263E7B" offset="0%"/> + <stop stop-color="#253867" offset="100%"/> + </linearGradient> + <linearGradient x1="101.462%" y1="124.814%" x2="19.296%" y2="50%" id="pdas88f3lE"> + <stop stop-color="#243B74" offset="0%"/> + <stop stop-color="#2357BD" offset="100%"/> + </linearGradient> + <linearGradient x1="69.68%" y1="5.498%" x2="24.256%" y2="96.98%" id="t5ezqjzkaF"> + <stop stop-color="#0075C4" offset="0%"/> + <stop stop-color="#005F9F" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="m5b2clgzlH"> + <stop stop-color="#348B70" offset="0%"/> + <stop stop-color="#288384" offset="100%"/> + </linearGradient> + <linearGradient x1="84.661%" y1="26.487%" x2="50%" y2="58.486%" id="thyx1mi5hG"> + <stop stop-color="#52D5B3" offset="0%"/> + <stop stop-color="#2F8977" offset="100%"/> + </linearGradient> + <linearGradient x1="34.164%" y1="4.57%" x2="82.543%" y2="143.256%" id="48qeiozz2I"> + <stop stop-color="#E2FFF2" offset="0%"/> + <stop stop-color="#3EAF7D" offset="100%"/> + </linearGradient> + <linearGradient x1="76.207%" y1="4.524%" x2="5.77%" y2="136.106%" id="r4mim3vrfJ"> + <stop stop-color="#F3ECD7" offset="0%"/> + <stop stop-color="#FFD24B" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="fqv2xsmtxK"> + <stop stop-color="#52C761" offset="0%"/> + <stop stop-color="#51A256" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="ha6z8uam8L"> + <stop stop-color="#FFE56C" offset="0%"/> + <stop stop-color="#FFC73A" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="9405biog1M"> + <stop stop-color="#89E99B" offset="0%"/> + <stop stop-color="#53CE63" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="v1x4ocgd3N"> + <stop stop-color="#51C861" offset="0%"/> + <stop stop-color="#51A256" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="2oxz7tuj2O"> + <stop stop-color="#D2A732" offset="0%"/> + <stop stop-color="#A17C1D" offset="100%"/> + </linearGradient> + <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="gjzz4cvncQ"> + <stop stop-color="#348B70" offset="0%"/> + <stop stop-color="#288384" offset="100%"/> + </linearGradient> + <linearGradient x1="84.661%" y1="26.487%" x2="50%" y2="58.486%" id="t09k17sy3P"> + <stop stop-color="#52D5B3" offset="0%"/> + <stop stop-color="#2F8977" offset="100%"/> + </linearGradient> + <linearGradient x1="34.164%" y1="4.57%" x2="101.204%" y2="265.256%" id="uaaoloz60R"> + <stop stop-color="#DEFFF0" offset="0%"/> + <stop stop-color="#3EAF7D" offset="100%"/> + </linearGradient> + <path id="2oh40rkdka" d="M0 0h768v72H0z"/> + <path d="M10.623 44.566c-7.19-5.77-13.431-18.727-9.295-31.037 4.085-12.22 18.46-17.497 29.61-10.213 10.98 7.358 11.03 14.663 26.292 17.906 15.16 3.305 20.9 23.4 6.905 31.037-14.108 7.764-46.326-1.938-53.512-7.693z" id="okqxruqc7f"/> + <path d="M62.944 52.854c-11.35 5.147-32.317.706-44.44-4.16-3.082-2.792-6.093-6.098-8.944-9.964-5.085-6.8-5.75-13.432-1.991-19.896h22.706c4.497 3.822 8.17 6.563 11.021 8.224 4.36 2.422 17.316 4.66 22.042 9.948 3.955 4.485 2.801 10.893-.394 15.848z" id="ynse5dl70h"/> + <path d="M8.233 47.219c-3.551-.35-5.543-1.279-5.976-2.786-.619-2.295-2.853-4.867-2.124-5.836.824-.885 1.978 2.062 2.655 2.388.896.359.518-9.696 3.851-7.163 3.334 2.616 2.558 4.848 2.125 7.826a84.416 84.416 0 0 0-.531 5.57z" id="7a2p9s6ibj"/> + <path d="M37.445 37.138c-6.631 0-28.923 4.929-30.142 5.173-1.274.294-1.866 3.545 0 4.642 1.81 1.18 24.636.684 26.026.663 1.484.021 10.805-10.478 4.116-10.478z" id="tuhv8e6m7l"/> + <path d="M37.445 37.138h37.578c3.657 0 2.67 5.637 0 5.704-1.761-.012-23.104 3.171-23.104 4.244 0 .715.885 6.109 2.655 16.182l-17.129 2.785c-4.68-6.876-8.365-12.476-8.365-17.375 0-4.9 1.936-11.54 8.365-11.54z" id="elu74fr56n"/> + <path d="M38.64 67.512c-1.887 4.96-2.348 13.133 0 16.314 2.33 3.2 15.092 18.299 16.997 19.233 1.903.996 4.78-1.203 4.78-3.316 0-2.157-6.58-14.599-11.685-19.63-5.108-4.866-8.223-17.409-10.092-12.601z" id="ya8y778jfp"/> + <path d="M20.98 71.756c.997 5.395 9.097 8.755 24.3 10.08 1.033-.123 1.785-.742 2.257-1.856.83-1.731.843-3.01.797-3.05 8.338.04 11.748-10.553 6.108-16.978-5.568-6.348-34.772 3.668-33.462 11.804z" id="7r6n8f2p7u"/> + <path d="M50.06 18.834c2.971.053 4.21 1.335 3.718 3.847-.47 2.827-1.5 5.463-3.851 5.173-2.551 4.684-5.653 7.56-11.685 7.56-5.968 0-8.848-5.675-9.295-8.754-1.164-3.123-.053-14.26.398-15.386.858-2.676 6.328 2.174 12.35 3.98 3.912 1.308 6.7 2.502 8.365 3.58z" id="lfs4twtkgw"/> + <path d="M75.023 42.842c-3.184 0-3.69-9.75-2.39-9.816 1.327.066.466 3.934 1.726 3.98 1.274-.046.57-9.201 3.984-8.622 3.353.638 3.752 7.398 2.125 10.478-1.605 3.052-2.378 3.98-5.445 3.98z" id="3x1f6l92vz"/> + <path d="m33.126 32.32-13.579-1.012c-.1 0-.197-.018-.297-.032l-.095-.015-.2-.032-.115-.025-.18-.039-.122-.032-.173-.05-.124-.038-.17-.057-.125-.045-.17-.066-.12-.052-.173-.077c-.039-.018-.077-.034-.116-.055l-.186-.093-.1-.052a2.705 2.705 0 0 1-.227-.131l-.047-.016a5.082 5.082 0 0 1-.277-.173l-.084-.054-.19-.132-.105-.075c-.054-.04-.111-.08-.165-.122l-.112-.086-.154-.125-.111-.093-.15-.13-.109-.097-.129-.123-.159-.152-.116-.115a5.17 5.17 0 0 1-.154-.161l-.113-.12-.15-.173a2.689 2.689 0 0 1-.107-.12l-.154-.189-.093-.115-.168-.227-.072-.095a11.715 11.715 0 0 1-.227-.325l-.037-.054a19.422 19.422 0 0 1-.181-.28c-.025-.04-.048-.081-.073-.12-.045-.075-.09-.15-.134-.227l-.077-.14c-.025-.048-.08-.14-.118-.211-.038-.07-.05-.102-.077-.152a5.936 5.936 0 0 1-.104-.209l-.075-.159-.109-.21a4.953 4.953 0 0 0-.07-.162 2.333 2.333 0 0 1-.086-.227c-.028-.084-.044-.109-.064-.163l-.082-.227-.054-.161c-.027-.077-.05-.156-.075-.227l-.048-.152a11.286 11.286 0 0 1-.07-.263c-.011-.043-.025-.086-.036-.13-.032-.133-.064-.265-.091-.399L8.639 6.901a9.131 9.131 0 0 1-.102-.585c0-.064-.013-.125-.02-.189-.016-.127-.03-.256-.041-.38 0-.073 0-.144-.011-.216 0-.114-.012-.227-.012-.34v-.538c0-.096 0-.14.016-.209 0-.109.023-.213.036-.318 0-.063.016-.127.028-.19.018-.114.043-.227.068-.336 0-.05.018-.098.03-.145.038-.157.081-.311.13-.454 0-.02.017-.036.024-.057.043-.127.091-.251.142-.374.052-.122.1-.222.143-.3a3.56 3.56 0 0 1 .213-.374l.064-.095c.048-.073.098-.143.15-.213l.086-.107c.05-.061.1-.12.152-.177l.095-.102c.032-.032.11-.109.166-.161l.1-.09.19-.153.093-.07c.098-.072.198-.138.302-.2l-8.44 4.867c-.104.06-.204.124-.301.195l-.093.07c-.064.048-.13.098-.19.152l-.103.09-.163.16c-.032.034-.066.068-.098.104a7.83 7.83 0 0 0-.15.177c-.05.061-.059.07-.086.107a5.38 5.38 0 0 0-.15.213c-.02.032-.043.061-.063.095a3.844 3.844 0 0 0-.213.374C.585 7.221.54 7.31.5 7.4l-.013.032c-.052.12-.1.247-.145.374 0 .018-.014.037-.02.057-.05.147-.094.3-.132.454-.012.047-.02.097-.032.147a6.252 6.252 0 0 0-.066.336c-.011.064-.018.127-.027.19a7.047 7.047 0 0 0-.037.316c0 .07-.01.14-.015.209 0 .106-.012.213-.014.322v.227c0 .11 0 .227.011.34 0 .07 0 .143.012.227 0 .125.025.254.04.381 0 .064 0 .125.02.188.028.192.062.388.103.586l3.421 16.636c.028.134.06.266.091.397l.034.13.073.265.047.152c.023.08.048.159.075.227l.055.161.081.227c.02.054.041.109.064.163.023.055.057.143.086.216.03.072.045.106.07.16l.096.212.075.156c.034.07.068.141.104.211l.077.15.116.213.08.141c.042.075.088.15.133.227l.073.118c.059.095.12.19.183.284l.034.052c.073.109.15.227.227.324l.07.093c.057.075.112.15.168.227l.096.116c.05.063.102.125.154.188l.104.12c.05.06.103.116.152.173l.114.12.152.161.118.116.159.152c.02.022.042.043.065.063l.064.06.109.097.15.13.11.092.155.125.111.086.166.123.104.075c.064.045.127.088.19.129l.085.057c.09.059.183.118.276.172l.046.027.227.132.102.052c.059.032.12.063.184.093l.115.054.173.078.12.05c.057.024.113.045.17.068l.125.045.17.057.125.038.17.048.123.032c.06.015.12.03.181.04l.116.025.197.032.098.016c.1 0 .197.023.297.03l13.578 1.007a4.145 4.145 0 0 0 2.416-.515l8.44-4.867a4.145 4.145 0 0 1-2.4.495z" id="0lsw7fzhqC"/> + <filter x="-38%" y="-36.8%" width="176%" height="173.6%" filterUnits="objectBoundingBox" id="loh5jfkkcD"> + <feGaussianBlur stdDeviation="6.5" in="SourceAlpha" result="shadowBlurInner1"/> + <feOffset dx="14" dy="-10" in="shadowBlurInner1" result="shadowOffsetInner1"/> + <feComposite in="shadowOffsetInner1" in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowInnerInner1"/> + <feColorMatrix values="0 0 0 0 0.117647059 0 0 0 0 0.321568627 0 0 0 0 0.725490196 0 0 0 0.430732354 0" in="shadowInnerInner1"/> + </filter> + <rect id="w3atceajtr" x="0" y="0" width="7.702" height="11.539" rx="3.851"/> + </defs> + <g fill="none" fill-rule="evenodd"> + <mask id="8e1knp26yc" fill="#fff"> + <use xlink:href="#2oh40rkdka"/> + </mask> + <path d="M1153-22.28c-17.701 126.926-90.423 176.371-218.164 148.335C743.224 84.002 818.675 231 531 231V-85h622v62.72z" fill="url(#x4z7rncnjb)" mask="url(#8e1knp26yc)" transform="rotate(180 842 73)"/> + <path d="M1153-17.28c-17.701 126.926-90.423 176.371-218.164 148.335C743.224 89.002 818.675 236 531 236V-80h622v62.72z" fill="url(#eqs2eehfbd)" mask="url(#8e1knp26yc)" transform="rotate(180 842 78)"/> + <path d="M531-2.28c-17.701 126.926-90.423 176.371-218.164 148.335C121.224 104.002 196.675 251-91 251V-65h622v62.72z" fill="url(#ac2qp08yee)" mask="url(#8e1knp26yc)" transform="rotate(180 220 93)"/> + <path d="M767.373 93.19c-.217-.04-.435-.077-.473-.357.09-.174.177-.35.271-.523 1-1.82 1.537-3.76 1.5-5.85-.007-.358-.03-.551-.442-.285-.225.146-.512.162-.793.167-1.155.02-2.24-.293-3.301-.698-2.43-.928-4.673-2.18-6.637-3.91-.7-.603-1.336-1.265-1.66-2.154-.262-.72-.039-1.095.692-1.322.527-.164 1.038-.02 1.555.037.211.03.43.032.633.091 3.728 1.076 7.071 2.792 9.606 5.848.058.07.1.192.223.12.098-.058.083-.159.064-.261-.13-.691-.232-1.388-.384-2.074-.747-3.382-2.19-6.542-3.11-9.87-.05-.178-.12-.346-.365-.21-.583.322-1.22.206-1.84.217-1.957-.386-3.777-1.14-5.505-2.118-1.741-.986-3.42-2.068-4.672-3.682-.407-.525-.896-1.105-.524-1.809.349-.66 1.07-.565 1.687-.526 1.201.076 2.337.447 3.438.913 2.432 1.029 4.695 2.332 6.599 4.2.19.187.359.395.618.68-.196-1.26-.124-2.41-.118-3.558.014-2.457.64-4.803 1.326-7.136.055-.189.123-.373.187-.559.097-.284.054-.426-.292-.512-1.011-.253-1.658-1.048-2.265-1.8-1.947-2.408-3.334-5.116-4.051-8.15a7.033 7.033 0 0 1-.192-1.985c.058-1.137.836-1.57 1.808-.956.887.56 1.58 1.342 2.192 2.19 1.798 2.513 3.142 5.234 3.736 8.444.2-.549.35-.95.493-1.354.726-2.05 1.47-4.095 1.898-6.237.036-.18.091-.326-.066-.483-.769-.772-1.01-1.783-1.27-2.796-.224-.872-.247-1.772-.436-2.646-.037-2.1-.063-4.201.462-6.26.185-.725.422-1.433.803-2.082.583-.992 1.472-.997 2.03.013.625 1.13.93 2.353 1.062 3.643.106 1.034.246 2.06.219 3.104-.015.567-.209 1.122-.107 1.696-.037 1.609-.346 3.154-1.07 4.6-.096.19-.195.424-.36.526-.605.374-.695.983-.842 1.595-.464 1.93-1.132 3.795-1.79 5.664-.062.175-.179.348-.09.653.64-.604 1.249-1.17 1.925-1.651 2.186-1.553 4.497-2.84 7.148-3.408.43-.092.861-.085 1.285-.045.79.076 1.095.61.854 1.387-.187.6-.567 1.07-.984 1.513-2.408 2.553-5.325 4.273-8.646 5.329-.13.041-.256.095-.384.143-.75.038-1.504.28-2.251-.055-.216-.096-.262.127-.306.261a36.205 36.205 0 0 0-1.307 5.417c-.251 1.516-.122 3.053-.129 4.582 0 .212-.015.428.215.604.076-.12.148-.228.217-.34a15.521 15.521 0 0 1 2.487-3.035c1.03-.988 2.154-1.868 3.311-2.702 1.133-.616 2.22-1.333 3.511-1.594.171-.034.347-.061.52-.064.923-.013 1.311.508 1.08 1.41-.277 1.08-.925 1.955-1.613 2.775-1.91 2.275-4.16 4.136-6.86 5.407-.582.274-1.177.535-1.836.561-.323.013-.33.155-.257.422.392 1.42.918 2.795 1.39 4.188.73 2.152 1.499 4.292 1.864 6.536.251.072.282-.126.365-.241 2.018-2.787 4.586-4.909 7.676-6.389.581-.278 1.197-.488 1.855-.495.892-.008 1.287.506 1.071 1.374-.274 1.101-.935 1.993-1.638 2.828-1.911 2.273-4.163 4.133-6.864 5.4-.6.281-1.213.562-1.897.552-.398-.006-.377.252-.367.514.082 2.335-.68 4.436-1.767 6.446-.027.05-.076.088-.115.132" fill="#454E90" mask="url(#8e1knp26yc)" transform="matrix(-1 0 0 1 1532.158 0)"/> + <path d="M729.373 93.19c-.217-.04-.435-.077-.473-.357.09-.174.177-.35.271-.523 1-1.82 1.537-3.76 1.5-5.85-.007-.358-.03-.551-.442-.285-.225.146-.512.162-.793.167-1.155.02-2.24-.293-3.301-.698-2.43-.928-4.673-2.18-6.637-3.91-.7-.603-1.336-1.265-1.66-2.154-.262-.72-.039-1.095.692-1.322.527-.164 1.038-.02 1.555.037.211.03.43.032.633.091 3.728 1.076 7.071 2.792 9.606 5.848.058.07.1.192.223.12.098-.058.083-.159.064-.261-.13-.691-.232-1.388-.384-2.074-.747-3.382-2.19-6.542-3.11-9.87-.05-.178-.12-.346-.365-.21-.583.322-1.22.206-1.84.217-1.957-.386-3.777-1.14-5.505-2.118-1.741-.986-3.42-2.068-4.672-3.682-.407-.525-.896-1.105-.524-1.809.349-.66 1.07-.565 1.687-.526 1.201.076 2.337.447 3.438.913 2.432 1.029 4.695 2.332 6.599 4.2.19.187.359.395.618.68-.196-1.26-.124-2.41-.118-3.558.014-2.457.64-4.803 1.326-7.136.055-.189.123-.373.187-.559.097-.284.054-.426-.292-.512-1.011-.253-1.658-1.048-2.265-1.8-1.947-2.408-3.334-5.116-4.051-8.15a7.033 7.033 0 0 1-.192-1.985c.058-1.137.836-1.57 1.808-.956.887.56 1.58 1.342 2.192 2.19 1.798 2.513 3.142 5.234 3.736 8.444.2-.549.35-.95.493-1.354.726-2.05 1.47-4.095 1.898-6.237.036-.18.091-.326-.066-.483-.769-.772-1.01-1.783-1.27-2.796-.224-.872-.247-1.772-.436-2.646-.037-2.1-.063-4.201.462-6.26.185-.725.422-1.433.803-2.082.583-.992 1.472-.997 2.03.013.625 1.13.93 2.353 1.062 3.643.106 1.034.246 2.06.219 3.104-.015.567-.209 1.122-.107 1.696-.037 1.609-.346 3.154-1.07 4.6-.096.19-.195.424-.36.526-.605.374-.695.983-.842 1.595-.464 1.93-1.132 3.795-1.79 5.664-.062.175-.179.348-.09.653.64-.604 1.249-1.17 1.925-1.651 2.186-1.553 4.497-2.84 7.148-3.408.43-.092.861-.085 1.285-.045.79.076 1.095.61.854 1.387-.187.6-.567 1.07-.984 1.513-2.408 2.553-5.325 4.273-8.646 5.329-.13.041-.256.095-.384.143-.75.038-1.504.28-2.251-.055-.216-.096-.262.127-.306.261a36.205 36.205 0 0 0-1.307 5.417c-.251 1.516-.122 3.053-.129 4.582 0 .212-.015.428.215.604.076-.12.148-.228.217-.34a15.521 15.521 0 0 1 2.487-3.035c1.03-.988 2.154-1.868 3.311-2.702 1.133-.616 2.22-1.333 3.511-1.594.171-.034.347-.061.52-.064.923-.013 1.311.508 1.08 1.41-.277 1.08-.925 1.955-1.613 2.775-1.91 2.275-4.16 4.136-6.86 5.407-.582.274-1.177.535-1.836.561-.323.013-.33.155-.257.422.392 1.42.918 2.795 1.39 4.188.73 2.152 1.499 4.292 1.864 6.536.251.072.282-.126.365-.241 2.018-2.787 4.586-4.909 7.676-6.389.581-.278 1.197-.488 1.855-.495.892-.008 1.287.506 1.071 1.374-.274 1.101-.935 1.993-1.638 2.828-1.911 2.273-4.163 4.133-6.864 5.4-.6.281-1.213.562-1.897.552-.398-.006-.377.252-.367.514.082 2.335-.68 4.436-1.767 6.446-.027.05-.076.088-.115.132" fill="#454E90" mask="url(#8e1knp26yc)" transform="matrix(-1 0 0 1 1456.158 0)"/> + <path d="M751.02 102.19c-.325-.058-.652-.113-.71-.523.136-.256.266-.515.407-.767 1.501-2.67 2.305-5.515 2.249-8.582-.01-.524-.045-.807-.661-.416-.338.214-.769.238-1.19.245-1.733.028-3.362-.43-4.953-1.024-3.643-1.361-7.008-3.199-9.954-5.734-1.051-.886-2.005-1.856-2.49-3.16-.394-1.055-.059-1.606 1.037-1.939.791-.24 1.557-.029 2.333.055.317.042.646.047.95.133 5.591 1.578 10.606 4.095 14.408 8.577.088.103.151.281.335.175.147-.084.124-.232.096-.383-.195-1.013-.348-2.035-.575-3.041-1.12-4.96-3.285-9.595-4.666-14.475-.074-.261-.18-.509-.547-.31-.875.473-1.83.304-2.76.32-2.936-.566-5.666-1.673-8.257-3.107-2.613-1.447-5.132-3.033-7.01-5.401-.61-.77-1.342-1.62-.785-2.652.524-.968 1.605-.829 2.53-.772 1.803.111 3.505.656 5.157 1.34 3.648 1.508 7.043 3.419 9.898 6.16.285.274.54.578.928.997-.294-1.847-.186-3.534-.177-5.218.021-3.605.96-7.046 1.99-10.468.082-.276.184-.547.28-.82.145-.415.08-.623-.438-.75-1.517-.371-2.487-1.536-3.398-2.639-2.92-3.532-5-7.504-6.077-11.954a10.095 10.095 0 0 1-.288-2.911c.087-1.669 1.255-2.303 2.713-1.402 1.33.822 2.368 1.967 3.288 3.212 2.697 3.685 4.712 7.676 5.604 12.384.3-.805.523-1.394.738-1.986 1.09-3.007 2.207-6.006 2.848-9.148.054-.263.137-.478-.098-.708-1.154-1.132-1.515-2.615-1.906-4.1-.336-1.28-.371-2.6-.654-3.882-.056-3.081-.094-6.162.693-9.18.277-1.064.633-2.102 1.204-3.054.875-1.456 2.208-1.463 3.046.019.938 1.657 1.393 3.45 1.592 5.343.16 1.517.37 3.021.329 4.552-.023.832-.313 1.646-.16 2.487-.055 2.36-.52 4.626-1.607 6.747-.143.28-.29.622-.539.772-.906.549-1.043 1.44-1.263 2.339-.695 2.83-1.697 5.566-2.684 8.306-.093.258-.269.511-.135.959.96-.887 1.873-1.718 2.887-2.422 3.28-2.277 6.745-4.164 10.723-4.998.643-.135 1.291-.125 1.926-.066 1.186.11 1.643.894 1.281 2.034-.28.88-.85 1.57-1.476 2.22-3.612 3.743-7.987 6.266-12.97 7.815-.194.06-.382.14-.574.21-1.127.056-2.257.412-3.377-.08-.323-.142-.392.185-.459.383-.875 2.595-1.504 5.252-1.96 7.944-.378 2.223-.183 4.478-.194 6.72-.001.312-.022.628.322.886.114-.175.223-.335.326-.498 1.041-1.648 2.31-3.12 3.73-4.452 1.544-1.449 3.231-2.74 4.968-3.963 1.698-.903 3.329-1.955 5.266-2.337.256-.05.52-.09.78-.094 1.384-.02 1.966.745 1.62 2.066-.416 1.585-1.387 2.869-2.42 4.072-2.864 3.336-6.24 6.066-10.289 7.93-.874.402-1.767.785-2.755.823-.484.018-.495.226-.385.619.587 2.083 1.376 4.1 2.085 6.143 1.096 3.155 2.248 6.294 2.795 9.585.377.105.423-.184.549-.354 3.026-4.086 6.877-7.199 11.514-9.37.871-.408 1.795-.716 2.782-.726 1.338-.012 1.93.743 1.606 2.015-.412 1.616-1.402 2.923-2.457 4.148-2.867 3.334-6.245 6.062-10.296 7.92-.9.412-1.82.824-2.846.81-.596-.01-.564.37-.55.754.123 3.423-1.019 6.505-2.651 9.453-.04.073-.113.13-.171.194" fill="#6B73AB" mask="url(#8e1knp26yc)"/> + <g mask="url(#8e1knp26yc)"> + <g transform="translate(646.05 3)"> + <use fill="#464D89" xlink:href="#okqxruqc7f"/> + <use fill="url(#9iaagghgbg)" xlink:href="#okqxruqc7f"/> + <use fill="url(#7ted8bby6i)" xlink:href="#ynse5dl70h"/> + </g> + <g transform="translate(626 3)"> + <use fill="#FFC62C" xlink:href="#7a2p9s6ibj"/> + <use fill="url(#wtnv1zwigk)" xlink:href="#7a2p9s6ibj"/> + </g> + <g transform="translate(626 3)"> + <use fill="#EFEFFF" xlink:href="#tuhv8e6m7l"/> + <use fill="url(#r65pzzurym)" xlink:href="#tuhv8e6m7l"/> + </g> + <g transform="translate(626 3)"> + <use fill="#EFEFFF" xlink:href="#elu74fr56n"/> + <use fill="url(#yf5gdjpoqo)" xlink:href="#elu74fr56n"/> + </g> + <g fill-rule="nonzero"> + <path d="M664.772 52.254c-.46-2.276-.024-3.77-.024-3.77s-.116.91.8 2.375c-.01 1.817.347 2.765.347 2.765l.073-.054-.073.064s-.544-.444-1.123-1.38zM666.94 51.932c.22.222.426.375.574.448l-.002-.001s.166.06.196.02c.203-.215.252-.616.117-1.37-.774-.441-.872-1.13-.872-1.13s-.14.956-.013 2.033z" fill="#364FDE"/> + <path d="M664.748 48.484s-.637 2.182.441 5.289c.03.09 0 .19-.078.249l-1.137.797c-.108.08-.265.03-.314-.1-.303-.826-1.136-3.565-.293-6.563.039-.12.166-.19.284-.14l1.097.468z" fill="#56D8FF"/> + <path d="m666.924 52.867-1.03.757s-.548-1.455-.264-4.213a.213.213 0 0 1 .323-.16l1 .648s-.196 1.344.088 2.639c.03.13-.02.259-.117.329zM668.825 51.183l-.95-.627c-.06-.04-.148.02-.128.09.225 1.006.196 1.504-.04 1.753-.029.04-.195-.02-.195-.02.156.08.196.04.196.04.156-.12.744-.548 1.117-.807.147-.11.147-.329 0-.429z" fill="#667DFF"/> + </g> + <g transform="translate(626 3)"> + <use fill="#464D89" xlink:href="#ya8y778jfp"/> + <use fill="url(#40qi6pxfaq)" xlink:href="#ya8y778jfp"/> + </g> + <g transform="translate(662.117 33.241)"> + <use fill="#FFC62C" xlink:href="#w3atceajtr"/> + <use fill="url(#cknulgfsvs)" xlink:href="#w3atceajtr"/> + </g> + <path d="M7.702 6.715c-1.543.723-3.363 1.11-5.577 1.11A8.675 8.675 0 0 1 0 7.569V3.846A3.849 3.849 0 0 1 3.85 0a3.849 3.849 0 0 1 3.852 3.846v2.87z" fill="url(#uwqzm8w77t)" transform="translate(662.117 33.241)"/> + <g transform="translate(626 3)"> + <use fill="#464D89" xlink:href="#7r6n8f2p7u"/> + <use fill="url(#u1e053vxjv)" xlink:href="#7r6n8f2p7u"/> + </g> + <g transform="translate(626 3)"> + <use fill="#FFC62C" xlink:href="#lfs4twtkgw"/> + <use fill="url(#qw72fgzeyx)" xlink:href="#lfs4twtkgw"/> + </g> + <path d="M29.76 15.784h16.698c2.172 0 4.133 2.702 4.133 6.035s-1.96 6.035-4.133 6.035H29.76c-2.172 0-4.133-2.702-4.133-6.035s1.961-6.035 4.133-6.035z" fill="url(#qwkvpwu3uy)" transform="translate(626 3)"/> + <path d="M655.76 17.457h16.698c2.172 0 4.133 2.702 4.133 6.035s-1.96 6.035-4.133 6.035H655.76c-2.172 0-4.133-2.702-4.133-6.035s1.961-6.035 4.133-6.035z" fill="#D6DFEA"/> + <path d="M653.731 19.049h18.1c2.355 0 2.768 1.99 2.768 4.443 0 2.454-.413 4.444-2.767 4.444H653.73c-2.355 0-2.767-1.99-2.767-4.444 0-2.454.412-4.443 2.767-4.443z" fill="#1F1845"/> + <path d="m673.802 20.375 1.516.076a1.2 1.2 0 0 1 1.14 1.199v.184l-2.656 2.123v-3.582z" fill="#1F1845"/> + <path d="M660.122 20.508h3.858a3.05 3.05 0 0 1 0 6.101h-3.858a3.05 3.05 0 0 1 0-6.101z" fill="#7BC1EB" opacity=".3"/> + <path d="M660.124 22.498h3.854a1.061 1.061 0 0 1 0 2.122h-3.854a1.061 1.061 0 0 1 0-2.122z" fill="#7BC1EB"/> + <path d="M657.683 71.235a.199.199 0 1 1 .105-.385c2.077.563 3.9 1.521 6.368 3.202.55.375 2.475 1.725 2.52 1.756 3.044 2.114 5.184 3.313 7.853 4.198a.199.199 0 1 1-.125.377c-2.713-.898-4.883-2.114-7.956-4.249-.046-.031-1.969-1.38-2.516-1.753-2.434-1.658-4.222-2.598-6.249-3.146z" fill="#FFF" fill-rule="nonzero"/> + <g transform="translate(626 3)"> + <use fill="#FFC62C" xlink:href="#3x1f6l92vz"/> + <use fill="url(#aqlkonu3vA)" xlink:href="#3x1f6l92vz"/> + </g> + </g> + <g fill-rule="nonzero" mask="url(#8e1knp26yc)"> + <g transform="translate(134.777 11)"> + <use fill="url(#wkogocufwB)" xlink:href="#0lsw7fzhqC"/> + <use fill="#000" filter="url(#loh5jfkkcD)" xlink:href="#0lsw7fzhqC"/> + <path stroke="url(#pdas88f3lE)" d="m8.458 2.395-.066.168-.07.19a.588.588 0 0 0-.044.119c-.05.147-.094.303-.131.455l-.009.033a1.05 1.05 0 0 0-.033.166 5.382 5.382 0 0 0-.065.324l-.006.033a1.44 1.44 0 0 0-.027.201l-.008.054a2.307 2.307 0 0 0-.028.248 1.384 1.384 0 0 0-.018.267v.537c0 .065.003.13.007.196.002.048.005.096.005.145l-.001.044.007.033c.007.047.005.092.005.138v.024a13.218 13.218 0 0 0 .054.493c.003.018.007.035.007.053l-.001.022A9.31 9.31 0 0 0 8.15 7l3.407 16.625c.026.126.055.25.085.377l.012.048.037.134c.024.092.048.183.074.276l.053.168c.012.033.023.067.034.103l.041.125.058.17.084.234c.01.028.02.05.03.074.008.017.015.035.026.068.034.104.076.213.107.28.025.056.048.108.071.164l.115.222.073.155c.037.078.085.175.115.23l.02.04a2.176 2.176 0 0 0 .118.221l.053.095.072.13.012.022a7.944 7.944 0 0 0 .15.255l.035.058.032.053.191.294.038.056c.078.116.156.227.244.349l.068.09.174.234.102.127.068.083c.035.043.068.084.09.109.037.046.078.091.119.135l.15.173.116.122c.054.06.112.12.169.177l.123.124.161.153.135.128.12.108.156.134.118.099.162.13.107.084.12.089.065.048.111.08.197.135.082.054c.115.077.233.148.35.216l.042.013.072.045.136.074.108.057.181.09c.033.018.066.033.097.047l.043.02.177.079.13.056.189.073.131.047.182.061.138.043.18.052.139.036.19.04.128.028.21.034.1.017.067.009c.096.014.19.026.286.028l13.309.992-5.994 3.456a3.647 3.647 0 0 1-1.885.467l-.249-.015-13.581-1.007c-.03-.002-.06-.007-.09-.01a2.087 2.087 0 0 0-.195-.02l-.064-.01-.185-.03-.11-.024a2.087 2.087 0 0 1-.154-.034l-.113-.03-.164-.045-.113-.035-.159-.053-.112-.041-.053-.021-.102-.041-.114-.048-.158-.07-.118-.056a3.209 3.209 0 0 1-.167-.084l-.09-.046-.209-.122-.05-.03a6.488 6.488 0 0 1-.25-.155l-.093-.063a4.2 4.2 0 0 1-.17-.115l-.098-.07-.156-.116-.104-.08-.147-.12-.106-.087-.143-.124-.102-.091-.07-.066a.369.369 0 0 1-.041-.04l-.167-.16-.111-.108-.145-.154-.109-.115-.048-.054-.095-.108-.097-.112-.05-.06c-.032-.039-.065-.078-.103-.127l-.087-.105-.027-.037c-.046-.062-.09-.124-.137-.184l-.077-.102c-.061-.078-.122-.17-.18-.259l-.02-.028-.04-.061a7.034 7.034 0 0 1-.17-.264l-.069-.11-.05-.087c-.028-.046-.055-.09-.078-.132l-.076-.133-.11-.204-.078-.15c-.034-.066-.066-.133-.097-.197l-.07-.147-.097-.214-.005-.01c-.02-.042-.033-.072-.057-.13l-.04-.1-.025-.065-.023-.055c-.02-.049-.038-.098-.054-.14l-.079-.218-.059-.176a1.838 1.838 0 0 1-.065-.195l-.046-.15-.07-.252-.03-.119c-.031-.126-.062-.251-.088-.38L.676 11.685a9.014 9.014 0 0 1-.107-.624.031.031 0 0 1-.009-.014c-.004-.012.004-.024.004-.035v-.031L.56 10.95a6.22 6.22 0 0 0-.015-.11l-.015-.105-.007-.104v-.034a.693.693 0 0 1-.005-.033c-.008-.06-.007-.11-.007-.16v-.027l-.002-.023c-.01-.097-.009-.195-.009-.29v-.222l.006-.121c.003-.062.007-.124.008-.186 0-.015.002-.03.004-.045.005-.053.01-.106.011-.159.009-.093.02-.184.032-.274l.01-.065c.004-.035.008-.07.015-.11.017-.1.038-.206.06-.307l.017-.077.013-.06c.035-.141.074-.28.12-.415l-.005.012.018-.04.015-.05c.038-.107.079-.213.123-.316l.015-.033c.033-.08.074-.158.114-.235.028-.056.056-.112.087-.166.032-.056.065-.11.1-.164l.022-.033.01-.016.03-.045c.042-.064.108-.155.132-.187l.032-.04.042-.051.046-.056.092-.108.052-.055.026-.027.148-.144.093-.083c.051-.045.106-.086.16-.127l6.31-3.664z" stroke-linejoin="square"/> + </g> + <path d="m12.805.5.265.012 13.578 1.005c1.543.114 3.088 1 4.35 2.31 1.292 1.341 2.289 3.136 2.684 5.067l3.423 16.636c.385 1.872.136 3.528-.615 4.684a3.51 3.51 0 0 1-1.413 1.27c-.557.27-1.204.39-1.919.337L19.584 30.81c-1.543-.115-3.088-1-4.35-2.31-1.291-1.342-2.289-3.137-2.684-5.07L9.13 6.8c-.388-1.87-.14-3.524.608-4.678.361-.557.838-.993 1.413-1.271.557-.27 1.205-.391 1.92-.34z" stroke="#6097FF" fill="url(#t5ezqjzkaF)" transform="translate(134.777 11)"/> + <g fill="#F9F9F9"> + <path d="M166.667 27.94c.657.982.935 2.535.672 3.71-.298 1.28-1.242 2.159-2.688 2.467a4.958 4.958 0 0 1-.87.076 6.853 6.853 0 0 1-1.145-.065 5.329 5.329 0 0 1-2.844-1.58c-.274-.301-.823-1.11-.8-1.164l.232-.186.926-.68.696-.517.197.265c.3.427.671.798 1.1 1.096a2.63 2.63 0 0 0 1.292.322c.518-.009.99-.185 1.27-.517a1.15 1.15 0 0 0 .259-.922 1.39 1.39 0 0 0-.274-.776c-.243-.332-.693-.6-1.94-1.19-1.431-.647-2.052-1.065-2.658-1.712a5.027 5.027 0 0 1-.874-1.513c-.143-.441-.281-1.524-.23-1.96.129-1.53 1.026-2.615 2.421-2.945.235-.05.475-.073.715-.071.434-.015.869.024 1.293.114a3.63 3.63 0 0 1 1.745 1.078c.274.301.688.829.728.966 0 .045-1.05.957-1.694 1.465-.043 0-.153-.12-.268-.301-.398-.559-.776-.798-1.324-.834h-.13c-.717.011-1.141.491-1.067 1.245.016.203.076.4.176.578.218.416.572.663 1.647 1.164 1.977.905 2.856 1.507 3.437 2.387zM152.626 20.399c2.54-.043 4.631-.071 4.631-.048.029.014.083.57.15 1.258l.12 1.22-3.434.058 1.106 11.285-2.435.042-1.102-11.291-3.43.058-.122-1.244-.1-1.243 4.616-.095z"/> + </g> + <g> + <path d="m10.663.525 15.141 5.017c2.568 1.5 2.877 1.715 3.036 1.861l.03.028c.195.19.335.33.462.468.139.156.247.28.345.399l1.863 17.688-6.44 7.609.982-14.71c-.12-1.28-.128-1.303-.133-1.325-1.978-3.983-2.125-4.134-2.262-4.287a8.107 8.107 0 0 0-.521-.55c-.258-.241-.451-.41-.658-.58l-16.41-6.31-1.614-.23 3.36-4.194 2.82-.884z" stroke="url(#thyx1mi5hG)" fill="url(#m5b2clgzlH)" transform="translate(129 27.142)"/> + <path d="M19.557 11.035c3.31 1.148 6.012 4.66 6.032 7.84l.091 13.078c.023 3.176-2.643 4.832-5.953 3.684L6.123 30.923c-3.31-1.148-6.012-4.66-6.032-7.84L0 10.004c-.023-3.176 2.643-4.83 5.953-3.684l13.604 4.714z" fill="url(#48qeiozz2I)" transform="translate(129 27.142)"/> + <path fill="#3EB17E" d="m149.431 44.84-8.617 10-8.147-15.584 3.31 1.103 4.93 9.401 5.171-6.037z"/> + <path fill="#33465A" d="m146.078 43.723-5.171 6.037-4.93-9.4 3.101 1.031 1.917 3.624 1.982-2.325z"/> + </g> + </g> + <g fill-rule="nonzero" mask="url(#8e1knp26yc)"> + <path d="M31.352 8.466c.832-.27 1.593-.356 2.258-.27.647.082 1.199.328 1.626.722.88.812 1.209 2.216.883 3.975L33.892 25.12c-.346 1.9-1.389 3.853-2.783 5.477-1.392 1.62-3.137 2.917-4.916 3.493l-11.454 3.717c-.832.27-1.593.355-2.259.27-.646-.083-1.199-.328-1.626-.722-.883-.812-1.215-2.218-.894-3.978l2.227-12.225c.346-1.9 1.387-3.852 2.78-5.474 1.392-1.62 3.139-2.918 4.918-3.496z" stroke="#FFF9E3" fill="url(#r4mim3vrfJ)" transform="translate(691.186 25)"/> + <path d="M14.18 3.323c.412-.04.7.02.785.17.287.509-.735 3.834-2.583 5.817l-.05.055a4.981 4.981 0 0 0-1.949-2.206c.199-.602.362-1.215.49-1.835a7.19 7.19 0 0 0 .097-.55c1.146-.915 2.41-1.371 3.21-1.451z" fill="url(#fqv2xsmtxK)" transform="translate(707.86 35.889)"/> + <path d="M717.344 47.913a.214.214 0 0 1 .241.248.438.438 0 0 1-.319.377h-.035a.216.216 0 0 1-.241-.248.438.438 0 0 1 .319-.375l.035-.002z" fill="#CDCDCD"/> + <g fill="#ECB732"> + <path d="m714.46 46.649.758-.85.254.247-.753.846z"/> + <path d="m714.55 44.483.983.96.255.249.611.594-.32.351-.607-.59-.254-.248-.986-.963z"/> + </g> + <path fill="#ECB732" d="m716.755 44.073.258.242-1.225 1.377-.255-.25zM719.54 50.937l.262.241-1.585 1.808-.248-.255zM716.037 54.936l1.62-1.848.247.256-1.607 1.833z"/> + <path d="M718.337 49.225c.453-.044.78.063.759.267-.026.232-.498.509-1.058.612a2.592 2.592 0 0 1-.213.03c-.452.045-.778-.06-.757-.264.023-.234.497-.51 1.057-.614.073-.014.144-.024.212-.03z" fill="#EAADCC"/> + <path d="M718.342 48.146a1.156 1.156 0 0 1-.848.99l-.095.016a.569.569 0 0 1-.639-.655c.051-.474.388-.868.849-.991a.66.66 0 0 1 .095-.017.567.567 0 0 1 .638.657zm-1.076.392a.438.438 0 0 0 .32-.377.214.214 0 0 0-.242-.248h-.035a.438.438 0 0 0-.32.375.216.216 0 0 0 .242.248h.035" fill="#000"/> + <path fill="#ECB732" d="m711.657 54.21 1.298 1.301-.32.35-1.288-1.29zM709.824 53.045l.321-.35 1.261 1.263-.31.36z"/> + <path fill="#ECB732" d="m712.545 52.64.263.236-1.15 1.334-.311.361-.77.893-.264-.236.782-.91.311-.36z"/> + <path d="M713.687 49.884c.02-.003.04.006.05.023.138.22.366.318.707.296h.04c.337-.039.65-.192.887-.435a.095.095 0 0 1 .054-.025.048.048 0 0 1 .047.018c.02.037.01.082-.022.107-.264.27-.613.441-.987.486h-.045c-.371.027-.646-.087-.802-.34a.09.09 0 0 1 .03-.108.078.078 0 0 1 .041-.022z" fill="#000"/> + <path d="M711.245 50.04a.76.76 0 0 0 .595.17 1.135 1.135 0 0 0 .278-.066.253.253 0 0 1 .128.264c-.05.236-.455.451-.92.497h-.071c-.496.03-.849-.147-.8-.395.046-.195.382-.4.79-.47z" fill="#EAADCC"/> + <path d="M711.832 48.71a.216.216 0 0 1 .241.247.436.436 0 0 1-.32.375h-.035a.216.216 0 0 1-.242-.248.438.438 0 0 1 .32-.375h.036z" fill="#CDCDCD"/> + <path d="M712.83 48.94a1.15 1.15 0 0 1-.849.991l-.095.015a.569.569 0 0 1-.631-.65c.05-.474.388-.868.849-.99l.095-.016a.569.569 0 0 1 .63.65zm-1.076.392a.436.436 0 0 0 .319-.375.216.216 0 0 0-.241-.248h-.036a.438.438 0 0 0-.32.375.216.216 0 0 0 .242.248h.036" fill="#000"/> + <path d="M713.086 48.882a1.546 1.546 0 0 1-.967 1.268 1.135 1.135 0 0 1-.279.066.76.76 0 0 1-.595-.17.82.82 0 0 1-.25-.69 1.527 1.527 0 0 1 1.12-1.314l.126-.02c.513-.056.88.309.845.86zm-1.101 1.05a1.15 1.15 0 0 0 .848-.992.569.569 0 0 0-.638-.655l-.095.015c-.46.123-.798.517-.848.991a.569.569 0 0 0 .638.655l.095-.015" fill="#FFF9E3"/> + <path d="M12.331 9.363a4.981 4.981 0 0 0-1.948-2.206 4.085 4.085 0 0 0-2.485-.51 5.6 5.6 0 0 0-1.566.4c-1.118.47-2.18 1.298-3.104 2.367a13.694 13.694 0 0 0-3.141 7.393c-.438 4.288 1.664 5.223 4.609 4.932.409-.04.832-.104 1.268-.185 3.582-.68 6.596-2.29 7.094-7.174.2-1.959-.083-3.688-.727-5.017zm-1.096 4.243c-.025.232-.497.509-1.057.613a2.592 2.592 0 0 1-.214.03c-.452.044-.777-.061-.757-.265.024-.234.497-.509 1.057-.614.073-.014.145-.024.212-.03.454-.045.78.062.759.266m-1.342-2.27c.509-.052.884.313.848.866a1.527 1.527 0 0 1-1.12 1.314l-.127.02c-.51.05-.881-.315-.849-.869a1.527 1.527 0 0 1 1.12-1.311.82.82 0 0 1 .124-.02M6.687 8.598l.982.96 1.222-1.372.258.243-1.225 1.376.61.594-.318.351-.608-.59-.753.848-.258-.244.757-.849-.986-.962.319-.351M4.77 19.973l-1.288-1.29-.768.892-.263-.228.783-.91-1.271-1.272.32-.35 1.261 1.263 1.14-1.319.262.236-1.15 1.334 1.298 1.302-.321.35M5.225 13a1.546 1.546 0 0 1-.967 1.268.253.253 0 0 1 .127.265c-.049.236-.454.452-.92.498h-.07c-.496.03-.85-.148-.8-.396.046-.215.382-.412.79-.482a.82.82 0 0 1-.25-.69 1.527 1.527 0 0 1 1.12-1.314l.125-.02c.51-.05.883.315.849.867m2.364.982c-.264.27-.613.441-.988.486h-.044c-.372.027-.646-.087-.803-.34a.09.09 0 0 1 .03-.108.078.078 0 0 1 .047-.022c.02-.003.04.006.05.023.138.22.366.318.707.296h.04c.337-.04.65-.192.886-.435a.095.095 0 0 1 .055-.025.048.048 0 0 1 .047.018c.02.037.01.082-.022.107m2.755 3.118.626.645-.324.348-.615-.635-1.607 1.833-.26-.241 1.62-1.848-.919-.947.323-.34.908.937 1.571-1.794.262.243-1.585 1.799" fill="url(#ha6z8uam8L)" transform="translate(707.86 35.889)"/> + <path fill="#ECB732" d="m717.06 51.795.909.936.248.255.626.645-.324.348-.615-.635-.247-.256-.919-.947z"/> + <path d="M718.6 48.088a1.527 1.527 0 0 1-1.12 1.314l-.127.02c-.51.05-.881-.316-.849-.869a1.527 1.527 0 0 1 1.12-1.312.82.82 0 0 1 .124-.02c.52-.051.89.314.852.867zm-1.101 1.049c.46-.124.797-.518.848-.991a.567.567 0 0 0-.636-.657.66.66 0 0 0-.095.017c-.46.123-.798.517-.849.991a.569.569 0 0 0 .638.655l.095-.015" fill="#FFF9E3"/> + <path d="M9.884.137c.535-.032 1.43 2.17 1.086 4.64a7.19 7.19 0 0 1-.096.55c-.129.62-.292 1.233-.49 1.835a4.085 4.085 0 0 0-2.486-.51 5.6 5.6 0 0 0-1.566.4c.053-.445.14-.937.253-1.468.046-.22.103-.438.17-.656.743-2.447 2.6-4.74 3.13-4.79z" fill="url(#9405biog1M)" transform="translate(707.86 35.889)"/> + <path d="M4.002 3.903a3.718 3.718 0 0 1 2.753 1.019 7.583 7.583 0 0 0-.17.655c-.114.531-.2 1.018-.253 1.47-1.118.468-2.18 1.296-3.104 2.365-.762-1.867-.35-4.764.126-5.274.183-.15.411-.232.648-.235z" fill="url(#v1x4ocgd3N)" transform="translate(707.86 35.889)"/> + <path d="M22.623.598 32.63 7.189l-13.058 4.044c-.084.028-.167.058-.25.089l-.253.095a9.7 9.7 0 0 0-.621.268c-.381.196-.612.318-.768.404l-.117.065a6.397 6.397 0 0 0-.2.118c-.062.044-.12.086-.177.125l-.44.316c-.634.456-.791.587-.943.716-.208.177-.358.317-.503.454a19.19 19.19 0 0 0-.501.49c-.643.844-1.103 1.45-1.433 1.89l-.243.325c-.288.386-.441.596-.528.723l-.068.102c-.013.02-.024.037-.032.052l-.016.027-.014.025c-.645 1.347-.722 1.539-.792 1.73L8.97 33.192c-.157.877-.17 1.674-.06 2.378l.037.212-7.328-6.059c-.417-.346-.725-.82-.911-1.396l-.064-.22c-.18-.699-.195-1.526-.025-2.456l2.227-12.227c.527-1.663.608-1.879.7-2.091l.805-1.575C6.304 7.379 6.797 6.809 6.992 6.61l.035-.035c.02-.02.038-.035.054-.05l.023-.02c.21-.177.397-.332.587-.477l.051-.039L22.031.761l.592-.163z" stroke="#AF8822" fill="url(#2oxz7tuj2O)" transform="translate(691.186 25)"/> + <g> + <path d="M8.487.525 20.5 4.505c1.632.954 2.104 1.246 2.292 1.384l2.187 14.641-4.87 5.844.757-11.365a147.45 147.45 0 0 0-.293-1.559l-.028-.14a4.16 4.16 0 0 0-.067-.307l-.008-.02c-1.958-2.853-2.25-3.19-2.399-3.321l-.023-.02c-.023-.02-.044-.037-.07-.062L4.88 4.544l-1.12-.16L6.305 1.21 8.487.525z" stroke="url(#t09k17sy3P)" fill="url(#gjzz4cvncQ)" transform="translate(684 42.675)"/> + <path d="M1.639 5.632c.75-.464 1.792-.524 2.936-.128l10.829 3.753c1.228.426 2.34 1.293 3.15 2.346.799 1.038 1.308 2.26 1.316 3.426l.072 10.41c.007 1.058-.414 1.88-1.14 2.329-.75.465-1.791.524-2.935.128L5.038 24.143c-1.228-.426-2.34-1.294-3.15-2.347-.8-1.038-1.308-2.26-1.316-3.426L.5 7.96C.492 6.903.914 6.08 1.639 5.633z" stroke="#74EFC9" fill="url(#uaaoloz60R)" transform="translate(684 42.675)"/> + <path d="M693.719 53.457c.374.125.671.412.808.782l.916 2.442-3.99 4.457c-.314.35-.26.89.032 1.286l-3.318-1.06c-.78-.248-1.15-1.237-.667-1.779l5.27-5.908a.881.881 0 0 1 .949-.22z" fill="#80EEC0"/> + <path d="M697.775 56.514c.31.1.557.336.673.64l2.685 7.065c.247.65-.253 1.203-.898.997l-7.04-2.244c-.646-.206-.953-1.017-.554-1.46l4.351-4.82c.202-.21.51-.28.783-.178z" fill="#00DC82"/> + </g> + </g> + </g> +</svg> diff --git a/themes/vue/source/images/banners/close.svg b/themes/vue/source/images/banners/close.svg new file mode 100644 index 0000000000..a9d51d1d86 --- /dev/null +++ b/themes/vue/source/images/banners/close.svg @@ -0,0 +1,7 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"> + <g fill="none" fill-rule="evenodd"> + <g fill="#FFF" fill-rule="nonzero"> + <path d="M1569.69 33.321c-.415-.414-1.084-.414-1.498 0L1563 38.503l-5.192-5.192c-.414-.415-1.083-.415-1.497 0-.415.414-.415 1.083 0 1.497l5.192 5.192-5.192 5.192c-.415.414-.415 1.083 0 1.497.414.415 1.083.415 1.497 0l5.192-5.192 5.192 5.192c.414.415 1.083.415 1.497 0 .415-.414.415-1.083 0-1.497L1564.497 40l5.192-5.192c.404-.404.404-1.083 0-1.487z" transform="translate(-1556.000000, -33.000000)"/> + </g> + </g> +</svg> diff --git a/themes/vue/source/images/banners/vs-iso.svg b/themes/vue/source/images/banners/vs-iso.svg new file mode 100644 index 0000000000..b3bb7a8ca4 --- /dev/null +++ b/themes/vue/source/images/banners/vs-iso.svg @@ -0,0 +1,10 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="36" height="41" viewBox="0 0 36 41"> + <g fill="none" fill-rule="evenodd"> + <g fill-rule="nonzero"> + <g> + <path fill="#FCFCFE" d="M10.381 24.917c-2.696-13.332-.141-22.08-.141-22.08s-.684 5.325 4.688 13.91c-.068 10.64 2.027 16.191 2.027 16.191l.43-.316-.43.375s-3.186-2.6-6.574-8.08zM23.08 23.03c1.289 1.298 2.491 2.197 3.36 2.624l-.015-.008s.976.35 1.148.117c1.19-1.26 1.48-3.606.687-8.017-4.534-2.589-5.107-6.625-5.107-6.625s-.816 5.603-.073 11.909z" opacity=".5" transform="translate(-10 -20) translate(10 20)"/> + <path fill="#FFF" d="M10.24 2.837s-3.731 12.776 2.582 30.976c.172.525 0 1.109-.459 1.459l-6.658 4.667c-.631.466-1.55.175-1.836-.584C2.089 34.513-2.79 18.471 2.147.912c.23-.7.975-1.108 1.664-.817l6.428 2.742zM22.981 28.505l-6.026 4.433s-3.214-8.517-1.55-24.676c.115-.933 1.09-1.4 1.894-.933l5.854 3.792s-1.148 7.875.517 15.459c.172.758-.115 1.516-.689 1.925zM34.116 18.646l-5.568-3.675c-.344-.233-.86.117-.746.525 1.32 5.892 1.148 8.809-.23 10.267-.172.233-1.147-.117-1.147-.117.918.467 1.148.234 1.148.234.918-.7 4.362-3.209 6.543-4.726.86-.641.86-1.925 0-2.508z" transform="translate(-10 -20) translate(10 20)"/> + </g> + </g> + </g> +</svg> \ No newline at end of file diff --git a/themes/vue/source/images/banners/vs-logo.svg b/themes/vue/source/images/banners/vs-logo.svg new file mode 100644 index 0000000000..9b72a0ed0e --- /dev/null +++ b/themes/vue/source/images/banners/vs-logo.svg @@ -0,0 +1,13 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="120" height="41" viewBox="0 0 120 41"> + <g fill="none" fill-rule="evenodd"> + <g fill-rule="nonzero"> + <g> + <g> + <path fill="#FCFCFE" d="M10.381 24.917c-2.696-13.332-.141-22.08-.141-22.08s-.684 5.325 4.688 13.91c-.068 10.64 2.027 16.191 2.027 16.191l.43-.316-.43.375s-3.186-2.6-6.574-8.08zM23.08 23.03c1.289 1.298 2.491 2.197 3.36 2.624l-.015-.008s.976.35 1.148.117c1.19-1.26 1.48-3.606.687-8.017-4.534-2.589-5.107-6.625-5.107-6.625s-.816 5.603-.073 11.909z" opacity=".5" transform="translate(-50 -20) translate(50 20)"/> + <path fill="#FFF" d="M10.24 2.837s-3.731 12.776 2.582 30.976c.172.525 0 1.109-.459 1.459l-6.658 4.667c-.631.466-1.55.175-1.836-.584C2.089 34.513-2.79 18.471 2.147.912c.23-.7.975-1.108 1.664-.817l6.428 2.742zM22.981 28.505l-6.026 4.433s-3.214-8.517-1.55-24.676c.115-.933 1.09-1.4 1.894-.933l5.854 3.792s-1.148 7.875.517 15.459c.172.758-.115 1.516-.689 1.925zM34.116 18.646l-5.568-3.675c-.344-.233-.86.117-.746.525 1.32 5.892 1.148 8.809-.23 10.267-.172.233-1.147-.117-1.147-.117.918.467 1.148.234 1.148.234.918-.7 4.362-3.209 6.543-4.726.86-.641.86-1.925 0-2.508z" transform="translate(-50 -20) translate(50 20)"/> + </g> + <path fill="#FFF" d="M54.132 17.571l4.401-11.864H56.09l-3.096 8.819-3.096-8.82h-2.527l4.385 11.865h2.376zm8.066.218c.87 0 1.824-.335 2.276-1.105 0 .335.034.72.067.887h2.126c-.034-.284-.084-.853-.084-1.489V9.338h-2.226v4.786c0 .954-.569 1.623-1.556 1.623-1.038 0-1.506-.736-1.506-1.656V9.338h-2.226v5.204c0 1.791 1.138 3.247 3.13 3.247zm10.36.033c2.024 0 3.33-1.188 3.748-2.61l-1.858-.552c-.268.736-.837 1.255-1.874 1.255-1.105 0-2.025-.787-2.075-1.875h5.89c0-.033.034-.368.034-.686 0-2.644-1.523-4.267-4.067-4.267-2.108 0-4.05 1.707-4.05 4.334 0 2.778 1.992 4.401 4.251 4.401zm1.673-5.304h-3.682c.05-.754.686-1.624 1.84-1.624 1.273 0 1.808.804 1.842 1.624zM52.425 35.394c2.762 0 4.284-1.84 4.284-3.665 0-1.673-1.154-3.08-3.313-3.498l-1.657-.318c-.87-.167-1.288-.686-1.288-1.338 0-.787.736-1.506 1.857-1.506 1.506 0 2.042 1.02 2.159 1.673l2.075-.636c-.268-1.339-1.372-3.08-4.25-3.08-2.243 0-4.134 1.607-4.134 3.716 0 1.79 1.222 3.012 3.113 3.397l1.656.335c.92.184 1.44.72 1.44 1.406 0 .836-.687 1.456-1.925 1.456-1.673 0-2.493-1.055-2.594-2.226l-2.142.569c.184 1.69 1.573 3.715 4.72 3.715zm9.723 0c2.192 0 3.481-1.406 3.85-2.778l-1.959-.653c-.184.636-.753 1.39-1.89 1.39-1.139 0-2.11-.837-2.11-2.327s.954-2.31 2.092-2.31c1.105 0 1.624.704 1.825 1.39l1.99-.67c-.35-1.389-1.622-2.778-3.865-2.778-2.393 0-4.267 1.824-4.267 4.368 0 2.527 1.908 4.368 4.334 4.368zm7.715-.251v-4.836c.05-.904.602-1.607 1.54-1.607 1.07 0 1.522.72 1.522 1.64v4.803h2.226v-5.188c0-1.807-.97-3.263-3.062-3.263-.787 0-1.69.268-2.226.904v-4.57h-2.226v12.117h2.226zm11.246.25c2.46 0 4.317-1.84 4.317-4.367 0-2.544-1.857-4.368-4.317-4.368s-4.318 1.824-4.318 4.368c0 2.527 1.858 4.368 4.318 4.368zm0-2.024c-1.088 0-2.092-.803-2.092-2.343 0-1.556 1.004-2.343 2.092-2.343 1.087 0 2.091.787 2.091 2.343s-1.004 2.343-2.091 2.343zm9.773 2.025c2.46 0 4.317-1.84 4.317-4.368 0-2.544-1.857-4.368-4.317-4.368s-4.318 1.824-4.318 4.368c0 2.527 1.858 4.368 4.318 4.368zm0-2.025c-1.088 0-2.092-.803-2.092-2.343 0-1.556 1.004-2.343 2.092-2.343 1.087 0 2.091.787 2.091 2.343s-1.004 2.343-2.091 2.343zm8.3 1.774V23.027h-2.226v12.116h2.226zm3.682.117c.853 0 1.54-.686 1.54-1.523 0-.837-.687-1.523-1.54-1.523-.837 0-1.523.686-1.523 1.523 0 .837.686 1.523 1.523 1.523zm4.903-9.69c.77 0 1.372-.619 1.372-1.355 0-.77-.602-1.389-1.372-1.389-.753 0-1.372.62-1.372 1.39 0 .735.619 1.355 1.372 1.355zm1.121 9.573v-8.234h-2.226v8.234h2.226zm6.075.25c2.46 0 4.317-1.84 4.317-4.367 0-2.544-1.857-4.368-4.317-4.368s-4.318 1.824-4.318 4.368c0 2.527 1.858 4.368 4.318 4.368zm0-2.024c-1.088 0-2.092-.803-2.092-2.343 0-1.556 1.004-2.343 2.092-2.343s2.092.787 2.092 2.343-1.004 2.343-2.092 2.343z" transform="translate(-50 -20) translate(50 20)"/> + </g> + </g> + </g> +</svg> \ No newline at end of file diff --git a/themes/vue/source/images/bestvpn_co.png b/themes/vue/source/images/bestvpn_co.png new file mode 100644 index 0000000000..b86c581116 Binary files /dev/null and b/themes/vue/source/images/bestvpn_co.png differ diff --git a/themes/vue/source/images/betting_bet.png b/themes/vue/source/images/betting_bet.png new file mode 100644 index 0000000000..dfb61ff0a9 Binary files /dev/null and b/themes/vue/source/images/betting_bet.png differ diff --git a/themes/vue/source/images/bit-wide.png b/themes/vue/source/images/bit-wide.png deleted file mode 100644 index d6bb2b04c9..0000000000 Binary files a/themes/vue/source/images/bit-wide.png and /dev/null differ diff --git a/themes/vue/source/images/bit.png b/themes/vue/source/images/bit.png index 6981b2a0d7..574b9de403 100644 Binary files a/themes/vue/source/images/bit.png and b/themes/vue/source/images/bit.png differ diff --git a/themes/vue/source/images/blokt_cryptocurrency_news.png b/themes/vue/source/images/blokt_cryptocurrency_news.png new file mode 100644 index 0000000000..e821b40bc7 Binary files /dev/null and b/themes/vue/source/images/blokt_cryptocurrency_news.png differ diff --git a/themes/vue/source/images/bmqb.png b/themes/vue/source/images/bmqb.png deleted file mode 100644 index 6c5f6093a5..0000000000 Binary files a/themes/vue/source/images/bmqb.png and /dev/null differ diff --git a/themes/vue/source/images/cloudstudio.png b/themes/vue/source/images/cloudstudio.png new file mode 100644 index 0000000000..67b07a4c2c Binary files /dev/null and b/themes/vue/source/images/cloudstudio.png differ diff --git a/themes/vue/source/images/codepilot.png b/themes/vue/source/images/codepilot.png deleted file mode 100644 index ab671abc12..0000000000 Binary files a/themes/vue/source/images/codepilot.png and /dev/null differ diff --git a/themes/vue/source/images/coding.png b/themes/vue/source/images/coding.png new file mode 100644 index 0000000000..a2b55da4df Binary files /dev/null and b/themes/vue/source/images/coding.png differ diff --git a/themes/vue/source/images/conf.png b/themes/vue/source/images/conf.png deleted file mode 100644 index e23bbf9f3c..0000000000 Binary files a/themes/vue/source/images/conf.png and /dev/null differ diff --git a/themes/vue/source/images/daily.png b/themes/vue/source/images/daily.png new file mode 100644 index 0000000000..5c8959c4bf Binary files /dev/null and b/themes/vue/source/images/daily.png differ diff --git a/themes/vue/source/images/das_keyboard.png b/themes/vue/source/images/das_keyboard.png new file mode 100644 index 0000000000..f4eebaff4b Binary files /dev/null and b/themes/vue/source/images/das_keyboard.png differ diff --git a/themes/vue/source/images/daskeyboard.png b/themes/vue/source/images/daskeyboard.png new file mode 100644 index 0000000000..f4eebaff4b Binary files /dev/null and b/themes/vue/source/images/daskeyboard.png differ diff --git a/themes/vue/source/images/datacamp.png b/themes/vue/source/images/datacamp.png deleted file mode 100644 index f92a9e98f0..0000000000 Binary files a/themes/vue/source/images/datacamp.png and /dev/null differ diff --git a/themes/vue/source/images/dcloud.gif b/themes/vue/source/images/dcloud.gif new file mode 100644 index 0000000000..4cfd3d6c96 Binary files /dev/null and b/themes/vue/source/images/dcloud.gif differ diff --git a/themes/vue/source/images/derek_pollard.png b/themes/vue/source/images/derek_pollard.png new file mode 100644 index 0000000000..f2eba89a20 Binary files /dev/null and b/themes/vue/source/images/derek_pollard.png differ diff --git a/themes/vue/source/images/devexpress.png b/themes/vue/source/images/devexpress.png new file mode 100644 index 0000000000..aa7b08ea79 Binary files /dev/null and b/themes/vue/source/images/devexpress.png differ diff --git a/themes/vue/source/images/devsquad.png b/themes/vue/source/images/devsquad.png new file mode 100644 index 0000000000..ecd0a9bae6 Binary files /dev/null and b/themes/vue/source/images/devsquad.png differ diff --git a/themes/vue/source/images/dopamine.png b/themes/vue/source/images/dopamine.png new file mode 100644 index 0000000000..3d688c7a55 Binary files /dev/null and b/themes/vue/source/images/dopamine.png differ diff --git a/themes/vue/source/images/doximity.png b/themes/vue/source/images/doximity.png new file mode 100644 index 0000000000..4cffdda0df Binary files /dev/null and b/themes/vue/source/images/doximity.png differ diff --git a/themes/vue/source/images/dronahq.png b/themes/vue/source/images/dronahq.png new file mode 100644 index 0000000000..00098a77a7 Binary files /dev/null and b/themes/vue/source/images/dronahq.png differ diff --git a/themes/vue/source/images/earthlink.png b/themes/vue/source/images/earthlink.png new file mode 100644 index 0000000000..9f0ec0cb47 Binary files /dev/null and b/themes/vue/source/images/earthlink.png differ diff --git a/themes/vue/source/images/empiricus.png b/themes/vue/source/images/empiricus.png new file mode 100644 index 0000000000..3f6ffee8b7 Binary files /dev/null and b/themes/vue/source/images/empiricus.png differ diff --git a/themes/vue/source/images/emq.png b/themes/vue/source/images/emq.png new file mode 100644 index 0000000000..2e10a73379 Binary files /dev/null and b/themes/vue/source/images/emq.png differ diff --git a/themes/vue/source/images/energy_comparison.png b/themes/vue/source/images/energy_comparison.png new file mode 100644 index 0000000000..2dfd3447f4 Binary files /dev/null and b/themes/vue/source/images/energy_comparison.png differ diff --git a/themes/vue/source/images/exmax.png b/themes/vue/source/images/exmax.png new file mode 100644 index 0000000000..8cc15ec3c4 Binary files /dev/null and b/themes/vue/source/images/exmax.png differ diff --git a/themes/vue/source/images/famebroker.png b/themes/vue/source/images/famebroker.png deleted file mode 100644 index e137b2df2f..0000000000 Binary files a/themes/vue/source/images/famebroker.png and /dev/null differ diff --git a/themes/vue/source/images/fastcoding_inc.png b/themes/vue/source/images/fastcoding_inc.png new file mode 100644 index 0000000000..6dabf5fa3e Binary files /dev/null and b/themes/vue/source/images/fastcoding_inc.png differ diff --git a/themes/vue/source/images/fastcoding_inc.svg b/themes/vue/source/images/fastcoding_inc.svg new file mode 100644 index 0000000000..d7726cbae5 --- /dev/null +++ b/themes/vue/source/images/fastcoding_inc.svg @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg width="180px" height="19px" viewBox="0 0 180 19" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <!-- Generator: Sketch 52.3 (67297) - http://www.bohemiancoding.com/sketch --> + <title>logo copy</title> + <desc>Created with Sketch.</desc> + <g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> + <g id="PC-header" transform="translate(-612.000000, -54.000000)" fill="#C11C1F"> + <g id="Group" transform="translate(610.000000, 25.000000)"> + <g id="logo-copy" transform="translate(2.000000, 29.000000)"> + <polygon id="Fill-1" points="7.99360578e-15 8.8817842e-15 7.99360578e-15 17.9086027 3.79838561 17.9086027 3.79838561 10.6472715 11.1467515 10.6472715 11.1467515 7.28431006 3.79838561 7.28431006 3.79838561 3.45257914 11.8243266 3.45257914 11.8243266 8.8817842e-15"></polygon> + <path d="M21.0662694,8.8817842e-15 L14.4642857,17.9086027 L18.6685166,17.9086027 L19.9805166,14.010233 L26.9218709,14.010233 L28.2338709,17.9086027 L32.439268,17.9086027 L25.8361181,8.8817842e-15 L21.0662694,8.8817842e-15 Z M23.4640222,3.76509213 L25.8361181,10.825358 L21.0662694,10.825358 L23.4640222,3.76509213 Z" id="Fill-2"></path> + <path d="M46.6753734,4.65552435 C45.4088561,3.85356088 44.1878215,3.45257914 43.0799104,3.45257914 C41.6104705,3.45257914 40.7276403,4.27752151 40.7276403,5.32421023 C40.7276403,6.50417654 41.5428296,6.88332833 43.0344278,7.37392776 C46.1995547,8.39763758 48.484184,9.51211404 48.484184,12.8980544 C48.484184,16.0829294 45.9289912,18.6220974 41.8367176,18.6220974 C39.7783355,18.6220974 37.9240422,18.0660081 36.1607143,16.9745106 L37.2919498,13.6104002 C38.8068724,14.6800678 40.3206288,15.1695183 41.7002696,15.1695183 C43.2606749,15.1695183 44.6403157,14.4790024 44.6403157,13.1646096 C44.6403157,12.0064732 43.7808099,11.4055751 41.6326287,10.6702504 C39.0552777,9.80164813 36.9082627,8.64351177 36.9082627,5.52412662 C36.9082627,2.42886932 39.3491657,-1.42108547e-14 42.9667869,-1.42108547e-14 C44.8665628,-1.42108547e-14 46.2905201,0.579068182 47.5570373,1.27073295 L46.6753734,4.65552435 Z" id="Fill-3"></path> + <polygon id="Fill-6" points="61.1461398 17.9086027 57.325596 17.9086027 57.325596 3.45143019 51.8303571 3.45143019 51.8303571 8.8817842e-15 66.6402125 8.8817842e-15 66.6402125 3.45143019 61.1461398 3.45143019"></polygon> + <path d="M85.4669518,17.3295345 C83.5905003,18.2211157 81.7140489,18.6220974 79.6335085,18.6220974 C73.0770075,18.6220974 69.9107143,14.1446595 69.9107143,9.33287865 C69.9107143,3.63066558 74.2070768,-1.42108547e-14 79.6113503,-1.42108547e-14 C81.6907244,-1.42108547e-14 83.7257821,0.600898133 85.4669518,1.71422565 L84.223759,5.14497484 C83.7036239,4.69918425 82.2785004,3.45143019 79.6335085,3.45143019 C75.8129647,3.45143019 73.7324243,6.10319481 73.7324243,9.3110487 C73.7324243,12.4292849 75.6765167,15.1695183 79.8819138,15.1695183 C82.7088364,15.1695183 84.5852879,13.9217642 85.4669518,13.342696 L85.4669518,17.3295345 Z" id="Fill-8"></path> + <path d="M98.5798522,15.1695183 C102.016709,15.1695183 104.142732,12.2960073 104.142732,9.3110487 C104.142732,6.3260901 102.016709,3.45257914 98.5798522,3.45257914 C95.1429954,3.45257914 93.0169724,6.3260901 93.0169724,9.3110487 C93.0169724,12.2960073 95.1429954,15.1695183 98.5798522,15.1695183 M98.5798522,-1.42108547e-14 C103.756712,-1.42108547e-14 107.963276,3.76394318 107.963276,9.3110487 C107.963276,14.8799842 103.734554,18.6220974 98.5798522,18.6220974 C93.4473084,18.6220974 89.1964286,14.924793 89.1964286,9.3110487 C89.1964286,3.71913433 93.4473084,-1.42108547e-14 98.5798522,-1.42108547e-14" id="Fill-11"></path> + <path d="M115.918758,14.4571725 L118.382986,14.4571725 C121.051302,14.4571725 124.805371,14.4571725 124.805371,8.95487581 C124.805371,3.47440909 121.029144,3.45257914 118.496109,3.45257914 L115.918758,3.45257914 L115.918758,14.4571725 Z M112.098214,-1.24344979e-14 L119.536379,-1.24344979e-14 C126.094047,-1.24344979e-14 128.625915,4.23271266 128.625915,8.95487581 C128.625915,13.7666567 126.071888,17.9097516 119.423256,17.9097516 L112.098214,17.9097516 L112.098214,-1.24344979e-14 Z" id="Fill-14"></path> + <polygon id="Fill-16" points="132.589286 17.9086027 136.433154 17.9086027 136.433154 8.8817842e-15 132.589286 8.8817842e-15"></polygon> + <polygon id="Fill-18" points="146.459698 8.8817842e-15 154.419165 12.1845597 154.419165 8.8817842e-15 158.240875 8.8817842e-15 158.240875 17.9086027 154.012153 17.9086027 146.052687 5.72404302 146.052687 17.9086027 142.232143 17.9086027 142.232143 8.8817842e-15"></polygon> + <path d="M178.098687,5.12314489 C177.53307,4.72216315 175.724259,3.45257914 172.829696,3.45257914 C168.489017,3.45257914 166.544924,6.28128125 166.544924,9.35585755 C166.544924,11.7387691 167.765959,15.1695183 172.875178,15.1695183 C174.367943,15.1695183 175.158641,14.8799842 175.747583,14.6570889 L175.747583,11.2711485 L171.700793,11.2711485 L171.700793,7.97482589 L179.500486,7.97482589 L179.500486,17.2858746 C177.600711,18.0878381 175.408213,18.6220974 172.875178,18.6220974 C166.070272,18.6220974 162.723214,14.0780207 162.723214,9.28921875 C162.723214,3.74211323 167.019577,-1.42108547e-14 172.807537,-1.42108547e-14 C175.204124,-1.42108547e-14 177.284664,0.579068182 179.387363,1.73720455 L178.098687,5.12314489 Z" id="Fill-19"></path> + </g> + </g> + </g> + </g> +</svg> \ No newline at end of file diff --git a/themes/vue/source/images/fen_tre_online_solutions.png b/themes/vue/source/images/fen_tre_online_solutions.png new file mode 100644 index 0000000000..13bee71a34 Binary files /dev/null and b/themes/vue/source/images/fen_tre_online_solutions.png differ diff --git a/themes/vue/source/images/fen_tre_online_solutions.svg b/themes/vue/source/images/fen_tre_online_solutions.svg new file mode 100644 index 0000000000..3ae3849408 --- /dev/null +++ b/themes/vue/source/images/fen_tre_online_solutions.svg @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 155.9 99.2" enable-background="new 0 0 155.9 99.2" xml:space="preserve"> +<path fill="#00ADEF" d="M35.1,31.2c-0.9-0.3-1.8-0.4-2.7-0.4c-2.6,0-3.8,1.5-3.8,4.8v1.4h5.1v2.6h-5.1v15.9h-3.3V39.5h-3.8v-2.6h3.8 + v-1.4c0-5.1,2.5-7.5,7.1-7.5c1,0,2,0.1,3.1,0.3L35.1,31.2z"/> +<path fill="#00ADEF" d="M51,44.4c0-4.2-2.2-7.8-7.4-7.8c-5.2,0-8.3,4.1-8.3,9.7c0,6.5,3.1,9.5,8.7,9.5c2.3,0,4.5-0.4,6.3-1.2 + l-0.3-2.7c-1.5,0.7-3.5,1.2-5.4,1.2c-3.7,0-5.7-1.8-5.8-6.1c0-0.9,0-2.4,0.1-3.4c0.3-2.7,2.1-4.5,4.5-4.5c2.6,0,4.2,1.8,4.1,4.5 + l-6.4,0V46h9.7C51,45.3,51,44.8,51,44.4z"/> +<path fill="#00ADEF" d="M67,55.4v-12c0-2.6-0.7-4.1-3.2-4.1c-3.1,0-5.2,3.1-5.2,7.2v8.9h-3.4V36.9h3.2c0,1.1-0.1,2.8-0.3,3.9l0.1,0 + c1.1-2.6,3.3-4.3,6.5-4.3c4.2,0,5.6,2.6,5.6,5.9v13H67z"/> +<path fill="#00ADEF" d="M100.5,55.7c-3.8,0-5-1.6-5-5.5V39.5h-3.8v-2.6h3.8v-6l3.4-0.9v6.9h5.2v2.6h-5.2V49c0,3.1,0.6,3.9,2.6,3.9 + c0.9,0,1.8-0.1,2.5-0.3v2.8C103,55.6,101.7,55.7,100.5,55.7z"/> +<path fill="#00ADEF" d="M117.6,39.9c-3.9-0.7-5.8,2.2-5.8,8.1v7.4h-3.4V36.9h3.2c0,1.2-0.1,2.9-0.4,4.4h0.1c0.8-2.6,2.7-5.1,6.4-4.7 + L117.6,39.9z"/> +<g> + <path fill="#00ADEF" d="M28,70.6c-2.2,0-3.3-1.5-3.3-3.8c0-2.5,1.6-3.9,3.5-3.9c2,0,3.3,1.3,3.3,3.8C31.6,69.1,30,70.6,28,70.6z + M28.1,63.8c-1.2,0-2.3,1-2.3,2.9c0,1.8,0.8,3,2.3,3c1.2,0,2.4-1,2.4-2.9C30.5,64.9,29.6,63.8,28.1,63.8z"/> + <path fill="#00ADEF" d="M38.7,70.5l-2.8-4.6c-0.3-0.5-0.6-1.1-0.9-1.5c0,0.8,0.1,2.6,0.1,3.8v2.4h-1V63h1.3l2.8,4.5 + c0.3,0.5,0.6,1.1,0.9,1.6c0-0.9-0.1-2.8-0.1-4V63h1v7.5H38.7z"/> + <path fill="#00ADEF" d="M43.2,70.5V63h1v6.6h2.7v0.9H43.2z"/> + <path fill="#00ADEF" d="M49,70.5V63h1v7.5H49z"/> + <path fill="#00ADEF" d="M57.9,70.5L55,65.9c-0.3-0.5-0.6-1.1-0.9-1.5c0,0.8,0.1,2.6,0.1,3.8v2.4h-1V63h1.3l2.8,4.5 + c0.3,0.5,0.6,1.1,0.9,1.6c0-0.9-0.1-2.8-0.1-4V63h1v7.5H57.9z"/> + <path fill="#00ADEF" d="M62.4,70.5V63h3.8v0.8h-2.8v2.4h2.7V67h-2.7v2.6h2.8v0.9H62.4z"/> + <path fill="#00ADEF" d="M73.8,70.6c-0.5,0-1.1-0.1-1.5-0.2l0.1-1c0.4,0.2,1,0.3,1.5,0.3c0.9,0,1.6-0.4,1.6-1.3c0-1.7-3.4-1-3.4-3.4 + c0-1.2,1-2.1,2.7-2.1c0.5,0,0.9,0,1.3,0.1L76.1,64c-0.4-0.1-0.9-0.2-1.3-0.2c-1,0-1.5,0.5-1.5,1.2c0,1.6,3.4,1,3.4,3.4 + C76.6,69.6,75.5,70.6,73.8,70.6z"/> + <path fill="#00ADEF" d="M82.1,70.6c-2.2,0-3.3-1.5-3.3-3.8c0-2.5,1.6-3.9,3.5-3.9c2,0,3.3,1.3,3.3,3.8C85.6,69.1,84,70.6,82.1,70.6 + z M82.2,63.8c-1.2,0-2.3,1-2.3,2.9c0,1.8,0.8,3,2.3,3c1.2,0,2.4-1,2.4-2.9C84.5,64.9,83.7,63.8,82.2,63.8z"/> + <path fill="#00ADEF" d="M88.1,70.5V63h1v6.6h2.7v0.9H88.1z"/> + <path fill="#00ADEF" d="M96.6,70.6c-2.3,0-2.8-1.3-2.8-2.6v-5h1v4.9c0,1,0.3,1.9,1.8,1.9c1.3,0,1.9-0.5,1.9-2V63h1v4.6 + C99.5,69.6,98.5,70.6,96.6,70.6z"/> + <path fill="#00ADEF" d="M104.8,63.9v6.6h-1v-6.6h-2.1V63h5.3v0.9H104.8z"/> + <path fill="#00ADEF" d="M109.1,70.5V63h1v7.5H109.1z"/> + <path fill="#00ADEF" d="M115.9,70.6c-2.2,0-3.3-1.5-3.3-3.8c0-2.5,1.6-3.9,3.5-3.9c2,0,3.3,1.3,3.3,3.8 + C119.4,69.1,117.9,70.6,115.9,70.6z M116,63.8c-1.2,0-2.3,1-2.3,2.9c0,1.8,0.8,3,2.3,3c1.2,0,2.4-1,2.4-2.9 + C118.4,64.9,117.5,63.8,116,63.8z"/> + <path fill="#00ADEF" d="M126.6,70.5l-2.8-4.6c-0.3-0.5-0.6-1.1-0.9-1.5c0,0.8,0.1,2.6,0.1,3.8v2.4h-1V63h1.3l2.8,4.5 + c0.3,0.5,0.6,1.1,0.9,1.6c0-0.9-0.1-2.8-0.1-4V63h1v7.5H126.6z"/> + <path fill="#00ADEF" d="M132.1,70.6c-0.5,0-1.1-0.1-1.5-0.2l0.1-1c0.4,0.2,1,0.3,1.5,0.3c0.9,0,1.6-0.4,1.6-1.3 + c0-1.7-3.4-1-3.4-3.4c0-1.2,1-2.1,2.7-2.1c0.5,0,0.9,0,1.3,0.1l-0.1,0.9c-0.4-0.1-0.9-0.2-1.3-0.2c-1,0-1.6,0.5-1.6,1.2 + c0,1.6,3.4,1,3.4,3.4C134.9,69.6,133.9,70.6,132.1,70.6z"/> +</g> +<path fill="#00ADEF" d="M135.2,44.4c0-4.2-2.2-7.8-7.4-7.8c-5.2,0-8.3,4.1-8.3,9.7c0,6.5,3.1,9.5,8.7,9.5c2.3,0,4.5-0.4,6.3-1.2 + l-0.3-2.7c-1.5,0.7-3.5,1.2-5.4,1.2c-3.7,0-5.7-1.8-5.8-6.1c0-0.9,0-2.4,0.1-3.4c0.3-2.7,2.1-4.5,4.5-4.5c2.6,0,4.2,1.8,4.1,4.5 + l-6.4,0V46h9.7C135.1,45.3,135.2,44.8,135.2,44.4z"/> +<path fill="#00ADEF" d="M90,44.4c0-4.2-2.2-7.8-7.4-7.8c-5.2,0-8.3,4.1-8.3,9.7c0,6.5,3.1,9.5,8.7,9.5c2.3,0,4.5-0.4,6.3-1.2 + l-0.3-2.7c-1.5,0.7-3.5,1.2-5.4,1.2c-3.7,0-5.7-1.8-5.8-6.1c0-0.9,0-2.4,0.1-3.4c0.3-2.7,2.1-4.5,4.5-4.5c2.6,0,4.2,1.8,4.1,4.5 + l-6.4,0V46h9.7C90,45.3,90,44.8,90,44.4z"/> +<g> + <path fill="#00ADEF" d="M86.5,33.9l-3.9-2.5l-3.8,2.5l-1.2-1.9l5.1-3.5l5.2,3.4L86.5,33.9z"/> +</g> +</svg> diff --git a/themes/vue/source/images/finclip.png b/themes/vue/source/images/finclip.png new file mode 100644 index 0000000000..9110e6d56c Binary files /dev/null and b/themes/vue/source/images/finclip.png differ diff --git a/themes/vue/source/images/firestick_tricks.png b/themes/vue/source/images/firestick_tricks.png new file mode 100644 index 0000000000..c97004d946 Binary files /dev/null and b/themes/vue/source/images/firestick_tricks.png differ diff --git a/themes/vue/source/images/flatlogic_templates.svg b/themes/vue/source/images/flatlogic_templates.svg new file mode 100644 index 0000000000..158927ebd0 --- /dev/null +++ b/themes/vue/source/images/flatlogic_templates.svg @@ -0,0 +1,12 @@ +<svg width="121" height="30" viewBox="0 0 121 30" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M3.20193 24H1.05993C0.6746 24 0.481934 23.8074 0.481934 23.422V2.71602C0.481934 2.33069 0.6746 2.13802 1.05993 2.13802H11.7359C12.1213 2.13802 12.3139 2.33069 12.3139 2.71602V4.45002C12.3139 4.83536 12.1213 5.02802 11.7359 5.02802H4.18793C3.91593 5.02802 3.77993 5.14136 3.77993 5.36802V11.794C3.77993 12.0434 3.91593 12.168 4.18793 12.168H10.7499C11.1579 12.168 11.3619 12.3607 11.3619 12.746V14.446C11.3619 14.854 11.1579 15.058 10.7499 15.058H4.18793C3.91593 15.058 3.77993 15.1714 3.77993 15.398V23.422C3.77993 23.8074 3.58727 24 3.20193 24Z" fill="#FFA70B"/> +<path d="M18.4714 24H16.3294C15.9441 24 15.7514 23.8074 15.7514 23.422V0.676021C15.7514 0.290689 15.9441 0.0980225 16.3294 0.0980225H18.4714C18.8567 0.0980225 19.0494 0.290689 19.0494 0.676021V23.422C19.0494 23.8074 18.8567 24 18.4714 24Z" fill="#FFA70B"/> +<path d="M29.7729 24H28.4469C26.7696 24 25.4663 23.5354 24.5369 22.606C23.6303 21.6767 23.1769 20.3847 23.1769 18.73V11.93C23.1769 10.2527 23.6303 8.96069 24.5369 8.05402C25.4663 7.12469 26.7696 6.66002 28.4469 6.66002H36.0629C36.4709 6.66002 36.6749 6.85269 36.6749 7.23802V23.422C36.6749 23.8074 36.4709 24 36.0629 24H33.9209C33.5356 24 33.3429 23.8074 33.3429 23.422V22.198H33.2069C32.6629 23.3994 31.5183 24 29.7729 24ZM33.3429 18.22V9.89002C33.3429 9.66336 33.2183 9.55002 32.9689 9.55002H28.9229C27.2909 9.55002 26.4749 10.3887 26.4749 12.066V18.594C26.4749 20.2714 27.2909 21.11 28.9229 21.11H30.5549C32.4136 21.11 33.3429 20.1467 33.3429 18.22Z" fill="#FFA70B"/> +<path d="M41.4254 9.55002H39.7934C39.5667 9.55002 39.408 9.51602 39.3174 9.44802C39.2494 9.35736 39.2154 9.21002 39.2154 9.00602V7.23802C39.2154 6.85269 39.408 6.66002 39.7934 6.66002H41.4254C41.652 6.66002 41.7654 6.54669 41.7654 6.32002V3.26002C41.7654 2.87469 41.9694 2.68202 42.3774 2.68202H44.5194C44.9047 2.68202 45.0974 2.87469 45.0974 3.26002V6.32002C45.0974 6.54669 45.222 6.66002 45.4714 6.66002H48.6334C49.0414 6.66002 49.2454 6.85269 49.2454 7.23802V9.00602C49.2454 9.36869 49.0414 9.55002 48.6334 9.55002H45.4714C45.222 9.55002 45.0974 9.66336 45.0974 9.89002V18.628C45.0974 20.2827 45.9474 21.11 47.6474 21.11H48.9734C49.3814 21.11 49.5854 21.3027 49.5854 21.688V23.456C49.5854 23.8187 49.3814 24 48.9734 24H47.1374C45.46 24 44.1454 23.5467 43.1934 22.64C42.2414 21.7334 41.7654 20.4527 41.7654 18.798V9.89002C41.7654 9.66336 41.652 9.55002 41.4254 9.55002Z" fill="#FFA70B"/> +<path d="M55.7253 24H53.5833C53.198 24 53.0053 23.8074 53.0053 23.422V0.676021C53.0053 0.290689 53.198 0.0980225 53.5833 0.0980225H55.7253C56.1106 0.0980225 56.3033 0.290689 56.3033 0.676021V23.422C56.3033 23.8074 56.1106 24 55.7253 24Z" fill="#FFA70B"/> +<path d="M68.6928 24H65.7008C64.0235 24 62.7202 23.5354 61.7908 22.606C60.8842 21.6767 60.4308 20.3847 60.4308 18.73V11.93C60.4308 10.2527 60.8842 8.96069 61.7908 8.05402C62.7202 7.12469 64.0235 6.66002 65.7008 6.66002H68.6928C70.3475 6.66002 71.6395 7.12469 72.5688 8.05402C73.5208 8.96069 73.9968 10.2527 73.9968 11.93V18.73C73.9968 20.3847 73.5208 21.6767 72.5688 22.606C71.6395 23.5354 70.3475 24 68.6928 24ZM66.1768 21.11H68.2508C69.8828 21.11 70.6988 20.2827 70.6988 18.628V12.032C70.6988 10.3774 69.8828 9.55002 68.2508 9.55002H66.1768C65.3155 9.55002 64.6922 9.75402 64.3068 10.162C63.9215 10.5474 63.7288 11.1707 63.7288 12.032V18.628C63.7288 19.4894 63.9215 20.124 64.3068 20.532C64.6922 20.9174 65.3155 21.11 66.1768 21.11Z" fill="#FFA70B"/> +<path d="M84.2277 23.15H82.6977C81.0657 23.15 79.8077 22.6967 78.9237 21.79C78.0623 20.8607 77.6317 19.5574 77.6317 17.88V11.93C77.6317 10.2527 78.0963 8.96069 79.0257 8.05402C79.955 7.12469 81.247 6.66002 82.9016 6.66002H90.5177C90.9257 6.66002 91.1297 6.85269 91.1297 7.23802V24.068C91.1297 25.7227 90.6537 27.0034 89.7017 27.91C88.7723 28.8394 87.4803 29.304 85.8257 29.304H79.4337C79.0483 29.304 78.8557 29.1227 78.8557 28.76V26.992C78.8557 26.6067 79.0483 26.414 79.4337 26.414H85.3157C86.9703 26.414 87.7977 25.5754 87.7977 23.898V21.314H87.6617C87.095 22.538 85.9503 23.15 84.2277 23.15ZM87.7977 17.37V9.89002C87.7977 9.66336 87.673 9.55002 87.4237 9.55002H83.3777C81.7683 9.55002 80.9637 10.3887 80.9637 12.066V17.71C80.9637 19.3874 81.7683 20.226 83.3777 20.226H85.0097C86.8683 20.226 87.7977 19.274 87.7977 17.37Z" fill="#FFA70B"/> +<path d="M95.5385 3.77002V0.676021C95.5385 0.313355 95.7198 0.132022 96.0825 0.132022H98.2925C98.6552 0.132022 98.8365 0.313355 98.8365 0.676021V3.77002C98.8365 4.15536 98.6552 4.34802 98.2925 4.34802H96.0825C95.7198 4.34802 95.5385 4.15536 95.5385 3.77002ZM95.5385 23.422V7.23802C95.5385 6.85269 95.7198 6.66002 96.0825 6.66002H98.2585C98.6438 6.66002 98.8365 6.85269 98.8365 7.23802V23.422C98.8365 23.6487 98.7912 23.8074 98.7005 23.898C98.6325 23.966 98.4965 24 98.2925 24H96.1165C95.7312 24 95.5385 23.8074 95.5385 23.422Z" fill="#FFA70B"/> +<path d="M113.844 21.688V23.456C113.844 23.8187 113.64 24 113.232 24H108.234C106.557 24 105.253 23.5354 104.324 22.606C103.417 21.6767 102.964 20.3847 102.964 18.73V11.93C102.964 10.2527 103.417 8.96069 104.324 8.05402C105.253 7.12469 106.557 6.66002 108.234 6.66002H113.232C113.64 6.66002 113.844 6.85269 113.844 7.23802V9.00602C113.844 9.36869 113.64 9.55002 113.232 9.55002H108.71C107.078 9.55002 106.262 10.3887 106.262 12.066V18.594C106.262 20.2714 107.078 21.11 108.71 21.11H113.232C113.64 21.11 113.844 21.3027 113.844 21.688Z" fill="#FFA70B"/> +<path d="M120.041 19.274V23.422C120.041 23.8074 119.86 24 119.497 24H117.185C116.8 24 116.607 23.8074 116.607 23.422V19.274C116.607 18.9114 116.8 18.73 117.185 18.73H119.497C119.86 18.73 120.041 18.9114 120.041 19.274Z" fill="#FFA70B"/> +</svg> diff --git a/themes/vue/source/images/flowdash.png b/themes/vue/source/images/flowdash.png new file mode 100644 index 0000000000..36bc98ad12 Binary files /dev/null and b/themes/vue/source/images/flowdash.png differ diff --git a/themes/vue/source/images/foo.png b/themes/vue/source/images/foo.png new file mode 100644 index 0000000000..2317dd802d Binary files /dev/null and b/themes/vue/source/images/foo.png differ diff --git a/themes/vue/source/images/free_bets_us.png b/themes/vue/source/images/free_bets_us.png new file mode 100644 index 0000000000..a0f503f067 Binary files /dev/null and b/themes/vue/source/images/free_bets_us.png differ diff --git a/themes/vue/source/images/frontend-love.png b/themes/vue/source/images/frontend-love.png deleted file mode 100644 index a2f69923a0..0000000000 Binary files a/themes/vue/source/images/frontend-love.png and /dev/null differ diff --git a/themes/vue/source/images/frontend-meetups.png b/themes/vue/source/images/frontend-meetups.png deleted file mode 100644 index 388bb14d2e..0000000000 Binary files a/themes/vue/source/images/frontend-meetups.png and /dev/null differ diff --git a/themes/vue/source/images/frontendlove.png b/themes/vue/source/images/frontendlove.png new file mode 100644 index 0000000000..5b3725e5fa Binary files /dev/null and b/themes/vue/source/images/frontendlove.png differ diff --git a/themes/vue/source/images/gitee.png b/themes/vue/source/images/gitee.png new file mode 100644 index 0000000000..50b8cb0492 Binary files /dev/null and b/themes/vue/source/images/gitee.png differ diff --git a/themes/vue/source/images/gridsome.png b/themes/vue/source/images/gridsome.png new file mode 100644 index 0000000000..574088a145 Binary files /dev/null and b/themes/vue/source/images/gridsome.png differ diff --git a/themes/vue/source/images/hackr-io.png b/themes/vue/source/images/hackr-io.png deleted file mode 100644 index ccb398458d..0000000000 Binary files a/themes/vue/source/images/hackr-io.png and /dev/null differ diff --git a/themes/vue/source/images/happy_programmer_llc.png b/themes/vue/source/images/happy_programmer_llc.png new file mode 100644 index 0000000000..4b4bb471dc Binary files /dev/null and b/themes/vue/source/images/happy_programmer_llc.png differ diff --git a/themes/vue/source/images/hbuilder.png b/themes/vue/source/images/hbuilder.png new file mode 100644 index 0000000000..a2615f8e44 Binary files /dev/null and b/themes/vue/source/images/hbuilder.png differ diff --git a/themes/vue/source/images/htmlburger.png b/themes/vue/source/images/html_burger.png similarity index 100% rename from themes/vue/source/images/htmlburger.png rename to themes/vue/source/images/html_burger.png diff --git a/themes/vue/source/images/icons/bacancy_technology.png b/themes/vue/source/images/icons/bacancy_technology.png new file mode 100644 index 0000000000..174019bbb9 Binary files /dev/null and b/themes/vue/source/images/icons/bacancy_technology.png differ diff --git a/themes/vue/source/images/icons8.png b/themes/vue/source/images/icons8.png deleted file mode 100644 index 833705b3e9..0000000000 Binary files a/themes/vue/source/images/icons8.png and /dev/null differ diff --git a/themes/vue/source/images/icons_8.png b/themes/vue/source/images/icons_8.png new file mode 100644 index 0000000000..54127736fa Binary files /dev/null and b/themes/vue/source/images/icons_8.png differ diff --git a/themes/vue/source/images/infinitynewtab.png b/themes/vue/source/images/infinitynewtab.png deleted file mode 100644 index bfe5a8c48a..0000000000 Binary files a/themes/vue/source/images/infinitynewtab.png and /dev/null differ diff --git a/themes/vue/source/images/inkoop.png b/themes/vue/source/images/inkoop.png new file mode 100644 index 0000000000..e872fe98c4 Binary files /dev/null and b/themes/vue/source/images/inkoop.png differ diff --git a/themes/vue/source/images/intygrate.png b/themes/vue/source/images/intygrate.png new file mode 100644 index 0000000000..00c2e86ea1 Binary files /dev/null and b/themes/vue/source/images/intygrate.png differ diff --git a/themes/vue/source/images/ionic.png b/themes/vue/source/images/ionic.png new file mode 100644 index 0000000000..40b5d32628 Binary files /dev/null and b/themes/vue/source/images/ionic.png differ diff --git a/themes/vue/source/images/isle_of_code.png b/themes/vue/source/images/isle_of_code.png new file mode 100644 index 0000000000..68587c4c85 Binary files /dev/null and b/themes/vue/source/images/isle_of_code.png differ diff --git a/themes/vue/source/images/isolutions_uk_limited.png b/themes/vue/source/images/isolutions_uk_limited.png new file mode 100644 index 0000000000..89efb3da82 Binary files /dev/null and b/themes/vue/source/images/isolutions_uk_limited.png differ diff --git a/themes/vue/source/images/itunescn.png b/themes/vue/source/images/itunescn.png deleted file mode 100644 index 7f89ffa8f5..0000000000 Binary files a/themes/vue/source/images/itunescn.png and /dev/null differ diff --git a/themes/vue/source/images/jqwidgets_.png b/themes/vue/source/images/jqwidgets_.png new file mode 100644 index 0000000000..d0193633fe Binary files /dev/null and b/themes/vue/source/images/jqwidgets_.png differ diff --git a/themes/vue/source/images/jqwidgets_ltd.png b/themes/vue/source/images/jqwidgets_ltd.png new file mode 100644 index 0000000000..87a99e7079 Binary files /dev/null and b/themes/vue/source/images/jqwidgets_ltd.png differ diff --git a/themes/vue/source/images/jsfiddle.png b/themes/vue/source/images/jsfiddle.png deleted file mode 100644 index 09774391a1..0000000000 Binary files a/themes/vue/source/images/jsfiddle.png and /dev/null differ diff --git a/themes/vue/source/images/jsguru.png b/themes/vue/source/images/jsguru.png deleted file mode 100644 index ac29824618..0000000000 Binary files a/themes/vue/source/images/jsguru.png and /dev/null differ diff --git a/themes/vue/source/images/juejin.png b/themes/vue/source/images/juejin.png deleted file mode 100644 index afc07f75af..0000000000 Binary files a/themes/vue/source/images/juejin.png and /dev/null differ diff --git a/themes/vue/source/images/laravel.png b/themes/vue/source/images/laravel.png index 1533073c73..543f6bb1f2 100644 Binary files a/themes/vue/source/images/laravel.png and b/themes/vue/source/images/laravel.png differ diff --git a/themes/vue/source/images/layer0.png b/themes/vue/source/images/layer0.png new file mode 100644 index 0000000000..6f0b842608 Binary files /dev/null and b/themes/vue/source/images/layer0.png differ diff --git a/themes/vue/source/images/lendio.png b/themes/vue/source/images/lendio.png new file mode 100644 index 0000000000..62e263845e Binary files /dev/null and b/themes/vue/source/images/lendio.png differ diff --git a/themes/vue/source/images/line_corporation.png b/themes/vue/source/images/line_corporation.png new file mode 100644 index 0000000000..30523b1d3d Binary files /dev/null and b/themes/vue/source/images/line_corporation.png differ diff --git a/themes/vue/source/images/litslink.png b/themes/vue/source/images/litslink.png new file mode 100644 index 0000000000..6600812eb8 Binary files /dev/null and b/themes/vue/source/images/litslink.png differ diff --git a/themes/vue/source/images/logo.svg b/themes/vue/source/images/logo.svg new file mode 100644 index 0000000000..7565660356 --- /dev/null +++ b/themes/vue/source/images/logo.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 261.76 226.69"><path d="M161.096.001l-30.225 52.351L100.647.001H-.005l130.877 226.688L261.749.001z" fill="#41b883"/><path d="M161.096.001l-30.225 52.351L100.647.001H52.346l78.526 136.01L209.398.001z" fill="#34495e"/></svg> diff --git a/themes/vue/source/images/lowdefy.png b/themes/vue/source/images/lowdefy.png new file mode 100644 index 0000000000..c64a405e05 Binary files /dev/null and b/themes/vue/source/images/lowdefy.png differ diff --git a/themes/vue/source/images/marcus_hiles.png b/themes/vue/source/images/marcus_hiles.png new file mode 100644 index 0000000000..d9af2c15d8 Binary files /dev/null and b/themes/vue/source/images/marcus_hiles.png differ diff --git a/themes/vue/source/images/memberful.png b/themes/vue/source/images/memberful.png new file mode 100644 index 0000000000..fa87ecc5c9 Binary files /dev/null and b/themes/vue/source/images/memberful.png differ diff --git a/themes/vue/source/images/menu-blm.png b/themes/vue/source/images/menu-blm.png new file mode 100644 index 0000000000..7ff963bb68 Binary files /dev/null and b/themes/vue/source/images/menu-blm.png differ diff --git a/themes/vue/source/images/modus.png b/themes/vue/source/images/modus.png new file mode 100644 index 0000000000..7609510c0b Binary files /dev/null and b/themes/vue/source/images/modus.png differ diff --git a/themes/vue/source/images/monterail.png b/themes/vue/source/images/monterail.png deleted file mode 100644 index ab641a54e1..0000000000 Binary files a/themes/vue/source/images/monterail.png and /dev/null differ diff --git a/themes/vue/source/images/nativescript.png b/themes/vue/source/images/nativescript.png new file mode 100644 index 0000000000..56fb802e4c Binary files /dev/null and b/themes/vue/source/images/nativescript.png differ diff --git a/themes/vue/source/images/neds.png b/themes/vue/source/images/neds.png index 6169a0ff07..1fd9a3151c 100644 Binary files a/themes/vue/source/images/neds.png and b/themes/vue/source/images/neds.png differ diff --git a/themes/vue/source/images/netflix_vpn.png b/themes/vue/source/images/netflix_vpn.png new file mode 100644 index 0000000000..91e0569cbc Binary files /dev/null and b/themes/vue/source/images/netflix_vpn.png differ diff --git a/themes/vue/source/images/newicon.png b/themes/vue/source/images/newicon.png new file mode 100644 index 0000000000..5654286239 Binary files /dev/null and b/themes/vue/source/images/newicon.png differ diff --git a/themes/vue/source/images/nuxt.png b/themes/vue/source/images/nuxt.png new file mode 100644 index 0000000000..a5032eedee Binary files /dev/null and b/themes/vue/source/images/nuxt.png differ diff --git a/themes/vue/source/images/okay.png b/themes/vue/source/images/okay.png new file mode 100644 index 0000000000..465071b92f Binary files /dev/null and b/themes/vue/source/images/okay.png differ diff --git a/themes/vue/source/images/onsen-ui.png b/themes/vue/source/images/onsen_ui.png similarity index 100% rename from themes/vue/source/images/onsen-ui.png rename to themes/vue/source/images/onsen_ui.png diff --git a/themes/vue/source/images/onyx_gaming_limited.svg b/themes/vue/source/images/onyx_gaming_limited.svg new file mode 100644 index 0000000000..1d50d49fe5 --- /dev/null +++ b/themes/vue/source/images/onyx_gaming_limited.svg @@ -0,0 +1 @@ +<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1366 768"><defs><style>.cls-1{fill:url(#linear-gradient);}</style><linearGradient id="linear-gradient" x1="581.15" y1="379.68" x2="88.02" y2="379.68" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#4a1682"/><stop offset="0.15" stop-color="#bb1351"/><stop offset="0.25" stop-color="#e6374f"/><stop offset="0.5" stop-color="#fc0"/><stop offset="0.75" stop-color="#e6374f"/><stop offset="0.85" stop-color="#bb1351"/><stop offset="1" stop-color="#4a1682"/></linearGradient></defs><path class="cls-1" d="M576.35,544.57,365.27,179.43c-6.82-11.8-18.75-17.45-30.69-17.73a35.12,35.12,0,0,0-30.69,17.7L92.81,544.54c-13.63,23.59,3.41,53.07,30.68,53.07l210.84-65.36.24.08v0l.26-.08,210.83,65.37C572.94,597.65,590,568.16,576.35,544.57ZM419.05,444.46c-46.32,16-12.48,56.76-12.48,56.76h-72v0H262.37s33.83-40.77-12.49-56.76S226.64,396,226.64,396L334.58,274.11l107.72,122S465.37,428.47,419.05,444.46Z"/><path d="M760.64,397.05H621.15l-30,66.88H563.57L678,213.57h26.11L818.59,463.93h-27.9ZM751,375.59,690.9,241.11,630.81,375.59Z"/><path d="M825.38,338.75c0-73.32,55.79-127.33,131.26-127.33,36.48,0,69.39,12.16,91.56,36.48l-16.81,16.81C1011,244,986,235,957.36,235c-60.45,0-105.87,44.35-105.87,103.72s45.42,103.72,105.87,103.72c28.61,0,53.65-8.94,74-30l16.81,16.81c-22.17,24.32-55.08,36.84-91.92,36.84C881.17,466.08,825.38,412.07,825.38,338.75Z"/><path d="M1272.81,441v22.89h-177V213.57h171.68v22.89H1122.23v89.06h129.48v22.53H1122.23v93Z"/><path d="M652.24,527.9c0-14.52,11.08-25.32,25.82-25.32S704,513.38,704,527.9s-11.09,25.32-25.9,25.32S652.24,542.42,652.24,527.9Zm49.28,0c0-13.23-10.08-23.11-23.46-23.11s-23.39,9.88-23.39,23.11S664.76,551,678.06,551,701.52,541.13,701.52,527.9Z"/><path d="M755.39,502.86v50.08h-2L717.83,507.3v45.64H715.4V502.86h2L753,548.5V502.86Z"/><path d="M771.91,502.86h2.43v47.86h29.33v2.22H771.91Z"/><path d="M811.75,502.86h2.43v50.08h-2.43Z"/><path d="M870.69,502.86v50.08h-2L833.14,507.3v45.64h-2.43V502.86h2l35.55,45.64V502.86Z"/><path d="M921.05,550.72v2.22H887.22V502.86h32.83v2.22h-30.4V526.4h27.18v2.21H889.65v22.11Z"/><path d="M944.44,527.9c0-14.52,11.09-25.32,25.82-25.32,6.8,0,13,2.21,17.39,6.65l-1.51,1.57c-4.43-4.29-9.87-6-15.8-6-13.38,0-23.47,10-23.47,23.11S957,551,970.34,551a21.84,21.84,0,0,0,15.8-6.08l1.51,1.58c-4.37,4.5-10.59,6.72-17.39,6.72C955.53,553.22,944.44,542.42,944.44,527.9Z"/><path d="M1028.06,538.27h-30l-6.72,14.67h-2.65l23.18-50.08h2.36l23.17,50.08h-2.64Zm-.93-2.07-14-30.55L999,536.2Z"/><path d="M1040.15,546.28l1.29-1.71c3.22,3.64,9.58,6.51,16.52,6.51,10.52,0,15.17-4.8,15.17-10.59,0-16-31.55-6.51-31.55-25,0-6.72,5.15-12.87,17.1-12.87a25.59,25.59,0,0,1,14.8,4.57l-1.07,1.94a23.74,23.74,0,0,0-13.66-4.37c-10.16,0-14.81,4.87-14.81,10.73,0,16.1,31.55,6.8,31.55,25,0,6.79-5.37,12.8-17.46,12.8C1050.67,553.22,1043.66,550.36,1040.15,546.28Z"/><path d="M1086.79,502.86h2.43v50.08h-2.43Z"/><path d="M1145.73,502.86v50.08h-2l-35.55-45.64v45.64h-2.44V502.86h2l35.55,45.64V502.86Z"/><path d="M1157.17,527.9c0-14.52,11.09-25.32,25.83-25.32s25.89,10.8,25.89,25.32-11.09,25.32-25.89,25.32S1157.17,542.42,1157.17,527.9Zm49.29,0c0-13.23-10.09-23.11-23.46-23.11s-23.39,9.88-23.39,23.11S1169.69,551,1183,551,1206.46,541.13,1206.46,527.9Z"/></svg> \ No newline at end of file diff --git a/themes/vue/source/images/opteo.png b/themes/vue/source/images/opteo.png new file mode 100644 index 0000000000..2d36e5d63b Binary files /dev/null and b/themes/vue/source/images/opteo.png differ diff --git a/themes/vue/source/images/passionate_people.png b/themes/vue/source/images/passionate_people.png new file mode 100644 index 0000000000..78bd5b66fc Binary files /dev/null and b/themes/vue/source/images/passionate_people.png differ diff --git a/themes/vue/source/images/philip_john_basile.gif b/themes/vue/source/images/philip_john_basile.gif new file mode 100644 index 0000000000..2b6fc1039e Binary files /dev/null and b/themes/vue/source/images/philip_john_basile.gif differ diff --git a/themes/vue/source/images/piratebay_proxy.png b/themes/vue/source/images/piratebay_proxy.png new file mode 100644 index 0000000000..618fbd10ab Binary files /dev/null and b/themes/vue/source/images/piratebay_proxy.png differ diff --git a/themes/vue/source/images/piratebayproxy.png b/themes/vue/source/images/piratebayproxy.png new file mode 100644 index 0000000000..618fbd10ab Binary files /dev/null and b/themes/vue/source/images/piratebayproxy.png differ diff --git a/themes/vue/source/images/plaid__inc_.svg b/themes/vue/source/images/plaid__inc_.svg new file mode 100644 index 0000000000..78354f007c --- /dev/null +++ b/themes/vue/source/images/plaid__inc_.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="163.5" height="36" viewBox="0 0 163.5 36"><defs><style>.cls-1{fill:#181616;}.cls-2{fill:#9a1e23;}.cls-3{fill:#c0364d;}.cls-4{fill:#7c181d;}.cls-5{fill:#641014;}</style></defs><title>plaid_yoko</title><g id="レイヤー_2" data-name="レイヤー 2"><g id="plaid_yoko"><g id="plaid_yoko-2" data-name="plaid_yoko"><path id="P" class="cls-1" d="M59.9,5.968H48v24h6v-6h5.4c5.3,0,9.6-3.5,9.6-9a8.649,8.649,0,0,0-8.4-9Zm-.4,12H54v-6h5.5c2.6,0,4.2.6,4.2,3h0C63.7,16.968,62.2,17.968,59.5,17.968Z"/><polygon id="L" class="cls-1" points="81 5.968 75 5.968 75 29.968 90 29.968 90 23.968 81 23.968 81 5.968"/><path id="A" class="cls-1" d="M114,29.968h6l-9-24h-6l-9,24h6l1.1-3h9.8Zm-8.6-9,2.6-7,2.6,7Z"/><rect id="I" class="cls-1" x="126" y="5.968" width="6" height="24"/><path id="D" class="cls-1" d="M150.8,5.968H141v24h9.8c7.5,0,12.7-5.3,12.7-12S158.3,5.968,150.8,5.968Zm0,18H147v-12h3.8c4.3,0,7.2,1.8,7.2,6S155.1,23.968,150.8,23.968Z"/><path class="cls-2" d="M12,7.975l-4,4,1.7,1.7a18.221,18.221,0,0,0,6.19-1.811L12,7.975"/><polyline class="cls-3" points="32 11.979 20 23.989 24 27.993 32 11.979"/><path class="cls-4" d="M15.887,11.866A18.183,18.183,0,0,1,9.7,13.68L16,19.986l4,4,4-4Z"/><polygon class="cls-2" points="16 36 24 27.993 20 23.989 16 27.993 12 31.996 16 36"/><polyline class="cls-4" points="4 15.982 0 19.986 12 31.996 16 27.993 4 15.982"/><path class="cls-5" d="M9.7,13.68a25.564,25.564,0,0,1-3.446.046L4,15.982,16,27.993l4-4-4-4L9.7,13.68"/><path class="cls-3" d="M20,0,12,8.007l3.89,3.862a18.816,18.816,0,0,1,7.81-1.86,18.438,18.438,0,0,1,8.3,2L20,0"/><path class="cls-4" d="M8,11.979,6.254,13.726A17.111,17.111,0,0,0,9.7,13.68L8,11.979"/><path class="cls-3" d="M8,3.972,0,11.979a16.2,16.2,0,0,0,6.254,1.747L12,7.975l-4-4"/><polyline class="cls-3" points="0 11.979 0 19.986 4 15.982 0 11.979"/><path class="cls-2" d="M0,11.979H0l4,4,2.254-2.256A16.9,16.9,0,0,1,0,11.979"/><path class="cls-2" d="M23.7,9.977a18.223,18.223,0,0,0-7.811,1.89L24,19.986l8-8.007a18.451,18.451,0,0,0-8.3-2"/></g></g></g></svg> \ No newline at end of file diff --git a/themes/vue/source/images/plaid_inc_.svg b/themes/vue/source/images/plaid_inc_.svg new file mode 100644 index 0000000000..78354f007c --- /dev/null +++ b/themes/vue/source/images/plaid_inc_.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="163.5" height="36" viewBox="0 0 163.5 36"><defs><style>.cls-1{fill:#181616;}.cls-2{fill:#9a1e23;}.cls-3{fill:#c0364d;}.cls-4{fill:#7c181d;}.cls-5{fill:#641014;}</style></defs><title>plaid_yoko</title><g id="レイヤー_2" data-name="レイヤー 2"><g id="plaid_yoko"><g id="plaid_yoko-2" data-name="plaid_yoko"><path id="P" class="cls-1" d="M59.9,5.968H48v24h6v-6h5.4c5.3,0,9.6-3.5,9.6-9a8.649,8.649,0,0,0-8.4-9Zm-.4,12H54v-6h5.5c2.6,0,4.2.6,4.2,3h0C63.7,16.968,62.2,17.968,59.5,17.968Z"/><polygon id="L" class="cls-1" points="81 5.968 75 5.968 75 29.968 90 29.968 90 23.968 81 23.968 81 5.968"/><path id="A" class="cls-1" d="M114,29.968h6l-9-24h-6l-9,24h6l1.1-3h9.8Zm-8.6-9,2.6-7,2.6,7Z"/><rect id="I" class="cls-1" x="126" y="5.968" width="6" height="24"/><path id="D" class="cls-1" d="M150.8,5.968H141v24h9.8c7.5,0,12.7-5.3,12.7-12S158.3,5.968,150.8,5.968Zm0,18H147v-12h3.8c4.3,0,7.2,1.8,7.2,6S155.1,23.968,150.8,23.968Z"/><path class="cls-2" d="M12,7.975l-4,4,1.7,1.7a18.221,18.221,0,0,0,6.19-1.811L12,7.975"/><polyline class="cls-3" points="32 11.979 20 23.989 24 27.993 32 11.979"/><path class="cls-4" d="M15.887,11.866A18.183,18.183,0,0,1,9.7,13.68L16,19.986l4,4,4-4Z"/><polygon class="cls-2" points="16 36 24 27.993 20 23.989 16 27.993 12 31.996 16 36"/><polyline class="cls-4" points="4 15.982 0 19.986 12 31.996 16 27.993 4 15.982"/><path class="cls-5" d="M9.7,13.68a25.564,25.564,0,0,1-3.446.046L4,15.982,16,27.993l4-4-4-4L9.7,13.68"/><path class="cls-3" d="M20,0,12,8.007l3.89,3.862a18.816,18.816,0,0,1,7.81-1.86,18.438,18.438,0,0,1,8.3,2L20,0"/><path class="cls-4" d="M8,11.979,6.254,13.726A17.111,17.111,0,0,0,9.7,13.68L8,11.979"/><path class="cls-3" d="M8,3.972,0,11.979a16.2,16.2,0,0,0,6.254,1.747L12,7.975l-4-4"/><polyline class="cls-3" points="0 11.979 0 19.986 4 15.982 0 11.979"/><path class="cls-2" d="M0,11.979H0l4,4,2.254-2.256A16.9,16.9,0,0,1,0,11.979"/><path class="cls-2" d="M23.7,9.977a18.223,18.223,0,0,0-7.811,1.89L24,19.986l8-8.007a18.451,18.451,0,0,0-8.3-2"/></g></g></g></svg> \ No newline at end of file diff --git a/themes/vue/source/images/primevue.png b/themes/vue/source/images/primevue.png new file mode 100644 index 0000000000..42d3ef801b Binary files /dev/null and b/themes/vue/source/images/primevue.png differ diff --git a/themes/vue/source/images/programmers_io.png b/themes/vue/source/images/programmers_io.png new file mode 100644 index 0000000000..5ebd32f0c4 Binary files /dev/null and b/themes/vue/source/images/programmers_io.png differ diff --git a/themes/vue/source/images/pullrequest.svg b/themes/vue/source/images/pullrequest.svg new file mode 100644 index 0000000000..483ff1a13c --- /dev/null +++ b/themes/vue/source/images/pullrequest.svg @@ -0,0 +1 @@ +<svg enable-background="new 0 0 181.2 45.8" viewBox="0 0 181.2 45.8" xmlns="http://www.w3.org/2000/svg"><path d="m9.2 6.8h26.6v31.9h-26.6z" fill="#fff"/><g fill="#28557a"><path d="m16.4 30.6c-1.3 0-2.4 1-2.5 2.4s1 2.4 2.4 2.4c1.3 0 2.4-1 2.5-2.3 0-1.4-1.1-2.5-2.4-2.5z"/><path d="m18.8 12.9c0-1.3-1.1-2.4-2.4-2.4s-2.4 1.1-2.4 2.4 1 2.4 2.3 2.4h.1c1.3 0 2.4-1.1 2.4-2.4z"/><path d="m24.2 14.5h-2.6c-.5 1.8-1.9 3.2-3.7 3.7v5.2h9.1c.5 0 .9-.3.9-.8 0-.1 0-.1 0-.2v-4.2c-1.8-.5-3.2-1.9-3.7-3.7z"/><path d="m29.5 10.5c-1.3 0-2.4 1.1-2.4 2.4s1.1 2.4 2.4 2.4 2.4-1 2.4-2.3c0 0 0 0 0-.1 0-1.3-1.1-2.4-2.4-2.4z"/><path d="m22.9 0c-12.6 0-22.9 10.3-22.9 22.9s10.3 22.9 22.9 22.9 22.9-10.3 22.9-22.9-10.3-22.8-22.9-22.9zm8.2 18.3v4.2c0 2.2-1.8 4.1-4 4.1h-.1-9v1.1c2.3.7 3.9 2.9 3.9 5.3 0 3-2.5 5.5-5.5 5.5s-5.5-2.5-5.5-5.5c0-2.4 1.6-4.6 3.9-5.3v-9.5c-2.3-.7-3.9-2.9-3.9-5.3 0-3 2.5-5.5 5.5-5.5 2.4 0 4.6 1.6 5.3 3.9h2.6c.7-2.3 2.9-3.9 5.3-3.9 3 0 5.5 2.5 5.5 5.5 0 2.5-1.6 4.6-4 5.4z"/><path d="m60 33.2h-10.6v-2.6h10.6z"/><path d="m72.8 24.4c0 2-.4 3.5-1.3 4.7s-2.1 1.8-3.6 1.8c-1.3 0-2.3-.4-3.1-1.3v6h-3.4v-17.7h3.1l.1 1.2c.8-1 1.9-1.5 3.2-1.5 1.6 0 2.8.6 3.6 1.7s1.3 2.8 1.3 4.8v.3zm-3.4-.3c0-1.2-.2-2.1-.6-2.7s-1-1-1.8-1c-1.1 0-1.8.4-2.2 1.2v5.2c.4.8 1.2 1.3 2.2 1.3 1.6 0 2.4-1.3 2.4-4z"/><path d="m82.5 29.3c-.8 1-2 1.5-3.5 1.5-1.4 0-2.4-.4-3.1-1.2s-1.1-1.9-1.1-3.4v-8.3h3.4v8.2c0 1.3.6 2 1.8 2 1.1 0 1.9-.4 2.4-1.2v-9h3.4v12.7h-3.2z"/><path d="m91.9 30.6h-3.4v-18h3.4z"/><path d="m98.2 30.6h-3.4v-18h3.4z"/><path d="m108.2 21.1c-.5-.1-.9-.1-1.2-.1-1.3 0-2.1.4-2.5 1.3v8.3h-3.5v-12.7h3.2l.1 1.5c.7-1.2 1.6-1.7 2.8-1.7.4 0 .7.1 1.1.2z"/><path d="m115.4 30.8c-1.9 0-3.4-.6-4.5-1.7s-1.8-2.7-1.8-4.6v-.3c0-1.3.2-2.4.7-3.4s1.2-1.8 2.1-2.3 1.9-.8 3.1-.8c1.7 0 3.1.5 4.1 1.6s1.5 2.6 1.5 4.7v1.4h-8.1c.1.8.4 1.5 1 2s1.2.8 2.1.8c1.3 0 2.3-.5 3.1-1.4l1.7 1.9c-.5.7-1.2 1.3-2.1 1.7s-1.8.4-2.9.4zm-.4-10.4c-.7 0-1.2.2-1.6.7s-.7 1.1-.8 2h4.7v-.3c0-.8-.2-1.3-.6-1.7-.4-.5-1-.7-1.7-.7z"/><path d="m122 24.1c0-2 .4-3.6 1.3-4.7s2.1-1.7 3.7-1.7c1.4 0 2.4.5 3.2 1.6l.2-1.3h3v17.6h-3.4v-6c-.8.9-1.8 1.3-3.1 1.3-1.5 0-2.7-.6-3.6-1.8s-1.3-2.8-1.3-5zm3.4.3c0 1.2.2 2.1.6 2.8s1 1 1.8 1c1 0 1.8-.4 2.2-1.2v-5.2c-.4-.8-1.1-1.2-2.2-1.2-.8 0-1.4.3-1.8 1s-.6 1.4-.6 2.8z"/><path d="m143.7 29.3c-.8 1-2 1.5-3.5 1.5-1.4 0-2.4-.4-3.1-1.2s-1.1-1.9-1.1-3.4v-8.3h3.4v8.2c0 1.3.6 2 1.8 2 1.1 0 1.9-.4 2.4-1.2v-9h3.4v12.7h-3.2z"/><path d="m155.4 30.8c-1.9 0-3.4-.6-4.5-1.7s-1.8-2.7-1.8-4.6v-.3c0-1.3.2-2.4.7-3.4s1.2-1.8 2.1-2.3 1.9-.8 3.1-.8c1.7 0 3.1.5 4.1 1.6s1.5 2.6 1.5 4.7v1.4h-8.1c.1.8.4 1.5 1 2s1.2.8 2.1.8c1.3 0 2.3-.5 3.1-1.4l1.7 1.9c-.5.7-1.2 1.3-2.1 1.7s-1.9.4-2.9.4zm-.4-10.4c-.7 0-1.2.2-1.6.7s-.7 1.1-.8 2h4.7v-.3c0-.8-.2-1.3-.6-1.7-.5-.5-1-.7-1.7-.7z"/><path d="m169.4 27.1c0-.4-.2-.7-.6-1s-1.1-.5-2-.6c-3-.6-4.5-1.9-4.5-3.8 0-1.1.5-2.1 1.4-2.8s2.2-1.1 3.7-1.1c1.6 0 2.9.4 3.9 1.1s1.4 1.7 1.4 3h-3.4c0-.5-.2-.9-.5-1.2s-.8-.5-1.5-.5c-.6 0-1 .1-1.3.4s-.5.6-.5 1 .2.7.5.9 1 .4 1.8.6 1.6.4 2.1.6c1.8.7 2.7 1.8 2.7 3.4 0 1.2-.5 2.1-1.5 2.8s-2.3 1.1-3.8 1.1c-1.1 0-2-.2-2.8-.6s-1.5-.9-1.9-1.6-.7-1.4-.7-2.1h3.2c0 .6.3 1.1.7 1.4s1 .5 1.7.5c.6 0 1.1-.1 1.5-.4s.4-.7.4-1.1z"/><path d="m178.9 14.8v3.1h2.2v2.5h-2.2v6.3c0 .5.1.8.3 1s.5.3 1 .3c.4 0 .7 0 1-.1v2.6c-.7.2-1.3.3-2.1.3-2.4 0-3.6-1.2-3.6-3.6v-6.8h-1.9v-2.5h1.9v-3.1z"/></g></svg> \ No newline at end of file diff --git a/themes/vue/source/images/qingfuwu-v2.svg b/themes/vue/source/images/qingfuwu-v2.svg new file mode 100644 index 0000000000..74c22f8a8d --- /dev/null +++ b/themes/vue/source/images/qingfuwu-v2.svg @@ -0,0 +1,39 @@ +<svg width="860" height="452" viewBox="0 0 860 452" fill="none" xmlns="http://www.w3.org/2000/svg"> +<g clip-path="url(#clip0_532_6045)"> +<path d="M860 0H0V452H860V0Z" fill="white"/> +<path d="M442.08 160.157H479.338V141.772H391.798V160.157H423.855V199.148H389.397V217.57H481.728V199.148H442.08V160.157ZM840.468 146.42H773.772C775.607 140.845 776.524 136.843 776.886 135.098H758.142C757.418 137.77 756.211 141.686 754.377 146.42H701.573V164.805H745.783C733.963 185.989 717.364 204.055 697.336 217.534H725.434C742.411 202.922 756.285 184.985 766.217 164.805H833.975V199.112H784.635V217.497H840.468C846.913 217.497 852.175 212.202 852.175 205.663V158.254C852.163 155.119 850.925 152.117 848.732 149.9C846.539 147.684 843.569 146.433 840.468 146.42ZM566.721 48.4663H522.848C519.745 48.4727 516.771 49.7216 514.577 51.9395C512.383 54.1574 511.147 57.1637 511.141 60.3003V145.285C511.141 183.313 503.332 207.627 499.337 217.57H518.769C522.643 206.139 527.278 187.802 528.799 162.585H560.227V199.148H541.797V217.534H566.697C573.13 217.534 578.404 212.239 578.404 205.7V60.2271C578.402 58.68 578.099 57.1484 577.512 55.7199C576.924 54.2913 576.064 52.9938 574.98 51.9016C573.896 50.8093 572.61 49.9437 571.195 49.3543C569.78 48.7648 568.263 48.4631 566.733 48.4663H566.721ZM560.203 66.8517V96.1927H529.306V66.8517H560.203ZM529.306 144.2V114.602H560.203V144.187H529.306V144.2ZM652.667 188.559C672.184 155.228 675.696 133.085 675.973 129.45C676.095 127.826 675.883 126.194 675.351 124.656C674.82 123.118 673.98 121.708 672.885 120.514C671.789 119.319 670.461 118.366 668.984 117.714C667.508 117.062 665.914 116.726 664.302 116.725H608.783V66.8395H654.273V87.2867H630.013V105.672H660.79C667.223 105.672 672.497 100.377 672.497 93.8381V60.2637C672.491 57.1271 671.256 54.1208 669.061 51.9029C666.867 49.685 663.893 48.4361 660.79 48.4297H602.253C599.15 48.4361 596.176 49.685 593.982 51.9029C591.788 54.1208 590.552 57.1271 590.546 60.2637V217.522H608.735V135.098H656.747C655.347 142.492 650.676 155.387 642.239 171.271C637.686 162.583 633.863 153.523 630.81 144.187H611.776C612.935 148.64 618.414 167.868 631.485 189.657C625.324 199.309 618.665 208.626 611.535 217.57H633.32C636.482 213.374 639.319 209.335 641.998 205.334C645.112 209.457 648.479 213.532 652.197 217.57H678.701C668.752 209.149 659.992 199.387 652.667 188.559ZM347.817 48.4663H328.953L325.356 62.4963H306.648V80.8695H320.649L309.69 123.496C308.483 127.9 309.412 132.475 312.128 136.062C314.844 139.661 319.008 141.772 323.473 141.772H343.026V166.538L306.648 172.674V191.06L343.026 184.923V217.534H361.214V181.849L380.719 178.543V160.145L361.214 163.463V141.784H378.558V123.386H361.214V101.683H343.026V123.386H328.591L339.501 80.8695H380.719V62.4841H344.221L347.817 48.4663ZM479.338 135.989V116.042C468.392 111.219 457.948 105.306 448.163 98.3887C459.592 86.9085 466.267 77.0143 468.391 73.6227C471.022 69.4503 471.179 64.1555 468.826 59.8367C467.624 57.643 465.863 55.8149 463.725 54.5425C461.588 53.2702 459.152 52.6001 456.672 52.6021H390.929V70.9875H447.933C432.914 90.564 413.329 106.073 390.929 116.127V136.05C406.55 129.966 421.151 121.489 434.222 110.918C447.137 120.654 462.284 129.047 479.362 136.001L479.338 135.989Z" fill="#333333"/> +<path d="M802.497 106.855C822.774 96.5587 837.04 85.8105 844.837 77.4779C846.423 75.805 847.486 73.6973 847.894 71.4175C848.303 69.1377 848.038 66.7869 847.133 64.6583C846.228 62.5297 844.723 60.7175 842.806 59.4479C840.889 58.1782 838.644 57.5072 836.352 57.5187H754.727C757.647 53.2365 759.603 50.0035 760.52 48.4297H738.783C732.145 57.8847 720.473 72.4271 704.518 84.7491V107.185C713.127 101.652 721.186 95.2905 728.584 88.1895C730.66 90.1293 739.495 97.7665 755.451 106.575C737.487 112.179 719.106 116.311 700.486 118.933V137.563C730.781 133.415 756.851 126.095 778.431 117.604C798.623 125.973 825.043 133.769 858.065 137.441V118.933C839.187 116.814 820.569 112.767 802.497 106.855ZM742.295 75.9407H818.767C810.137 82.4921 797.018 90.4099 779.276 97.8885C758.323 88.4701 746.133 79.1005 742.295 75.9407Z" fill="#333333"/> +<path d="M107.488 80.5416L155.883 163.774H190.57L106.244 18.625L0 201.625H37.175L107.506 80.5416H107.497H107.488Z" fill="url(#paint0_linear_532_6045)"/> +<path d="M78.2765 215.092L127.703 132.661L109.628 102.5L22.8682 247.375H243.93L224.607 215.092H78.2765Z" fill="url(#paint1_linear_532_6045)"/> +<path d="M116.521 171.745L99.0967 201.625H266.798L159.99 18.625L141.316 50.6527L211.982 171.745H116.503H116.521Z" fill="url(#paint2_linear_532_6045)"/> +<path d="M3.14917 369.506H37.8438V383H50.4148V369.506H59.7188V358.675H50.4148V310.273H34.0085L3.14917 359.03V369.506ZM37.9858 358.675H16.6435V358.107L37.4176 325.187H37.9858V358.675Z" fill="black"/> +<path d="M69.575 383.781C73.7653 383.781 77.3519 380.301 77.3875 375.969C77.3519 371.707 73.7653 368.227 69.575 368.227C65.2426 368.227 61.7269 371.707 61.7625 375.969C61.7269 380.301 65.2426 383.781 69.575 383.781Z" fill="black"/> +<path d="M106.136 383.994C121.867 383.994 133.124 375.33 133.16 363.504C133.124 354.413 126.413 346.814 117.961 345.393V344.896C125.312 343.263 130.425 336.658 130.461 328.774C130.425 317.588 120.127 309.278 106.136 309.278C92.0377 309.278 81.7394 317.553 81.7749 328.774C81.7394 336.658 86.782 343.263 94.2749 344.896V345.393C85.6811 346.814 79.0405 354.413 79.076 363.504C79.0405 375.33 90.2621 383.994 106.136 383.994ZM106.136 373.838C97.897 373.838 92.5703 369.293 92.6414 362.581C92.5703 355.621 98.2877 350.685 106.136 350.685C113.877 350.685 119.559 355.656 119.63 362.581C119.559 369.293 114.268 373.838 106.136 373.838ZM106.136 340.706C99.3885 340.706 94.559 336.338 94.63 330.017C94.559 323.767 99.2465 319.577 106.136 319.577C112.918 319.577 117.57 323.767 117.641 330.017C117.57 336.374 112.776 340.706 106.136 340.706Z" fill="black"/> +<path d="M137.334 383H187.192V371.991H155.516V371.494L168.052 358.746C182.185 345.18 186.091 338.575 186.091 330.372C186.091 318.192 176.184 309.278 161.553 309.278C147.135 309.278 136.908 318.227 136.908 332.041H149.444C149.444 324.619 154.131 319.967 161.375 319.967C168.3 319.967 173.449 324.193 173.449 331.047C173.449 337.119 169.756 341.452 162.583 348.732L137.334 373.483V383Z" fill="black"/> +<path d="M300.485 342.9C299.085 335 295.085 323.3 290.285 314.4L280.085 317.8C284.585 326.7 288.385 338.8 289.485 346.7L300.485 342.9ZM277.585 298.4H265.685V349.6C265.685 350.7 265.185 351.1 264.085 351.1C262.785 351.1 259.085 351.1 255.585 351C257.185 354.2 258.885 359.3 259.285 362.7C265.585 362.7 269.885 362.3 273.185 360.4C276.585 358.4 277.585 355.2 277.585 349.7V298.4ZM250.785 315.5C249.185 326.5 245.885 337.5 240.685 344.4C243.585 345.6 248.585 348.3 250.885 349.9C255.985 342.2 259.985 329.8 262.185 317.4L250.785 315.5ZM245.785 353.4C243.885 351.2 235.685 342.5 232.985 340.3V337.4H243.685V326.3H232.985V312.2C237.285 311.1 241.285 309.8 244.885 308.4L236.985 299.3C229.285 302.8 216.985 305.7 205.985 307.6C207.285 310 208.685 314 209.285 316.7C213.185 316.2 217.285 315.5 221.485 314.7V326.3H207.185V337.4H219.885C216.185 347.1 210.685 357.7 205.085 364.2C206.985 367.2 209.485 372.1 210.585 375.5C214.485 370.5 218.285 363.4 221.485 355.7V391.6H232.985V352.6C235.385 356.2 237.785 360.1 238.985 362.7L245.785 353.4ZM283.985 347.7C277.785 367.7 264.485 376.6 241.485 380.6C243.985 383.5 246.785 388.1 247.885 391.7C273.685 385.4 288.385 374.4 295.585 350.5L283.985 347.7Z" fill="black"/> +<path d="M349.285 307.9H330.885V299H319.385V307.9H301.085V318.2H349.285V307.9ZM334.385 363.3V376.5H315.685V363.3H334.385ZM304.685 391.8H315.685V386.8H334.385V391.4H345.985V353H304.685V391.8ZM333.485 318.5C332.685 323.1 330.885 329.4 329.385 333.6L337.485 335.7H311.285L320.685 333.5C320.285 329.4 318.685 323.4 316.585 318.9L306.885 320.9C308.585 325.5 310.085 331.7 310.385 335.7H298.985V346.5H350.385V335.7H338.785C340.485 331.8 342.585 326.4 344.685 320.9L333.485 318.5ZM383.485 303.6L381.685 304H353.485V391.7H365.085V315.2H377.185C374.785 322.8 371.585 333 368.685 340.1C376.685 347.9 378.885 355.1 378.885 360.5C378.885 363.9 378.285 366.2 376.485 367.3C375.485 367.8 374.185 368.1 372.785 368.1C371.285 368.2 369.385 368.1 367.185 368C369.085 371.3 370.085 376.4 370.085 379.6C372.885 379.7 375.785 379.7 378.085 379.4C380.585 379 382.985 378.2 384.885 376.9C388.685 374.2 390.285 369.3 390.285 362C390.285 355.4 388.785 347.6 380.285 338.6C384.285 330.1 388.685 318.6 392.185 309L383.485 303.6Z" fill="black"/> +<path d="M440.485 337.7H456.785C454.285 339.4 451.585 341 448.885 342.6H440.485V337.7ZM462.485 364.7V368.7H424.285V364.8L424.585 364.7H462.485ZM424.285 380.6V376.1H462.485V380.6H424.285ZM420.985 315.9H409.885V309.7H420.985V315.9ZM431.885 309.7H443.185V315.9H431.885V309.7ZM454.085 309.7H465.685V315.9H454.085V309.7ZM482.485 351.9V342.6H467.485C471.985 339.3 476.185 335.6 479.885 331.8L470.485 326.1C467.685 329.1 464.385 332 460.885 334.7V328.7H440.485V324.1H477.585V301.6H398.585V324.1H428.985V328.7H403.985V337.7H428.985V342.6H393.285V351.9H429.385C417.085 356.7 403.885 360.4 390.585 362.9C392.485 365.4 395.185 370.4 396.185 373C401.985 371.6 407.685 370.1 413.285 368.4V391.4H424.285V389H462.485V391.2H474.085V356.3H444.785C447.685 354.9 450.385 353.4 453.085 351.9H482.485Z" fill="black"/> +<path d="M514.493 310.273H500.04L525.644 383H541.908L567.547 310.273H553.059L534.167 367.517H533.421L514.493 310.273Z" fill="black"/> +<path d="M603.824 360.06C603.824 368.369 597.893 372.489 592.212 372.489C586.033 372.489 581.913 368.121 581.913 361.196V328.455H569.058V363.185C569.058 376.288 576.516 383.71 587.24 383.71C595.408 383.71 601.161 379.413 603.646 373.305H604.214V383H616.679V328.455H603.824V360.06Z" fill="black"/> +<path d="M646.546 384.065C659.259 384.065 667.995 377.851 670.267 368.369L658.265 367.02C656.525 371.636 652.263 374.051 646.723 374.051C638.414 374.051 632.909 368.582 632.803 359.243H670.8V355.301C670.8 336.161 659.294 327.744 645.871 327.744C630.246 327.744 620.054 339.214 620.054 356.047C620.054 373.163 630.104 384.065 646.546 384.065ZM632.838 350.578C633.229 343.618 638.378 337.759 646.049 337.759C653.435 337.759 658.407 343.156 658.478 350.578H632.838Z" fill="black"/> +<path d="M725.975 320.5V367.5H737.675V330.9H763.775V367.1H775.975V320.5H752.875C754.175 318.1 755.575 315.5 756.975 312.7H780.975V302.1H723.275V312.7H742.975C742.175 315.4 741.275 318 740.475 320.5H725.975ZM722.275 352.9L711.975 355.6V320.3H721.875V309.1H688.675V320.3H700.175V358.8C695.175 360.1 690.675 361.2 686.975 362.1L689.875 374.7C699.575 371.4 711.975 367 723.775 362.9L722.275 352.9ZM756.775 334.8H744.875V355C744.875 364.9 741.475 376.2 714.875 382.9C717.475 385.1 720.975 389.5 722.375 392C750.475 383.4 756.775 369 756.775 355.2V334.8ZM753.375 375.6C760.475 380.2 769.875 386.9 774.275 391.4L782.175 383.3C777.475 378.9 767.775 372.7 760.675 368.5L753.375 375.6Z" fill="black"/> +<path d="M803.675 372.8V361H849.975V372.8H803.675ZM849.975 338V349.8H803.675V338H849.975ZM849.975 315.3V326.8H803.675V315.3H849.975ZM791.675 303.7V390.6H803.675V384.4H849.975V390.6H862.575V303.7H791.675Z" fill="black"/> +</g> +<defs> +<linearGradient id="paint0_linear_532_6045" x1="190.886" y1="95.0817" x2="0.146256" y2="170.336" gradientUnits="userSpaceOnUse"> +<stop stop-color="#2153F6"/> +<stop offset="1" stop-color="#5AA2F8"/> +</linearGradient> +<linearGradient id="paint1_linear_532_6045" x1="113.256" y1="130.884" x2="108.282" y2="264.409" gradientUnits="userSpaceOnUse"> +<stop stop-color="#2153F6"/> +<stop offset="1" stop-color="#5AA2F8"/> +</linearGradient> +<linearGradient id="paint2_linear_532_6045" x1="131.952" y1="202.73" x2="222.429" y2="116.625" gradientUnits="userSpaceOnUse"> +<stop stop-color="#2153F6"/> +<stop offset="1" stop-color="#5AA2F8"/> +</linearGradient> +<clipPath id="clip0_532_6045"> +<rect width="860" height="452" fill="white"/> +</clipPath> +</defs> +</svg> diff --git a/themes/vue/source/images/quickbooks_tool_hub.png b/themes/vue/source/images/quickbooks_tool_hub.png new file mode 100644 index 0000000000..6e83777f81 Binary files /dev/null and b/themes/vue/source/images/quickbooks_tool_hub.png differ diff --git a/themes/vue/source/images/refurbed.png b/themes/vue/source/images/refurbed.png new file mode 100644 index 0000000000..25c0b5f031 Binary files /dev/null and b/themes/vue/source/images/refurbed.png differ diff --git a/themes/vue/source/images/retool.png b/themes/vue/source/images/retool.png new file mode 100644 index 0000000000..8e7c38f73b Binary files /dev/null and b/themes/vue/source/images/retool.png differ diff --git a/themes/vue/source/images/roadster.png b/themes/vue/source/images/roadster.png new file mode 100644 index 0000000000..2af9bd2851 Binary files /dev/null and b/themes/vue/source/images/roadster.png differ diff --git a/themes/vue/source/images/shopware_ag.png b/themes/vue/source/images/shopware_ag.png new file mode 100644 index 0000000000..08dce257b8 Binary files /dev/null and b/themes/vue/source/images/shopware_ag.png differ diff --git a/themes/vue/source/images/shopware_ag.svg b/themes/vue/source/images/shopware_ag.svg new file mode 100644 index 0000000000..78976031cc --- /dev/null +++ b/themes/vue/source/images/shopware_ag.svg @@ -0,0 +1 @@ +<svg id="Ebene_1" data-name="Ebene 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 511.91 110.05"><defs><style>.cls-1{fill:#189eff;}</style></defs><title>sw-logo-blue</title><g id="_Gruppe_" data-name="<Gruppe>"><g id="_Gruppe_2" data-name="<Gruppe>"><path id="_Pfad_" data-name="<Pfad>" class="cls-1" d="M150.17,55.53c-4.68-2-8.53-3.87-8.53-6.92,0-2.14,2.42-4.17,6.5-4.17a24.41,24.41,0,0,1,10.07,2.34,2.19,2.19,0,0,0,3.05-.92l1.63-3.26a2.78,2.78,0,0,0-1-3.46,26.21,26.21,0,0,0-13.74-3.46c-11.4,0-16.06,6.92-16.06,12.82,0,7.73,6,11.6,13.21,14.86,6.51,2.95,10.07,5,10.07,8.14,0,2.65-2.24,4.58-6.21,4.58-5.6,0-8.95-1.93-11.7-3.46a2.09,2.09,0,0,0-3.05.61l-2.14,4.38a1.92,1.92,0,0,0,.81,2.44,27.33,27.33,0,0,0,15.47,4.78c10.48,0,16.79-6.41,16.79-13.74C165.33,62.35,158.82,59.2,150.17,55.53Z"/></g><g id="_Gruppe_3" data-name="<Gruppe>"><path id="_Pfad_2" data-name="<Pfad>" class="cls-1" d="M87.77,98C83,94.4,75.94,91.66,68.48,88.77c-8.88-3.44-19-7.35-26.51-13.36C33.41,68.59,29.24,60,29.24,49.12A29.74,29.74,0,0,1,40.95,25c8.59-6.76,21.61-10.34,37.64-10.34a92.7,92.7,0,0,1,12.58.81,0.79,0.79,0,0,0,.63-1.37A55,55,0,1,0,55,110,54.63,54.63,0,0,0,87.76,99.27a0.79,0.79,0,0,0,.32-0.63A0.8,0.8,0,0,0,87.77,98Z"/><path id="_Pfad_3" data-name="<Pfad>" class="cls-1" d="M109.83,49.94a0.8,0.8,0,0,0-.28-0.54C98.07,39.87,88.78,36,77.49,36c-6,0-10.64,1.21-13.72,3.59a10.16,10.16,0,0,0-4.08,8.31c0,9.45,11.55,13.76,24.93,18.75,6.89,2.57,14,5.23,20.56,8.86a0.75,0.75,0,0,0,.38.1,0.86,0.86,0,0,0,.27-0.05,0.79,0.79,0,0,0,.47-0.46A54.91,54.91,0,0,0,110.07,55C110.06,53.4,110,51.69,109.83,49.94Z"/></g><path id="_Zusammengesetzter_Pfad_" data-name="<Zusammengesetzter Pfad>" class="cls-1" d="M426.12,84.26a2.52,2.52,0,0,0,2.38-2.47V57.92c0-12.21-1.49-21.67-17.21-21.67A52.73,52.73,0,0,0,394.4,39a2.22,2.22,0,0,0-1.59,2.87l1,4c0.32,1.38,1.27,2.34,2.76,2a50.57,50.57,0,0,1,13.7-2.34c6.16,0,8.07,3.51,7.86,11.26a37.68,37.68,0,0,0-9.88-1.49c-12.64,0-19.65,6.8-19.65,15.83,0,10.2,6.47,13.65,15.71,13.65,7.54,0,15.3-.09,18.53-0.3ZM418,75.6c-1.49,2.44-6.8,1.83-11.36,1.74-5.1-.11-7.65-1.89-7.65-6.25C399,66,403.32,63,409.06,63a22.33,22.33,0,0,1,8.92,1.7V75.6h0Z"/><path id="_Zusammengesetzter_Pfad_2" data-name="<Zusammengesetzter Pfad>" class="cls-1" d="M506.32,35.69a5.57,5.57,0,1,0-5.59-5.57A5.58,5.58,0,0,0,506.32,35.69Zm0-10.32a4.75,4.75,0,1,1-4.7,4.75A4.75,4.75,0,0,1,506.32,25.37Z"/><path id="_Zusammengesetzter_Pfad_3" data-name="<Zusammengesetzter Pfad>" class="cls-1" d="M504.42,32.94h0.52a0.15,0.15,0,0,0,.15-0.15v-2h1.22l1,2.1a0.16,0.16,0,0,0,.17.1h0.6a0.15,0.15,0,0,0,.14-0.23l-1.1-2A1.78,1.78,0,0,0,508.36,29a1.73,1.73,0,0,0-1.75-1.72h-2.19a0.15,0.15,0,0,0-.15.15v5.33A0.15,0.15,0,0,0,504.42,32.94Zm0.69-4.85h1.43a1,1,0,0,1,1,1,1,1,0,0,1-1,1h-1.43v-2Z"/><path id="_Pfad_4" data-name="<Pfad>" class="cls-1" d="M196.59,35.69A22.62,22.62,0,0,0,183,40.58v-21a2.41,2.41,0,0,0-2.24-2.24H175a2.33,2.33,0,0,0-2.24,2.24v63A2.26,2.26,0,0,0,175,84.84h5.6A2.16,2.16,0,0,0,183,82.6V52.18a14,14,0,0,1,12.31-6.82c6.11,0,9.36,4.58,9.36,12.31V82.61a2.26,2.26,0,0,0,2.24,2.24h5.7a2.33,2.33,0,0,0,2.24-2.24V57.88C214.8,45.06,209.92,35.69,196.59,35.69Z"/><path id="_Zusammengesetzter_Pfad_4" data-name="<Zusammengesetzter Pfad>" class="cls-1" d="M315.78,58.37c-0.56-16-7.25-22.68-22.66-22.68a65,65,0,0,0-17.53,2.79c-1.6.69-2.78,1.51-2.78,2.63v59.83a2.26,2.26,0,0,0,2.24,2.24h4.72a2.2,2.2,0,0,0,2.44-2.24V84a86,86,0,0,0,14.84.8c10.88-.34,18.18-8.24,18.79-21.58a59.18,59.18,0,0,0,0-6v1.1Zm-9.83,4.87c-0.21,9.05-2.84,13.05-10.46,13.47-3.77.21-12.67-.84-12.67-0.84a0.69,0.69,0,0,1-.62-0.62V46.51a0.54,0.54,0,0,1,.49-0.54,48.7,48.7,0,0,1,10.44-1.35c9.28,0,12.55,1.36,12.85,13.11C306,59.28,306,61.45,305.95,63.24Z"/><path id="_Pfad_5" data-name="<Pfad>" class="cls-1" d="M383.17,36.71H378.9c-1.22,0-3,0-3.56,1.43L367.81,65.2h-0.2L355,36.81a2,2,0,0,0-2-1.12h-0.71a2.13,2.13,0,0,0-1.93,1.12L337.59,65.1h-0.2l-7.73-27a2.07,2.07,0,0,0-2-1.43h-6.11a1.69,1.69,0,0,0-1.63,2.65l13.74,44.26a1.86,1.86,0,0,0,1.93,1.22h0.61A1.77,1.77,0,0,0,338,83.72l14.45-32h0.2L367,83.72a2.2,2.2,0,0,0,2,1.12h0.41a2.16,2.16,0,0,0,2.14-1.22L385,39.36C385.72,37.93,384.8,36.71,383.17,36.71Z"/><path id="_Pfad_6" data-name="<Pfad>" class="cls-1" d="M458.23,36.25c-0.25,0-.48,0-0.73,0-0.41,0-.81,0-1.24,0-2.44,0-4.78.08-7,.19h0c-4.22.17-6.72,0.49-8.5,0.69,0,0-1.14.11-2.47,0.28a2.82,2.82,0,0,0-1.94,1,1.59,1.59,0,0,0-.44,1.11V82.59a2.26,2.26,0,0,0,2.24,2.24h4.68c1.93,0,3.26-.2,3.26-2.24V53.47h0V46.79A1.39,1.39,0,0,1,446.8,46c1.15-.69,3.91-1.19,9.46-1.19l1.29,0a14.17,14.17,0,0,1,3.93.88,2,2,0,0,0,2.85-1.12l2.44-4C468.3,37.47,462.71,36.25,458.23,36.25Z"/><path id="_Zusammengesetzter_Pfad_5" data-name="<Zusammengesetzter Pfad>" class="cls-1" d="M490.44,35.69C476.3,35.69,467,47,467,60.21c0,13.43,9.26,24.62,23.5,24.62,7.83,0,14-2.85,17.4-5.8,1.42-1.22,1-2.14.2-3.15l-2.75-4.27c-0.81-1.22-1.73-.92-2.75-0.2a18.28,18.28,0,0,1-11.5,4c-8.24,0-13.94-6.51-14-12.82h32.46a2.21,2.21,0,0,0,2.14-2c0.1-.81.2-2.44,0.2-3.26C511.9,44.75,502.65,35.69,490.44,35.69ZM477.62,55c0.71-5.9,5.19-10.68,12.62-10.68,6.92,0,11.4,5,11.6,10.68H477.62Z"/><path id="_Zusammengesetzter_Pfad_6" data-name="<Zusammengesetzter Pfad>" class="cls-1" d="M264.64,50.23a23.16,23.16,0,0,0-4.46-7.79,19.63,19.63,0,0,0-6.85-5,26.65,26.65,0,0,0-19,0,19.72,19.72,0,0,0-6.85,5A23.16,23.16,0,0,0,223,50.23a30.25,30.25,0,0,0-1.59,10A30.11,30.11,0,0,0,223,70.35a23.21,23.21,0,0,0,4.46,7.74,19.63,19.63,0,0,0,6.85,5,26.8,26.8,0,0,0,19,0,19.72,19.72,0,0,0,6.85-5,23.21,23.21,0,0,0,4.46-7.74,30.11,30.11,0,0,0,1.59-10.08A30.25,30.25,0,0,0,264.64,50.23Zm-21.1,26.51c-8.49,0-12.77-7.19-12.77-16.06S235,44.62,243.54,44.62s12.77,7.19,12.77,16.06S252,76.74,243.54,76.74Z"/></g></svg> \ No newline at end of file diff --git a/themes/vue/source/images/someline.png b/themes/vue/source/images/someline.png deleted file mode 100644 index b8b160a74b..0000000000 Binary files a/themes/vue/source/images/someline.png and /dev/null differ diff --git a/themes/vue/source/images/special-sponsor-spot.png b/themes/vue/source/images/special-sponsor-spot.png new file mode 100644 index 0000000000..f01908a124 Binary files /dev/null and b/themes/vue/source/images/special-sponsor-spot.png differ diff --git a/themes/vue/source/images/staff_augmentation.png b/themes/vue/source/images/staff_augmentation.png new file mode 100644 index 0000000000..2bae47249c Binary files /dev/null and b/themes/vue/source/images/staff_augmentation.png differ diff --git a/themes/vue/source/images/stdlib.png b/themes/vue/source/images/stdlib.png index a5a7d6d4ed..2cf5ca2672 100644 Binary files a/themes/vue/source/images/stdlib.png and b/themes/vue/source/images/stdlib.png differ diff --git a/themes/vue/source/images/storekit.png b/themes/vue/source/images/storekit.png new file mode 100644 index 0000000000..f9ffe2545d Binary files /dev/null and b/themes/vue/source/images/storekit.png differ diff --git a/themes/vue/source/images/storyblok.png b/themes/vue/source/images/storyblok.png new file mode 100644 index 0000000000..6d1df875d6 Binary files /dev/null and b/themes/vue/source/images/storyblok.png differ diff --git a/themes/vue/source/images/strikingly.png b/themes/vue/source/images/strikingly.png deleted file mode 100644 index d2c33aaa7c..0000000000 Binary files a/themes/vue/source/images/strikingly.png and /dev/null differ diff --git a/themes/vue/source/images/syncfusion.png b/themes/vue/source/images/syncfusion.png new file mode 100644 index 0000000000..b21e2b3f67 Binary files /dev/null and b/themes/vue/source/images/syncfusion.png differ diff --git a/themes/vue/source/images/takt.png b/themes/vue/source/images/takt.png new file mode 100644 index 0000000000..3b8a8e023e Binary files /dev/null and b/themes/vue/source/images/takt.png differ diff --git a/themes/vue/source/images/tatvasoft.png b/themes/vue/source/images/tatvasoft.png new file mode 100644 index 0000000000..c9e136ce47 Binary files /dev/null and b/themes/vue/source/images/tatvasoft.png differ diff --git a/themes/vue/source/images/tde.png b/themes/vue/source/images/tde.png deleted file mode 100644 index 7e20dce2b6..0000000000 Binary files a/themes/vue/source/images/tde.png and /dev/null differ diff --git a/themes/vue/source/images/team_extension_north_america_inc.png b/themes/vue/source/images/team_extension_north_america_inc.png new file mode 100644 index 0000000000..622af9f818 Binary files /dev/null and b/themes/vue/source/images/team_extension_north_america_inc.png differ diff --git a/themes/vue/source/images/teamextension.png b/themes/vue/source/images/teamextension.png deleted file mode 100644 index 2453e13865..0000000000 Binary files a/themes/vue/source/images/teamextension.png and /dev/null differ diff --git a/themes/vue/source/images/tee__.png b/themes/vue/source/images/tee__.png new file mode 100644 index 0000000000..2889d7fa12 Binary files /dev/null and b/themes/vue/source/images/tee__.png differ diff --git a/themes/vue/source/images/tendermint.png b/themes/vue/source/images/tendermint.png new file mode 100644 index 0000000000..263b00d38a Binary files /dev/null and b/themes/vue/source/images/tendermint.png differ diff --git a/themes/vue/source/images/tidelift.png b/themes/vue/source/images/tidelift.png new file mode 100644 index 0000000000..1d8638a19b Binary files /dev/null and b/themes/vue/source/images/tidelift.png differ diff --git a/themes/vue/source/images/tighten_co.png b/themes/vue/source/images/tighten_co.png new file mode 100644 index 0000000000..8d6217a684 Binary files /dev/null and b/themes/vue/source/images/tighten_co.png differ diff --git a/themes/vue/source/images/tmvuejs2.png b/themes/vue/source/images/tmvuejs2.png deleted file mode 100644 index 3874c04a7c..0000000000 Binary files a/themes/vue/source/images/tmvuejs2.png and /dev/null differ diff --git a/themes/vue/source/images/troypoint.png b/themes/vue/source/images/troypoint.png new file mode 100644 index 0000000000..9b467ebe31 Binary files /dev/null and b/themes/vue/source/images/troypoint.png differ diff --git a/themes/vue/source/images/unicorn_io.png b/themes/vue/source/images/unicorn_io.png new file mode 100644 index 0000000000..52a8589731 Binary files /dev/null and b/themes/vue/source/images/unicorn_io.png differ diff --git a/themes/vue/source/images/usave.png b/themes/vue/source/images/usave.png new file mode 100644 index 0000000000..93a58cc9af Binary files /dev/null and b/themes/vue/source/images/usave.png differ diff --git a/themes/vue/source/images/valuecoders.png b/themes/vue/source/images/valuecoders.png index c5d4aae46c..daed532490 100644 Binary files a/themes/vue/source/images/valuecoders.png and b/themes/vue/source/images/valuecoders.png differ diff --git a/themes/vue/source/images/vpn_review.png b/themes/vue/source/images/vpn_review.png new file mode 100644 index 0000000000..52cfc60a82 Binary files /dev/null and b/themes/vue/source/images/vpn_review.png differ diff --git a/themes/vue/source/images/vpnranks.png b/themes/vue/source/images/vpnranks.png new file mode 100644 index 0000000000..44d5d24673 Binary files /dev/null and b/themes/vue/source/images/vpnranks.png differ diff --git a/themes/vue/source/images/vpsserver_com.png b/themes/vue/source/images/vpsserver_com.png new file mode 100644 index 0000000000..68a9155e6e Binary files /dev/null and b/themes/vue/source/images/vpsserver_com.png differ diff --git a/themes/vue/source/images/vuejobs.svg b/themes/vue/source/images/vuejobs.svg deleted file mode 100644 index 8bcc93d678..0000000000 --- a/themes/vue/source/images/vuejobs.svg +++ /dev/null @@ -1 +0,0 @@ -<svg viewBox="0 0 801 204" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M0 0h30.448l30.865 89.884 5.422 19.186h1.668l5.84-19.186L106.359 0h30.448L82.376 149.319H52.762L0 0zM211.258 135.972h-1.669c-3.197 5.144-7.507 9.211-12.93 12.2-5.422 2.989-11.609 4.484-18.56 4.484-12.93 0-22.558-3.962-28.884-11.887-6.326-7.925-9.489-18.491-9.489-31.699V47.132h27.32v58.601c0 7.369 1.633 12.826 4.901 16.371 3.267 3.545 8.029 5.318 14.285 5.318 3.754 0 7.056-.799 9.906-2.398 2.85-1.599 5.283-3.754 7.299-6.465s3.545-5.909 4.588-9.593c1.043-3.685 1.564-7.612 1.564-11.783V47.132h27.32v102.187h-25.651v-13.347zM352.861 124.711c-4.727 8.342-11.088 15.085-19.082 20.229-7.995 5.144-17.761 7.716-29.301 7.716-7.786 0-14.981-1.355-21.585-4.067-6.604-2.711-12.339-6.499-17.205-11.365-4.866-4.866-8.654-10.601-11.365-17.205-2.712-6.604-4.067-13.869-4.067-21.794 0-7.368 1.321-14.355 3.962-20.959 2.642-6.603 6.326-12.373 11.053-17.309 4.727-4.935 10.323-8.863 16.788-11.783 6.465-2.919 13.59-4.379 21.376-4.379 8.203 0 15.502 1.355 21.898 4.066 6.395 2.712 11.748 6.465 16.058 11.262 4.31 4.797 7.577 10.462 9.801 16.996 2.225 6.535 3.337 13.626 3.337 21.272v2.503a14.04 14.04 0 0 0-.208 2.294 11.72 11.72 0 0 0-.209 2.294h-76.954c.556 4.171 1.703 7.751 3.441 10.74 1.738 2.989 3.893 5.492 6.465 7.508s5.388 3.475 8.446 4.379a32.943 32.943 0 0 0 9.385 1.356c6.256 0 11.435-1.425 15.537-4.276 4.101-2.85 7.334-6.43 9.697-10.74l22.732 11.262zm-24.817-39.624c-.139-1.807-.73-3.823-1.773-6.048-1.043-2.224-2.572-4.31-4.588-6.256-2.016-1.947-4.518-3.546-7.508-4.797-2.989-1.251-6.569-1.877-10.74-1.877-5.839 0-10.983 1.669-15.432 5.005-4.449 3.337-7.577 7.995-9.385 13.973h49.426z" fill="#18ca84" fill-rule="nonzero"/><path d="M460.471 0v101.979c0 8.342-1.286 15.676-3.858 22.002-2.572 6.326-6.048 11.609-10.428 15.849-4.379 4.241-9.523 7.439-15.432 9.594-5.909 2.155-12.27 3.232-19.082 3.232-11.818 0-22.141-3.198-30.969-9.593-8.829-6.395-14.981-15.224-18.457-26.485l25.86-10.636c1.808 6.673 4.727 11.678 8.759 15.015 4.032 3.337 8.968 5.005 14.807 5.005 6.534 0 11.609-2.085 15.224-6.256s5.422-10.011 5.422-17.518V28.154h-44.134V0h72.288zM553.298 146.928a56.743 56.743 0 0 1-3.674 1.661c-6.604 2.712-13.868 4.067-21.793 4.067-7.924 0-15.189-1.355-21.793-4.067-6.604-2.711-12.304-6.465-17.101-11.261-4.796-4.797-8.55-10.532-11.261-17.205-2.711-6.674-4.067-13.973-4.067-21.898 0-7.924 1.356-15.223 4.067-21.897 2.711-6.673 6.465-12.408 11.261-17.205 4.797-4.797 10.497-8.55 17.101-11.262 6.604-2.711 13.869-4.066 21.793-4.066 7.925 0 15.189 1.355 21.793 4.066 6.604 2.712 12.305 6.465 17.101 11.262 4.797 4.797 8.551 10.532 11.262 17.205 2.711 6.674 4.066 13.973 4.066 21.897 0 7.925-1.355 15.224-4.066 21.898-2.711 6.673-6.465 12.408-11.262 17.205-.413.414-.834.819-1.261 1.217l9.594 14.669a10.564 10.564 0 0 1 7.761 4.725l20.487 31.321a3.566 3.566 0 0 1-1.033 4.937l-12.933 8.46a3.566 3.566 0 0 1-4.937-1.033l-20.487-31.321a10.566 10.566 0 0 1-1.219-9.004l-9.399-14.371zm-25.467-19.506c3.476 0 6.848-.66 10.115-1.981a25.812 25.812 0 0 0 8.655-5.735c2.502-2.503 4.483-5.562 5.943-9.176 1.46-3.615 2.19-7.717 2.19-12.305s-.73-8.689-2.19-12.304-3.441-6.673-5.943-9.176a25.812 25.812 0 0 0-8.655-5.735 26.746 26.746 0 0 0-10.115-1.981c-3.614 0-7.021.66-10.218 1.981-3.198 1.321-6.048 3.233-8.551 5.735-2.502 2.503-4.484 5.561-5.943 9.176-1.46 3.615-2.19 7.716-2.19 12.304s.73 8.69 2.19 12.305c1.459 3.614 3.441 6.673 5.943 9.176 2.503 2.502 5.353 4.414 8.551 5.735 3.197 1.321 6.604 1.981 10.218 1.981z" fill="#2c3e50"/><path d="M595.4 0h27.32v44.838l-1.668 14.598h1.668c2.503-4.31 6.395-7.995 11.679-11.053 5.283-3.059 11.817-4.588 19.603-4.588 6.534 0 12.756 1.355 18.665 4.066 5.909 2.712 11.122 6.465 15.641 11.262 4.518 4.797 8.098 10.532 10.74 17.205 2.642 6.674 3.962 13.973 3.962 21.897 0 7.925-1.32 15.224-3.962 21.898-2.642 6.673-6.222 12.408-10.74 17.205-4.519 4.796-9.732 8.55-15.641 11.261-5.909 2.712-12.131 4.067-18.665 4.067-7.786 0-14.32-1.529-19.603-4.588-5.284-3.059-9.176-6.743-11.679-11.053h-1.668v12.304H595.4V0zm52.971 127.422c3.615 0 7.056-.695 10.323-2.086a27.157 27.157 0 0 0 8.655-5.839c2.503-2.502 4.518-5.561 6.048-9.176 1.529-3.615 2.294-7.647 2.294-12.096s-.765-8.48-2.294-12.095c-1.53-3.615-3.545-6.674-6.048-9.176a27.177 27.177 0 0 0-8.655-5.84c-3.267-1.39-6.708-2.085-10.323-2.085s-7.056.66-10.323 1.981a25.812 25.812 0 0 0-8.655 5.735c-2.502 2.503-4.518 5.561-6.047 9.176-1.53 3.615-2.294 7.716-2.294 12.304s.764 8.69 2.294 12.305c1.529 3.614 3.545 6.673 6.047 9.176a25.812 25.812 0 0 0 8.655 5.735c3.267 1.321 6.708 1.981 10.323 1.981zM756.815 152.656c-6.673 0-12.617-.834-17.83-2.502-5.214-1.669-9.732-3.859-13.556-6.57-3.823-2.711-7.056-5.839-9.697-9.384-2.642-3.546-4.658-7.126-6.048-10.74l24.4-10.428c2.363 5.283 5.526 9.211 9.489 11.783 3.962 2.572 8.376 3.858 13.242 3.858 5.006 0 8.968-.903 11.888-2.711 2.919-1.807 4.379-3.962 4.379-6.465 0-2.78-1.216-5.04-3.65-6.778-2.433-1.737-6.638-3.302-12.617-4.692l-14.389-3.128c-3.198-.695-6.5-1.807-9.906-3.337a38.756 38.756 0 0 1-9.281-5.839c-2.78-2.364-5.074-5.214-6.882-8.551-1.807-3.336-2.711-7.229-2.711-11.678 0-5.005 1.078-9.454 3.233-13.347 2.155-3.893 5.109-7.195 8.863-9.906 3.754-2.711 8.168-4.797 13.243-6.256 5.074-1.46 10.531-2.19 16.371-2.19 9.732 0 18.421 1.911 26.068 5.735 7.647 3.823 13.277 9.906 16.892 18.248l-23.566 9.593c-1.946-4.032-4.796-6.952-8.55-8.759-3.754-1.808-7.508-2.711-11.261-2.711-3.893 0-7.3.799-10.219 2.398-2.92 1.599-4.38 3.65-4.38 6.152 0 2.364 1.217 4.241 3.65 5.631 2.433 1.39 5.735 2.641 9.906 3.754l15.641 3.754c10.427 2.502 18.178 6.499 23.253 11.991 5.074 5.492 7.612 11.991 7.612 19.499 0 4.449-1.043 8.69-3.129 12.721-2.085 4.032-5.039 7.612-8.863 10.741-3.823 3.128-8.411 5.596-13.764 7.403-5.353 1.807-11.296 2.711-17.831 2.711z" fill="#2c3e50" fill-rule="nonzero"/></svg> \ No newline at end of file diff --git a/themes/vue/source/images/vuejsadmin.png b/themes/vue/source/images/vuejsadmin.png deleted file mode 100644 index 9b034daabb..0000000000 Binary files a/themes/vue/source/images/vuejsadmin.png and /dev/null differ diff --git a/themes/vue/source/images/vuemastery.png b/themes/vue/source/images/vuemastery.png new file mode 100644 index 0000000000..45e2358762 Binary files /dev/null and b/themes/vue/source/images/vuemastery.png differ diff --git a/themes/vue/source/images/vueschool.png b/themes/vue/source/images/vueschool.png index 28ab527577..2bbd71a6c5 100644 Binary files a/themes/vue/source/images/vueschool.png and b/themes/vue/source/images/vueschool.png differ diff --git a/themes/vue/source/images/vuetraining_net__note__since_i_m_not_sure_where_else_to_put_it____this_is_replacing_vuescreencasts___they_re_both_run_by_me__i_m_just_switching_where_i_want_my_sponsorship_to_point_.png b/themes/vue/source/images/vuetraining_net__note__since_i_m_not_sure_where_else_to_put_it____this_is_replacing_vuescreencasts___they_re_both_run_by_me__i_m_just_switching_where_i_want_my_sponsorship_to_point_.png new file mode 100644 index 0000000000..bc7481522c Binary files /dev/null and b/themes/vue/source/images/vuetraining_net__note__since_i_m_not_sure_where_else_to_put_it____this_is_replacing_vuescreencasts___they_re_both_run_by_me__i_m_just_switching_where_i_want_my_sponsorship_to_point_.png differ diff --git a/themes/vue/source/images/watchcartoononline.png b/themes/vue/source/images/watchcartoononline.png new file mode 100644 index 0000000000..e63aba9d28 Binary files /dev/null and b/themes/vue/source/images/watchcartoononline.png differ diff --git a/themes/vue/source/images/webdock.png b/themes/vue/source/images/webdock.png new file mode 100644 index 0000000000..298897d9e5 Binary files /dev/null and b/themes/vue/source/images/webdock.png differ diff --git a/themes/vue/source/images/webreinvent_technologies_pvt_ltd.svg b/themes/vue/source/images/webreinvent_technologies_pvt_ltd.svg new file mode 100644 index 0000000000..109874c332 --- /dev/null +++ b/themes/vue/source/images/webreinvent_technologies_pvt_ltd.svg @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="118pt" height="22pt" viewBox="0 0 118 22" version="1.1"> +<g id="surface1"> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(17.647059%,24.705882%,31.372549%);fill-opacity:1;" d="M 67.226562 8.519531 C 66.863281 8.152344 66.441406 7.972656 65.964844 7.972656 C 65.261719 7.972656 64.753906 8.214844 64.4375 8.695312 C 64.125 9.179688 63.964844 9.792969 63.964844 10.535156 L 63.964844 15.679688 C 63.964844 15.890625 63.980469 16.082031 64.007812 16.257812 C 64.035156 16.433594 64.097656 16.605469 64.195312 16.773438 L 62.3125 16.792969 C 62.410156 16.625 62.480469 16.414062 62.523438 16.152344 C 62.5625 15.894531 62.585938 15.652344 62.585938 15.429688 L 62.585938 8.519531 C 62.585938 8.222656 62.570312 7.972656 62.542969 7.761719 C 62.515625 7.550781 62.445312 7.324219 62.332031 7.085938 L 63.964844 7.085938 L 63.964844 9.152344 C 64.40625 8.574219 64.875 8.105469 65.375 7.738281 C 65.957031 7.320312 66.574219 7.074219 67.226562 7.003906 Z M 67.226562 8.519531 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(17.647059%,24.705882%,31.372549%);fill-opacity:1;" d="M 68.023438 10.414062 C 67.96875 10.878906 67.933594 11.199219 67.929688 11.382812 C 67.921875 11.566406 67.917969 11.710938 67.917969 11.824219 C 67.917969 13.160156 68.191406 14.238281 68.734375 15.066406 C 69.375 16.050781 70.324219 16.542969 71.578125 16.542969 C 72.136719 16.542969 72.691406 16.433594 73.242188 16.214844 C 73.792969 15.996094 74.289062 15.691406 74.734375 15.300781 L 74.609375 15.824219 C 74.023438 16.277344 73.472656 16.597656 72.957031 16.792969 C 72.441406 16.992188 71.84375 17.089844 71.160156 17.089844 C 69.722656 17.089844 68.578125 16.59375 67.71875 15.605469 C 66.863281 14.617188 66.433594 13.382812 66.433594 11.910156 C 66.433594 10.464844 66.882812 9.265625 67.78125 8.320312 C 68.679688 7.371094 69.835938 6.898438 71.242188 6.898438 C 72.300781 6.898438 73.214844 7.222656 73.984375 7.867188 C 74.75 8.511719 75.183594 9.363281 75.28125 10.414062 Z M 72.769531 10.203125 C 73.398438 10.203125 73.710938 9.898438 73.710938 9.285156 C 73.710938 8.640625 73.464844 8.117188 72.96875 7.714844 C 72.472656 7.3125 71.898438 7.109375 71.242188 7.109375 C 70.394531 7.109375 69.683594 7.417969 69.109375 8.027344 C 68.59375 8.585938 68.246094 9.3125 68.066406 10.203125 Z M 72.769531 10.203125 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(17.647059%,24.705882%,31.372549%);fill-opacity:1;" d="M 76.074219 14.773438 L 76.074219 8.539062 C 76.074219 8.191406 76.054688 7.929688 76.015625 7.761719 C 75.980469 7.59375 75.910156 7.425781 75.800781 7.257812 L 77.621094 7.257812 L 77.621094 15.46875 C 77.621094 15.820312 77.632812 16.078125 77.652344 16.246094 C 77.675781 16.414062 77.746094 16.597656 77.875 16.792969 L 75.71875 16.792969 C 75.859375 16.570312 75.953125 16.359375 76 16.164062 C 76.050781 15.964844 76.074219 15.71875 76.074219 15.425781 C 76.074219 15.144531 76.074219 14.925781 76.074219 14.773438 Z M 76.878906 2.792969 C 77.171875 2.792969 77.429688 2.875 77.65625 3.042969 C 77.882812 3.214844 78 3.445312 78 3.738281 C 78 4.019531 77.882812 4.242188 77.65625 4.402344 C 77.429688 4.5625 77.175781 4.644531 76.902344 4.644531 C 76.625 4.644531 76.371094 4.5625 76.144531 4.390625 C 75.914062 4.222656 75.804688 4.007812 75.804688 3.738281 C 75.804688 3.457031 75.910156 3.230469 76.125 3.054688 C 76.335938 2.878906 76.589844 2.792969 76.878906 2.792969 Z M 76.878906 2.792969 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(17.647059%,24.705882%,31.372549%);fill-opacity:1;" d="M 78.917969 14.835938 L 78.917969 8.433594 C 78.917969 8.042969 78.90625 7.769531 78.878906 7.625 C 78.855469 7.476562 78.804688 7.296875 78.730469 7.085938 L 80.296875 7.085938 L 80.296875 8.75 C 80.832031 8.148438 81.339844 7.703125 81.832031 7.425781 C 82.433594 7.074219 83.089844 6.898438 83.804688 6.898438 L 84.453125 6.898438 C 85.390625 7.023438 86.039062 7.300781 86.40625 7.722656 C 86.765625 8.144531 86.949219 8.84375 86.949219 9.816406 L 86.949219 15.441406 C 86.949219 15.609375 86.953125 15.816406 86.960938 16.066406 C 86.96875 16.3125 87.03125 16.554688 87.160156 16.792969 L 85.464844 16.792969 C 85.535156 16.007812 85.570312 15.222656 85.570312 14.4375 L 85.570312 10.371094 C 85.570312 9.515625 85.417969 8.84375 85.109375 8.351562 C 84.738281 7.761719 84.144531 7.464844 83.339844 7.464844 C 83.078125 7.464844 82.785156 7.5 82.464844 7.570312 C 81.660156 7.738281 81.089844 8.066406 80.757812 8.550781 C 80.425781 9.035156 80.257812 9.710938 80.257812 10.582031 L 80.257812 15.613281 C 80.257812 15.824219 80.269531 16.027344 80.296875 16.226562 C 80.320312 16.421875 80.378906 16.613281 80.46875 16.792969 L 78.625 16.792969 C 78.714844 16.65625 78.789062 16.472656 78.839844 16.246094 C 78.894531 16.023438 78.917969 15.71875 78.917969 15.339844 C 78.917969 15.117188 78.917969 14.949219 78.917969 14.835938 Z M 78.917969 14.835938 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(17.647059%,24.705882%,31.372549%);fill-opacity:1;" d="M 89.144531 7.085938 L 89.125 7.359375 C 89.125 7.527344 89.148438 7.71875 89.199219 7.929688 C 89.25 8.136719 89.316406 8.355469 89.40625 8.578125 L 91.957031 15.652344 L 94.503906 8.570312 C 94.597656 8.273438 94.644531 8.007812 94.644531 7.765625 C 94.644531 7.539062 94.589844 7.3125 94.480469 7.085938 L 95.648438 7.085938 C 95.328125 7.453125 95.078125 7.894531 94.898438 8.414062 L 91.800781 16.792969 L 90.902344 16.792969 L 87.828125 8.414062 C 87.730469 8.148438 87.628906 7.910156 87.523438 7.699219 C 87.421875 7.488281 87.277344 7.285156 87.097656 7.085938 Z M 89.144531 7.085938 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(17.647059%,24.705882%,31.372549%);fill-opacity:1;" d="M 96.78125 10.414062 C 96.722656 10.878906 96.691406 11.199219 96.683594 11.382812 C 96.675781 11.566406 96.675781 11.710938 96.675781 11.824219 C 96.675781 13.160156 96.945312 14.238281 97.488281 15.066406 C 98.132812 16.050781 99.078125 16.542969 100.335938 16.542969 C 100.890625 16.542969 101.445312 16.433594 101.996094 16.214844 C 102.546875 15.996094 103.046875 15.691406 103.492188 15.300781 L 103.367188 15.824219 C 102.78125 16.277344 102.230469 16.597656 101.714844 16.792969 C 101.199219 16.992188 100.597656 17.089844 99.917969 17.089844 C 98.480469 17.089844 97.332031 16.59375 96.476562 15.605469 C 95.617188 14.617188 95.1875 13.382812 95.1875 11.910156 C 95.1875 10.464844 95.640625 9.265625 96.539062 8.320312 C 97.4375 7.371094 98.589844 6.898438 100 6.898438 C 101.058594 6.898438 101.972656 7.222656 102.738281 7.867188 C 103.503906 8.511719 103.9375 9.363281 104.035156 10.414062 Z M 101.527344 10.203125 C 102.152344 10.203125 102.46875 9.898438 102.46875 9.285156 C 102.46875 8.640625 102.21875 8.117188 101.726562 7.714844 C 101.230469 7.3125 100.65625 7.109375 100 7.109375 C 99.148438 7.109375 98.4375 7.417969 97.867188 8.027344 C 97.351562 8.585938 97.003906 9.3125 96.820312 10.203125 Z M 101.527344 10.203125 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(17.647059%,24.705882%,31.372549%);fill-opacity:1;" d="M 104.746094 14.835938 L 104.746094 8.433594 C 104.746094 8.042969 104.734375 7.769531 104.710938 7.625 C 104.683594 7.476562 104.632812 7.296875 104.558594 7.085938 L 106.128906 7.085938 L 106.128906 8.75 C 106.660156 8.148438 107.171875 7.703125 107.660156 7.425781 C 108.261719 7.074219 108.917969 6.898438 109.632812 6.898438 L 110.28125 6.898438 C 111.21875 7.023438 111.871094 7.300781 112.234375 7.722656 C 112.597656 8.144531 112.777344 8.84375 112.777344 9.816406 L 112.777344 15.441406 C 112.777344 15.609375 112.78125 15.816406 112.789062 16.066406 C 112.796875 16.3125 112.859375 16.554688 112.988281 16.792969 L 111.292969 16.792969 C 111.363281 16.007812 111.398438 15.222656 111.398438 14.4375 L 111.398438 10.371094 C 111.398438 9.515625 111.242188 8.84375 110.941406 8.351562 C 110.566406 7.761719 109.972656 7.464844 109.167969 7.464844 C 108.90625 7.464844 108.613281 7.5 108.292969 7.570312 C 107.488281 7.738281 106.917969 8.066406 106.585938 8.550781 C 106.253906 9.035156 106.085938 9.710938 106.085938 10.582031 L 106.085938 15.613281 C 106.085938 15.824219 106.097656 16.027344 106.125 16.226562 C 106.148438 16.421875 106.207031 16.613281 106.296875 16.792969 L 104.453125 16.792969 C 104.546875 16.65625 104.617188 16.472656 104.667969 16.246094 C 104.722656 16.023438 104.75 15.71875 104.75 15.339844 C 104.746094 15.117188 104.746094 14.949219 104.746094 14.835938 Z M 104.746094 14.835938 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(17.647059%,24.705882%,31.372549%);fill-opacity:1;" d="M 113.382812 7.191406 L 114.179688 7.191406 L 114.179688 5.039062 L 115.621094 4.640625 L 115.621094 7.191406 L 117.628906 7.191406 L 117.546875 7.570312 L 115.621094 7.570312 L 115.621094 14.582031 C 115.621094 15.117188 115.691406 15.523438 115.832031 15.804688 C 116.027344 16.195312 116.359375 16.394531 116.835938 16.394531 C 117.183594 16.394531 117.5 16.296875 117.777344 16.097656 L 117.777344 16.476562 C 117.527344 16.644531 117.246094 16.773438 116.941406 16.855469 C 116.632812 16.941406 116.320312 16.984375 116 16.984375 C 115.273438 16.984375 114.773438 16.730469 114.492188 16.226562 C 114.285156 15.847656 114.179688 15.257812 114.179688 14.457031 L 114.179688 7.570312 L 113.300781 7.570312 Z M 113.382812 7.191406 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(17.647059%,24.705882%,31.372549%);fill-opacity:1;" d="M 23.992188 7.253906 L 27.59375 7.253906 L 29.152344 13.414062 L 31.125 7.253906 L 34.492188 7.253906 L 36.546875 13.429688 L 38.113281 7.253906 L 41.695312 7.253906 L 38.113281 17.039062 L 34.800781 17.039062 L 32.832031 11.148438 L 30.925781 17.039062 L 27.597656 17.039062 Z M 23.992188 7.253906 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(17.647059%,24.705882%,31.372549%);fill-opacity:1;" d="M 51.476562 13.078125 L 44.007812 13.078125 C 44.074219 13.679688 44.234375 14.125 44.492188 14.421875 C 44.851562 14.847656 45.320312 15.058594 45.902344 15.058594 C 46.269531 15.058594 46.617188 14.964844 46.945312 14.78125 C 47.144531 14.664062 47.363281 14.460938 47.59375 14.164062 L 51.265625 14.503906 C 50.703125 15.488281 50.027344 16.191406 49.234375 16.621094 C 48.4375 17.046875 47.300781 17.261719 45.820312 17.261719 C 44.53125 17.261719 43.519531 17.078125 42.78125 16.710938 C 42.042969 16.347656 41.429688 15.765625 40.945312 14.96875 C 40.460938 14.175781 40.21875 13.242188 40.21875 12.164062 C 40.21875 10.636719 40.703125 9.398438 41.675781 8.449219 C 42.648438 7.503906 43.992188 7.03125 45.707031 7.03125 C 47.101562 7.03125 48.199219 7.242188 49.003906 7.667969 C 49.808594 8.09375 50.421875 8.707031 50.84375 9.511719 C 51.265625 10.316406 51.472656 11.363281 51.472656 12.652344 L 51.472656 13.078125 Z M 47.6875 11.28125 C 47.613281 10.554688 47.417969 10.035156 47.105469 9.722656 C 46.789062 9.410156 46.375 9.253906 45.863281 9.253906 C 45.273438 9.253906 44.800781 9.488281 44.445312 9.960938 C 44.21875 10.257812 44.078125 10.695312 44.015625 11.28125 Z M 47.6875 11.28125 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(17.647059%,24.705882%,31.372549%);fill-opacity:1;" d="M 51.472656 3.527344 L 55.234375 3.527344 L 55.234375 8.210938 C 55.609375 7.820312 56.03125 7.523438 56.503906 7.328125 C 56.976562 7.132812 57.5 7.03125 58.074219 7.03125 C 59.257812 7.03125 60.234375 7.460938 61.011719 8.316406 C 61.785156 9.175781 62.171875 10.40625 62.171875 12.007812 C 62.171875 13.078125 61.996094 14.019531 61.640625 14.832031 C 61.289062 15.644531 60.796875 16.253906 60.171875 16.65625 C 59.546875 17.058594 58.855469 17.261719 58.089844 17.261719 C 57.4375 17.261719 56.839844 17.117188 56.296875 16.835938 C 55.886719 16.613281 55.441406 16.199219 54.960938 15.589844 L 54.960938 17.039062 L 51.472656 17.039062 Z M 55.207031 12.117188 C 55.207031 12.960938 55.367188 13.570312 55.679688 13.949219 C 55.996094 14.324219 56.390625 14.515625 56.875 14.515625 C 57.320312 14.515625 57.691406 14.328125 57.996094 13.957031 C 58.296875 13.585938 58.449219 12.960938 58.449219 12.082031 C 58.449219 11.304688 58.300781 10.738281 58.003906 10.375 C 57.707031 10.015625 57.351562 9.832031 56.929688 9.832031 C 56.421875 9.832031 56.007812 10.023438 55.6875 10.398438 C 55.367188 10.777344 55.207031 11.351562 55.207031 12.117188 Z M 55.207031 12.117188 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(17.647059%,24.705882%,31.372549%);fill-opacity:1;" d="M 10.457031 15.726562 C 12.792969 18.082031 15.378906 15.425781 15.378906 15.425781 C 18.132812 12.75 15.679688 10.417969 15.679688 10.417969 L 14.054688 8.792969 C 13.78125 8.519531 13.339844 8.519531 13.066406 8.796875 L 12.839844 9.023438 C 12.570312 9.300781 12.570312 9.742188 12.84375 10.015625 L 14.449219 11.625 C 14.449219 11.625 15.890625 12.910156 14.421875 14.359375 C 14.421875 14.359375 13.003906 15.972656 11.652344 14.488281 L 10.027344 12.867188 C 9.753906 12.59375 9.3125 12.59375 9.042969 12.871094 L 8.816406 13.097656 C 8.542969 13.371094 8.542969 13.816406 8.820312 14.089844 Z M 10.457031 15.726562 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(17.647059%,24.705882%,31.372549%);fill-opacity:1;" d="M 10.855469 12.144531 C 10.550781 11.839844 10.523438 11.371094 10.796875 11.09375 L 11.023438 10.867188 C 11.292969 10.589844 11.761719 10.617188 12.066406 10.921875 L 13.859375 12.71875 C 14.164062 13.027344 14.191406 13.496094 13.921875 13.769531 L 13.695312 14 C 13.421875 14.269531 12.957031 14.25 12.652344 13.941406 Z M 10.855469 12.144531 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(17.647059%,24.705882%,31.372549%);fill-opacity:1;" d="M 21.746094 20.789062 C 21.167969 17.941406 21.328125 15.3125 21.480469 12.773438 C 21.714844 8.835938 21.9375 5.117188 18.960938 2.121094 C 16.363281 -0.496094 12.136719 -0.496094 9.539062 2.121094 C 8.089844 3.578125 7.410156 5.632812 7.640625 7.644531 C 5.644531 7.410156 3.605469 8.09375 2.152344 9.554688 C -0.445312 12.167969 -0.445312 16.425781 2.152344 19.039062 C 5.265625 22.171875 8.964844 21.929688 12.882812 21.667969 C 13.132812 21.652344 13.382812 21.632812 13.632812 21.617188 L 14.546875 21.558594 L 11.199219 19.96875 L 10.054688 20.015625 C 7.484375 20.058594 5.316406 19.691406 3.414062 17.773438 C 1.507812 15.855469 1.507812 12.738281 3.414062 10.820312 C 4.742188 9.484375 6.75 9.035156 8.527344 9.683594 L 10.308594 10.332031 L 9.667969 8.535156 C 9.023438 6.746094 9.46875 4.726562 10.796875 3.386719 C 12.703125 1.46875 15.796875 1.46875 17.703125 3.386719 C 20.113281 5.8125 19.929688 8.835938 19.703125 12.664062 C 19.621094 14.007812 19.535156 15.445312 19.566406 16.960938 L 21.886719 21.777344 Z M 21.746094 20.789062 "/> +</g> +</svg> diff --git a/themes/vue/source/images/webucator.png b/themes/vue/source/images/webucator.png new file mode 100644 index 0000000000..5adaafe84b Binary files /dev/null and b/themes/vue/source/images/webucator.png differ diff --git a/themes/vue/source/images/wilderminds.png b/themes/vue/source/images/wilderminds.png new file mode 100644 index 0000000000..65a8d0232e Binary files /dev/null and b/themes/vue/source/images/wilderminds.png differ diff --git a/themes/vue/source/images/writers_per_hour.jpg b/themes/vue/source/images/writers_per_hour.jpg new file mode 100644 index 0000000000..cada0a10d9 Binary files /dev/null and b/themes/vue/source/images/writers_per_hour.jpg differ diff --git a/themes/vue/source/images/x_team.png b/themes/vue/source/images/x_team.png new file mode 100644 index 0000000000..7ac2d59a20 Binary files /dev/null and b/themes/vue/source/images/x_team.png differ diff --git a/themes/vue/source/images/xfive.png b/themes/vue/source/images/xfive.png deleted file mode 100644 index e2af1999f6..0000000000 Binary files a/themes/vue/source/images/xfive.png and /dev/null differ diff --git a/themes/vue/source/images/y8.png b/themes/vue/source/images/y8.png new file mode 100644 index 0000000000..a83210d92e Binary files /dev/null and b/themes/vue/source/images/y8.png differ diff --git a/themes/vue/source/images/yakaz.png b/themes/vue/source/images/yakaz.png new file mode 100644 index 0000000000..6d6c0decdf Binary files /dev/null and b/themes/vue/source/images/yakaz.png differ diff --git a/themes/vue/source/js/common.js b/themes/vue/source/js/common.js index 4fa85e23c7..1b9f97c42c 100644 --- a/themes/vue/source/js/common.js +++ b/themes/vue/source/js/common.js @@ -2,6 +2,8 @@ initHashLevelRedirects() initMobileMenu() initVideoModal() + initNewNavLinks() + initVueSchoolBanner() if (PAGE_TYPE) { initVersionSelect() initApiSpecLinks() @@ -19,6 +21,9 @@ // moved to a perhaps differently-named section on // another page, we need this. function initHashLevelRedirects() { + checkForHashRedirect(/list\.html$/, { + key: '/v2/guide/list.html#Maintaining-State' + }) checkForHashRedirect(/components\.html$/, { 'What-are-Components': '/v2/guide/components.html', 'Using-Components': '/v2/guide/components-registration.html', @@ -46,9 +51,9 @@ 'Replacing-Merging-with-Existing-Attributes': '/v2/guide/components-props.html#Replacing-Merging-with-Existing-Attributes', 'Custom-Events': - '/v2/guide/components.html#Sending-Messages-to-Parents-with-Events', + '/v2/guide/components.html#Listening-to-Child-Components-Events', 'Using-v-on-with-Custom-Events': - '/v2/guide/components.html#Sending-Messages-to-Parents-with-Events', + '/v2/guide/components.html#Listening-to-Child-Components-Events', 'Binding-Native-Events-to-Components': '/v2/guide/components-custom-events.html#Binding-Native-Events-to-Components', 'sync-Modifier': @@ -118,7 +123,7 @@ if (ulNode.tagName === 'UL') { var specNode = document.createElement('li') var specLink = createSourceSearchPath(titleNode.textContent) - specNode.innerHTML = '<a href="' + specLink + '" target="_blank">Source</a>' + specNode.innerHTML = '<a href="' + specLink + '" target="_blank" rel="noopener">Source</a>' ulNode.appendChild(specNode) } }) @@ -153,6 +158,12 @@ var hashTarget = document.getElementById(hash) if (!hashTarget) { var normalizedHash = normalizeHash(hash) + var edgeCases = { + 'vue-set-target-key-value': 'vue-set' + } + if (edgeCases.hasOwnProperty(normalizedHash)) { + normalizedHash = edgeCases[normalizedHash]; + } var possibleHashes = [].slice.call(document.querySelectorAll('[id]')) .map(function (el) { return el.id }) possibleHashes.sort(function (hashA, hashB) { @@ -189,6 +200,46 @@ } } + /** + * Initializes a list of links to mark as "updated" by adding a red dot next to them + */ + + function initNewNavLinks() { + var linkExpirePeriod = 60 * 24 * 3600 * 1000 // 2 months + var links = [ + { + title: 'Resources', + updatedOn: new Date("Mon Sep 9 2019") + } + ] + var today = new Date().getTime() + var updatedLinks = links + .filter(function (link) { + return link.updatedOn.getTime() + linkExpirePeriod > today + }) + .map(function (link) { + return link.title + }) + + var navLinks = document.querySelectorAll('#nav a.nav-link') + var newLinks = [] + navLinks.forEach(function (link) { + if (updatedLinks.indexOf(link.textContent) !== -1) { + newLinks.push(link) + } + }) + newLinks.forEach(function (link) { + var classes = link.classList + var linkKey = `visited-${link.textContent}` + if (localStorage.getItem(linkKey) || classes.contains('current')) { + classes.remove('updated-link') + localStorage.setItem(linkKey, 'true') + } else { + classes.add('new') + } + }) + } + /** * Mobile burger menu button and gesture for toggling sidebar */ @@ -230,6 +281,90 @@ }) } + /** + * Banner closing + */ + function initVueSchoolBanner () { + const banner = document.getElementById('vs-top') + + const items = [ + { + banner: { + assets: "FREE_WEEKEND", + cta: "JOIN FOR FREE", + link: "/free-weekend", + static: "FREE_WEEKEND", + subtitle: "Get Access to ALL Vue School premium courses", + title: "Free Weekend 1st & 2nd of October" + }, + ends: "2022-09-30T23:59:59+02:00", + id: "FREE_WEEKEND_LOBBY", + isExtended: false + }, + { + banner: { + assets: "FREE_WEEKEND", + cta: "WATCH FOR FREE", + link: "/free-weekend", + static: "FREE_WEEKEND_LIVE", + subtitle: "Get Access to ALL Vue School premium courses", + title: "Free Weekend <strong>NOW LIVE</strong>" + }, + ends: "2022-10-02T23:59:59+02:00", + id: "FREE_WEEKEND_LIVE", + isExtended: false + }, + { + banner: { + assets: "LEVELUP2022", + cta: "GET OFFER", + link: "/sales/levelup2022", + static: "LEVELUP2022", + subtitle: "Access 800+ lessons including the Vue.js 3 Masterclass", + title: "Less than <strong>48 hours</strong> to get 45% off at Vue School" + }, + ends: "2022-10-04T23:59:59+02:00", + id: "LEVELUP2022", + isExtended: false + }, + { + banner: { + assets: "LEVELUP2022", + cta: "GET OFFER", + link: "/sales/levelup2022", + static: "LEVELUP2022", + subtitle: "Extended! Access 800+ lessons including the Vue.js 3 Masterclass", + title: "Less than <strong>48 hours</strong> to get 45% off at Vue School" + }, + ends: "2022-10-06T23:59:59+02:00", + id: "LEVELUP2022_EXTENDED", + isExtended: true + } + ] + + const now = new Date() + const phases = items.map(phase => ({ ...phase, remaining: new Date(phase.ends) - now })) + const activePhase = phases.find(phase => phase.remaining > 0) + + if (banner && (activePhase) && !localStorage.getItem('VS_FW_OCTOBER')) { + banner.classList.remove('vs-hidden') + document.body.classList.add('has-vs-banner') + document.getElementById('vs-close').addEventListener('click', function (e) { + e.preventDefault() + e.stopPropagation() + document.getElementById('vs-top').remove() + document.body.classList.remove('has-vs-banner') + localStorage.setItem('VS_FW_OCTOBER', 1) + }) + + document.getElementById('vs-top').classList.add(activePhase.banner.assets) + document.getElementById('vs-top').href = `https://vueschool.io${activePhase.banner.link}?friend=vuejs&utm_source=vuejs&utm_medium=website&utm_campaign=affiliate&utm_content=top_banner` + document.getElementById('vs-slogan').innerHTML = activePhase.banner.title + document.getElementById('vs-subline').innerHTML = activePhase.banner.subtitle + document.getElementById('vs-button').innerHTML = activePhase.banner.cta + } + } + /** * Modal Video Player */ @@ -318,18 +453,18 @@ var headers = content.querySelectorAll('h2') if (headers.length) { each.call(headers, function (h) { - sectionContainer.appendChild(makeLink(h)) + var listItem = makeLink(h) + sectionContainer.appendChild(listItem) var h3s = collectH3s(h) allHeaders.push(h) allHeaders.push.apply(allHeaders, h3s) if (h3s.length) { - sectionContainer.appendChild(makeSubLinks(h3s, isAPIOrStyleGuide)) + listItem.appendChild(makeSubLinks(h3s, isAPIOrStyleGuide)) } }) } else { headers = content.querySelectorAll('h3') each.call(headers, function (h) { - console.log(h) sectionContainer.appendChild(makeLink(h)) allHeaders.push(h) }) @@ -364,9 +499,16 @@ }) .forEach(makeHeaderClickable) - smoothScroll.init({ + new SmoothScroll('a[href*="#"]', { speed: 400, - offset: 0 + speedAsDuration: true, + offset: function (anchor, toggle) { + let dataTypeAttr = anchor.attributes['data-type'] + if(dataTypeAttr && dataTypeAttr.nodeValue === 'theme-product-title') { + return 300 + } + return localStorage.getItem('VS_FW_OCTOBER') ? 0 : 72 + } }) } diff --git a/themes/vue/source/js/smooth-scroll.min.js b/themes/vue/source/js/smooth-scroll.min.js index d9529950e0..f831786ae2 100644 --- a/themes/vue/source/js/smooth-scroll.min.js +++ b/themes/vue/source/js/smooth-scroll.min.js @@ -1,2 +1,2 @@ -/*! smooth-scroll v10.2.1 | (c) 2016 Chris Ferdinandi | MIT License | http://github.com/cferdinandi/smooth-scroll */ -!(function(e,t){"function"==typeof define&&define.amd?define([],t(e)):"object"==typeof exports?module.exports=t(e):e.smoothScroll=t(e)})("undefined"!=typeof global?global:this.window||this.global,(function(e){"use strict";var t,n,o,r,a,c,l,i={},u="querySelector"in document&&"addEventListener"in e,s={selector:"[data-scroll]",selectorHeader:null,speed:500,easing:"easeInOutCubic",offset:0,callback:function(){}},d=function(){var e={},t=!1,n=0,o=arguments.length;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(t=arguments[0],n++);for(var r=function(n){for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t&&"[object Object]"===Object.prototype.toString.call(n[o])?e[o]=d(!0,e[o],n[o]):e[o]=n[o])};n<o;n++){var a=arguments[n];r(a)}return e},f=function(e){return Math.max(e.scrollHeight,e.offsetHeight,e.clientHeight)},h=function(e,t){for(Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector||function(e){for(var t=(this.document||this.ownerDocument).querySelectorAll(e),n=t.length;--n>=0&&t.item(n)!==this;);return n>-1});e&&e!==document;e=e.parentNode)if(e.matches(t))return e;return null},m=function(e){"#"===e.charAt(0)&&(e=e.substr(1));for(var t,n=String(e),o=n.length,r=-1,a="",c=n.charCodeAt(0);++r<o;){if(t=n.charCodeAt(r),0===t)throw new InvalidCharacterError("Invalid character: the input contains U+0000.");a+=t>=1&&t<=31||127==t||0===r&&t>=48&&t<=57||1===r&&t>=48&&t<=57&&45===c?"\\"+t.toString(16)+" ":t>=128||45===t||95===t||t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122?n.charAt(r):"\\"+n.charAt(r)}return"#"+a},p=function(e,t){var n;return"easeInQuad"===e&&(n=t*t),"easeOutQuad"===e&&(n=t*(2-t)),"easeInOutQuad"===e&&(n=t<.5?2*t*t:-1+(4-2*t)*t),"easeInCubic"===e&&(n=t*t*t),"easeOutCubic"===e&&(n=--t*t*t+1),"easeInOutCubic"===e&&(n=t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1),"easeInQuart"===e&&(n=t*t*t*t),"easeOutQuart"===e&&(n=1- --t*t*t*t),"easeInOutQuart"===e&&(n=t<.5?8*t*t*t*t:1-8*--t*t*t*t),"easeInQuint"===e&&(n=t*t*t*t*t),"easeOutQuint"===e&&(n=1+--t*t*t*t*t),"easeInOutQuint"===e&&(n=t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t),n||t},g=function(e,t,n){var o=0;if(e.offsetParent)do o+=e.offsetTop,e=e.offsetParent;while(e);return o=Math.max(o-t-n,0),Math.min(o,v()-b())},b=function(){return Math.max(document.documentElement.clientHeight,e.innerHeight||0)},v=function(){return Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)},y=function(e){return e&&"object"==typeof JSON&&"function"==typeof JSON.parse?JSON.parse(e):{}},O=function(e){return e?f(e)+e.offsetTop:0},S=function(t,n,o){o||(t.focus(),document.activeElement.id!==t.id&&(t.setAttribute("tabindex","-1"),t.focus(),t.style.outline="none"),e.scrollTo(0,n))};i.animateScroll=function(n,o,c){var i=y(o?o.getAttribute("data-options"):null),u=d(t||s,c||{},i),f="[object Number]"===Object.prototype.toString.call(n),h=f||!n.tagName?null:n;if(f||h){var m=e.pageYOffset;u.selectorHeader&&!r&&(r=document.querySelector(u.selectorHeader)),a||(a=O(r));var b,E,I=f?n:g(h,a,parseInt(u.offset,10)),H=I-m,A=v(),j=0,C=function(t,r,a){var c=e.pageYOffset;(t==r||c==r||e.innerHeight+c>=A)&&(clearInterval(a),S(n,r,f),u.callback(n,o))},M=function(){j+=16,b=j/parseInt(u.speed,10),b=b>1?1:b,E=m+H*p(u.easing,b),e.scrollTo(0,Math.floor(E)),C(E,I,l)},w=function(){clearInterval(l),l=setInterval(M,16)};0===e.pageYOffset&&e.scrollTo(0,0),w()}};var E=function(t){var r;try{r=m(decodeURIComponent(e.location.hash))}catch(t){r=m(e.location.hash)}n&&(n.id=n.getAttribute("data-scroll-id"),i.animateScroll(n,o),n=null,o=null)},I=function(r){if(0===r.button&&!r.metaKey&&!r.ctrlKey&&(o=h(r.target,t.selector),o&&"a"===o.tagName.toLowerCase()&&o.hostname===e.location.hostname&&o.pathname===e.location.pathname&&/#/.test(o.href))){var a;try{a=m(decodeURIComponent(o.hash))}catch(e){a=m(o.hash)}if("#"===a){r.preventDefault(),n=document.body;var c=n.id?n.id:"smooth-scroll-top";return n.setAttribute("data-scroll-id",c),n.id="",void(e.location.hash.substring(1)===c?E():e.location.hash=c)}n=document.querySelector(a),n&&(n.setAttribute("data-scroll-id",n.id),n.id="",o.hash===e.location.hash&&(r.preventDefault(),E()))}},H=function(e){c||(c=setTimeout((function(){c=null,a=O(r)}),66))};return i.destroy=function(){t&&(document.removeEventListener("click",I,!1),e.removeEventListener("resize",H,!1),t=null,n=null,o=null,r=null,a=null,c=null,l=null)},i.init=function(n){u&&(i.destroy(),t=d(s,n||{}),r=t.selectorHeader?document.querySelector(t.selectorHeader):null,a=O(r),document.addEventListener("click",I,!1),e.addEventListener("hashchange",E,!1),r&&e.addEventListener("resize",H,!1))},i})); \ No newline at end of file +/*! smooth-scroll v15.2.1 | (c) 2019 Chris Ferdinandi | MIT License | http://github.com/cferdinandi/smooth-scroll */ +!(function(t,e){"function"==typeof define&&define.amd?define([],(function(){return e(t)})):"object"==typeof exports?module.exports=e(t):t.SmoothScroll=e(t)})("undefined"!=typeof global?global:"undefined"!=typeof window?window:this,(function(C){"use strict";var L={ignore:"[data-scroll-ignore]",header:null,topOnEmptyHash:!0,speed:500,speedAsDuration:!1,durationMax:null,durationMin:null,clip:!0,offset:0,easing:"easeInOutCubic",customEasing:null,updateURL:!0,popstate:!0,emitEvents:!0},H=function(){var n={};return Array.prototype.forEach.call(arguments,(function(t){for(var e in t){if(!t.hasOwnProperty(e))return;n[e]=t[e]}})),n},r=function(t){"#"===t.charAt(0)&&(t=t.substr(1));for(var e,n=String(t),o=n.length,a=-1,r="",i=n.charCodeAt(0);++a<o;){if(0===(e=n.charCodeAt(a)))throw new InvalidCharacterError("Invalid character: the input contains U+0000.");1<=e&&e<=31||127==e||0===a&&48<=e&&e<=57||1===a&&48<=e&&e<=57&&45===i?r+="\\"+e.toString(16)+" ":r+=128<=e||45===e||95===e||48<=e&&e<=57||65<=e&&e<=90||97<=e&&e<=122?n.charAt(a):"\\"+n.charAt(a)}return"#"+r},q=function(){return Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)},x=function(t){return t?(e=t,parseInt(C.getComputedStyle(e).height,10)+t.offsetTop):0;var e},Q=function(t,e,n,o){if(e.emitEvents&&"function"==typeof C.CustomEvent){var a=new CustomEvent(t,{bubbles:!0,detail:{anchor:n,toggle:o}});document.dispatchEvent(a)}};return function(o,t){var I,a,M,A,w={};w.cancelScroll=function(t){cancelAnimationFrame(A),A=null,t||Q("scrollCancel",I)},w.animateScroll=function(i,s,t){w.cancelScroll();var c=H(I||L,t||{}),u="[object Number]"===Object.prototype.toString.call(i),e=u||!i.tagName?null:i;if(u||e){var l=C.pageYOffset;c.header&&!M&&(M=document.querySelector(c.header));var n,o,a,d,r,f,m,h,p=x(M),g=u?i:(function(t,e,n,o){var a=0;if(t.offsetParent)for(;a+=t.offsetTop,t=t.offsetParent;);return a=Math.max(a-e-n,0),o&&(a=Math.min(a,q()-C.innerHeight)),a})(e,p,parseInt("function"==typeof c.offset?c.offset(i,s):c.offset,10),c.clip),y=g-l,S=q(),v=0,E=(n=y,a=(o=c).speedAsDuration?o.speed:Math.abs(n/1e3*o.speed),o.durationMax&&a>o.durationMax?o.durationMax:o.durationMin&&a<o.durationMin?o.durationMin:parseInt(a,10)),b=function(t,e){var n,o,a,r=C.pageYOffset;if(t==e||r==e||(l<e&&C.innerHeight+r)>=S)return w.cancelScroll(!0),o=e,a=u,0===(n=i)&&document.body.focus(),a||(n.focus(),document.activeElement!==n&&(n.setAttribute("tabindex","-1"),n.focus(),n.style.outline="none"),C.scrollTo(0,o)),Q("scrollStop",c,i,s),!(A=d=null)},O=function(t){var e,n,o;d||(d=t),v+=t-d,f=l+y*(n=r=1<(r=0===E?0:v/E)?1:r,"easeInQuad"===(e=c).easing&&(o=n*n),"easeOutQuad"===e.easing&&(o=n*(2-n)),"easeInOutQuad"===e.easing&&(o=n<.5?2*n*n:(4-2*n)*n-1),"easeInCubic"===e.easing&&(o=n*n*n),"easeOutCubic"===e.easing&&(o=--n*n*n+1),"easeInOutCubic"===e.easing&&(o=n<.5?4*n*n*n:(n-1)*(2*n-2)*(2*n-2)+1),"easeInQuart"===e.easing&&(o=n*n*n*n),"easeOutQuart"===e.easing&&(o=1- --n*n*n*n),"easeInOutQuart"===e.easing&&(o=n<.5?8*n*n*n*n:1-8*--n*n*n*n),"easeInQuint"===e.easing&&(o=n*n*n*n*n),"easeOutQuint"===e.easing&&(o=1+--n*n*n*n*n),"easeInOutQuint"===e.easing&&(o=n<.5?16*n*n*n*n*n:1+16*--n*n*n*n*n),e.customEasing&&(o=e.customEasing(n)),o||n),C.scrollTo(0,Math.floor(f)),b(f,g)||(A=C.requestAnimationFrame(O),d=t)};0===C.pageYOffset&&C.scrollTo(0,0),m=i,h=c,u||history.pushState&&h.updateURL&&history.pushState({smoothScroll:JSON.stringify(h),anchor:m.id},document.title,m===document.documentElement?"#top":"#"+m.id),Q("scrollStart",c,i,s),w.cancelScroll(!0),C.requestAnimationFrame(O)}};var e=function(t){if(!("matchMedia"in C&&C.matchMedia("(prefers-reduced-motion)").matches)&&0===t.button&&!t.metaKey&&!t.ctrlKey&&"closest"in t.target&&(a=t.target.closest(o))&&"a"===a.tagName.toLowerCase()&&!t.target.closest(I.ignore)&&a.hostname===C.location.hostname&&a.pathname===C.location.pathname&&/#/.test(a.href)){var e=r(a.hash),n=I.topOnEmptyHash&&"#"===e?document.documentElement:document.querySelector(e);(n=n||"#top"!==e?n:document.documentElement)&&(t.preventDefault(),(function(t){if(history.replaceState&&t.updateURL&&!history.state){var e=C.location.hash;e=e||"",history.replaceState({smoothScroll:JSON.stringify(t),anchor:e||C.pageYOffset},document.title,e||C.location.href)}})(I),w.animateScroll(n,a))}},n=function(t){if(null!==history.state&&history.state.smoothScroll&&history.state.smoothScroll===JSON.stringify(I)){var e=history.state.anchor;"string"==typeof e&&e&&!(e=document.querySelector(r(history.state.anchor)))||w.animateScroll(e,null,{updateURL:!1})}};return w.destroy=function(){I&&(document.removeEventListener("click",e,!1),C.removeEventListener("popstate",n,!1),w.cancelScroll(),A=M=a=I=null)},w.init=function(t){if(!("querySelector"in document&&"addEventListener"in C&&"requestAnimationFrame"in C&&"closest"in C.Element.prototype))throw"Smooth Scroll: This browser does not support the required JavaScript methods and browser APIs.";w.destroy(),I=H(L,t||{}),M=I.header?document.querySelector(I.header):null,document.addEventListener("click",e,!1),I.updateURL&&I.popstate&&C.addEventListener("popstate",n,!1)},w.init(t),w}})); diff --git a/themes/vue/source/js/theme-data.js b/themes/vue/source/js/theme-data.js new file mode 100644 index 0000000000..15501670b0 --- /dev/null +++ b/themes/vue/source/js/theme-data.js @@ -0,0 +1,276 @@ +var themeData = [ + { + name: 'Creative Tim', + description: `With the examples below built by our partners from [Creative Tim](https://creative-tim.com?affiliate_id=116187) you can see how a real world application is built, the technology stack behind it and how most of the concepts you've learned so far apply in a real world application.`, + seeMoreUrl: 'https://www.creative-tim.com/bootstrap-themes/vuejs-themes?affiliate_id=116187', + products: [ + { + name: 'Vue Argon Design System', + price: 0, + description: 'Free Vue.js Design System', + url: 'https://www.creative-tim.com/product/vue-argon-design-system?affiliate_id=116187', + image: 'https://raw.githubusercontent.com/creativetimofficial/public-assets/master/vue-argon-design-system/vue-argon-design-system.jpg' + }, + { + name: 'Vue Black Dashboard Pro', + price: 59, + description: 'Premium Vue.js Admin Template', + url: 'https://www.creative-tim.com/product/vue-black-dashboard-pro?affiliate_id=116187', + image: 'https://raw.githubusercontent.com/creativetimofficial/public-assets/master/vue-black-dashboard-pro/vue-black-dashboard-pro.jpg' + }, + { + name: 'Vue Paper Dashboard 2 Pro', + price: 59, + description: 'Premium Vue.js Admin Template', + url: 'https://www.creative-tim.com/product/vue-paper-dashboard-2-pro?affiliate_id=116187', + image: 'https://raw.githubusercontent.com/creativetimofficial/public-assets/master/vue-black-dashboard-pro/vue-black-dashboard-pro.jpg' + }, + { + name: 'Vue Material Kit', + price: 0, + description: 'Free Vue.js UI Kit', + url: 'https://www.creative-tim.com/product/vue-material-kit?affiliate_id=116187', + image: 'https://raw.githubusercontent.com/creativetimofficial/public-assets/master/vue-material-kit/vue-material-kit.jpg' + }, + { + name: 'Vue Black Dashboard', + price: 0, + description: 'Free Vue.js Admin Template', + url: 'https://www.creative-tim.com/product/vue-black-dashboard?affiliate_id=116187', + image: 'https://raw.githubusercontent.com/creativetimofficial/public-assets/master/vue-black-dashboard/vue-black-dashboard.jpg' + }, + { + name: 'Vue Now UI Kit Pro', + price: 79, + description: 'Premium Vue.js UI Kit', + url: 'https://www.creative-tim.com/product/vue-now-ui-kit-pro?affiliate_id=116187', + image: 'https://raw.githubusercontent.com/creativetimofficial/public-assets/master/vue-now-ui-kit-pro/vue-now-ui-kit-pro.jpg' + }, + { + name: 'Vue Now UI Dashboard Pro', + price: 59, + description: 'Premium Vue.js Admin Template', + url: 'https://www.creative-tim.com/product/vue-now-ui-dashboard-pro?affiliate_id=116187', + image: 'https://raw.githubusercontent.com/creativetimofficial/public-assets/master/vue-now-ui-dashboard-pro/vue-now-ui-dashboard-pro.jpg' + }, + { + name: 'Vue Now UI Kit', + price: 0, + description: 'Free Vue.js UI Kit', + url: 'https://www.creative-tim.com/product/vue-now-ui-kit?affiliate_id=116187', + image: 'https://raw.githubusercontent.com/creativetimofficial/public-assets/master/vue-now-ui-kit/vue-now-ui-kit.jpg' + }, + { + name: 'Vue Light Bootstrap Dashboard Pro', + price: 49, + description: 'Premium Vue.js Admin Template', + url: 'https://www.creative-tim.com/product/vue-light-bootstrap-dashboard-pro?affiliate_id=116187', + image: 'https://raw.githubusercontent.com/creativetimofficial/public-assets/master/vue-light-bootstrap-dashboard-pro/vue-light-bootstrap-dashboard-pro.jpg' + }, + { + name: 'Vue Material Dashboard Pro', + price: 59, + description: 'Premium Vue.js Admin Template', + url: 'https://www.creative-tim.com/product/vue-material-dashboard-pro?affiliate_id=116187', + image: 'https://raw.githubusercontent.com/creativetimofficial/public-assets/master/vue-material-dashboard-pro/vue-material-dashboard-pro.jpg' + }, + { + name: 'Vue Material Kit Pro', + price: 89, + description: 'Premium Vue.js UI Kit', + url: 'https://www.creative-tim.com/product/vue-material-kit-pro?affiliate_id=116187', + image: 'https://raw.githubusercontent.com/creativetimofficial/public-assets/master/vue-material-kit-pro/vue-material-kit-pro.jpg' + }, + { + name: 'Vue Light Bootstrap Dashboard', + price: 0, + description: 'Free Vue.js Admin Template', + url: 'https://www.creative-tim.com/product/vue-light-bootstrap-dashboard?affiliate_id=116187', + image: 'https://raw.githubusercontent.com/creativetimofficial/public-assets/master/vue-light-bootstrap-dashboard/vue-light-bootstrap-dashboard.jpg' + } + ] + }, + { + name: "MDBootstrap", + description: `Check out the themes, UI Kits and plugins below built by our partners from [MDBootstrap](https://mdbootstrap.com/?utm_ref_id=82665). Learn how to use Vue in professional projects along such technologies as Bootstrap. Templates & ready components make your development faster and more efficient.`, + seeMoreUrl: "https://mdbootstrap.com/docs/vue?utm_ref_id=82665", + products: [ + { + url: "https://mdbootstrap.com/docs/b5/vue/pro?utm_ref_id=82665", + name: "Vue Material Bootstrap 5 Pro", + description: "Premium Vue UI Kit for Bootstrap v5 & Material Design 2.0", + image: "https://mdbootstrap.com/img/Marketing/mdb-press-pack/vue-pro.jpg", + price: 19 + }, + { + url: "https://mdbootstrap.com/docs/b5/vue?utm_ref_id=82665", + name: "Vue Material Bootstrap 5 Kit", + description: "Free Vue UI Kit for Bootstrap v5 & Material Design 2.0", + image: "https://mdbootstrap.com/img/Marketing/mdb-press-pack/vue-free.jpg", + price: 0 + }, + { + url: "https://mdbootstrap.com/docs/b5/vue/pro?utm_ref_id=82665", + name: "Vue Material Bootstrap 4 Pro", + description: "Premium Vue UI Kit for Bootstrap v4 & Material Design", + image: "https://mdbootstrap.com/img/Marketing/mdb-press-pack/vuejs/ui-kit.jpg", + price: 19 + }, + { + url: "https://mdbootstrap.com/docs/vue?utm_ref_id=82665", + name: "Vue Material Bootstrap 4 Kit", + description: "Free Vue UI Kit for Bootstrap v4 & Material Design", + image: "https://mdbootstrap.com/img/Marketing/mdb-press-pack/vuejs/ui-kit.jpg", + price: 0 + }, + { + url: "https://mdbootstrap.com/docs/b5/vue/pro?utm_ref_id=82665", + name: " Vue Admin Bootstrap Pro", + description: "Premium Vue.js Templates Pack", + image: "https://mdbootstrap.com/img/Marketing/mdb-press-pack/vuejs/admin-pack.jpg", + price: 49 + }, + { + url: "https://mdbootstrap.com/freebies/vue/admin-dashboard?utm_ref_id=82665", + name: "Vue Admin Bootstrap", + description: "Free Vue.js Templates Pack", + image: "https://mdbootstrap.com/img/Marketing/mdb-press-pack/vuejs/admin-pack.jpg", + price: 0 + } + ] + }, + { + name: 'PrimeVue', + description: `The open-source UI component library [PrimeVue](https://www.primefaces.org/primevue/#/?af_id=4218) offers over 80 flexible components to build your apps with! They have a ton of different component themes and Vue-CLI application templates available to get the look&feel that suits you best.`, + seeMoreUrl: 'https://www.primefaces.org/primevue/#/?af_id=4218', + products: [ + { + name: 'Freya', + price: 59, + description: 'Premium Admin Template', + url: 'https://www.primefaces.org/layouts/freya-vue?af_id=4218', + image: 'https://www.primefaces.org/vue-templates/freya.jpg' + }, + { + name: 'Diamond', + price: 59, + description: 'PrimeOne Design Admin Template', + url: 'https://www.primefaces.org/layouts/diamond-vue?af_id=4218', + image: 'https://www.primefaces.org/vue-templates/diamond.jpg' + }, + { + name: 'Ultima', + price: 79, + description: 'Material Design Admin Template', + url: 'https://www.primefaces.org/layouts/ultima-vue?af_id=4218', + image: 'https://www.primefaces.org/vue-templates/ultima.jpg' + }, + { + name: 'Sapphire', + price: 49, + description: 'Material Design Admin Template', + url: 'https://www.primefaces.org/layouts/sapphire-vue?af_id=4218', + image: 'https://www.primefaces.org/vue-templates/sapphire.jpg' + }, + { + name: 'Avalon', + price: 49, + description: 'Bootstrap Inspired Admin Template', + url: 'https://www.primefaces.org/layouts/avalon-vue?af_id=4218', + image: 'https://www.primefaces.org/vue-templates/avalon.jpg' + }, + { + name: 'Serenity', + price: 49, + description: 'Material Design Admin Template', + url: 'https://www.primefaces.org/layouts/serenity-vue?af_id=4218', + image: 'https://www.primefaces.org/vue-templates/serenity.jpg' + }, + { + name: 'Apollo', + price: 49, + description: 'Admin Template with a Dark Mode', + url: 'https://www.primefaces.org/layouts/apollo-vue?af_id=4218', + image: 'https://www.primefaces.org/vue-templates/apollo.jpg' + }, + { + name: 'Babylon', + price: 49, + description: 'Admin Template with Extensive Options', + url: 'https://www.primefaces.org/layouts/babylon-vue?af_id=4218', + image: 'https://www.primefaces.org/vue-templates/babylon.jpg' + }, + { + name: 'Roma', + price: 39, + description: 'Admin Template with a Clean Design System', + url: 'https://www.primefaces.org/layouts/roma-vue?af_id=4218', + image: 'https://www.primefaces.org/vue-templates/roma.jpg' + }, + { + name: 'Prestige', + price: 39, + description: 'Highly Customizable Admin Template', + url: 'https://www.primefaces.org/layouts/prestige-vue?af_id=4218', + image: 'https://www.primefaces.org/vue-templates/prestige.jpg' + }, + { + name: 'Sigma', + price: 0, + description: 'Free Admin Template', + url: 'https://www.primefaces.org/sigma-vue/#/?af_id=4218', + image: 'https://www.primefaces.org/vue-templates/sigma.jpg' + } + ] + }, + { + name: 'Flatlogic', + description: `Check the admin dashboards templates built by our partners from [Flatlogic](https://flatlogic.com/templates?ref=x-fdkuTAVW). With these themes you can see how real applications is built. Additionally these templates will help you to start a new application and save you time and money.`, + seeMoreUrl: 'https://flatlogic.com/templates?ref=x-fdkuTAVW', + products: [ + { + name: 'Sing App Vue', + price: 99, + description: 'Vue Admin Dashboard Template', + url: 'https://flatlogic.com/templates/sing-app-vue?ref=x-fdkuTAVW', + image: 'https://flatlogic.com/assets/templates/sing_vue_full-cb6b9fdd0465a0d60c0fafa2deca1929cc4966957c8e1ce57565a5e2f45ff043.webp' + }, + { + name: 'Sing App Vue Node.js', + price: 149, + description: 'Vue Admin Dashboard Template with Node.JS Backend', + url: 'https://flatlogic.com/templates/sing-app-vue-node-js?ref=x-fdkuTAVW', + image: 'https://flatlogic.com/assets/templates/sing_vue_full_nodejs-78af09220a2d085fec9bbc1071879915b30737f25d72669152f3b090291609aa.webp' + }, + { + name: 'Light Blue Vue', + price: 99, + description: 'Vue Admin Dashboard Template', + url: 'https://flatlogic.com/templates/light-blue-vue?ref=x-fdkuTAVW', + image: 'https://flatlogic.com/assets/templates/light_blue_vue_full-e044d30242912d5756b190e576bf30ea967b725c09d2e371a7eabf1c6a9c33b2.webp' + }, + { + name: 'Light Blue Vue Admin', + price: 0, + description: 'Free and Open Source Vue JS Template for Admin Dashboard', + url: 'https://flatlogic.com/templates/light-blue-vue-lite?ref=x-fdkuTAVW', + image: 'https://flatlogic.com/assets/templates/light_blue_vue_lite-c1937a2a01e5e8e8ede29a3ead011126e9dab5c58b9017daefe36411f9a1089e.webp' + }, + { + name: 'Sing App Vue Dashboard', + price: 0, + description: 'Free and Open Source Vue.js Admin Dashboard Template', + url: 'https://flatlogic.com/templates/sing-app-vue-dashboard?ref=x-fdkuTAVW', + image: 'https://flatlogic.com/assets/templates/sing_vue_lite-ae3ec037404bc9ae29599a16afe276e638bd916713d75946c604feb69323ec21.webp' + }, + { + name: 'Light Blue Vue Node.js', + price: 149, + description: 'Vue Admin Template with Node.JS Backend', + url: 'https://flatlogic.com/templates/light-blue-vue-node-js?ref=x-fdkuTAVW', + image: 'https://flatlogic.com/assets/templates/light_blue_vue_full_nodejs-06f941c849f0a83a3c0d38c728101eace06a7515ea048f12bcd91f165280246f.webp' + } + ] + } + +] diff --git a/themes/vue/source/js/v3-notice.js b/themes/vue/source/js/v3-notice.js new file mode 100644 index 0000000000..85f2ee0c9a --- /dev/null +++ b/themes/vue/source/js/v3-notice.js @@ -0,0 +1,78 @@ +;(() => { + if (!location.search.includes(`redirect=true`)) { + return + } + + const v3Url = document.body.dataset.v3Url + if (!v3Url) { + return + } + + const hashRedirect = + typeof __pageRedirects !== 'undefined' && __pageRedirects[location.hash] + const finalUrl = hashRedirect || v3Url + + const el = document.createElement('div') + el.className = `v3-notice` + el.innerHTML = ` +<h3>Heads Up!</h3> +<p> +This page contains documentation for Vue 2. The Vue 3 version of the URL you are visiting is: <a id="v3-url" target="_blank"></a>. +</p> +<p> +You can learn more about the Vue 2 -> Vue 3 default version switch in +<a target="_blank" href="https://blog.vuejs.org/posts/vue-3-as-the-new-default.html">this blog post</a>. +</p> +<p> + <a class="stay">Stay on Vue 2 docs</a> +</p> + `.trim() + + const style = document.createElement('style') + style.textContent = ` +.v3-notice { + position: fixed; + top: 20px; + --width: min(calc(100vw - 20px), 500px); + left: calc(50vw - var(--width) / 2); + width: var(--width); + z-index: 9999; + background-color: #f8f8f8; + border: 2px solid #ffa500; + border-radius: 8px; + padding: 0 20px; + box-shadow: 0 10px 28px rgba(0,0,0,0.25); +} +.v3-notice a { + color: #42b983; + font-weight: bold; +} +.v3-notice .go, .v3-notice .stay { + display: inline-block; + padding: 8px 12px; + border-radius: 4px; + cursor: pointer; +} +.v3-notice .go { + background-color: #42b983; + color: #fff; +} +.v3-notice .stay { + background-color: #ddd; + color: #666; +} +.v3-notice code { + background-color: transparent; +} + ` + + document.body.appendChild(style) + document.body.appendChild(el) + + el.querySelector('.stay').addEventListener('click', () => { + document.body.removeChild(el) + }) + + const v3Link = el.querySelector('#v3-url') + v3Link.textContent = v3Link.href = `https://vuejs.org${finalUrl}` +})() diff --git a/themes/vue/source/js/vue.js b/themes/vue/source/js/vue.js index 9d84c53b4b..4f25ea0f1e 100644 --- a/themes/vue/source/js/vue.js +++ b/themes/vue/source/js/vue.js @@ -1,10798 +1,11909 @@ /*! - * Vue.js v2.5.13 - * (c) 2014-2017 Evan You + * Vue.js v2.7.14 + * (c) 2014-2022 Evan You * Released under the MIT License. */ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global.Vue = factory()); -}(this, (function () { 'use strict'; + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Vue = factory()); +})(this, (function () { 'use strict'; -/* */ - -var emptyObject = Object.freeze({}); - -// these helpers produces better vm code in JS engines due to their -// explicitness and function inlining -function isUndef (v) { - return v === undefined || v === null -} - -function isDef (v) { - return v !== undefined && v !== null -} - -function isTrue (v) { - return v === true -} - -function isFalse (v) { - return v === false -} - -/** - * Check if value is primitive - */ -function isPrimitive (value) { - return ( - typeof value === 'string' || - typeof value === 'number' || - // $flow-disable-line - typeof value === 'symbol' || - typeof value === 'boolean' - ) -} - -/** - * Quick object check - this is primarily used to tell - * Objects from primitive values when we know the value - * is a JSON-compliant type. - */ -function isObject (obj) { - return obj !== null && typeof obj === 'object' -} - -/** - * Get the raw type string of a value e.g. [object Object] - */ -var _toString = Object.prototype.toString; - -function toRawType (value) { - return _toString.call(value).slice(8, -1) -} - -/** - * Strict object type check. Only returns true - * for plain JavaScript objects. - */ -function isPlainObject (obj) { - return _toString.call(obj) === '[object Object]' -} - -function isRegExp (v) { - return _toString.call(v) === '[object RegExp]' -} - -/** - * Check if val is a valid array index. - */ -function isValidArrayIndex (val) { - var n = parseFloat(String(val)); - return n >= 0 && Math.floor(n) === n && isFinite(val) -} - -/** - * Convert a value to a string that is actually rendered. - */ -function toString (val) { - return val == null - ? '' - : typeof val === 'object' - ? JSON.stringify(val, null, 2) - : String(val) -} - -/** - * Convert a input value to a number for persistence. - * If the conversion fails, return original string. - */ -function toNumber (val) { - var n = parseFloat(val); - return isNaN(n) ? val : n -} - -/** - * Make a map and return a function for checking if a key - * is in that map. - */ -function makeMap ( - str, - expectsLowerCase -) { - var map = Object.create(null); - var list = str.split(','); - for (var i = 0; i < list.length; i++) { - map[list[i]] = true; - } - return expectsLowerCase - ? function (val) { return map[val.toLowerCase()]; } - : function (val) { return map[val]; } -} - -/** - * Check if a tag is a built-in tag. - */ -var isBuiltInTag = makeMap('slot,component', true); - -/** - * Check if a attribute is a reserved attribute. - */ -var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is'); - -/** - * Remove an item from an array - */ -function remove (arr, item) { - if (arr.length) { - var index = arr.indexOf(item); - if (index > -1) { - return arr.splice(index, 1) - } + var emptyObject = Object.freeze({}); + var isArray = Array.isArray; + // These helpers produce better VM code in JS engines due to their + // explicitness and function inlining. + function isUndef(v) { + return v === undefined || v === null; } -} - -/** - * Check whether the object has the property. - */ -var hasOwnProperty = Object.prototype.hasOwnProperty; -function hasOwn (obj, key) { - return hasOwnProperty.call(obj, key) -} - -/** - * Create a cached version of a pure function. - */ -function cached (fn) { - var cache = Object.create(null); - return (function cachedFn (str) { - var hit = cache[str]; - return hit || (cache[str] = fn(str)) - }) -} - -/** - * Camelize a hyphen-delimited string. - */ -var camelizeRE = /-(\w)/g; -var camelize = cached(function (str) { - return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; }) -}); - -/** - * Capitalize a string. - */ -var capitalize = cached(function (str) { - return str.charAt(0).toUpperCase() + str.slice(1) -}); - -/** - * Hyphenate a camelCase string. - */ -var hyphenateRE = /\B([A-Z])/g; -var hyphenate = cached(function (str) { - return str.replace(hyphenateRE, '-$1').toLowerCase() -}); - -/** - * Simple bind, faster than native - */ -function bind (fn, ctx) { - function boundFn (a) { - var l = arguments.length; - return l - ? l > 1 - ? fn.apply(ctx, arguments) - : fn.call(ctx, a) - : fn.call(ctx) - } - // record original fn length - boundFn._length = fn.length; - return boundFn -} - -/** - * Convert an Array-like object to a real Array. - */ -function toArray (list, start) { - start = start || 0; - var i = list.length - start; - var ret = new Array(i); - while (i--) { - ret[i] = list[i + start]; - } - return ret -} - -/** - * Mix properties into target object. - */ -function extend (to, _from) { - for (var key in _from) { - to[key] = _from[key]; + function isDef(v) { + return v !== undefined && v !== null; } - return to -} - -/** - * Merge an Array of Objects into a single Object. - */ -function toObject (arr) { - var res = {}; - for (var i = 0; i < arr.length; i++) { - if (arr[i]) { - extend(res, arr[i]); - } - } - return res -} - -/** - * Perform no operation. - * Stubbing args to make Flow happy without leaving useless transpiled code - * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/) - */ -function noop (a, b, c) {} - -/** - * Always return false. - */ -var no = function (a, b, c) { return false; }; - -/** - * Return same value - */ -var identity = function (_) { return _; }; - -/** - * Generate a static keys string from compiler modules. - */ -function genStaticKeys (modules) { - return modules.reduce(function (keys, m) { - return keys.concat(m.staticKeys || []) - }, []).join(',') -} - -/** - * Check if two values are loosely equal - that is, - * if they are plain objects, do they have the same shape? - */ -function looseEqual (a, b) { - if (a === b) { return true } - var isObjectA = isObject(a); - var isObjectB = isObject(b); - if (isObjectA && isObjectB) { - try { - var isArrayA = Array.isArray(a); - var isArrayB = Array.isArray(b); - if (isArrayA && isArrayB) { - return a.length === b.length && a.every(function (e, i) { - return looseEqual(e, b[i]) - }) - } else if (!isArrayA && !isArrayB) { - var keysA = Object.keys(a); - var keysB = Object.keys(b); - return keysA.length === keysB.length && keysA.every(function (key) { - return looseEqual(a[key], b[key]) - }) - } else { - /* istanbul ignore next */ - return false - } - } catch (e) { - /* istanbul ignore next */ - return false - } - } else if (!isObjectA && !isObjectB) { - return String(a) === String(b) - } else { - return false + function isTrue(v) { + return v === true; } -} - -function looseIndexOf (arr, val) { - for (var i = 0; i < arr.length; i++) { - if (looseEqual(arr[i], val)) { return i } + function isFalse(v) { + return v === false; } - return -1 -} - -/** - * Ensure a function is called only once. - */ -function once (fn) { - var called = false; - return function () { - if (!called) { - called = true; - fn.apply(this, arguments); - } - } -} - -var SSR_ATTR = 'data-server-rendered'; - -var ASSET_TYPES = [ - 'component', - 'directive', - 'filter' -]; - -var LIFECYCLE_HOOKS = [ - 'beforeCreate', - 'created', - 'beforeMount', - 'mounted', - 'beforeUpdate', - 'updated', - 'beforeDestroy', - 'destroyed', - 'activated', - 'deactivated', - 'errorCaptured' -]; - -/* */ - -var config = ({ /** - * Option merge strategies (used in core/util/options) + * Check if value is primitive. */ - // $flow-disable-line - optionMergeStrategies: Object.create(null), - + function isPrimitive(value) { + return (typeof value === 'string' || + typeof value === 'number' || + // $flow-disable-line + typeof value === 'symbol' || + typeof value === 'boolean'); + } + function isFunction(value) { + return typeof value === 'function'; + } /** - * Whether to suppress warnings. + * Quick object check - this is primarily used to tell + * objects from primitive values when we know the value + * is a JSON-compliant type. */ - silent: false, - + function isObject(obj) { + return obj !== null && typeof obj === 'object'; + } /** - * Show production mode tip message on boot? + * Get the raw type string of a value, e.g., [object Object]. */ - productionTip: "development" !== 'production', - + var _toString = Object.prototype.toString; + function toRawType(value) { + return _toString.call(value).slice(8, -1); + } /** - * Whether to enable devtools + * Strict object type check. Only returns true + * for plain JavaScript objects. */ - devtools: "development" !== 'production', - + function isPlainObject(obj) { + return _toString.call(obj) === '[object Object]'; + } + function isRegExp(v) { + return _toString.call(v) === '[object RegExp]'; + } /** - * Whether to record perf + * Check if val is a valid array index. */ - performance: false, - + function isValidArrayIndex(val) { + var n = parseFloat(String(val)); + return n >= 0 && Math.floor(n) === n && isFinite(val); + } + function isPromise(val) { + return (isDef(val) && + typeof val.then === 'function' && + typeof val.catch === 'function'); + } /** - * Error handler for watcher errors + * Convert a value to a string that is actually rendered. */ - errorHandler: null, - + function toString(val) { + return val == null + ? '' + : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString) + ? JSON.stringify(val, null, 2) + : String(val); + } /** - * Warn handler for watcher warns + * Convert an input value to a number for persistence. + * If the conversion fails, return original string. */ - warnHandler: null, - + function toNumber(val) { + var n = parseFloat(val); + return isNaN(n) ? val : n; + } /** - * Ignore certain custom elements + * Make a map and return a function for checking if a key + * is in that map. */ - ignoredElements: [], - + function makeMap(str, expectsLowerCase) { + var map = Object.create(null); + var list = str.split(','); + for (var i = 0; i < list.length; i++) { + map[list[i]] = true; + } + return expectsLowerCase ? function (val) { return map[val.toLowerCase()]; } : function (val) { return map[val]; }; + } /** - * Custom user key aliases for v-on + * Check if a tag is a built-in tag. */ - // $flow-disable-line - keyCodes: Object.create(null), - + var isBuiltInTag = makeMap('slot,component', true); /** - * Check if a tag is reserved so that it cannot be registered as a - * component. This is platform-dependent and may be overwritten. + * Check if an attribute is a reserved attribute. */ - isReservedTag: no, - + var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is'); /** - * Check if an attribute is reserved so that it cannot be used as a component - * prop. This is platform-dependent and may be overwritten. + * Remove an item from an array. */ - isReservedAttr: no, - + function remove$2(arr, item) { + var len = arr.length; + if (len) { + // fast path for the only / last item + if (item === arr[len - 1]) { + arr.length = len - 1; + return; + } + var index = arr.indexOf(item); + if (index > -1) { + return arr.splice(index, 1); + } + } + } /** - * Check if a tag is an unknown element. - * Platform-dependent. + * Check whether an object has the property. */ - isUnknownElement: no, - + var hasOwnProperty = Object.prototype.hasOwnProperty; + function hasOwn(obj, key) { + return hasOwnProperty.call(obj, key); + } /** - * Get the namespace of an element + * Create a cached version of a pure function. */ - getTagNamespace: noop, - + function cached(fn) { + var cache = Object.create(null); + return function cachedFn(str) { + var hit = cache[str]; + return hit || (cache[str] = fn(str)); + }; + } /** - * Parse the real tag name for the specific platform. + * Camelize a hyphen-delimited string. */ - parsePlatformTagName: identity, - + var camelizeRE = /-(\w)/g; + var camelize = cached(function (str) { + return str.replace(camelizeRE, function (_, c) { return (c ? c.toUpperCase() : ''); }); + }); /** - * Check if an attribute must be bound using property, e.g. value - * Platform-dependent. + * Capitalize a string. */ - mustUseProp: no, - + var capitalize = cached(function (str) { + return str.charAt(0).toUpperCase() + str.slice(1); + }); /** - * Exposed for legacy reasons + * Hyphenate a camelCase string. */ - _lifecycleHooks: LIFECYCLE_HOOKS -}); - -/* */ - -/** - * Check if a string starts with $ or _ - */ -function isReserved (str) { - var c = (str + '').charCodeAt(0); - return c === 0x24 || c === 0x5F -} - -/** - * Define a property. - */ -function def (obj, key, val, enumerable) { - Object.defineProperty(obj, key, { - value: val, - enumerable: !!enumerable, - writable: true, - configurable: true - }); -} - -/** - * Parse simple path. - */ -var bailRE = /[^\w.$]/; -function parsePath (path) { - if (bailRE.test(path)) { - return - } - var segments = path.split('.'); - return function (obj) { - for (var i = 0; i < segments.length; i++) { - if (!obj) { return } - obj = obj[segments[i]]; - } - return obj - } -} - -/* */ - - -// can we use __proto__? -var hasProto = '__proto__' in {}; - -// Browser environment sniffing -var inBrowser = typeof window !== 'undefined'; -var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform; -var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase(); -var UA = inBrowser && window.navigator.userAgent.toLowerCase(); -var isIE = UA && /msie|trident/.test(UA); -var isIE9 = UA && UA.indexOf('msie 9.0') > 0; -var isEdge = UA && UA.indexOf('edge/') > 0; -var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android'); -var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios'); -var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge; - -// Firefox has a "watch" function on Object.prototype... -var nativeWatch = ({}).watch; - -var supportsPassive = false; -if (inBrowser) { - try { - var opts = {}; - Object.defineProperty(opts, 'passive', ({ - get: function get () { - /* istanbul ignore next */ - supportsPassive = true; - } - })); // https://github.com/facebook/flow/issues/285 - window.addEventListener('test-passive', null, opts); - } catch (e) {} -} - -// this needs to be lazy-evaled because vue may be required before -// vue-server-renderer can set VUE_ENV -var _isServer; -var isServerRendering = function () { - if (_isServer === undefined) { - /* istanbul ignore if */ - if (!inBrowser && typeof global !== 'undefined') { - // detect presence of vue-server-renderer and avoid - // Webpack shimming the process - _isServer = global['process'].env.VUE_ENV === 'server'; - } else { - _isServer = false; - } - } - return _isServer -}; - -// detect devtools -var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__; - -/* istanbul ignore next */ -function isNative (Ctor) { - return typeof Ctor === 'function' && /native code/.test(Ctor.toString()) -} - -var hasSymbol = - typeof Symbol !== 'undefined' && isNative(Symbol) && - typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys); - -var _Set; -/* istanbul ignore if */ // $flow-disable-line -if (typeof Set !== 'undefined' && isNative(Set)) { - // use native Set when available. - _Set = Set; -} else { - // a non-standard Set polyfill that only works with primitive keys. - _Set = (function () { - function Set () { - this.set = Object.create(null); - } - Set.prototype.has = function has (key) { - return this.set[key] === true - }; - Set.prototype.add = function add (key) { - this.set[key] = true; - }; - Set.prototype.clear = function clear () { - this.set = Object.create(null); - }; - - return Set; - }()); -} - -/* */ - -var warn = noop; -var tip = noop; -var generateComponentTrace = (noop); // work around flow check -var formatComponentName = (noop); - -{ - var hasConsole = typeof console !== 'undefined'; - var classifyRE = /(?:^|[-_])(\w)/g; - var classify = function (str) { return str - .replace(classifyRE, function (c) { return c.toUpperCase(); }) - .replace(/[-_]/g, ''); }; - - warn = function (msg, vm) { - var trace = vm ? generateComponentTrace(vm) : ''; - - if (config.warnHandler) { - config.warnHandler.call(null, msg, vm, trace); - } else if (hasConsole && (!config.silent)) { - console.error(("[Vue warn]: " + msg + trace)); - } - }; - - tip = function (msg, vm) { - if (hasConsole && (!config.silent)) { - console.warn("[Vue tip]: " + msg + ( - vm ? generateComponentTrace(vm) : '' - )); - } - }; - - formatComponentName = function (vm, includeFile) { - if (vm.$root === vm) { - return '<Root>' - } - var options = typeof vm === 'function' && vm.cid != null - ? vm.options - : vm._isVue - ? vm.$options || vm.constructor.options - : vm || {}; - var name = options.name || options._componentTag; - var file = options.__file; - if (!name && file) { - var match = file.match(/([^/\\]+)\.vue$/); - name = match && match[1]; - } - - return ( - (name ? ("<" + (classify(name)) + ">") : "<Anonymous>") + - (file && includeFile !== false ? (" at " + file) : '') - ) - }; - - var repeat = function (str, n) { - var res = ''; - while (n) { - if (n % 2 === 1) { res += str; } - if (n > 1) { str += str; } - n >>= 1; - } - return res - }; - - generateComponentTrace = function (vm) { - if (vm._isVue && vm.$parent) { - var tree = []; - var currentRecursiveSequence = 0; - while (vm) { - if (tree.length > 0) { - var last = tree[tree.length - 1]; - if (last.constructor === vm.constructor) { - currentRecursiveSequence++; - vm = vm.$parent; - continue - } else if (currentRecursiveSequence > 0) { - tree[tree.length - 1] = [last, currentRecursiveSequence]; - currentRecursiveSequence = 0; - } - } - tree.push(vm); - vm = vm.$parent; - } - return '\n\nfound in\n\n' + tree - .map(function (vm, i) { return ("" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm) - ? ((formatComponentName(vm[0])) + "... (" + (vm[1]) + " recursive calls)") - : formatComponentName(vm))); }) - .join('\n') - } else { - return ("\n\n(found in " + (formatComponentName(vm)) + ")") - } - }; -} - -/* */ - - -var uid = 0; - -/** - * A dep is an observable that can have multiple - * directives subscribing to it. - */ -var Dep = function Dep () { - this.id = uid++; - this.subs = []; -}; - -Dep.prototype.addSub = function addSub (sub) { - this.subs.push(sub); -}; - -Dep.prototype.removeSub = function removeSub (sub) { - remove(this.subs, sub); -}; - -Dep.prototype.depend = function depend () { - if (Dep.target) { - Dep.target.addDep(this); - } -}; - -Dep.prototype.notify = function notify () { - // stabilize the subscriber list first - var subs = this.subs.slice(); - for (var i = 0, l = subs.length; i < l; i++) { - subs[i].update(); - } -}; - -// the current target watcher being evaluated. -// this is globally unique because there could be only one -// watcher being evaluated at any time. -Dep.target = null; -var targetStack = []; - -function pushTarget (_target) { - if (Dep.target) { targetStack.push(Dep.target); } - Dep.target = _target; -} - -function popTarget () { - Dep.target = targetStack.pop(); -} - -/* */ - -var VNode = function VNode ( - tag, - data, - children, - text, - elm, - context, - componentOptions, - asyncFactory -) { - this.tag = tag; - this.data = data; - this.children = children; - this.text = text; - this.elm = elm; - this.ns = undefined; - this.context = context; - this.fnContext = undefined; - this.fnOptions = undefined; - this.fnScopeId = undefined; - this.key = data && data.key; - this.componentOptions = componentOptions; - this.componentInstance = undefined; - this.parent = undefined; - this.raw = false; - this.isStatic = false; - this.isRootInsert = true; - this.isComment = false; - this.isCloned = false; - this.isOnce = false; - this.asyncFactory = asyncFactory; - this.asyncMeta = undefined; - this.isAsyncPlaceholder = false; -}; - -var prototypeAccessors = { child: { configurable: true } }; - -// DEPRECATED: alias for componentInstance for backwards compat. -/* istanbul ignore next */ -prototypeAccessors.child.get = function () { - return this.componentInstance -}; - -Object.defineProperties( VNode.prototype, prototypeAccessors ); - -var createEmptyVNode = function (text) { - if ( text === void 0 ) text = ''; - - var node = new VNode(); - node.text = text; - node.isComment = true; - return node -}; - -function createTextVNode (val) { - return new VNode(undefined, undefined, undefined, String(val)) -} - -// optimized shallow clone -// used for static nodes and slot nodes because they may be reused across -// multiple renders, cloning them avoids errors when DOM manipulations rely -// on their elm reference. -function cloneVNode (vnode, deep) { - var componentOptions = vnode.componentOptions; - var cloned = new VNode( - vnode.tag, - vnode.data, - vnode.children, - vnode.text, - vnode.elm, - vnode.context, - componentOptions, - vnode.asyncFactory - ); - cloned.ns = vnode.ns; - cloned.isStatic = vnode.isStatic; - cloned.key = vnode.key; - cloned.isComment = vnode.isComment; - cloned.fnContext = vnode.fnContext; - cloned.fnOptions = vnode.fnOptions; - cloned.fnScopeId = vnode.fnScopeId; - cloned.isCloned = true; - if (deep) { - if (vnode.children) { - cloned.children = cloneVNodes(vnode.children, true); - } - if (componentOptions && componentOptions.children) { - componentOptions.children = cloneVNodes(componentOptions.children, true); - } - } - return cloned -} - -function cloneVNodes (vnodes, deep) { - var len = vnodes.length; - var res = new Array(len); - for (var i = 0; i < len; i++) { - res[i] = cloneVNode(vnodes[i], deep); - } - return res -} - -/* - * not type checking this file because flow doesn't play well with - * dynamically accessing methods on Array prototype - */ - -var arrayProto = Array.prototype; -var arrayMethods = Object.create(arrayProto);[ - 'push', - 'pop', - 'shift', - 'unshift', - 'splice', - 'sort', - 'reverse' -].forEach(function (method) { - // cache original method - var original = arrayProto[method]; - def(arrayMethods, method, function mutator () { - var args = [], len = arguments.length; - while ( len-- ) args[ len ] = arguments[ len ]; - - var result = original.apply(this, args); - var ob = this.__ob__; - var inserted; - switch (method) { - case 'push': - case 'unshift': - inserted = args; - break - case 'splice': - inserted = args.slice(2); - break - } - if (inserted) { ob.observeArray(inserted); } - // notify change - ob.dep.notify(); - return result - }); -}); - -/* */ - -var arrayKeys = Object.getOwnPropertyNames(arrayMethods); - -/** - * By default, when a reactive property is set, the new value is - * also converted to become reactive. However when passing down props, - * we don't want to force conversion because the value may be a nested value - * under a frozen data structure. Converting it would defeat the optimization. - */ -var observerState = { - shouldConvert: true -}; - -/** - * Observer class that are attached to each observed - * object. Once attached, the observer converts target - * object's property keys into getter/setters that - * collect dependencies and dispatches updates. - */ -var Observer = function Observer (value) { - this.value = value; - this.dep = new Dep(); - this.vmCount = 0; - def(value, '__ob__', this); - if (Array.isArray(value)) { - var augment = hasProto - ? protoAugment - : copyAugment; - augment(value, arrayMethods, arrayKeys); - this.observeArray(value); - } else { - this.walk(value); - } -}; - -/** - * Walk through each property and convert them into - * getter/setters. This method should only be called when - * value type is Object. - */ -Observer.prototype.walk = function walk (obj) { - var keys = Object.keys(obj); - for (var i = 0; i < keys.length; i++) { - defineReactive(obj, keys[i], obj[keys[i]]); - } -}; - -/** - * Observe a list of Array items. - */ -Observer.prototype.observeArray = function observeArray (items) { - for (var i = 0, l = items.length; i < l; i++) { - observe(items[i]); - } -}; - -// helpers - -/** - * Augment an target Object or Array by intercepting - * the prototype chain using __proto__ - */ -function protoAugment (target, src, keys) { - /* eslint-disable no-proto */ - target.__proto__ = src; - /* eslint-enable no-proto */ -} - -/** - * Augment an target Object or Array by defining - * hidden properties. - */ -/* istanbul ignore next */ -function copyAugment (target, src, keys) { - for (var i = 0, l = keys.length; i < l; i++) { - var key = keys[i]; - def(target, key, src[key]); - } -} - -/** - * Attempt to create an observer instance for a value, - * returns the new observer if successfully observed, - * or the existing observer if the value already has one. - */ -function observe (value, asRootData) { - if (!isObject(value) || value instanceof VNode) { - return - } - var ob; - if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) { - ob = value.__ob__; - } else if ( - observerState.shouldConvert && - !isServerRendering() && - (Array.isArray(value) || isPlainObject(value)) && - Object.isExtensible(value) && - !value._isVue - ) { - ob = new Observer(value); - } - if (asRootData && ob) { - ob.vmCount++; - } - return ob -} - -/** - * Define a reactive property on an Object. - */ -function defineReactive ( - obj, - key, - val, - customSetter, - shallow -) { - var dep = new Dep(); - - var property = Object.getOwnPropertyDescriptor(obj, key); - if (property && property.configurable === false) { - return - } - - // cater for pre-defined getter/setters - var getter = property && property.get; - var setter = property && property.set; - - var childOb = !shallow && observe(val); - Object.defineProperty(obj, key, { - enumerable: true, - configurable: true, - get: function reactiveGetter () { - var value = getter ? getter.call(obj) : val; - if (Dep.target) { - dep.depend(); - if (childOb) { - childOb.dep.depend(); - if (Array.isArray(value)) { - dependArray(value); - } - } - } - return value - }, - set: function reactiveSetter (newVal) { - var value = getter ? getter.call(obj) : val; - /* eslint-disable no-self-compare */ - if (newVal === value || (newVal !== newVal && value !== value)) { - return - } - /* eslint-enable no-self-compare */ - if ("development" !== 'production' && customSetter) { - customSetter(); - } - if (setter) { - setter.call(obj, newVal); - } else { - val = newVal; - } - childOb = !shallow && observe(newVal); - dep.notify(); - } + var hyphenateRE = /\B([A-Z])/g; + var hyphenate = cached(function (str) { + return str.replace(hyphenateRE, '-$1').toLowerCase(); }); -} - -/** - * Set a property on an object. Adds the new property and - * triggers change notification if the property doesn't - * already exist. - */ -function set (target, key, val) { - if (Array.isArray(target) && isValidArrayIndex(key)) { - target.length = Math.max(target.length, key); - target.splice(key, 1, val); - return val - } - if (key in target && !(key in Object.prototype)) { - target[key] = val; - return val - } - var ob = (target).__ob__; - if (target._isVue || (ob && ob.vmCount)) { - "development" !== 'production' && warn( - 'Avoid adding reactive properties to a Vue instance or its root $data ' + - 'at runtime - declare it upfront in the data option.' - ); - return val - } - if (!ob) { - target[key] = val; - return val - } - defineReactive(ob.value, key, val); - ob.dep.notify(); - return val -} - -/** - * Delete a property and trigger change if necessary. - */ -function del (target, key) { - if (Array.isArray(target) && isValidArrayIndex(key)) { - target.splice(key, 1); - return - } - var ob = (target).__ob__; - if (target._isVue || (ob && ob.vmCount)) { - "development" !== 'production' && warn( - 'Avoid deleting properties on a Vue instance or its root $data ' + - '- just set it to null.' - ); - return - } - if (!hasOwn(target, key)) { - return - } - delete target[key]; - if (!ob) { - return - } - ob.dep.notify(); -} - -/** - * Collect dependencies on array elements when the array is touched, since - * we cannot intercept array element access like property getters. - */ -function dependArray (value) { - for (var e = (void 0), i = 0, l = value.length; i < l; i++) { - e = value[i]; - e && e.__ob__ && e.__ob__.dep.depend(); - if (Array.isArray(e)) { - dependArray(e); - } - } -} - -/* */ - -/** - * Option overwriting strategies are functions that handle - * how to merge a parent option value and a child option - * value into the final value. - */ -var strats = config.optionMergeStrategies; - -/** - * Options with restrictions - */ -{ - strats.el = strats.propsData = function (parent, child, vm, key) { - if (!vm) { - warn( - "option \"" + key + "\" can only be used during instance " + - 'creation with the `new` keyword.' - ); - } - return defaultStrat(parent, child) - }; -} - -/** - * Helper that recursively merges two data objects together. - */ -function mergeData (to, from) { - if (!from) { return to } - var key, toVal, fromVal; - var keys = Object.keys(from); - for (var i = 0; i < keys.length; i++) { - key = keys[i]; - toVal = to[key]; - fromVal = from[key]; - if (!hasOwn(to, key)) { - set(to, key, fromVal); - } else if (isPlainObject(toVal) && isPlainObject(fromVal)) { - mergeData(toVal, fromVal); - } - } - return to -} - -/** - * Data - */ -function mergeDataOrFn ( - parentVal, - childVal, - vm -) { - if (!vm) { - // in a Vue.extend merge, both should be functions - if (!childVal) { - return parentVal - } - if (!parentVal) { - return childVal - } - // when parentVal & childVal are both present, - // we need to return a function that returns the - // merged result of both functions... no need to - // check if parentVal is a function here because - // it has to be a function to pass previous merges. - return function mergedDataFn () { - return mergeData( - typeof childVal === 'function' ? childVal.call(this, this) : childVal, - typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal - ) - } - } else { - return function mergedInstanceDataFn () { - // instance merge - var instanceData = typeof childVal === 'function' - ? childVal.call(vm, vm) - : childVal; - var defaultData = typeof parentVal === 'function' - ? parentVal.call(vm, vm) - : parentVal; - if (instanceData) { - return mergeData(instanceData, defaultData) - } else { - return defaultData - } - } - } -} - -strats.data = function ( - parentVal, - childVal, - vm -) { - if (!vm) { - if (childVal && typeof childVal !== 'function') { - "development" !== 'production' && warn( - 'The "data" option should be a function ' + - 'that returns a per-instance value in component ' + - 'definitions.', - vm - ); - - return parentVal - } - return mergeDataOrFn(parentVal, childVal) - } - - return mergeDataOrFn(parentVal, childVal, vm) -}; - -/** - * Hooks and props are merged as arrays. - */ -function mergeHook ( - parentVal, - childVal -) { - return childVal - ? parentVal - ? parentVal.concat(childVal) - : Array.isArray(childVal) - ? childVal - : [childVal] - : parentVal -} - -LIFECYCLE_HOOKS.forEach(function (hook) { - strats[hook] = mergeHook; -}); - -/** - * Assets - * - * When a vm is present (instance creation), we need to do - * a three-way merge between constructor options, instance - * options and parent options. - */ -function mergeAssets ( - parentVal, - childVal, - vm, - key -) { - var res = Object.create(parentVal || null); - if (childVal) { - "development" !== 'production' && assertObjectType(key, childVal, vm); - return extend(res, childVal) - } else { - return res - } -} - -ASSET_TYPES.forEach(function (type) { - strats[type + 's'] = mergeAssets; -}); - -/** - * Watchers. - * - * Watchers hashes should not overwrite one - * another, so we merge them as arrays. - */ -strats.watch = function ( - parentVal, - childVal, - vm, - key -) { - // work around Firefox's Object.prototype.watch... - if (parentVal === nativeWatch) { parentVal = undefined; } - if (childVal === nativeWatch) { childVal = undefined; } - /* istanbul ignore if */ - if (!childVal) { return Object.create(parentVal || null) } - { - assertObjectType(key, childVal, vm); - } - if (!parentVal) { return childVal } - var ret = {}; - extend(ret, parentVal); - for (var key$1 in childVal) { - var parent = ret[key$1]; - var child = childVal[key$1]; - if (parent && !Array.isArray(parent)) { - parent = [parent]; - } - ret[key$1] = parent - ? parent.concat(child) - : Array.isArray(child) ? child : [child]; - } - return ret -}; - -/** - * Other object hashes. - */ -strats.props = -strats.methods = -strats.inject = -strats.computed = function ( - parentVal, - childVal, - vm, - key -) { - if (childVal && "development" !== 'production') { - assertObjectType(key, childVal, vm); - } - if (!parentVal) { return childVal } - var ret = Object.create(null); - extend(ret, parentVal); - if (childVal) { extend(ret, childVal); } - return ret -}; -strats.provide = mergeDataOrFn; - -/** - * Default strategy. - */ -var defaultStrat = function (parentVal, childVal) { - return childVal === undefined - ? parentVal - : childVal -}; - -/** - * Validate component names - */ -function checkComponents (options) { - for (var key in options.components) { - validateComponentName(key); - } -} - -function validateComponentName (name) { - if (!/^[a-zA-Z][\w-]*$/.test(name)) { - warn( - 'Invalid component name: "' + name + '". Component names ' + - 'can only contain alphanumeric characters and the hyphen, ' + - 'and must start with a letter.' - ); - } - if (isBuiltInTag(name) || config.isReservedTag(name)) { - warn( - 'Do not use built-in or reserved HTML elements as component ' + - 'id: ' + name - ); - } -} - -/** - * Ensure all props option syntax are normalized into the - * Object-based format. - */ -function normalizeProps (options, vm) { - var props = options.props; - if (!props) { return } - var res = {}; - var i, val, name; - if (Array.isArray(props)) { - i = props.length; - while (i--) { - val = props[i]; - if (typeof val === 'string') { - name = camelize(val); - res[name] = { type: null }; - } else { - warn('props must be strings when using array syntax.'); - } - } - } else if (isPlainObject(props)) { - for (var key in props) { - val = props[key]; - name = camelize(key); - res[name] = isPlainObject(val) - ? val - : { type: val }; - } - } else { - warn( - "Invalid value for option \"props\": expected an Array or an Object, " + - "but got " + (toRawType(props)) + ".", - vm - ); - } - options.props = res; -} - -/** - * Normalize all injections into Object-based format - */ -function normalizeInject (options, vm) { - var inject = options.inject; - if (!inject) { return } - var normalized = options.inject = {}; - if (Array.isArray(inject)) { - for (var i = 0; i < inject.length; i++) { - normalized[inject[i]] = { from: inject[i] }; - } - } else if (isPlainObject(inject)) { - for (var key in inject) { - var val = inject[key]; - normalized[key] = isPlainObject(val) - ? extend({ from: key }, val) - : { from: val }; - } - } else { - warn( - "Invalid value for option \"inject\": expected an Array or an Object, " + - "but got " + (toRawType(inject)) + ".", - vm - ); - } -} - -/** - * Normalize raw function directives into object format. - */ -function normalizeDirectives (options) { - var dirs = options.directives; - if (dirs) { - for (var key in dirs) { - var def = dirs[key]; - if (typeof def === 'function') { - dirs[key] = { bind: def, update: def }; - } - } - } -} - -function assertObjectType (name, value, vm) { - if (!isPlainObject(value)) { - warn( - "Invalid value for option \"" + name + "\": expected an Object, " + - "but got " + (toRawType(value)) + ".", - vm - ); - } -} - -/** - * Merge two option objects into a new one. - * Core utility used in both instantiation and inheritance. - */ -function mergeOptions ( - parent, - child, - vm -) { - { - checkComponents(child); - } - - if (typeof child === 'function') { - child = child.options; - } - - normalizeProps(child, vm); - normalizeInject(child, vm); - normalizeDirectives(child); - var extendsFrom = child.extends; - if (extendsFrom) { - parent = mergeOptions(parent, extendsFrom, vm); + /** + * Simple bind polyfill for environments that do not support it, + * e.g., PhantomJS 1.x. Technically, we don't need this anymore + * since native bind is now performant enough in most browsers. + * But removing it would mean breaking code that was able to run in + * PhantomJS 1.x, so this must be kept for backward compatibility. + */ + /* istanbul ignore next */ + function polyfillBind(fn, ctx) { + function boundFn(a) { + var l = arguments.length; + return l + ? l > 1 + ? fn.apply(ctx, arguments) + : fn.call(ctx, a) + : fn.call(ctx); + } + boundFn._length = fn.length; + return boundFn; + } + function nativeBind(fn, ctx) { + return fn.bind(ctx); + } + // @ts-expect-error bind cannot be `undefined` + var bind$1 = Function.prototype.bind ? nativeBind : polyfillBind; + /** + * Convert an Array-like object to a real Array. + */ + function toArray(list, start) { + start = start || 0; + var i = list.length - start; + var ret = new Array(i); + while (i--) { + ret[i] = list[i + start]; + } + return ret; } - if (child.mixins) { - for (var i = 0, l = child.mixins.length; i < l; i++) { - parent = mergeOptions(parent, child.mixins[i], vm); - } + /** + * Mix properties into target object. + */ + function extend(to, _from) { + for (var key in _from) { + to[key] = _from[key]; + } + return to; } - var options = {}; - var key; - for (key in parent) { - mergeField(key); + /** + * Merge an Array of Objects into a single Object. + */ + function toObject(arr) { + var res = {}; + for (var i = 0; i < arr.length; i++) { + if (arr[i]) { + extend(res, arr[i]); + } + } + return res; } - for (key in child) { - if (!hasOwn(parent, key)) { - mergeField(key); - } + /* eslint-disable no-unused-vars */ + /** + * Perform no operation. + * Stubbing args to make Flow happy without leaving useless transpiled code + * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/). + */ + function noop(a, b, c) { } + /** + * Always return false. + */ + var no = function (a, b, c) { return false; }; + /* eslint-enable no-unused-vars */ + /** + * Return the same value. + */ + var identity = function (_) { return _; }; + /** + * Generate a string containing static keys from compiler modules. + */ + function genStaticKeys$1(modules) { + return modules + .reduce(function (keys, m) { + return keys.concat(m.staticKeys || []); + }, []) + .join(','); } - function mergeField (key) { - var strat = strats[key] || defaultStrat; - options[key] = strat(parent[key], child[key], vm, key); + /** + * Check if two values are loosely equal - that is, + * if they are plain objects, do they have the same shape? + */ + function looseEqual(a, b) { + if (a === b) + return true; + var isObjectA = isObject(a); + var isObjectB = isObject(b); + if (isObjectA && isObjectB) { + try { + var isArrayA = Array.isArray(a); + var isArrayB = Array.isArray(b); + if (isArrayA && isArrayB) { + return (a.length === b.length && + a.every(function (e, i) { + return looseEqual(e, b[i]); + })); + } + else if (a instanceof Date && b instanceof Date) { + return a.getTime() === b.getTime(); + } + else if (!isArrayA && !isArrayB) { + var keysA = Object.keys(a); + var keysB = Object.keys(b); + return (keysA.length === keysB.length && + keysA.every(function (key) { + return looseEqual(a[key], b[key]); + })); + } + else { + /* istanbul ignore next */ + return false; + } + } + catch (e) { + /* istanbul ignore next */ + return false; + } + } + else if (!isObjectA && !isObjectB) { + return String(a) === String(b); + } + else { + return false; + } } - return options -} - -/** - * Resolve an asset. - * This function is used because child instances need access - * to assets defined in its ancestor chain. - */ -function resolveAsset ( - options, - type, - id, - warnMissing -) { - /* istanbul ignore if */ - if (typeof id !== 'string') { - return - } - var assets = options[type]; - // check local registration variations first - if (hasOwn(assets, id)) { return assets[id] } - var camelizedId = camelize(id); - if (hasOwn(assets, camelizedId)) { return assets[camelizedId] } - var PascalCaseId = capitalize(camelizedId); - if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] } - // fallback to prototype chain - var res = assets[id] || assets[camelizedId] || assets[PascalCaseId]; - if ("development" !== 'production' && warnMissing && !res) { - warn( - 'Failed to resolve ' + type.slice(0, -1) + ': ' + id, - options - ); - } - return res -} - -/* */ - -function validateProp ( - key, - propOptions, - propsData, - vm -) { - var prop = propOptions[key]; - var absent = !hasOwn(propsData, key); - var value = propsData[key]; - // handle boolean props - if (isType(Boolean, prop.type)) { - if (absent && !hasOwn(prop, 'default')) { - value = false; - } else if (!isType(String, prop.type) && (value === '' || value === hyphenate(key))) { - value = true; - } - } - // check default value - if (value === undefined) { - value = getPropDefaultValue(vm, prop, key); - // since the default value is a fresh copy, - // make sure to observe it. - var prevShouldConvert = observerState.shouldConvert; - observerState.shouldConvert = true; - observe(value); - observerState.shouldConvert = prevShouldConvert; + /** + * Return the first index at which a loosely equal value can be + * found in the array (if value is a plain object, the array must + * contain an object of the same shape), or -1 if it is not present. + */ + function looseIndexOf(arr, val) { + for (var i = 0; i < arr.length; i++) { + if (looseEqual(arr[i], val)) + return i; + } + return -1; } - { - assertProp(prop, key, value, vm, absent); + /** + * Ensure a function is called only once. + */ + function once(fn) { + var called = false; + return function () { + if (!called) { + called = true; + fn.apply(this, arguments); + } + }; } - return value -} - -/** - * Get the default value of a prop. - */ -function getPropDefaultValue (vm, prop, key) { - // no default, return undefined - if (!hasOwn(prop, 'default')) { - return undefined - } - var def = prop.default; - // warn against non-factory defaults for Object & Array - if ("development" !== 'production' && isObject(def)) { - warn( - 'Invalid default value for prop "' + key + '": ' + - 'Props with type Object/Array must use a factory function ' + - 'to return the default value.', - vm - ); - } - // the raw prop value was also undefined from previous render, - // return previous default value to avoid unnecessary watcher trigger - if (vm && vm.$options.propsData && - vm.$options.propsData[key] === undefined && - vm._props[key] !== undefined - ) { - return vm._props[key] - } - // call factory function for non-Function types - // a value is Function if its prototype is function even across different execution context - return typeof def === 'function' && getType(prop.type) !== 'Function' - ? def.call(vm) - : def -} - -/** - * Assert whether a prop is valid. - */ -function assertProp ( - prop, - name, - value, - vm, - absent -) { - if (prop.required && absent) { - warn( - 'Missing required prop: "' + name + '"', - vm - ); - return - } - if (value == null && !prop.required) { - return - } - var type = prop.type; - var valid = !type || type === true; - var expectedTypes = []; - if (type) { - if (!Array.isArray(type)) { - type = [type]; - } - for (var i = 0; i < type.length && !valid; i++) { - var assertedType = assertType(value, type[i]); - expectedTypes.push(assertedType.expectedType || ''); - valid = assertedType.valid; - } - } - if (!valid) { - warn( - "Invalid prop: type check failed for prop \"" + name + "\"." + - " Expected " + (expectedTypes.map(capitalize).join(', ')) + - ", got " + (toRawType(value)) + ".", - vm - ); - return - } - var validator = prop.validator; - if (validator) { - if (!validator(value)) { - warn( - 'Invalid prop: custom validator check failed for prop "' + name + '".', - vm - ); - } - } -} - -var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/; - -function assertType (value, type) { - var valid; - var expectedType = getType(type); - if (simpleCheckRE.test(expectedType)) { - var t = typeof value; - valid = t === expectedType.toLowerCase(); - // for primitive wrapper objects - if (!valid && t === 'object') { - valid = value instanceof type; - } - } else if (expectedType === 'Object') { - valid = isPlainObject(value); - } else if (expectedType === 'Array') { - valid = Array.isArray(value); - } else { - valid = value instanceof type; - } - return { - valid: valid, - expectedType: expectedType - } -} - -/** - * Use function string name to check built-in types, - * because a simple equality check will fail when running - * across different vms / iframes. - */ -function getType (fn) { - var match = fn && fn.toString().match(/^\s*function (\w+)/); - return match ? match[1] : '' -} + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is#polyfill + function hasChanged(x, y) { + if (x === y) { + return x === 0 && 1 / x !== 1 / y; + } + else { + return x === x || y === y; + } + } + + var SSR_ATTR = 'data-server-rendered'; + var ASSET_TYPES = ['component', 'directive', 'filter']; + var LIFECYCLE_HOOKS = [ + 'beforeCreate', + 'created', + 'beforeMount', + 'mounted', + 'beforeUpdate', + 'updated', + 'beforeDestroy', + 'destroyed', + 'activated', + 'deactivated', + 'errorCaptured', + 'serverPrefetch', + 'renderTracked', + 'renderTriggered' + ]; + + var config = { + /** + * Option merge strategies (used in core/util/options) + */ + // $flow-disable-line + optionMergeStrategies: Object.create(null), + /** + * Whether to suppress warnings. + */ + silent: false, + /** + * Show production mode tip message on boot? + */ + productionTip: true, + /** + * Whether to enable devtools + */ + devtools: true, + /** + * Whether to record perf + */ + performance: false, + /** + * Error handler for watcher errors + */ + errorHandler: null, + /** + * Warn handler for watcher warns + */ + warnHandler: null, + /** + * Ignore certain custom elements + */ + ignoredElements: [], + /** + * Custom user key aliases for v-on + */ + // $flow-disable-line + keyCodes: Object.create(null), + /** + * Check if a tag is reserved so that it cannot be registered as a + * component. This is platform-dependent and may be overwritten. + */ + isReservedTag: no, + /** + * Check if an attribute is reserved so that it cannot be used as a component + * prop. This is platform-dependent and may be overwritten. + */ + isReservedAttr: no, + /** + * Check if a tag is an unknown element. + * Platform-dependent. + */ + isUnknownElement: no, + /** + * Get the namespace of an element + */ + getTagNamespace: noop, + /** + * Parse the real tag name for the specific platform. + */ + parsePlatformTagName: identity, + /** + * Check if an attribute must be bound using property, e.g. value + * Platform-dependent. + */ + mustUseProp: no, + /** + * Perform updates asynchronously. Intended to be used by Vue Test Utils + * This will significantly reduce performance if set to false. + */ + async: true, + /** + * Exposed for legacy reasons + */ + _lifecycleHooks: LIFECYCLE_HOOKS + }; -function isType (type, fn) { - if (!Array.isArray(fn)) { - return getType(fn) === getType(type) + /** + * unicode letters used for parsing html tags, component names and property paths. + * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname + * skipping \u10000-\uEFFFF due to it freezing up PhantomJS + */ + var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/; + /** + * Check if a string starts with $ or _ + */ + function isReserved(str) { + var c = (str + '').charCodeAt(0); + return c === 0x24 || c === 0x5f; } - for (var i = 0, len = fn.length; i < len; i++) { - if (getType(fn[i]) === getType(type)) { - return true - } + /** + * Define a property. + */ + function def(obj, key, val, enumerable) { + Object.defineProperty(obj, key, { + value: val, + enumerable: !!enumerable, + writable: true, + configurable: true + }); } - /* istanbul ignore next */ - return false -} - -/* */ - -function handleError (err, vm, info) { - if (vm) { - var cur = vm; - while ((cur = cur.$parent)) { - var hooks = cur.$options.errorCaptured; - if (hooks) { - for (var i = 0; i < hooks.length; i++) { - try { - var capture = hooks[i].call(cur, err, vm, info) === false; - if (capture) { return } - } catch (e) { - globalHandleError(e, cur, 'errorCaptured hook'); + /** + * Parse simple path. + */ + var bailRE = new RegExp("[^".concat(unicodeRegExp.source, ".$_\\d]")); + function parsePath(path) { + if (bailRE.test(path)) { + return; + } + var segments = path.split('.'); + return function (obj) { + for (var i = 0; i < segments.length; i++) { + if (!obj) + return; + obj = obj[segments[i]]; } - } - } - } + return obj; + }; } - globalHandleError(err, vm, info); -} -function globalHandleError (err, vm, info) { - if (config.errorHandler) { - try { - return config.errorHandler.call(null, err, vm, info) - } catch (e) { - logError(e, null, 'config.errorHandler'); - } + // can we use __proto__? + var hasProto = '__proto__' in {}; + // Browser environment sniffing + var inBrowser = typeof window !== 'undefined'; + var UA = inBrowser && window.navigator.userAgent.toLowerCase(); + var isIE = UA && /msie|trident/.test(UA); + var isIE9 = UA && UA.indexOf('msie 9.0') > 0; + var isEdge = UA && UA.indexOf('edge/') > 0; + UA && UA.indexOf('android') > 0; + var isIOS = UA && /iphone|ipad|ipod|ios/.test(UA); + UA && /chrome\/\d+/.test(UA) && !isEdge; + UA && /phantomjs/.test(UA); + var isFF = UA && UA.match(/firefox\/(\d+)/); + // Firefox has a "watch" function on Object.prototype... + // @ts-expect-error firebox support + var nativeWatch = {}.watch; + var supportsPassive = false; + if (inBrowser) { + try { + var opts = {}; + Object.defineProperty(opts, 'passive', { + get: function () { + /* istanbul ignore next */ + supportsPassive = true; + } + }); // https://github.com/facebook/flow/issues/285 + window.addEventListener('test-passive', null, opts); + } + catch (e) { } } - logError(err, vm, info); -} - -function logError (err, vm, info) { - { - warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm); - } - /* istanbul ignore else */ - if ((inBrowser || inWeex) && typeof console !== 'undefined') { - console.error(err); - } else { - throw err - } -} - -/* */ -/* globals MessageChannel */ - -var callbacks = []; -var pending = false; - -function flushCallbacks () { - pending = false; - var copies = callbacks.slice(0); - callbacks.length = 0; - for (var i = 0; i < copies.length; i++) { - copies[i](); - } -} - -// Here we have async deferring wrappers using both micro and macro tasks. -// In < 2.4 we used micro tasks everywhere, but there are some scenarios where -// micro tasks have too high a priority and fires in between supposedly -// sequential events (e.g. #4521, #6690) or even between bubbling of the same -// event (#6566). However, using macro tasks everywhere also has subtle problems -// when state is changed right before repaint (e.g. #6813, out-in transitions). -// Here we use micro task by default, but expose a way to force macro task when -// needed (e.g. in event handlers attached by v-on). -var microTimerFunc; -var macroTimerFunc; -var useMacroTask = false; - -// Determine (macro) Task defer implementation. -// Technically setImmediate should be the ideal choice, but it's only available -// in IE. The only polyfill that consistently queues the callback after all DOM -// events triggered in the same loop is by using MessageChannel. -/* istanbul ignore if */ -if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) { - macroTimerFunc = function () { - setImmediate(flushCallbacks); - }; -} else if (typeof MessageChannel !== 'undefined' && ( - isNative(MessageChannel) || - // PhantomJS - MessageChannel.toString() === '[object MessageChannelConstructor]' -)) { - var channel = new MessageChannel(); - var port = channel.port2; - channel.port1.onmessage = flushCallbacks; - macroTimerFunc = function () { - port.postMessage(1); + // this needs to be lazy-evaled because vue may be required before + // vue-server-renderer can set VUE_ENV + var _isServer; + var isServerRendering = function () { + if (_isServer === undefined) { + /* istanbul ignore if */ + if (!inBrowser && typeof global !== 'undefined') { + // detect presence of vue-server-renderer and avoid + // Webpack shimming the process + _isServer = + global['process'] && global['process'].env.VUE_ENV === 'server'; + } + else { + _isServer = false; + } + } + return _isServer; }; -} else { + // detect devtools + var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__; /* istanbul ignore next */ - macroTimerFunc = function () { - setTimeout(flushCallbacks, 0); - }; -} - -// Determine MicroTask defer implementation. -/* istanbul ignore next, $flow-disable-line */ -if (typeof Promise !== 'undefined' && isNative(Promise)) { - var p = Promise.resolve(); - microTimerFunc = function () { - p.then(flushCallbacks); - // in problematic UIWebViews, Promise.then doesn't completely break, but - // it can get stuck in a weird state where callbacks are pushed into the - // microtask queue but the queue isn't being flushed, until the browser - // needs to do some other work, e.g. handle a timer. Therefore we can - // "force" the microtask queue to be flushed by adding an empty timer. - if (isIOS) { setTimeout(noop); } - }; -} else { - // fallback to macro - microTimerFunc = macroTimerFunc; -} - -/** - * Wrap a function so that if any code inside triggers state change, - * the changes are queued using a Task instead of a MicroTask. - */ -function withMacroTask (fn) { - return fn._withTask || (fn._withTask = function () { - useMacroTask = true; - var res = fn.apply(null, arguments); - useMacroTask = false; - return res - }) -} - -function nextTick (cb, ctx) { - var _resolve; - callbacks.push(function () { - if (cb) { - try { - cb.call(ctx); - } catch (e) { - handleError(e, ctx, 'nextTick'); - } - } else if (_resolve) { - _resolve(ctx); - } - }); - if (!pending) { - pending = true; - if (useMacroTask) { - macroTimerFunc(); - } else { - microTimerFunc(); - } + function isNative(Ctor) { + return typeof Ctor === 'function' && /native code/.test(Ctor.toString()); + } + var hasSymbol = typeof Symbol !== 'undefined' && + isNative(Symbol) && + typeof Reflect !== 'undefined' && + isNative(Reflect.ownKeys); + var _Set; // $flow-disable-line + /* istanbul ignore if */ if (typeof Set !== 'undefined' && isNative(Set)) { + // use native Set when available. + _Set = Set; + } + else { + // a non-standard Set polyfill that only works with primitive keys. + _Set = /** @class */ (function () { + function Set() { + this.set = Object.create(null); + } + Set.prototype.has = function (key) { + return this.set[key] === true; + }; + Set.prototype.add = function (key) { + this.set[key] = true; + }; + Set.prototype.clear = function () { + this.set = Object.create(null); + }; + return Set; + }()); + } + + var currentInstance = null; + /** + * This is exposed for compatibility with v3 (e.g. some functions in VueUse + * relies on it). Do not use this internally, just use `currentInstance`. + * + * @internal this function needs manual type declaration because it relies + * on previously manually authored types from Vue 2 + */ + function getCurrentInstance() { + return currentInstance && { proxy: currentInstance }; } - // $flow-disable-line - if (!cb && typeof Promise !== 'undefined') { - return new Promise(function (resolve) { - _resolve = resolve; - }) + /** + * @internal + */ + function setCurrentInstance(vm) { + if (vm === void 0) { vm = null; } + if (!vm) + currentInstance && currentInstance._scope.off(); + currentInstance = vm; + vm && vm._scope.on(); } -} - -/* */ - -var mark; -var measure; -{ - var perf = inBrowser && window.performance; - /* istanbul ignore if */ - if ( - perf && - perf.mark && - perf.measure && - perf.clearMarks && - perf.clearMeasures - ) { - mark = function (tag) { return perf.mark(tag); }; - measure = function (name, startTag, endTag) { - perf.measure(name, startTag, endTag); - perf.clearMarks(startTag); - perf.clearMarks(endTag); - perf.clearMeasures(name); - }; - } -} - -/* not type checking this file because flow doesn't play well with Proxy */ - -var initProxy; - -{ - var allowedGlobals = makeMap( - 'Infinity,undefined,NaN,isFinite,isNaN,' + - 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + - 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' + - 'require' // for Webpack/Browserify - ); - - var warnNonPresent = function (target, key) { - warn( - "Property or method \"" + key + "\" is not defined on the instance but " + - 'referenced during render. Make sure that this property is reactive, ' + - 'either in the data option, or for class-based components, by ' + - 'initializing the property. ' + - 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', - target - ); - }; - - var hasProxy = - typeof Proxy !== 'undefined' && - Proxy.toString().match(/native code/); - - if (hasProxy) { - var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact'); - config.keyCodes = new Proxy(config.keyCodes, { - set: function set (target, key, value) { - if (isBuiltInModifier(key)) { - warn(("Avoid overwriting built-in modifier in config.keyCodes: ." + key)); - return false - } else { - target[key] = value; - return true - } - } - }); - } - - var hasHandler = { - has: function has (target, key) { - var has = key in target; - var isAllowed = allowedGlobals(key) || key.charAt(0) === '_'; - if (!has && !isAllowed) { - warnNonPresent(target, key); - } - return has || !isAllowed - } - }; + /** + * @internal + */ + var VNode = /** @class */ (function () { + function VNode(tag, data, children, text, elm, context, componentOptions, asyncFactory) { + this.tag = tag; + this.data = data; + this.children = children; + this.text = text; + this.elm = elm; + this.ns = undefined; + this.context = context; + this.fnContext = undefined; + this.fnOptions = undefined; + this.fnScopeId = undefined; + this.key = data && data.key; + this.componentOptions = componentOptions; + this.componentInstance = undefined; + this.parent = undefined; + this.raw = false; + this.isStatic = false; + this.isRootInsert = true; + this.isComment = false; + this.isCloned = false; + this.isOnce = false; + this.asyncFactory = asyncFactory; + this.asyncMeta = undefined; + this.isAsyncPlaceholder = false; + } + Object.defineProperty(VNode.prototype, "child", { + // DEPRECATED: alias for componentInstance for backwards compat. + /* istanbul ignore next */ + get: function () { + return this.componentInstance; + }, + enumerable: false, + configurable: true + }); + return VNode; + }()); + var createEmptyVNode = function (text) { + if (text === void 0) { text = ''; } + var node = new VNode(); + node.text = text; + node.isComment = true; + return node; + }; + function createTextVNode(val) { + return new VNode(undefined, undefined, undefined, String(val)); + } + // optimized shallow clone + // used for static nodes and slot nodes because they may be reused across + // multiple renders, cloning them avoids errors when DOM manipulations rely + // on their elm reference. + function cloneVNode(vnode) { + var cloned = new VNode(vnode.tag, vnode.data, + // #7975 + // clone children array to avoid mutating original in case of cloning + // a child. + vnode.children && vnode.children.slice(), vnode.text, vnode.elm, vnode.context, vnode.componentOptions, vnode.asyncFactory); + cloned.ns = vnode.ns; + cloned.isStatic = vnode.isStatic; + cloned.key = vnode.key; + cloned.isComment = vnode.isComment; + cloned.fnContext = vnode.fnContext; + cloned.fnOptions = vnode.fnOptions; + cloned.fnScopeId = vnode.fnScopeId; + cloned.asyncMeta = vnode.asyncMeta; + cloned.isCloned = true; + return cloned; + } + + /* not type checking this file because flow doesn't play well with Proxy */ + var initProxy; + { + var allowedGlobals_1 = makeMap('Infinity,undefined,NaN,isFinite,isNaN,' + + 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + + 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,' + + 'require' // for Webpack/Browserify + ); + var warnNonPresent_1 = function (target, key) { + warn$2("Property or method \"".concat(key, "\" is not defined on the instance but ") + + 'referenced during render. Make sure that this property is reactive, ' + + 'either in the data option, or for class-based components, by ' + + 'initializing the property. ' + + 'See: https://v2.vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', target); + }; + var warnReservedPrefix_1 = function (target, key) { + warn$2("Property \"".concat(key, "\" must be accessed with \"$data.").concat(key, "\" because ") + + 'properties starting with "$" or "_" are not proxied in the Vue instance to ' + + 'prevent conflicts with Vue internals. ' + + 'See: https://v2.vuejs.org/v2/api/#data', target); + }; + var hasProxy_1 = typeof Proxy !== 'undefined' && isNative(Proxy); + if (hasProxy_1) { + var isBuiltInModifier_1 = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact'); + config.keyCodes = new Proxy(config.keyCodes, { + set: function (target, key, value) { + if (isBuiltInModifier_1(key)) { + warn$2("Avoid overwriting built-in modifier in config.keyCodes: .".concat(key)); + return false; + } + else { + target[key] = value; + return true; + } + } + }); + } + var hasHandler_1 = { + has: function (target, key) { + var has = key in target; + var isAllowed = allowedGlobals_1(key) || + (typeof key === 'string' && + key.charAt(0) === '_' && + !(key in target.$data)); + if (!has && !isAllowed) { + if (key in target.$data) + warnReservedPrefix_1(target, key); + else + warnNonPresent_1(target, key); + } + return has || !isAllowed; + } + }; + var getHandler_1 = { + get: function (target, key) { + if (typeof key === 'string' && !(key in target)) { + if (key in target.$data) + warnReservedPrefix_1(target, key); + else + warnNonPresent_1(target, key); + } + return target[key]; + } + }; + initProxy = function initProxy(vm) { + if (hasProxy_1) { + // determine which proxy handler to use + var options = vm.$options; + var handlers = options.render && options.render._withStripped ? getHandler_1 : hasHandler_1; + vm._renderProxy = new Proxy(vm, handlers); + } + else { + vm._renderProxy = vm; + } + }; + } + + /****************************************************************************** + Copyright (c) Microsoft Corporation. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** */ + + var __assign = function() { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); + }; + + var uid$2 = 0; + var pendingCleanupDeps = []; + var cleanupDeps = function () { + for (var i = 0; i < pendingCleanupDeps.length; i++) { + var dep = pendingCleanupDeps[i]; + dep.subs = dep.subs.filter(function (s) { return s; }); + dep._pending = false; + } + pendingCleanupDeps.length = 0; + }; + /** + * A dep is an observable that can have multiple + * directives subscribing to it. + * @internal + */ + var Dep = /** @class */ (function () { + function Dep() { + // pending subs cleanup + this._pending = false; + this.id = uid$2++; + this.subs = []; + } + Dep.prototype.addSub = function (sub) { + this.subs.push(sub); + }; + Dep.prototype.removeSub = function (sub) { + // #12696 deps with massive amount of subscribers are extremely slow to + // clean up in Chromium + // to workaround this, we unset the sub for now, and clear them on + // next scheduler flush. + this.subs[this.subs.indexOf(sub)] = null; + if (!this._pending) { + this._pending = true; + pendingCleanupDeps.push(this); + } + }; + Dep.prototype.depend = function (info) { + if (Dep.target) { + Dep.target.addDep(this); + if (info && Dep.target.onTrack) { + Dep.target.onTrack(__assign({ effect: Dep.target }, info)); + } + } + }; + Dep.prototype.notify = function (info) { + // stabilize the subscriber list first + var subs = this.subs.filter(function (s) { return s; }); + if (!config.async) { + // subs aren't sorted in scheduler if not running async + // we need to sort them now to make sure they fire in correct + // order + subs.sort(function (a, b) { return a.id - b.id; }); + } + for (var i = 0, l = subs.length; i < l; i++) { + var sub = subs[i]; + if (info) { + sub.onTrigger && + sub.onTrigger(__assign({ effect: subs[i] }, info)); + } + sub.update(); + } + }; + return Dep; + }()); + // The current target watcher being evaluated. + // This is globally unique because only one watcher + // can be evaluated at a time. + Dep.target = null; + var targetStack = []; + function pushTarget(target) { + targetStack.push(target); + Dep.target = target; + } + function popTarget() { + targetStack.pop(); + Dep.target = targetStack[targetStack.length - 1]; + } + + /* + * not type checking this file because flow doesn't play well with + * dynamically accessing methods on Array prototype + */ + var arrayProto = Array.prototype; + var arrayMethods = Object.create(arrayProto); + var methodsToPatch = [ + 'push', + 'pop', + 'shift', + 'unshift', + 'splice', + 'sort', + 'reverse' + ]; + /** + * Intercept mutating methods and emit events + */ + methodsToPatch.forEach(function (method) { + // cache original method + var original = arrayProto[method]; + def(arrayMethods, method, function mutator() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var result = original.apply(this, args); + var ob = this.__ob__; + var inserted; + switch (method) { + case 'push': + case 'unshift': + inserted = args; + break; + case 'splice': + inserted = args.slice(2); + break; + } + if (inserted) + ob.observeArray(inserted); + // notify change + { + ob.dep.notify({ + type: "array mutation" /* TriggerOpTypes.ARRAY_MUTATION */, + target: this, + key: method + }); + } + return result; + }); + }); + + var arrayKeys = Object.getOwnPropertyNames(arrayMethods); + var NO_INIITIAL_VALUE = {}; + /** + * In some cases we may want to disable observation inside a component's + * update computation. + */ + var shouldObserve = true; + function toggleObserving(value) { + shouldObserve = value; + } + // ssr mock dep + var mockDep = { + notify: noop, + depend: noop, + addSub: noop, + removeSub: noop + }; + /** + * Observer class that is attached to each observed + * object. Once attached, the observer converts the target + * object's property keys into getter/setters that + * collect dependencies and dispatch updates. + */ + var Observer = /** @class */ (function () { + function Observer(value, shallow, mock) { + if (shallow === void 0) { shallow = false; } + if (mock === void 0) { mock = false; } + this.value = value; + this.shallow = shallow; + this.mock = mock; + // this.value = value + this.dep = mock ? mockDep : new Dep(); + this.vmCount = 0; + def(value, '__ob__', this); + if (isArray(value)) { + if (!mock) { + if (hasProto) { + value.__proto__ = arrayMethods; + /* eslint-enable no-proto */ + } + else { + for (var i = 0, l = arrayKeys.length; i < l; i++) { + var key = arrayKeys[i]; + def(value, key, arrayMethods[key]); + } + } + } + if (!shallow) { + this.observeArray(value); + } + } + else { + /** + * Walk through all properties and convert them into + * getter/setters. This method should only be called when + * value type is Object. + */ + var keys = Object.keys(value); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + defineReactive(value, key, NO_INIITIAL_VALUE, undefined, shallow, mock); + } + } + } + /** + * Observe a list of Array items. + */ + Observer.prototype.observeArray = function (value) { + for (var i = 0, l = value.length; i < l; i++) { + observe(value[i], false, this.mock); + } + }; + return Observer; + }()); + // helpers + /** + * Attempt to create an observer instance for a value, + * returns the new observer if successfully observed, + * or the existing observer if the value already has one. + */ + function observe(value, shallow, ssrMockReactivity) { + if (value && hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) { + return value.__ob__; + } + if (shouldObserve && + (ssrMockReactivity || !isServerRendering()) && + (isArray(value) || isPlainObject(value)) && + Object.isExtensible(value) && + !value.__v_skip /* ReactiveFlags.SKIP */ && + !isRef(value) && + !(value instanceof VNode)) { + return new Observer(value, shallow, ssrMockReactivity); + } + } + /** + * Define a reactive property on an Object. + */ + function defineReactive(obj, key, val, customSetter, shallow, mock) { + var dep = new Dep(); + var property = Object.getOwnPropertyDescriptor(obj, key); + if (property && property.configurable === false) { + return; + } + // cater for pre-defined getter/setters + var getter = property && property.get; + var setter = property && property.set; + if ((!getter || setter) && + (val === NO_INIITIAL_VALUE || arguments.length === 2)) { + val = obj[key]; + } + var childOb = !shallow && observe(val, false, mock); + Object.defineProperty(obj, key, { + enumerable: true, + configurable: true, + get: function reactiveGetter() { + var value = getter ? getter.call(obj) : val; + if (Dep.target) { + { + dep.depend({ + target: obj, + type: "get" /* TrackOpTypes.GET */, + key: key + }); + } + if (childOb) { + childOb.dep.depend(); + if (isArray(value)) { + dependArray(value); + } + } + } + return isRef(value) && !shallow ? value.value : value; + }, + set: function reactiveSetter(newVal) { + var value = getter ? getter.call(obj) : val; + if (!hasChanged(value, newVal)) { + return; + } + if (customSetter) { + customSetter(); + } + if (setter) { + setter.call(obj, newVal); + } + else if (getter) { + // #7981: for accessor properties without setter + return; + } + else if (!shallow && isRef(value) && !isRef(newVal)) { + value.value = newVal; + return; + } + else { + val = newVal; + } + childOb = !shallow && observe(newVal, false, mock); + { + dep.notify({ + type: "set" /* TriggerOpTypes.SET */, + target: obj, + key: key, + newValue: newVal, + oldValue: value + }); + } + } + }); + return dep; + } + function set(target, key, val) { + if ((isUndef(target) || isPrimitive(target))) { + warn$2("Cannot set reactive property on undefined, null, or primitive value: ".concat(target)); + } + if (isReadonly(target)) { + warn$2("Set operation on key \"".concat(key, "\" failed: target is readonly.")); + return; + } + var ob = target.__ob__; + if (isArray(target) && isValidArrayIndex(key)) { + target.length = Math.max(target.length, key); + target.splice(key, 1, val); + // when mocking for SSR, array methods are not hijacked + if (ob && !ob.shallow && ob.mock) { + observe(val, false, true); + } + return val; + } + if (key in target && !(key in Object.prototype)) { + target[key] = val; + return val; + } + if (target._isVue || (ob && ob.vmCount)) { + warn$2('Avoid adding reactive properties to a Vue instance or its root $data ' + + 'at runtime - declare it upfront in the data option.'); + return val; + } + if (!ob) { + target[key] = val; + return val; + } + defineReactive(ob.value, key, val, undefined, ob.shallow, ob.mock); + { + ob.dep.notify({ + type: "add" /* TriggerOpTypes.ADD */, + target: target, + key: key, + newValue: val, + oldValue: undefined + }); + } + return val; + } + function del(target, key) { + if ((isUndef(target) || isPrimitive(target))) { + warn$2("Cannot delete reactive property on undefined, null, or primitive value: ".concat(target)); + } + if (isArray(target) && isValidArrayIndex(key)) { + target.splice(key, 1); + return; + } + var ob = target.__ob__; + if (target._isVue || (ob && ob.vmCount)) { + warn$2('Avoid deleting properties on a Vue instance or its root $data ' + + '- just set it to null.'); + return; + } + if (isReadonly(target)) { + warn$2("Delete operation on key \"".concat(key, "\" failed: target is readonly.")); + return; + } + if (!hasOwn(target, key)) { + return; + } + delete target[key]; + if (!ob) { + return; + } + { + ob.dep.notify({ + type: "delete" /* TriggerOpTypes.DELETE */, + target: target, + key: key + }); + } + } + /** + * Collect dependencies on array elements when the array is touched, since + * we cannot intercept array element access like property getters. + */ + function dependArray(value) { + for (var e = void 0, i = 0, l = value.length; i < l; i++) { + e = value[i]; + if (e && e.__ob__) { + e.__ob__.dep.depend(); + } + if (isArray(e)) { + dependArray(e); + } + } + } + + function reactive(target) { + makeReactive(target, false); + return target; + } + /** + * Return a shallowly-reactive copy of the original object, where only the root + * level properties are reactive. It also does not auto-unwrap refs (even at the + * root level). + */ + function shallowReactive(target) { + makeReactive(target, true); + def(target, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true); + return target; + } + function makeReactive(target, shallow) { + // if trying to observe a readonly proxy, return the readonly version. + if (!isReadonly(target)) { + { + if (isArray(target)) { + warn$2("Avoid using Array as root value for ".concat(shallow ? "shallowReactive()" : "reactive()", " as it cannot be tracked in watch() or watchEffect(). Use ").concat(shallow ? "shallowRef()" : "ref()", " instead. This is a Vue-2-only limitation.")); + } + var existingOb = target && target.__ob__; + if (existingOb && existingOb.shallow !== shallow) { + warn$2("Target is already a ".concat(existingOb.shallow ? "" : "non-", "shallow reactive object, and cannot be converted to ").concat(shallow ? "" : "non-", "shallow.")); + } + } + var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */); + if (!ob) { + if (target == null || isPrimitive(target)) { + warn$2("value cannot be made reactive: ".concat(String(target))); + } + if (isCollectionType(target)) { + warn$2("Vue 2 does not support reactive collection types such as Map or Set."); + } + } + } + } + function isReactive(value) { + if (isReadonly(value)) { + return isReactive(value["__v_raw" /* ReactiveFlags.RAW */]); + } + return !!(value && value.__ob__); + } + function isShallow(value) { + return !!(value && value.__v_isShallow); + } + function isReadonly(value) { + return !!(value && value.__v_isReadonly); + } + function isProxy(value) { + return isReactive(value) || isReadonly(value); + } + function toRaw(observed) { + var raw = observed && observed["__v_raw" /* ReactiveFlags.RAW */]; + return raw ? toRaw(raw) : observed; + } + function markRaw(value) { + // non-extensible objects won't be observed anyway + if (Object.isExtensible(value)) { + def(value, "__v_skip" /* ReactiveFlags.SKIP */, true); + } + return value; + } + /** + * @internal + */ + function isCollectionType(value) { + var type = toRawType(value); + return (type === 'Map' || type === 'WeakMap' || type === 'Set' || type === 'WeakSet'); + } + + /** + * @internal + */ + var RefFlag = "__v_isRef"; + function isRef(r) { + return !!(r && r.__v_isRef === true); + } + function ref$1(value) { + return createRef(value, false); + } + function shallowRef(value) { + return createRef(value, true); + } + function createRef(rawValue, shallow) { + if (isRef(rawValue)) { + return rawValue; + } + var ref = {}; + def(ref, RefFlag, true); + def(ref, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, shallow); + def(ref, 'dep', defineReactive(ref, 'value', rawValue, null, shallow, isServerRendering())); + return ref; + } + function triggerRef(ref) { + if (!ref.dep) { + warn$2("received object is not a triggerable ref."); + } + { + ref.dep && + ref.dep.notify({ + type: "set" /* TriggerOpTypes.SET */, + target: ref, + key: 'value' + }); + } + } + function unref(ref) { + return isRef(ref) ? ref.value : ref; + } + function proxyRefs(objectWithRefs) { + if (isReactive(objectWithRefs)) { + return objectWithRefs; + } + var proxy = {}; + var keys = Object.keys(objectWithRefs); + for (var i = 0; i < keys.length; i++) { + proxyWithRefUnwrap(proxy, objectWithRefs, keys[i]); + } + return proxy; + } + function proxyWithRefUnwrap(target, source, key) { + Object.defineProperty(target, key, { + enumerable: true, + configurable: true, + get: function () { + var val = source[key]; + if (isRef(val)) { + return val.value; + } + else { + var ob = val && val.__ob__; + if (ob) + ob.dep.depend(); + return val; + } + }, + set: function (value) { + var oldValue = source[key]; + if (isRef(oldValue) && !isRef(value)) { + oldValue.value = value; + } + else { + source[key] = value; + } + } + }); + } + function customRef(factory) { + var dep = new Dep(); + var _a = factory(function () { + { + dep.depend({ + target: ref, + type: "get" /* TrackOpTypes.GET */, + key: 'value' + }); + } + }, function () { + { + dep.notify({ + target: ref, + type: "set" /* TriggerOpTypes.SET */, + key: 'value' + }); + } + }), get = _a.get, set = _a.set; + var ref = { + get value() { + return get(); + }, + set value(newVal) { + set(newVal); + } + }; + def(ref, RefFlag, true); + return ref; + } + function toRefs(object) { + if (!isReactive(object)) { + warn$2("toRefs() expects a reactive object but received a plain one."); + } + var ret = isArray(object) ? new Array(object.length) : {}; + for (var key in object) { + ret[key] = toRef(object, key); + } + return ret; + } + function toRef(object, key, defaultValue) { + var val = object[key]; + if (isRef(val)) { + return val; + } + var ref = { + get value() { + var val = object[key]; + return val === undefined ? defaultValue : val; + }, + set value(newVal) { + object[key] = newVal; + } + }; + def(ref, RefFlag, true); + return ref; + } + + var rawToReadonlyFlag = "__v_rawToReadonly"; + var rawToShallowReadonlyFlag = "__v_rawToShallowReadonly"; + function readonly(target) { + return createReadonly(target, false); + } + function createReadonly(target, shallow) { + if (!isPlainObject(target)) { + { + if (isArray(target)) { + warn$2("Vue 2 does not support readonly arrays."); + } + else if (isCollectionType(target)) { + warn$2("Vue 2 does not support readonly collection types such as Map or Set."); + } + else { + warn$2("value cannot be made readonly: ".concat(typeof target)); + } + } + return target; + } + if (!Object.isExtensible(target)) { + warn$2("Vue 2 does not support creating readonly proxy for non-extensible object."); + } + // already a readonly object + if (isReadonly(target)) { + return target; + } + // already has a readonly proxy + var existingFlag = shallow ? rawToShallowReadonlyFlag : rawToReadonlyFlag; + var existingProxy = target[existingFlag]; + if (existingProxy) { + return existingProxy; + } + var proxy = Object.create(Object.getPrototypeOf(target)); + def(target, existingFlag, proxy); + def(proxy, "__v_isReadonly" /* ReactiveFlags.IS_READONLY */, true); + def(proxy, "__v_raw" /* ReactiveFlags.RAW */, target); + if (isRef(target)) { + def(proxy, RefFlag, true); + } + if (shallow || isShallow(target)) { + def(proxy, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true); + } + var keys = Object.keys(target); + for (var i = 0; i < keys.length; i++) { + defineReadonlyProperty(proxy, target, keys[i], shallow); + } + return proxy; + } + function defineReadonlyProperty(proxy, target, key, shallow) { + Object.defineProperty(proxy, key, { + enumerable: true, + configurable: true, + get: function () { + var val = target[key]; + return shallow || !isPlainObject(val) ? val : readonly(val); + }, + set: function () { + warn$2("Set operation on key \"".concat(key, "\" failed: target is readonly.")); + } + }); + } + /** + * Returns a reactive-copy of the original object, where only the root level + * properties are readonly, and does NOT unwrap refs nor recursively convert + * returned properties. + * This is used for creating the props proxy object for stateful components. + */ + function shallowReadonly(target) { + return createReadonly(target, true); + } + + function computed(getterOrOptions, debugOptions) { + var getter; + var setter; + var onlyGetter = isFunction(getterOrOptions); + if (onlyGetter) { + getter = getterOrOptions; + setter = function () { + warn$2('Write operation failed: computed value is readonly'); + } + ; + } + else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + var watcher = isServerRendering() + ? null + : new Watcher(currentInstance, getter, noop, { lazy: true }); + if (watcher && debugOptions) { + watcher.onTrack = debugOptions.onTrack; + watcher.onTrigger = debugOptions.onTrigger; + } + var ref = { + // some libs rely on the presence effect for checking computed refs + // from normal refs, but the implementation doesn't matter + effect: watcher, + get value() { + if (watcher) { + if (watcher.dirty) { + watcher.evaluate(); + } + if (Dep.target) { + if (Dep.target.onTrack) { + Dep.target.onTrack({ + effect: Dep.target, + target: ref, + type: "get" /* TrackOpTypes.GET */, + key: 'value' + }); + } + watcher.depend(); + } + return watcher.value; + } + else { + return getter(); + } + }, + set value(newVal) { + setter(newVal); + } + }; + def(ref, RefFlag, true); + def(ref, "__v_isReadonly" /* ReactiveFlags.IS_READONLY */, onlyGetter); + return ref; + } + + var mark; + var measure; + { + var perf_1 = inBrowser && window.performance; + /* istanbul ignore if */ + if (perf_1 && + // @ts-ignore + perf_1.mark && + // @ts-ignore + perf_1.measure && + // @ts-ignore + perf_1.clearMarks && + // @ts-ignore + perf_1.clearMeasures) { + mark = function (tag) { return perf_1.mark(tag); }; + measure = function (name, startTag, endTag) { + perf_1.measure(name, startTag, endTag); + perf_1.clearMarks(startTag); + perf_1.clearMarks(endTag); + // perf.clearMeasures(name) + }; + } + } + + var normalizeEvent = cached(function (name) { + var passive = name.charAt(0) === '&'; + name = passive ? name.slice(1) : name; + var once = name.charAt(0) === '~'; // Prefixed last, checked first + name = once ? name.slice(1) : name; + var capture = name.charAt(0) === '!'; + name = capture ? name.slice(1) : name; + return { + name: name, + once: once, + capture: capture, + passive: passive + }; + }); + function createFnInvoker(fns, vm) { + function invoker() { + var fns = invoker.fns; + if (isArray(fns)) { + var cloned = fns.slice(); + for (var i = 0; i < cloned.length; i++) { + invokeWithErrorHandling(cloned[i], null, arguments, vm, "v-on handler"); + } + } + else { + // return handler return value for single handlers + return invokeWithErrorHandling(fns, null, arguments, vm, "v-on handler"); + } + } + invoker.fns = fns; + return invoker; + } + function updateListeners(on, oldOn, add, remove, createOnceHandler, vm) { + var name, cur, old, event; + for (name in on) { + cur = on[name]; + old = oldOn[name]; + event = normalizeEvent(name); + if (isUndef(cur)) { + warn$2("Invalid handler for event \"".concat(event.name, "\": got ") + String(cur), vm); + } + else if (isUndef(old)) { + if (isUndef(cur.fns)) { + cur = on[name] = createFnInvoker(cur, vm); + } + if (isTrue(event.once)) { + cur = on[name] = createOnceHandler(event.name, cur, event.capture); + } + add(event.name, cur, event.capture, event.passive, event.params); + } + else if (cur !== old) { + old.fns = cur; + on[name] = old; + } + } + for (name in oldOn) { + if (isUndef(on[name])) { + event = normalizeEvent(name); + remove(event.name, oldOn[name], event.capture); + } + } + } + + function mergeVNodeHook(def, hookKey, hook) { + if (def instanceof VNode) { + def = def.data.hook || (def.data.hook = {}); + } + var invoker; + var oldHook = def[hookKey]; + function wrappedHook() { + hook.apply(this, arguments); + // important: remove merged hook to ensure it's called only once + // and prevent memory leak + remove$2(invoker.fns, wrappedHook); + } + if (isUndef(oldHook)) { + // no existing hook + invoker = createFnInvoker([wrappedHook]); + } + else { + /* istanbul ignore if */ + if (isDef(oldHook.fns) && isTrue(oldHook.merged)) { + // already a merged invoker + invoker = oldHook; + invoker.fns.push(wrappedHook); + } + else { + // existing plain hook + invoker = createFnInvoker([oldHook, wrappedHook]); + } + } + invoker.merged = true; + def[hookKey] = invoker; + } + + function extractPropsFromVNodeData(data, Ctor, tag) { + // we are only extracting raw values here. + // validation and default values are handled in the child + // component itself. + var propOptions = Ctor.options.props; + if (isUndef(propOptions)) { + return; + } + var res = {}; + var attrs = data.attrs, props = data.props; + if (isDef(attrs) || isDef(props)) { + for (var key in propOptions) { + var altKey = hyphenate(key); + { + var keyInLowerCase = key.toLowerCase(); + if (key !== keyInLowerCase && attrs && hasOwn(attrs, keyInLowerCase)) { + tip("Prop \"".concat(keyInLowerCase, "\" is passed to component ") + + "".concat(formatComponentName( + // @ts-expect-error tag is string + tag || Ctor), ", but the declared prop name is") + + " \"".concat(key, "\". ") + + "Note that HTML attributes are case-insensitive and camelCased " + + "props need to use their kebab-case equivalents when using in-DOM " + + "templates. You should probably use \"".concat(altKey, "\" instead of \"").concat(key, "\".")); + } + } + checkProp(res, props, key, altKey, true) || + checkProp(res, attrs, key, altKey, false); + } + } + return res; + } + function checkProp(res, hash, key, altKey, preserve) { + if (isDef(hash)) { + if (hasOwn(hash, key)) { + res[key] = hash[key]; + if (!preserve) { + delete hash[key]; + } + return true; + } + else if (hasOwn(hash, altKey)) { + res[key] = hash[altKey]; + if (!preserve) { + delete hash[altKey]; + } + return true; + } + } + return false; + } + + // The template compiler attempts to minimize the need for normalization by + // statically analyzing the template at compile time. + // + // For plain HTML markup, normalization can be completely skipped because the + // generated render function is guaranteed to return Array<VNode>. There are + // two cases where extra normalization is needed: + // 1. When the children contains components - because a functional component + // may return an Array instead of a single root. In this case, just a simple + // normalization is needed - if any child is an Array, we flatten the whole + // thing with Array.prototype.concat. It is guaranteed to be only 1-level deep + // because functional components already normalize their own children. + function simpleNormalizeChildren(children) { + for (var i = 0; i < children.length; i++) { + if (isArray(children[i])) { + return Array.prototype.concat.apply([], children); + } + } + return children; + } + // 2. When the children contains constructs that always generated nested Arrays, + // e.g. <template>, <slot>, v-for, or when the children is provided by user + // with hand-written render functions / JSX. In such cases a full normalization + // is needed to cater to all possible types of children values. + function normalizeChildren(children) { + return isPrimitive(children) + ? [createTextVNode(children)] + : isArray(children) + ? normalizeArrayChildren(children) + : undefined; + } + function isTextNode(node) { + return isDef(node) && isDef(node.text) && isFalse(node.isComment); + } + function normalizeArrayChildren(children, nestedIndex) { + var res = []; + var i, c, lastIndex, last; + for (i = 0; i < children.length; i++) { + c = children[i]; + if (isUndef(c) || typeof c === 'boolean') + continue; + lastIndex = res.length - 1; + last = res[lastIndex]; + // nested + if (isArray(c)) { + if (c.length > 0) { + c = normalizeArrayChildren(c, "".concat(nestedIndex || '', "_").concat(i)); + // merge adjacent text nodes + if (isTextNode(c[0]) && isTextNode(last)) { + res[lastIndex] = createTextVNode(last.text + c[0].text); + c.shift(); + } + res.push.apply(res, c); + } + } + else if (isPrimitive(c)) { + if (isTextNode(last)) { + // merge adjacent text nodes + // this is necessary for SSR hydration because text nodes are + // essentially merged when rendered to HTML strings + res[lastIndex] = createTextVNode(last.text + c); + } + else if (c !== '') { + // convert primitive to vnode + res.push(createTextVNode(c)); + } + } + else { + if (isTextNode(c) && isTextNode(last)) { + // merge adjacent text nodes + res[lastIndex] = createTextVNode(last.text + c.text); + } + else { + // default key for nested array children (likely generated by v-for) + if (isTrue(children._isVList) && + isDef(c.tag) && + isUndef(c.key) && + isDef(nestedIndex)) { + c.key = "__vlist".concat(nestedIndex, "_").concat(i, "__"); + } + res.push(c); + } + } + } + return res; + } + + var SIMPLE_NORMALIZE = 1; + var ALWAYS_NORMALIZE = 2; + // wrapper function for providing a more flexible interface + // without getting yelled at by flow + function createElement$1(context, tag, data, children, normalizationType, alwaysNormalize) { + if (isArray(data) || isPrimitive(data)) { + normalizationType = children; + children = data; + data = undefined; + } + if (isTrue(alwaysNormalize)) { + normalizationType = ALWAYS_NORMALIZE; + } + return _createElement(context, tag, data, children, normalizationType); + } + function _createElement(context, tag, data, children, normalizationType) { + if (isDef(data) && isDef(data.__ob__)) { + warn$2("Avoid using observed data object as vnode data: ".concat(JSON.stringify(data), "\n") + 'Always create fresh vnode data objects in each render!', context); + return createEmptyVNode(); + } + // object syntax in v-bind + if (isDef(data) && isDef(data.is)) { + tag = data.is; + } + if (!tag) { + // in case of component :is set to falsy value + return createEmptyVNode(); + } + // warn against non-primitive key + if (isDef(data) && isDef(data.key) && !isPrimitive(data.key)) { + warn$2('Avoid using non-primitive value as key, ' + + 'use string/number value instead.', context); + } + // support single function children as default scoped slot + if (isArray(children) && isFunction(children[0])) { + data = data || {}; + data.scopedSlots = { default: children[0] }; + children.length = 0; + } + if (normalizationType === ALWAYS_NORMALIZE) { + children = normalizeChildren(children); + } + else if (normalizationType === SIMPLE_NORMALIZE) { + children = simpleNormalizeChildren(children); + } + var vnode, ns; + if (typeof tag === 'string') { + var Ctor = void 0; + ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag); + if (config.isReservedTag(tag)) { + // platform built-in elements + if (isDef(data) && + isDef(data.nativeOn) && + data.tag !== 'component') { + warn$2("The .native modifier for v-on is only valid on components but it was used on <".concat(tag, ">."), context); + } + vnode = new VNode(config.parsePlatformTagName(tag), data, children, undefined, undefined, context); + } + else if ((!data || !data.pre) && + isDef((Ctor = resolveAsset(context.$options, 'components', tag)))) { + // component + vnode = createComponent(Ctor, data, context, children, tag); + } + else { + // unknown or unlisted namespaced elements + // check at runtime because it may get assigned a namespace when its + // parent normalizes children + vnode = new VNode(tag, data, children, undefined, undefined, context); + } + } + else { + // direct component options / constructor + vnode = createComponent(tag, data, context, children); + } + if (isArray(vnode)) { + return vnode; + } + else if (isDef(vnode)) { + if (isDef(ns)) + applyNS(vnode, ns); + if (isDef(data)) + registerDeepBindings(data); + return vnode; + } + else { + return createEmptyVNode(); + } + } + function applyNS(vnode, ns, force) { + vnode.ns = ns; + if (vnode.tag === 'foreignObject') { + // use default namespace inside foreignObject + ns = undefined; + force = true; + } + if (isDef(vnode.children)) { + for (var i = 0, l = vnode.children.length; i < l; i++) { + var child = vnode.children[i]; + if (isDef(child.tag) && + (isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) { + applyNS(child, ns, force); + } + } + } + } + // ref #5318 + // necessary to ensure parent re-render when deep bindings like :style and + // :class are used on slot nodes + function registerDeepBindings(data) { + if (isObject(data.style)) { + traverse(data.style); + } + if (isObject(data.class)) { + traverse(data.class); + } + } + + /** + * Runtime helper for rendering v-for lists. + */ + function renderList(val, render) { + var ret = null, i, l, keys, key; + if (isArray(val) || typeof val === 'string') { + ret = new Array(val.length); + for (i = 0, l = val.length; i < l; i++) { + ret[i] = render(val[i], i); + } + } + else if (typeof val === 'number') { + ret = new Array(val); + for (i = 0; i < val; i++) { + ret[i] = render(i + 1, i); + } + } + else if (isObject(val)) { + if (hasSymbol && val[Symbol.iterator]) { + ret = []; + var iterator = val[Symbol.iterator](); + var result = iterator.next(); + while (!result.done) { + ret.push(render(result.value, ret.length)); + result = iterator.next(); + } + } + else { + keys = Object.keys(val); + ret = new Array(keys.length); + for (i = 0, l = keys.length; i < l; i++) { + key = keys[i]; + ret[i] = render(val[key], key, i); + } + } + } + if (!isDef(ret)) { + ret = []; + } + ret._isVList = true; + return ret; + } + + /** + * Runtime helper for rendering <slot> + */ + function renderSlot(name, fallbackRender, props, bindObject) { + var scopedSlotFn = this.$scopedSlots[name]; + var nodes; + if (scopedSlotFn) { + // scoped slot + props = props || {}; + if (bindObject) { + if (!isObject(bindObject)) { + warn$2('slot v-bind without argument expects an Object', this); + } + props = extend(extend({}, bindObject), props); + } + nodes = + scopedSlotFn(props) || + (isFunction(fallbackRender) ? fallbackRender() : fallbackRender); + } + else { + nodes = + this.$slots[name] || + (isFunction(fallbackRender) ? fallbackRender() : fallbackRender); + } + var target = props && props.slot; + if (target) { + return this.$createElement('template', { slot: target }, nodes); + } + else { + return nodes; + } + } + + /** + * Runtime helper for resolving filters + */ + function resolveFilter(id) { + return resolveAsset(this.$options, 'filters', id, true) || identity; + } + + function isKeyNotMatch(expect, actual) { + if (isArray(expect)) { + return expect.indexOf(actual) === -1; + } + else { + return expect !== actual; + } + } + /** + * Runtime helper for checking keyCodes from config. + * exposed as Vue.prototype._k + * passing in eventKeyName as last argument separately for backwards compat + */ + function checkKeyCodes(eventKeyCode, key, builtInKeyCode, eventKeyName, builtInKeyName) { + var mappedKeyCode = config.keyCodes[key] || builtInKeyCode; + if (builtInKeyName && eventKeyName && !config.keyCodes[key]) { + return isKeyNotMatch(builtInKeyName, eventKeyName); + } + else if (mappedKeyCode) { + return isKeyNotMatch(mappedKeyCode, eventKeyCode); + } + else if (eventKeyName) { + return hyphenate(eventKeyName) !== key; + } + return eventKeyCode === undefined; + } + + /** + * Runtime helper for merging v-bind="object" into a VNode's data. + */ + function bindObjectProps(data, tag, value, asProp, isSync) { + if (value) { + if (!isObject(value)) { + warn$2('v-bind without argument expects an Object or Array value', this); + } + else { + if (isArray(value)) { + value = toObject(value); + } + var hash = void 0; + var _loop_1 = function (key) { + if (key === 'class' || key === 'style' || isReservedAttribute(key)) { + hash = data; + } + else { + var type = data.attrs && data.attrs.type; + hash = + asProp || config.mustUseProp(tag, type, key) + ? data.domProps || (data.domProps = {}) + : data.attrs || (data.attrs = {}); + } + var camelizedKey = camelize(key); + var hyphenatedKey = hyphenate(key); + if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) { + hash[key] = value[key]; + if (isSync) { + var on = data.on || (data.on = {}); + on["update:".concat(key)] = function ($event) { + value[key] = $event; + }; + } + } + }; + for (var key in value) { + _loop_1(key); + } + } + } + return data; + } + + /** + * Runtime helper for rendering static trees. + */ + function renderStatic(index, isInFor) { + var cached = this._staticTrees || (this._staticTrees = []); + var tree = cached[index]; + // if has already-rendered static tree and not inside v-for, + // we can reuse the same tree. + if (tree && !isInFor) { + return tree; + } + // otherwise, render a fresh tree. + tree = cached[index] = this.$options.staticRenderFns[index].call(this._renderProxy, this._c, this // for render fns generated for functional component templates + ); + markStatic$1(tree, "__static__".concat(index), false); + return tree; + } + /** + * Runtime helper for v-once. + * Effectively it means marking the node as static with a unique key. + */ + function markOnce(tree, index, key) { + markStatic$1(tree, "__once__".concat(index).concat(key ? "_".concat(key) : ""), true); + return tree; + } + function markStatic$1(tree, key, isOnce) { + if (isArray(tree)) { + for (var i = 0; i < tree.length; i++) { + if (tree[i] && typeof tree[i] !== 'string') { + markStaticNode(tree[i], "".concat(key, "_").concat(i), isOnce); + } + } + } + else { + markStaticNode(tree, key, isOnce); + } + } + function markStaticNode(node, key, isOnce) { + node.isStatic = true; + node.key = key; + node.isOnce = isOnce; + } + + function bindObjectListeners(data, value) { + if (value) { + if (!isPlainObject(value)) { + warn$2('v-on without argument expects an Object value', this); + } + else { + var on = (data.on = data.on ? extend({}, data.on) : {}); + for (var key in value) { + var existing = on[key]; + var ours = value[key]; + on[key] = existing ? [].concat(existing, ours) : ours; + } + } + } + return data; + } + + function resolveScopedSlots(fns, res, + // the following are added in 2.6 + hasDynamicKeys, contentHashKey) { + res = res || { $stable: !hasDynamicKeys }; + for (var i = 0; i < fns.length; i++) { + var slot = fns[i]; + if (isArray(slot)) { + resolveScopedSlots(slot, res, hasDynamicKeys); + } + else if (slot) { + // marker for reverse proxying v-slot without scope on this.$slots + // @ts-expect-error + if (slot.proxy) { + // @ts-expect-error + slot.fn.proxy = true; + } + res[slot.key] = slot.fn; + } + } + if (contentHashKey) { + res.$key = contentHashKey; + } + return res; + } + + // helper to process dynamic keys for dynamic arguments in v-bind and v-on. + function bindDynamicKeys(baseObj, values) { + for (var i = 0; i < values.length; i += 2) { + var key = values[i]; + if (typeof key === 'string' && key) { + baseObj[values[i]] = values[i + 1]; + } + else if (key !== '' && key !== null) { + // null is a special value for explicitly removing a binding + warn$2("Invalid value for dynamic directive argument (expected string or null): ".concat(key), this); + } + } + return baseObj; + } + // helper to dynamically append modifier runtime markers to event names. + // ensure only append when value is already string, otherwise it will be cast + // to string and cause the type check to miss. + function prependModifier(value, symbol) { + return typeof value === 'string' ? symbol + value : value; + } + + function installRenderHelpers(target) { + target._o = markOnce; + target._n = toNumber; + target._s = toString; + target._l = renderList; + target._t = renderSlot; + target._q = looseEqual; + target._i = looseIndexOf; + target._m = renderStatic; + target._f = resolveFilter; + target._k = checkKeyCodes; + target._b = bindObjectProps; + target._v = createTextVNode; + target._e = createEmptyVNode; + target._u = resolveScopedSlots; + target._g = bindObjectListeners; + target._d = bindDynamicKeys; + target._p = prependModifier; + } + + /** + * Runtime helper for resolving raw children VNodes into a slot object. + */ + function resolveSlots(children, context) { + if (!children || !children.length) { + return {}; + } + var slots = {}; + for (var i = 0, l = children.length; i < l; i++) { + var child = children[i]; + var data = child.data; + // remove slot attribute if the node is resolved as a Vue slot node + if (data && data.attrs && data.attrs.slot) { + delete data.attrs.slot; + } + // named slots should only be respected if the vnode was rendered in the + // same context. + if ((child.context === context || child.fnContext === context) && + data && + data.slot != null) { + var name_1 = data.slot; + var slot = slots[name_1] || (slots[name_1] = []); + if (child.tag === 'template') { + slot.push.apply(slot, child.children || []); + } + else { + slot.push(child); + } + } + else { + (slots.default || (slots.default = [])).push(child); + } + } + // ignore slots that contains only whitespace + for (var name_2 in slots) { + if (slots[name_2].every(isWhitespace)) { + delete slots[name_2]; + } + } + return slots; + } + function isWhitespace(node) { + return (node.isComment && !node.asyncFactory) || node.text === ' '; + } + + function isAsyncPlaceholder(node) { + // @ts-expect-error not really boolean type + return node.isComment && node.asyncFactory; + } + + function normalizeScopedSlots(ownerVm, scopedSlots, normalSlots, prevScopedSlots) { + var res; + var hasNormalSlots = Object.keys(normalSlots).length > 0; + var isStable = scopedSlots ? !!scopedSlots.$stable : !hasNormalSlots; + var key = scopedSlots && scopedSlots.$key; + if (!scopedSlots) { + res = {}; + } + else if (scopedSlots._normalized) { + // fast path 1: child component re-render only, parent did not change + return scopedSlots._normalized; + } + else if (isStable && + prevScopedSlots && + prevScopedSlots !== emptyObject && + key === prevScopedSlots.$key && + !hasNormalSlots && + !prevScopedSlots.$hasNormal) { + // fast path 2: stable scoped slots w/ no normal slots to proxy, + // only need to normalize once + return prevScopedSlots; + } + else { + res = {}; + for (var key_1 in scopedSlots) { + if (scopedSlots[key_1] && key_1[0] !== '$') { + res[key_1] = normalizeScopedSlot(ownerVm, normalSlots, key_1, scopedSlots[key_1]); + } + } + } + // expose normal slots on scopedSlots + for (var key_2 in normalSlots) { + if (!(key_2 in res)) { + res[key_2] = proxyNormalSlot(normalSlots, key_2); + } + } + // avoriaz seems to mock a non-extensible $scopedSlots object + // and when that is passed down this would cause an error + if (scopedSlots && Object.isExtensible(scopedSlots)) { + scopedSlots._normalized = res; + } + def(res, '$stable', isStable); + def(res, '$key', key); + def(res, '$hasNormal', hasNormalSlots); + return res; + } + function normalizeScopedSlot(vm, normalSlots, key, fn) { + var normalized = function () { + var cur = currentInstance; + setCurrentInstance(vm); + var res = arguments.length ? fn.apply(null, arguments) : fn({}); + res = + res && typeof res === 'object' && !isArray(res) + ? [res] // single vnode + : normalizeChildren(res); + var vnode = res && res[0]; + setCurrentInstance(cur); + return res && + (!vnode || + (res.length === 1 && vnode.isComment && !isAsyncPlaceholder(vnode))) // #9658, #10391 + ? undefined + : res; + }; + // this is a slot using the new v-slot syntax without scope. although it is + // compiled as a scoped slot, render fn users would expect it to be present + // on this.$slots because the usage is semantically a normal slot. + if (fn.proxy) { + Object.defineProperty(normalSlots, key, { + get: normalized, + enumerable: true, + configurable: true + }); + } + return normalized; + } + function proxyNormalSlot(slots, key) { + return function () { return slots[key]; }; + } + + function initSetup(vm) { + var options = vm.$options; + var setup = options.setup; + if (setup) { + var ctx = (vm._setupContext = createSetupContext(vm)); + setCurrentInstance(vm); + pushTarget(); + var setupResult = invokeWithErrorHandling(setup, null, [vm._props || shallowReactive({}), ctx], vm, "setup"); + popTarget(); + setCurrentInstance(); + if (isFunction(setupResult)) { + // render function + // @ts-ignore + options.render = setupResult; + } + else if (isObject(setupResult)) { + // bindings + if (setupResult instanceof VNode) { + warn$2("setup() should not return VNodes directly - " + + "return a render function instead."); + } + vm._setupState = setupResult; + // __sfc indicates compiled bindings from <script setup> + if (!setupResult.__sfc) { + for (var key in setupResult) { + if (!isReserved(key)) { + proxyWithRefUnwrap(vm, setupResult, key); + } + else { + warn$2("Avoid using variables that start with _ or $ in setup()."); + } + } + } + else { + // exposed for compiled render fn + var proxy = (vm._setupProxy = {}); + for (var key in setupResult) { + if (key !== '__sfc') { + proxyWithRefUnwrap(proxy, setupResult, key); + } + } + } + } + else if (setupResult !== undefined) { + warn$2("setup() should return an object. Received: ".concat(setupResult === null ? 'null' : typeof setupResult)); + } + } + } + function createSetupContext(vm) { + var exposeCalled = false; + return { + get attrs() { + if (!vm._attrsProxy) { + var proxy = (vm._attrsProxy = {}); + def(proxy, '_v_attr_proxy', true); + syncSetupProxy(proxy, vm.$attrs, emptyObject, vm, '$attrs'); + } + return vm._attrsProxy; + }, + get listeners() { + if (!vm._listenersProxy) { + var proxy = (vm._listenersProxy = {}); + syncSetupProxy(proxy, vm.$listeners, emptyObject, vm, '$listeners'); + } + return vm._listenersProxy; + }, + get slots() { + return initSlotsProxy(vm); + }, + emit: bind$1(vm.$emit, vm), + expose: function (exposed) { + { + if (exposeCalled) { + warn$2("expose() should be called only once per setup().", vm); + } + exposeCalled = true; + } + if (exposed) { + Object.keys(exposed).forEach(function (key) { + return proxyWithRefUnwrap(vm, exposed, key); + }); + } + } + }; + } + function syncSetupProxy(to, from, prev, instance, type) { + var changed = false; + for (var key in from) { + if (!(key in to)) { + changed = true; + defineProxyAttr(to, key, instance, type); + } + else if (from[key] !== prev[key]) { + changed = true; + } + } + for (var key in to) { + if (!(key in from)) { + changed = true; + delete to[key]; + } + } + return changed; + } + function defineProxyAttr(proxy, key, instance, type) { + Object.defineProperty(proxy, key, { + enumerable: true, + configurable: true, + get: function () { + return instance[type][key]; + } + }); + } + function initSlotsProxy(vm) { + if (!vm._slotsProxy) { + syncSetupSlots((vm._slotsProxy = {}), vm.$scopedSlots); + } + return vm._slotsProxy; + } + function syncSetupSlots(to, from) { + for (var key in from) { + to[key] = from[key]; + } + for (var key in to) { + if (!(key in from)) { + delete to[key]; + } + } + } + /** + * @internal use manual type def because public setup context type relies on + * legacy VNode types + */ + function useSlots() { + return getContext().slots; + } + /** + * @internal use manual type def because public setup context type relies on + * legacy VNode types + */ + function useAttrs() { + return getContext().attrs; + } + /** + * Vue 2 only + * @internal use manual type def because public setup context type relies on + * legacy VNode types + */ + function useListeners() { + return getContext().listeners; + } + function getContext() { + if (!currentInstance) { + warn$2("useContext() called without active instance."); + } + var vm = currentInstance; + return vm._setupContext || (vm._setupContext = createSetupContext(vm)); + } + /** + * Runtime helper for merging default declarations. Imported by compiled code + * only. + * @internal + */ + function mergeDefaults(raw, defaults) { + var props = isArray(raw) + ? raw.reduce(function (normalized, p) { return ((normalized[p] = {}), normalized); }, {}) + : raw; + for (var key in defaults) { + var opt = props[key]; + if (opt) { + if (isArray(opt) || isFunction(opt)) { + props[key] = { type: opt, default: defaults[key] }; + } + else { + opt.default = defaults[key]; + } + } + else if (opt === null) { + props[key] = { default: defaults[key] }; + } + else { + warn$2("props default key \"".concat(key, "\" has no corresponding declaration.")); + } + } + return props; + } + + function initRender(vm) { + vm._vnode = null; // the root of the child tree + vm._staticTrees = null; // v-once cached trees + var options = vm.$options; + var parentVnode = (vm.$vnode = options._parentVnode); // the placeholder node in parent tree + var renderContext = parentVnode && parentVnode.context; + vm.$slots = resolveSlots(options._renderChildren, renderContext); + vm.$scopedSlots = parentVnode + ? normalizeScopedSlots(vm.$parent, parentVnode.data.scopedSlots, vm.$slots) + : emptyObject; + // bind the createElement fn to this instance + // so that we get proper render context inside it. + // args order: tag, data, children, normalizationType, alwaysNormalize + // internal version is used by render functions compiled from templates + // @ts-expect-error + vm._c = function (a, b, c, d) { return createElement$1(vm, a, b, c, d, false); }; + // normalization is always applied for the public version, used in + // user-written render functions. + // @ts-expect-error + vm.$createElement = function (a, b, c, d) { return createElement$1(vm, a, b, c, d, true); }; + // $attrs & $listeners are exposed for easier HOC creation. + // they need to be reactive so that HOCs using them are always updated + var parentData = parentVnode && parentVnode.data; + /* istanbul ignore else */ + { + defineReactive(vm, '$attrs', (parentData && parentData.attrs) || emptyObject, function () { + !isUpdatingChildComponent && warn$2("$attrs is readonly.", vm); + }, true); + defineReactive(vm, '$listeners', options._parentListeners || emptyObject, function () { + !isUpdatingChildComponent && warn$2("$listeners is readonly.", vm); + }, true); + } + } + var currentRenderingInstance = null; + function renderMixin(Vue) { + // install runtime convenience helpers + installRenderHelpers(Vue.prototype); + Vue.prototype.$nextTick = function (fn) { + return nextTick(fn, this); + }; + Vue.prototype._render = function () { + var vm = this; + var _a = vm.$options, render = _a.render, _parentVnode = _a._parentVnode; + if (_parentVnode && vm._isMounted) { + vm.$scopedSlots = normalizeScopedSlots(vm.$parent, _parentVnode.data.scopedSlots, vm.$slots, vm.$scopedSlots); + if (vm._slotsProxy) { + syncSetupSlots(vm._slotsProxy, vm.$scopedSlots); + } + } + // set parent vnode. this allows render functions to have access + // to the data on the placeholder node. + vm.$vnode = _parentVnode; + // render self + var vnode; + try { + // There's no need to maintain a stack because all render fns are called + // separately from one another. Nested component's render fns are called + // when parent component is patched. + setCurrentInstance(vm); + currentRenderingInstance = vm; + vnode = render.call(vm._renderProxy, vm.$createElement); + } + catch (e) { + handleError(e, vm, "render"); + // return error render result, + // or previous vnode to prevent render error causing blank component + /* istanbul ignore else */ + if (vm.$options.renderError) { + try { + vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e); + } + catch (e) { + handleError(e, vm, "renderError"); + vnode = vm._vnode; + } + } + else { + vnode = vm._vnode; + } + } + finally { + currentRenderingInstance = null; + setCurrentInstance(); + } + // if the returned array contains only a single node, allow it + if (isArray(vnode) && vnode.length === 1) { + vnode = vnode[0]; + } + // return empty vnode in case the render function errored out + if (!(vnode instanceof VNode)) { + if (isArray(vnode)) { + warn$2('Multiple root nodes returned from render function. Render function ' + + 'should return a single root node.', vm); + } + vnode = createEmptyVNode(); + } + // set parent + vnode.parent = _parentVnode; + return vnode; + }; + } + + function ensureCtor(comp, base) { + if (comp.__esModule || (hasSymbol && comp[Symbol.toStringTag] === 'Module')) { + comp = comp.default; + } + return isObject(comp) ? base.extend(comp) : comp; + } + function createAsyncPlaceholder(factory, data, context, children, tag) { + var node = createEmptyVNode(); + node.asyncFactory = factory; + node.asyncMeta = { data: data, context: context, children: children, tag: tag }; + return node; + } + function resolveAsyncComponent(factory, baseCtor) { + if (isTrue(factory.error) && isDef(factory.errorComp)) { + return factory.errorComp; + } + if (isDef(factory.resolved)) { + return factory.resolved; + } + var owner = currentRenderingInstance; + if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) { + // already pending + factory.owners.push(owner); + } + if (isTrue(factory.loading) && isDef(factory.loadingComp)) { + return factory.loadingComp; + } + if (owner && !isDef(factory.owners)) { + var owners_1 = (factory.owners = [owner]); + var sync_1 = true; + var timerLoading_1 = null; + var timerTimeout_1 = null; + owner.$on('hook:destroyed', function () { return remove$2(owners_1, owner); }); + var forceRender_1 = function (renderCompleted) { + for (var i = 0, l = owners_1.length; i < l; i++) { + owners_1[i].$forceUpdate(); + } + if (renderCompleted) { + owners_1.length = 0; + if (timerLoading_1 !== null) { + clearTimeout(timerLoading_1); + timerLoading_1 = null; + } + if (timerTimeout_1 !== null) { + clearTimeout(timerTimeout_1); + timerTimeout_1 = null; + } + } + }; + var resolve = once(function (res) { + // cache resolved + factory.resolved = ensureCtor(res, baseCtor); + // invoke callbacks only if this is not a synchronous resolve + // (async resolves are shimmed as synchronous during SSR) + if (!sync_1) { + forceRender_1(true); + } + else { + owners_1.length = 0; + } + }); + var reject_1 = once(function (reason) { + warn$2("Failed to resolve async component: ".concat(String(factory)) + + (reason ? "\nReason: ".concat(reason) : '')); + if (isDef(factory.errorComp)) { + factory.error = true; + forceRender_1(true); + } + }); + var res_1 = factory(resolve, reject_1); + if (isObject(res_1)) { + if (isPromise(res_1)) { + // () => Promise + if (isUndef(factory.resolved)) { + res_1.then(resolve, reject_1); + } + } + else if (isPromise(res_1.component)) { + res_1.component.then(resolve, reject_1); + if (isDef(res_1.error)) { + factory.errorComp = ensureCtor(res_1.error, baseCtor); + } + if (isDef(res_1.loading)) { + factory.loadingComp = ensureCtor(res_1.loading, baseCtor); + if (res_1.delay === 0) { + factory.loading = true; + } + else { + // @ts-expect-error NodeJS timeout type + timerLoading_1 = setTimeout(function () { + timerLoading_1 = null; + if (isUndef(factory.resolved) && isUndef(factory.error)) { + factory.loading = true; + forceRender_1(false); + } + }, res_1.delay || 200); + } + } + if (isDef(res_1.timeout)) { + // @ts-expect-error NodeJS timeout type + timerTimeout_1 = setTimeout(function () { + timerTimeout_1 = null; + if (isUndef(factory.resolved)) { + reject_1("timeout (".concat(res_1.timeout, "ms)") ); + } + }, res_1.timeout); + } + } + } + sync_1 = false; + // return in case resolved synchronously + return factory.loading ? factory.loadingComp : factory.resolved; + } + } + + function getFirstComponentChild(children) { + if (isArray(children)) { + for (var i = 0; i < children.length; i++) { + var c = children[i]; + if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) { + return c; + } + } + } + } + + function initEvents(vm) { + vm._events = Object.create(null); + vm._hasHookEvent = false; + // init parent attached events + var listeners = vm.$options._parentListeners; + if (listeners) { + updateComponentListeners(vm, listeners); + } + } + var target$1; + function add$1(event, fn) { + target$1.$on(event, fn); + } + function remove$1(event, fn) { + target$1.$off(event, fn); + } + function createOnceHandler$1(event, fn) { + var _target = target$1; + return function onceHandler() { + var res = fn.apply(null, arguments); + if (res !== null) { + _target.$off(event, onceHandler); + } + }; + } + function updateComponentListeners(vm, listeners, oldListeners) { + target$1 = vm; + updateListeners(listeners, oldListeners || {}, add$1, remove$1, createOnceHandler$1, vm); + target$1 = undefined; + } + function eventsMixin(Vue) { + var hookRE = /^hook:/; + Vue.prototype.$on = function (event, fn) { + var vm = this; + if (isArray(event)) { + for (var i = 0, l = event.length; i < l; i++) { + vm.$on(event[i], fn); + } + } + else { + (vm._events[event] || (vm._events[event] = [])).push(fn); + // optimize hook:event cost by using a boolean flag marked at registration + // instead of a hash lookup + if (hookRE.test(event)) { + vm._hasHookEvent = true; + } + } + return vm; + }; + Vue.prototype.$once = function (event, fn) { + var vm = this; + function on() { + vm.$off(event, on); + fn.apply(vm, arguments); + } + on.fn = fn; + vm.$on(event, on); + return vm; + }; + Vue.prototype.$off = function (event, fn) { + var vm = this; + // all + if (!arguments.length) { + vm._events = Object.create(null); + return vm; + } + // array of events + if (isArray(event)) { + for (var i_1 = 0, l = event.length; i_1 < l; i_1++) { + vm.$off(event[i_1], fn); + } + return vm; + } + // specific event + var cbs = vm._events[event]; + if (!cbs) { + return vm; + } + if (!fn) { + vm._events[event] = null; + return vm; + } + // specific handler + var cb; + var i = cbs.length; + while (i--) { + cb = cbs[i]; + if (cb === fn || cb.fn === fn) { + cbs.splice(i, 1); + break; + } + } + return vm; + }; + Vue.prototype.$emit = function (event) { + var vm = this; + { + var lowerCaseEvent = event.toLowerCase(); + if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) { + tip("Event \"".concat(lowerCaseEvent, "\" is emitted in component ") + + "".concat(formatComponentName(vm), " but the handler is registered for \"").concat(event, "\". ") + + "Note that HTML attributes are case-insensitive and you cannot use " + + "v-on to listen to camelCase events when using in-DOM templates. " + + "You should probably use \"".concat(hyphenate(event), "\" instead of \"").concat(event, "\".")); + } + } + var cbs = vm._events[event]; + if (cbs) { + cbs = cbs.length > 1 ? toArray(cbs) : cbs; + var args = toArray(arguments, 1); + var info = "event handler for \"".concat(event, "\""); + for (var i = 0, l = cbs.length; i < l; i++) { + invokeWithErrorHandling(cbs[i], vm, args, vm, info); + } + } + return vm; + }; + } + + var activeInstance = null; + var isUpdatingChildComponent = false; + function setActiveInstance(vm) { + var prevActiveInstance = activeInstance; + activeInstance = vm; + return function () { + activeInstance = prevActiveInstance; + }; + } + function initLifecycle(vm) { + var options = vm.$options; + // locate first non-abstract parent + var parent = options.parent; + if (parent && !options.abstract) { + while (parent.$options.abstract && parent.$parent) { + parent = parent.$parent; + } + parent.$children.push(vm); + } + vm.$parent = parent; + vm.$root = parent ? parent.$root : vm; + vm.$children = []; + vm.$refs = {}; + vm._provided = parent ? parent._provided : Object.create(null); + vm._watcher = null; + vm._inactive = null; + vm._directInactive = false; + vm._isMounted = false; + vm._isDestroyed = false; + vm._isBeingDestroyed = false; + } + function lifecycleMixin(Vue) { + Vue.prototype._update = function (vnode, hydrating) { + var vm = this; + var prevEl = vm.$el; + var prevVnode = vm._vnode; + var restoreActiveInstance = setActiveInstance(vm); + vm._vnode = vnode; + // Vue.prototype.__patch__ is injected in entry points + // based on the rendering backend used. + if (!prevVnode) { + // initial render + vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */); + } + else { + // updates + vm.$el = vm.__patch__(prevVnode, vnode); + } + restoreActiveInstance(); + // update __vue__ reference + if (prevEl) { + prevEl.__vue__ = null; + } + if (vm.$el) { + vm.$el.__vue__ = vm; + } + // if parent is an HOC, update its $el as well + var wrapper = vm; + while (wrapper && + wrapper.$vnode && + wrapper.$parent && + wrapper.$vnode === wrapper.$parent._vnode) { + wrapper.$parent.$el = wrapper.$el; + wrapper = wrapper.$parent; + } + // updated hook is called by the scheduler to ensure that children are + // updated in a parent's updated hook. + }; + Vue.prototype.$forceUpdate = function () { + var vm = this; + if (vm._watcher) { + vm._watcher.update(); + } + }; + Vue.prototype.$destroy = function () { + var vm = this; + if (vm._isBeingDestroyed) { + return; + } + callHook$1(vm, 'beforeDestroy'); + vm._isBeingDestroyed = true; + // remove self from parent + var parent = vm.$parent; + if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) { + remove$2(parent.$children, vm); + } + // teardown scope. this includes both the render watcher and other + // watchers created + vm._scope.stop(); + // remove reference from data ob + // frozen object may not have observer. + if (vm._data.__ob__) { + vm._data.__ob__.vmCount--; + } + // call the last hook... + vm._isDestroyed = true; + // invoke destroy hooks on current rendered tree + vm.__patch__(vm._vnode, null); + // fire destroyed hook + callHook$1(vm, 'destroyed'); + // turn off all instance listeners. + vm.$off(); + // remove __vue__ reference + if (vm.$el) { + vm.$el.__vue__ = null; + } + // release circular reference (#6759) + if (vm.$vnode) { + vm.$vnode.parent = null; + } + }; + } + function mountComponent(vm, el, hydrating) { + vm.$el = el; + if (!vm.$options.render) { + // @ts-expect-error invalid type + vm.$options.render = createEmptyVNode; + { + /* istanbul ignore if */ + if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') || + vm.$options.el || + el) { + warn$2('You are using the runtime-only build of Vue where the template ' + + 'compiler is not available. Either pre-compile the templates into ' + + 'render functions, or use the compiler-included build.', vm); + } + else { + warn$2('Failed to mount component: template or render function not defined.', vm); + } + } + } + callHook$1(vm, 'beforeMount'); + var updateComponent; + /* istanbul ignore if */ + if (config.performance && mark) { + updateComponent = function () { + var name = vm._name; + var id = vm._uid; + var startTag = "vue-perf-start:".concat(id); + var endTag = "vue-perf-end:".concat(id); + mark(startTag); + var vnode = vm._render(); + mark(endTag); + measure("vue ".concat(name, " render"), startTag, endTag); + mark(startTag); + vm._update(vnode, hydrating); + mark(endTag); + measure("vue ".concat(name, " patch"), startTag, endTag); + }; + } + else { + updateComponent = function () { + vm._update(vm._render(), hydrating); + }; + } + var watcherOptions = { + before: function () { + if (vm._isMounted && !vm._isDestroyed) { + callHook$1(vm, 'beforeUpdate'); + } + } + }; + { + watcherOptions.onTrack = function (e) { return callHook$1(vm, 'renderTracked', [e]); }; + watcherOptions.onTrigger = function (e) { return callHook$1(vm, 'renderTriggered', [e]); }; + } + // we set this to vm._watcher inside the watcher's constructor + // since the watcher's initial patch may call $forceUpdate (e.g. inside child + // component's mounted hook), which relies on vm._watcher being already defined + new Watcher(vm, updateComponent, noop, watcherOptions, true /* isRenderWatcher */); + hydrating = false; + // flush buffer for flush: "pre" watchers queued in setup() + var preWatchers = vm._preWatchers; + if (preWatchers) { + for (var i = 0; i < preWatchers.length; i++) { + preWatchers[i].run(); + } + } + // manually mounted instance, call mounted on self + // mounted is called for render-created child components in its inserted hook + if (vm.$vnode == null) { + vm._isMounted = true; + callHook$1(vm, 'mounted'); + } + return vm; + } + function updateChildComponent(vm, propsData, listeners, parentVnode, renderChildren) { + { + isUpdatingChildComponent = true; + } + // determine whether component has slot children + // we need to do this before overwriting $options._renderChildren. + // check if there are dynamic scopedSlots (hand-written or compiled but with + // dynamic slot names). Static scoped slots compiled from template has the + // "$stable" marker. + var newScopedSlots = parentVnode.data.scopedSlots; + var oldScopedSlots = vm.$scopedSlots; + var hasDynamicScopedSlot = !!((newScopedSlots && !newScopedSlots.$stable) || + (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) || + (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key) || + (!newScopedSlots && vm.$scopedSlots.$key)); + // Any static slot children from the parent may have changed during parent's + // update. Dynamic scoped slots may also have changed. In such cases, a forced + // update is necessary to ensure correctness. + var needsForceUpdate = !!(renderChildren || // has new static slots + vm.$options._renderChildren || // has old static slots + hasDynamicScopedSlot); + var prevVNode = vm.$vnode; + vm.$options._parentVnode = parentVnode; + vm.$vnode = parentVnode; // update vm's placeholder node without re-render + if (vm._vnode) { + // update child tree's parent + vm._vnode.parent = parentVnode; + } + vm.$options._renderChildren = renderChildren; + // update $attrs and $listeners hash + // these are also reactive so they may trigger child update if the child + // used them during render + var attrs = parentVnode.data.attrs || emptyObject; + if (vm._attrsProxy) { + // force update if attrs are accessed and has changed since it may be + // passed to a child component. + if (syncSetupProxy(vm._attrsProxy, attrs, (prevVNode.data && prevVNode.data.attrs) || emptyObject, vm, '$attrs')) { + needsForceUpdate = true; + } + } + vm.$attrs = attrs; + // update listeners + listeners = listeners || emptyObject; + var prevListeners = vm.$options._parentListeners; + if (vm._listenersProxy) { + syncSetupProxy(vm._listenersProxy, listeners, prevListeners || emptyObject, vm, '$listeners'); + } + vm.$listeners = vm.$options._parentListeners = listeners; + updateComponentListeners(vm, listeners, prevListeners); + // update props + if (propsData && vm.$options.props) { + toggleObserving(false); + var props = vm._props; + var propKeys = vm.$options._propKeys || []; + for (var i = 0; i < propKeys.length; i++) { + var key = propKeys[i]; + var propOptions = vm.$options.props; // wtf flow? + props[key] = validateProp(key, propOptions, propsData, vm); + } + toggleObserving(true); + // keep a copy of raw propsData + vm.$options.propsData = propsData; + } + // resolve slots + force update if has children + if (needsForceUpdate) { + vm.$slots = resolveSlots(renderChildren, parentVnode.context); + vm.$forceUpdate(); + } + { + isUpdatingChildComponent = false; + } + } + function isInInactiveTree(vm) { + while (vm && (vm = vm.$parent)) { + if (vm._inactive) + return true; + } + return false; + } + function activateChildComponent(vm, direct) { + if (direct) { + vm._directInactive = false; + if (isInInactiveTree(vm)) { + return; + } + } + else if (vm._directInactive) { + return; + } + if (vm._inactive || vm._inactive === null) { + vm._inactive = false; + for (var i = 0; i < vm.$children.length; i++) { + activateChildComponent(vm.$children[i]); + } + callHook$1(vm, 'activated'); + } + } + function deactivateChildComponent(vm, direct) { + if (direct) { + vm._directInactive = true; + if (isInInactiveTree(vm)) { + return; + } + } + if (!vm._inactive) { + vm._inactive = true; + for (var i = 0; i < vm.$children.length; i++) { + deactivateChildComponent(vm.$children[i]); + } + callHook$1(vm, 'deactivated'); + } + } + function callHook$1(vm, hook, args, setContext) { + if (setContext === void 0) { setContext = true; } + // #7573 disable dep collection when invoking lifecycle hooks + pushTarget(); + var prev = currentInstance; + setContext && setCurrentInstance(vm); + var handlers = vm.$options[hook]; + var info = "".concat(hook, " hook"); + if (handlers) { + for (var i = 0, j = handlers.length; i < j; i++) { + invokeWithErrorHandling(handlers[i], vm, args || null, vm, info); + } + } + if (vm._hasHookEvent) { + vm.$emit('hook:' + hook); + } + setContext && setCurrentInstance(prev); + popTarget(); + } + + var MAX_UPDATE_COUNT = 100; + var queue = []; + var activatedChildren = []; + var has = {}; + var circular = {}; + var waiting = false; + var flushing = false; + var index$1 = 0; + /** + * Reset the scheduler's state. + */ + function resetSchedulerState() { + index$1 = queue.length = activatedChildren.length = 0; + has = {}; + { + circular = {}; + } + waiting = flushing = false; + } + // Async edge case #6566 requires saving the timestamp when event listeners are + // attached. However, calling performance.now() has a perf overhead especially + // if the page has thousands of event listeners. Instead, we take a timestamp + // every time the scheduler flushes and use that for all event listeners + // attached during that flush. + var currentFlushTimestamp = 0; + // Async edge case fix requires storing an event listener's attach timestamp. + var getNow = Date.now; + // Determine what event timestamp the browser is using. Annoyingly, the + // timestamp can either be hi-res (relative to page load) or low-res + // (relative to UNIX epoch), so in order to compare time we have to use the + // same timestamp type when saving the flush timestamp. + // All IE versions use low-res event timestamps, and have problematic clock + // implementations (#9632) + if (inBrowser && !isIE) { + var performance_1 = window.performance; + if (performance_1 && + typeof performance_1.now === 'function' && + getNow() > document.createEvent('Event').timeStamp) { + // if the event timestamp, although evaluated AFTER the Date.now(), is + // smaller than it, it means the event is using a hi-res timestamp, + // and we need to use the hi-res version for event listener timestamps as + // well. + getNow = function () { return performance_1.now(); }; + } + } + var sortCompareFn = function (a, b) { + if (a.post) { + if (!b.post) + return 1; + } + else if (b.post) { + return -1; + } + return a.id - b.id; + }; + /** + * Flush both queues and run the watchers. + */ + function flushSchedulerQueue() { + currentFlushTimestamp = getNow(); + flushing = true; + var watcher, id; + // Sort queue before flush. + // This ensures that: + // 1. Components are updated from parent to child. (because parent is always + // created before the child) + // 2. A component's user watchers are run before its render watcher (because + // user watchers are created before the render watcher) + // 3. If a component is destroyed during a parent component's watcher run, + // its watchers can be skipped. + queue.sort(sortCompareFn); + // do not cache length because more watchers might be pushed + // as we run existing watchers + for (index$1 = 0; index$1 < queue.length; index$1++) { + watcher = queue[index$1]; + if (watcher.before) { + watcher.before(); + } + id = watcher.id; + has[id] = null; + watcher.run(); + // in dev build, check and stop circular updates. + if (has[id] != null) { + circular[id] = (circular[id] || 0) + 1; + if (circular[id] > MAX_UPDATE_COUNT) { + warn$2('You may have an infinite update loop ' + + (watcher.user + ? "in watcher with expression \"".concat(watcher.expression, "\"") + : "in a component render function."), watcher.vm); + break; + } + } + } + // keep copies of post queues before resetting state + var activatedQueue = activatedChildren.slice(); + var updatedQueue = queue.slice(); + resetSchedulerState(); + // call component updated and activated hooks + callActivatedHooks(activatedQueue); + callUpdatedHooks(updatedQueue); + cleanupDeps(); + // devtool hook + /* istanbul ignore if */ + if (devtools && config.devtools) { + devtools.emit('flush'); + } + } + function callUpdatedHooks(queue) { + var i = queue.length; + while (i--) { + var watcher = queue[i]; + var vm = watcher.vm; + if (vm && vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) { + callHook$1(vm, 'updated'); + } + } + } + /** + * Queue a kept-alive component that was activated during patch. + * The queue will be processed after the entire tree has been patched. + */ + function queueActivatedComponent(vm) { + // setting _inactive to false here so that a render function can + // rely on checking whether it's in an inactive tree (e.g. router-view) + vm._inactive = false; + activatedChildren.push(vm); + } + function callActivatedHooks(queue) { + for (var i = 0; i < queue.length; i++) { + queue[i]._inactive = true; + activateChildComponent(queue[i], true /* true */); + } + } + /** + * Push a watcher into the watcher queue. + * Jobs with duplicate IDs will be skipped unless it's + * pushed when the queue is being flushed. + */ + function queueWatcher(watcher) { + var id = watcher.id; + if (has[id] != null) { + return; + } + if (watcher === Dep.target && watcher.noRecurse) { + return; + } + has[id] = true; + if (!flushing) { + queue.push(watcher); + } + else { + // if already flushing, splice the watcher based on its id + // if already past its id, it will be run next immediately. + var i = queue.length - 1; + while (i > index$1 && queue[i].id > watcher.id) { + i--; + } + queue.splice(i + 1, 0, watcher); + } + // queue the flush + if (!waiting) { + waiting = true; + if (!config.async) { + flushSchedulerQueue(); + return; + } + nextTick(flushSchedulerQueue); + } + } + + var WATCHER = "watcher"; + var WATCHER_CB = "".concat(WATCHER, " callback"); + var WATCHER_GETTER = "".concat(WATCHER, " getter"); + var WATCHER_CLEANUP = "".concat(WATCHER, " cleanup"); + // Simple effect. + function watchEffect(effect, options) { + return doWatch(effect, null, options); + } + function watchPostEffect(effect, options) { + return doWatch(effect, null, (__assign(__assign({}, options), { flush: 'post' }) )); + } + function watchSyncEffect(effect, options) { + return doWatch(effect, null, (__assign(__assign({}, options), { flush: 'sync' }) )); + } + // initial value for watchers to trigger on undefined initial values + var INITIAL_WATCHER_VALUE = {}; + // implementation + function watch(source, cb, options) { + if (typeof cb !== 'function') { + warn$2("`watch(fn, options?)` signature has been moved to a separate API. " + + "Use `watchEffect(fn, options?)` instead. `watch` now only " + + "supports `watch(source, cb, options?) signature."); + } + return doWatch(source, cb, options); + } + function doWatch(source, cb, _a) { + var _b = _a === void 0 ? emptyObject : _a, immediate = _b.immediate, deep = _b.deep, _c = _b.flush, flush = _c === void 0 ? 'pre' : _c, onTrack = _b.onTrack, onTrigger = _b.onTrigger; + if (!cb) { + if (immediate !== undefined) { + warn$2("watch() \"immediate\" option is only respected when using the " + + "watch(source, callback, options?) signature."); + } + if (deep !== undefined) { + warn$2("watch() \"deep\" option is only respected when using the " + + "watch(source, callback, options?) signature."); + } + } + var warnInvalidSource = function (s) { + warn$2("Invalid watch source: ".concat(s, ". A watch source can only be a getter/effect ") + + "function, a ref, a reactive object, or an array of these types."); + }; + var instance = currentInstance; + var call = function (fn, type, args) { + if (args === void 0) { args = null; } + return invokeWithErrorHandling(fn, null, args, instance, type); + }; + var getter; + var forceTrigger = false; + var isMultiSource = false; + if (isRef(source)) { + getter = function () { return source.value; }; + forceTrigger = isShallow(source); + } + else if (isReactive(source)) { + getter = function () { + source.__ob__.dep.depend(); + return source; + }; + deep = true; + } + else if (isArray(source)) { + isMultiSource = true; + forceTrigger = source.some(function (s) { return isReactive(s) || isShallow(s); }); + getter = function () { + return source.map(function (s) { + if (isRef(s)) { + return s.value; + } + else if (isReactive(s)) { + return traverse(s); + } + else if (isFunction(s)) { + return call(s, WATCHER_GETTER); + } + else { + warnInvalidSource(s); + } + }); + }; + } + else if (isFunction(source)) { + if (cb) { + // getter with cb + getter = function () { return call(source, WATCHER_GETTER); }; + } + else { + // no cb -> simple effect + getter = function () { + if (instance && instance._isDestroyed) { + return; + } + if (cleanup) { + cleanup(); + } + return call(source, WATCHER, [onCleanup]); + }; + } + } + else { + getter = noop; + warnInvalidSource(source); + } + if (cb && deep) { + var baseGetter_1 = getter; + getter = function () { return traverse(baseGetter_1()); }; + } + var cleanup; + var onCleanup = function (fn) { + cleanup = watcher.onStop = function () { + call(fn, WATCHER_CLEANUP); + }; + }; + // in SSR there is no need to setup an actual effect, and it should be noop + // unless it's eager + if (isServerRendering()) { + // we will also not call the invalidate callback (+ runner is not set up) + onCleanup = noop; + if (!cb) { + getter(); + } + else if (immediate) { + call(cb, WATCHER_CB, [ + getter(), + isMultiSource ? [] : undefined, + onCleanup + ]); + } + return noop; + } + var watcher = new Watcher(currentInstance, getter, noop, { + lazy: true + }); + watcher.noRecurse = !cb; + var oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE; + // overwrite default run + watcher.run = function () { + if (!watcher.active) { + return; + } + if (cb) { + // watch(source, cb) + var newValue = watcher.get(); + if (deep || + forceTrigger || + (isMultiSource + ? newValue.some(function (v, i) { + return hasChanged(v, oldValue[i]); + }) + : hasChanged(newValue, oldValue))) { + // cleanup before running cb again + if (cleanup) { + cleanup(); + } + call(cb, WATCHER_CB, [ + newValue, + // pass undefined as the old value when it's changed for the first time + oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue, + onCleanup + ]); + oldValue = newValue; + } + } + else { + // watchEffect + watcher.get(); + } + }; + if (flush === 'sync') { + watcher.update = watcher.run; + } + else if (flush === 'post') { + watcher.post = true; + watcher.update = function () { return queueWatcher(watcher); }; + } + else { + // pre + watcher.update = function () { + if (instance && instance === currentInstance && !instance._isMounted) { + // pre-watcher triggered before + var buffer = instance._preWatchers || (instance._preWatchers = []); + if (buffer.indexOf(watcher) < 0) + buffer.push(watcher); + } + else { + queueWatcher(watcher); + } + }; + } + { + watcher.onTrack = onTrack; + watcher.onTrigger = onTrigger; + } + // initial run + if (cb) { + if (immediate) { + watcher.run(); + } + else { + oldValue = watcher.get(); + } + } + else if (flush === 'post' && instance) { + instance.$once('hook:mounted', function () { return watcher.get(); }); + } + else { + watcher.get(); + } + return function () { + watcher.teardown(); + }; + } + + var activeEffectScope; + var EffectScope = /** @class */ (function () { + function EffectScope(detached) { + if (detached === void 0) { detached = false; } + this.detached = detached; + /** + * @internal + */ + this.active = true; + /** + * @internal + */ + this.effects = []; + /** + * @internal + */ + this.cleanups = []; + this.parent = activeEffectScope; + if (!detached && activeEffectScope) { + this.index = + (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1; + } + } + EffectScope.prototype.run = function (fn) { + if (this.active) { + var currentEffectScope = activeEffectScope; + try { + activeEffectScope = this; + return fn(); + } + finally { + activeEffectScope = currentEffectScope; + } + } + else { + warn$2("cannot run an inactive effect scope."); + } + }; + /** + * This should only be called on non-detached scopes + * @internal + */ + EffectScope.prototype.on = function () { + activeEffectScope = this; + }; + /** + * This should only be called on non-detached scopes + * @internal + */ + EffectScope.prototype.off = function () { + activeEffectScope = this.parent; + }; + EffectScope.prototype.stop = function (fromParent) { + if (this.active) { + var i = void 0, l = void 0; + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].teardown(); + } + for (i = 0, l = this.cleanups.length; i < l; i++) { + this.cleanups[i](); + } + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].stop(true); + } + } + // nested scope, dereference from parent to avoid memory leaks + if (!this.detached && this.parent && !fromParent) { + // optimized O(1) removal + var last = this.parent.scopes.pop(); + if (last && last !== this) { + this.parent.scopes[this.index] = last; + last.index = this.index; + } + } + this.parent = undefined; + this.active = false; + } + }; + return EffectScope; + }()); + function effectScope(detached) { + return new EffectScope(detached); + } + /** + * @internal + */ + function recordEffectScope(effect, scope) { + if (scope === void 0) { scope = activeEffectScope; } + if (scope && scope.active) { + scope.effects.push(effect); + } + } + function getCurrentScope() { + return activeEffectScope; + } + function onScopeDispose(fn) { + if (activeEffectScope) { + activeEffectScope.cleanups.push(fn); + } + else { + warn$2("onScopeDispose() is called when there is no active effect scope" + + " to be associated with."); + } + } + + function provide(key, value) { + if (!currentInstance) { + { + warn$2("provide() can only be used inside setup()."); + } + } + else { + // TS doesn't allow symbol as index type + resolveProvided(currentInstance)[key] = value; + } + } + function resolveProvided(vm) { + // by default an instance inherits its parent's provides object + // but when it needs to provide values of its own, it creates its + // own provides object using parent provides object as prototype. + // this way in `inject` we can simply look up injections from direct + // parent and let the prototype chain do the work. + var existing = vm._provided; + var parentProvides = vm.$parent && vm.$parent._provided; + if (parentProvides === existing) { + return (vm._provided = Object.create(parentProvides)); + } + else { + return existing; + } + } + function inject(key, defaultValue, treatDefaultAsFactory) { + if (treatDefaultAsFactory === void 0) { treatDefaultAsFactory = false; } + // fallback to `currentRenderingInstance` so that this can be called in + // a functional component + var instance = currentInstance; + if (instance) { + // #2400 + // to support `app.use` plugins, + // fallback to appContext's `provides` if the instance is at root + var provides = instance.$parent && instance.$parent._provided; + if (provides && key in provides) { + // TS doesn't allow symbol as index type + return provides[key]; + } + else if (arguments.length > 1) { + return treatDefaultAsFactory && isFunction(defaultValue) + ? defaultValue.call(instance) + : defaultValue; + } + else { + warn$2("injection \"".concat(String(key), "\" not found.")); + } + } + else { + warn$2("inject() can only be used inside setup() or functional components."); + } + } + + /** + * @internal this function needs manual public type declaration because it relies + * on previously manually authored types from Vue 2 + */ + function h(type, props, children) { + if (!currentInstance) { + warn$2("globally imported h() can only be invoked when there is an active " + + "component instance, e.g. synchronously in a component's render or setup function."); + } + return createElement$1(currentInstance, type, props, children, 2, true); + } + + function handleError(err, vm, info) { + // Deactivate deps tracking while processing error handler to avoid possible infinite rendering. + // See: https://github.com/vuejs/vuex/issues/1505 + pushTarget(); + try { + if (vm) { + var cur = vm; + while ((cur = cur.$parent)) { + var hooks = cur.$options.errorCaptured; + if (hooks) { + for (var i = 0; i < hooks.length; i++) { + try { + var capture = hooks[i].call(cur, err, vm, info) === false; + if (capture) + return; + } + catch (e) { + globalHandleError(e, cur, 'errorCaptured hook'); + } + } + } + } + } + globalHandleError(err, vm, info); + } + finally { + popTarget(); + } + } + function invokeWithErrorHandling(handler, context, args, vm, info) { + var res; + try { + res = args ? handler.apply(context, args) : handler.call(context); + if (res && !res._isVue && isPromise(res) && !res._handled) { + res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); }); + res._handled = true; + } + } + catch (e) { + handleError(e, vm, info); + } + return res; + } + function globalHandleError(err, vm, info) { + if (config.errorHandler) { + try { + return config.errorHandler.call(null, err, vm, info); + } + catch (e) { + // if the user intentionally throws the original error in the handler, + // do not log it twice + if (e !== err) { + logError(e, null, 'config.errorHandler'); + } + } + } + logError(err, vm, info); + } + function logError(err, vm, info) { + { + warn$2("Error in ".concat(info, ": \"").concat(err.toString(), "\""), vm); + } + /* istanbul ignore else */ + if (inBrowser && typeof console !== 'undefined') { + console.error(err); + } + else { + throw err; + } + } + + /* globals MutationObserver */ + var isUsingMicroTask = false; + var callbacks = []; + var pending = false; + function flushCallbacks() { + pending = false; + var copies = callbacks.slice(0); + callbacks.length = 0; + for (var i = 0; i < copies.length; i++) { + copies[i](); + } + } + // Here we have async deferring wrappers using microtasks. + // In 2.5 we used (macro) tasks (in combination with microtasks). + // However, it has subtle problems when state is changed right before repaint + // (e.g. #6813, out-in transitions). + // Also, using (macro) tasks in event handler would cause some weird behaviors + // that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109). + // So we now use microtasks everywhere, again. + // A major drawback of this tradeoff is that there are some scenarios + // where microtasks have too high a priority and fire in between supposedly + // sequential events (e.g. #4521, #6690, which have workarounds) + // or even between bubbling of the same event (#6566). + var timerFunc; + // The nextTick behavior leverages the microtask queue, which can be accessed + // via either native Promise.then or MutationObserver. + // MutationObserver has wider support, however it is seriously bugged in + // UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It + // completely stops working after triggering a few times... so, if native + // Promise is available, we will use it: + /* istanbul ignore next, $flow-disable-line */ + if (typeof Promise !== 'undefined' && isNative(Promise)) { + var p_1 = Promise.resolve(); + timerFunc = function () { + p_1.then(flushCallbacks); + // In problematic UIWebViews, Promise.then doesn't completely break, but + // it can get stuck in a weird state where callbacks are pushed into the + // microtask queue but the queue isn't being flushed, until the browser + // needs to do some other work, e.g. handle a timer. Therefore we can + // "force" the microtask queue to be flushed by adding an empty timer. + if (isIOS) + setTimeout(noop); + }; + isUsingMicroTask = true; + } + else if (!isIE && + typeof MutationObserver !== 'undefined' && + (isNative(MutationObserver) || + // PhantomJS and iOS 7.x + MutationObserver.toString() === '[object MutationObserverConstructor]')) { + // Use MutationObserver where native Promise is not available, + // e.g. PhantomJS, iOS7, Android 4.4 + // (#6466 MutationObserver is unreliable in IE11) + var counter_1 = 1; + var observer = new MutationObserver(flushCallbacks); + var textNode_1 = document.createTextNode(String(counter_1)); + observer.observe(textNode_1, { + characterData: true + }); + timerFunc = function () { + counter_1 = (counter_1 + 1) % 2; + textNode_1.data = String(counter_1); + }; + isUsingMicroTask = true; + } + else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) { + // Fallback to setImmediate. + // Technically it leverages the (macro) task queue, + // but it is still a better choice than setTimeout. + timerFunc = function () { + setImmediate(flushCallbacks); + }; + } + else { + // Fallback to setTimeout. + timerFunc = function () { + setTimeout(flushCallbacks, 0); + }; + } + /** + * @internal + */ + function nextTick(cb, ctx) { + var _resolve; + callbacks.push(function () { + if (cb) { + try { + cb.call(ctx); + } + catch (e) { + handleError(e, ctx, 'nextTick'); + } + } + else if (_resolve) { + _resolve(ctx); + } + }); + if (!pending) { + pending = true; + timerFunc(); + } + // $flow-disable-line + if (!cb && typeof Promise !== 'undefined') { + return new Promise(function (resolve) { + _resolve = resolve; + }); + } + } + + function useCssModule(name) { + /* istanbul ignore else */ + { + { + warn$2("useCssModule() is not supported in the global build."); + } + return emptyObject; + } + } + + /** + * Runtime helper for SFC's CSS variable injection feature. + * @private + */ + function useCssVars(getter) { + if (!inBrowser && !false) + return; + var instance = currentInstance; + if (!instance) { + warn$2("useCssVars is called without current active component instance."); + return; + } + watchPostEffect(function () { + var el = instance.$el; + var vars = getter(instance, instance._setupProxy); + if (el && el.nodeType === 1) { + var style = el.style; + for (var key in vars) { + style.setProperty("--".concat(key), vars[key]); + } + } + }); + } + + /** + * v3-compatible async component API. + * @internal the type is manually declared in <root>/types/v3-define-async-component.d.ts + * because it relies on existing manual types + */ + function defineAsyncComponent(source) { + if (isFunction(source)) { + source = { loader: source }; + } + var loader = source.loader, loadingComponent = source.loadingComponent, errorComponent = source.errorComponent, _a = source.delay, delay = _a === void 0 ? 200 : _a, timeout = source.timeout, // undefined = never times out + _b = source.suspensible, // undefined = never times out + suspensible = _b === void 0 ? false : _b, // in Vue 3 default is true + userOnError = source.onError; + if (suspensible) { + warn$2("The suspensiblbe option for async components is not supported in Vue2. It is ignored."); + } + var pendingRequest = null; + var retries = 0; + var retry = function () { + retries++; + pendingRequest = null; + return load(); + }; + var load = function () { + var thisRequest; + return (pendingRequest || + (thisRequest = pendingRequest = + loader() + .catch(function (err) { + err = err instanceof Error ? err : new Error(String(err)); + if (userOnError) { + return new Promise(function (resolve, reject) { + var userRetry = function () { return resolve(retry()); }; + var userFail = function () { return reject(err); }; + userOnError(err, userRetry, userFail, retries + 1); + }); + } + else { + throw err; + } + }) + .then(function (comp) { + if (thisRequest !== pendingRequest && pendingRequest) { + return pendingRequest; + } + if (!comp) { + warn$2("Async component loader resolved to undefined. " + + "If you are using retry(), make sure to return its return value."); + } + // interop module default + if (comp && + (comp.__esModule || comp[Symbol.toStringTag] === 'Module')) { + comp = comp.default; + } + if (comp && !isObject(comp) && !isFunction(comp)) { + throw new Error("Invalid async component load result: ".concat(comp)); + } + return comp; + }))); + }; + return function () { + var component = load(); + return { + component: component, + delay: delay, + timeout: timeout, + error: errorComponent, + loading: loadingComponent + }; + }; + } + + function createLifeCycle(hookName) { + return function (fn, target) { + if (target === void 0) { target = currentInstance; } + if (!target) { + warn$2("".concat(formatName(hookName), " is called when there is no active component instance to be ") + + "associated with. " + + "Lifecycle injection APIs can only be used during execution of setup()."); + return; + } + return injectHook(target, hookName, fn); + }; + } + function formatName(name) { + if (name === 'beforeDestroy') { + name = 'beforeUnmount'; + } + else if (name === 'destroyed') { + name = 'unmounted'; + } + return "on".concat(name[0].toUpperCase() + name.slice(1)); + } + function injectHook(instance, hookName, fn) { + var options = instance.$options; + options[hookName] = mergeLifecycleHook(options[hookName], fn); + } + var onBeforeMount = createLifeCycle('beforeMount'); + var onMounted = createLifeCycle('mounted'); + var onBeforeUpdate = createLifeCycle('beforeUpdate'); + var onUpdated = createLifeCycle('updated'); + var onBeforeUnmount = createLifeCycle('beforeDestroy'); + var onUnmounted = createLifeCycle('destroyed'); + var onActivated = createLifeCycle('activated'); + var onDeactivated = createLifeCycle('deactivated'); + var onServerPrefetch = createLifeCycle('serverPrefetch'); + var onRenderTracked = createLifeCycle('renderTracked'); + var onRenderTriggered = createLifeCycle('renderTriggered'); + var injectErrorCapturedHook = createLifeCycle('errorCaptured'); + function onErrorCaptured(hook, target) { + if (target === void 0) { target = currentInstance; } + injectErrorCapturedHook(hook, target); + } + + /** + * Note: also update dist/vue.runtime.mjs when adding new exports to this file. + */ + var version = '2.7.14'; + /** + * @internal type is manually declared in <root>/types/v3-define-component.d.ts + */ + function defineComponent(options) { + return options; + } + + var vca = /*#__PURE__*/Object.freeze({ + __proto__: null, + version: version, + defineComponent: defineComponent, + ref: ref$1, + shallowRef: shallowRef, + isRef: isRef, + toRef: toRef, + toRefs: toRefs, + unref: unref, + proxyRefs: proxyRefs, + customRef: customRef, + triggerRef: triggerRef, + reactive: reactive, + isReactive: isReactive, + isReadonly: isReadonly, + isShallow: isShallow, + isProxy: isProxy, + shallowReactive: shallowReactive, + markRaw: markRaw, + toRaw: toRaw, + readonly: readonly, + shallowReadonly: shallowReadonly, + computed: computed, + watch: watch, + watchEffect: watchEffect, + watchPostEffect: watchPostEffect, + watchSyncEffect: watchSyncEffect, + EffectScope: EffectScope, + effectScope: effectScope, + onScopeDispose: onScopeDispose, + getCurrentScope: getCurrentScope, + provide: provide, + inject: inject, + h: h, + getCurrentInstance: getCurrentInstance, + useSlots: useSlots, + useAttrs: useAttrs, + useListeners: useListeners, + mergeDefaults: mergeDefaults, + nextTick: nextTick, + set: set, + del: del, + useCssModule: useCssModule, + useCssVars: useCssVars, + defineAsyncComponent: defineAsyncComponent, + onBeforeMount: onBeforeMount, + onMounted: onMounted, + onBeforeUpdate: onBeforeUpdate, + onUpdated: onUpdated, + onBeforeUnmount: onBeforeUnmount, + onUnmounted: onUnmounted, + onActivated: onActivated, + onDeactivated: onDeactivated, + onServerPrefetch: onServerPrefetch, + onRenderTracked: onRenderTracked, + onRenderTriggered: onRenderTriggered, + onErrorCaptured: onErrorCaptured + }); + + var seenObjects = new _Set(); + /** + * Recursively traverse an object to evoke all converted + * getters, so that every nested property inside the object + * is collected as a "deep" dependency. + */ + function traverse(val) { + _traverse(val, seenObjects); + seenObjects.clear(); + return val; + } + function _traverse(val, seen) { + var i, keys; + var isA = isArray(val); + if ((!isA && !isObject(val)) || + val.__v_skip /* ReactiveFlags.SKIP */ || + Object.isFrozen(val) || + val instanceof VNode) { + return; + } + if (val.__ob__) { + var depId = val.__ob__.dep.id; + if (seen.has(depId)) { + return; + } + seen.add(depId); + } + if (isA) { + i = val.length; + while (i--) + _traverse(val[i], seen); + } + else if (isRef(val)) { + _traverse(val.value, seen); + } + else { + keys = Object.keys(val); + i = keys.length; + while (i--) + _traverse(val[keys[i]], seen); + } + } + + var uid$1 = 0; + /** + * A watcher parses an expression, collects dependencies, + * and fires callback when the expression value changes. + * This is used for both the $watch() api and directives. + * @internal + */ + var Watcher = /** @class */ (function () { + function Watcher(vm, expOrFn, cb, options, isRenderWatcher) { + recordEffectScope(this, + // if the active effect scope is manually created (not a component scope), + // prioritize it + activeEffectScope && !activeEffectScope._vm + ? activeEffectScope + : vm + ? vm._scope + : undefined); + if ((this.vm = vm) && isRenderWatcher) { + vm._watcher = this; + } + // options + if (options) { + this.deep = !!options.deep; + this.user = !!options.user; + this.lazy = !!options.lazy; + this.sync = !!options.sync; + this.before = options.before; + { + this.onTrack = options.onTrack; + this.onTrigger = options.onTrigger; + } + } + else { + this.deep = this.user = this.lazy = this.sync = false; + } + this.cb = cb; + this.id = ++uid$1; // uid for batching + this.active = true; + this.post = false; + this.dirty = this.lazy; // for lazy watchers + this.deps = []; + this.newDeps = []; + this.depIds = new _Set(); + this.newDepIds = new _Set(); + this.expression = expOrFn.toString() ; + // parse expression for getter + if (isFunction(expOrFn)) { + this.getter = expOrFn; + } + else { + this.getter = parsePath(expOrFn); + if (!this.getter) { + this.getter = noop; + warn$2("Failed watching path: \"".concat(expOrFn, "\" ") + + 'Watcher only accepts simple dot-delimited paths. ' + + 'For full control, use a function instead.', vm); + } + } + this.value = this.lazy ? undefined : this.get(); + } + /** + * Evaluate the getter, and re-collect dependencies. + */ + Watcher.prototype.get = function () { + pushTarget(this); + var value; + var vm = this.vm; + try { + value = this.getter.call(vm, vm); + } + catch (e) { + if (this.user) { + handleError(e, vm, "getter for watcher \"".concat(this.expression, "\"")); + } + else { + throw e; + } + } + finally { + // "touch" every property so they are all tracked as + // dependencies for deep watching + if (this.deep) { + traverse(value); + } + popTarget(); + this.cleanupDeps(); + } + return value; + }; + /** + * Add a dependency to this directive. + */ + Watcher.prototype.addDep = function (dep) { + var id = dep.id; + if (!this.newDepIds.has(id)) { + this.newDepIds.add(id); + this.newDeps.push(dep); + if (!this.depIds.has(id)) { + dep.addSub(this); + } + } + }; + /** + * Clean up for dependency collection. + */ + Watcher.prototype.cleanupDeps = function () { + var i = this.deps.length; + while (i--) { + var dep = this.deps[i]; + if (!this.newDepIds.has(dep.id)) { + dep.removeSub(this); + } + } + var tmp = this.depIds; + this.depIds = this.newDepIds; + this.newDepIds = tmp; + this.newDepIds.clear(); + tmp = this.deps; + this.deps = this.newDeps; + this.newDeps = tmp; + this.newDeps.length = 0; + }; + /** + * Subscriber interface. + * Will be called when a dependency changes. + */ + Watcher.prototype.update = function () { + /* istanbul ignore else */ + if (this.lazy) { + this.dirty = true; + } + else if (this.sync) { + this.run(); + } + else { + queueWatcher(this); + } + }; + /** + * Scheduler job interface. + * Will be called by the scheduler. + */ + Watcher.prototype.run = function () { + if (this.active) { + var value = this.get(); + if (value !== this.value || + // Deep watchers and watchers on Object/Arrays should fire even + // when the value is the same, because the value may + // have mutated. + isObject(value) || + this.deep) { + // set new value + var oldValue = this.value; + this.value = value; + if (this.user) { + var info = "callback for watcher \"".concat(this.expression, "\""); + invokeWithErrorHandling(this.cb, this.vm, [value, oldValue], this.vm, info); + } + else { + this.cb.call(this.vm, value, oldValue); + } + } + } + }; + /** + * Evaluate the value of the watcher. + * This only gets called for lazy watchers. + */ + Watcher.prototype.evaluate = function () { + this.value = this.get(); + this.dirty = false; + }; + /** + * Depend on all deps collected by this watcher. + */ + Watcher.prototype.depend = function () { + var i = this.deps.length; + while (i--) { + this.deps[i].depend(); + } + }; + /** + * Remove self from all dependencies' subscriber list. + */ + Watcher.prototype.teardown = function () { + if (this.vm && !this.vm._isBeingDestroyed) { + remove$2(this.vm._scope.effects, this); + } + if (this.active) { + var i = this.deps.length; + while (i--) { + this.deps[i].removeSub(this); + } + this.active = false; + if (this.onStop) { + this.onStop(); + } + } + }; + return Watcher; + }()); + + var sharedPropertyDefinition = { + enumerable: true, + configurable: true, + get: noop, + set: noop + }; + function proxy(target, sourceKey, key) { + sharedPropertyDefinition.get = function proxyGetter() { + return this[sourceKey][key]; + }; + sharedPropertyDefinition.set = function proxySetter(val) { + this[sourceKey][key] = val; + }; + Object.defineProperty(target, key, sharedPropertyDefinition); + } + function initState(vm) { + var opts = vm.$options; + if (opts.props) + initProps$1(vm, opts.props); + // Composition API + initSetup(vm); + if (opts.methods) + initMethods(vm, opts.methods); + if (opts.data) { + initData(vm); + } + else { + var ob = observe((vm._data = {})); + ob && ob.vmCount++; + } + if (opts.computed) + initComputed$1(vm, opts.computed); + if (opts.watch && opts.watch !== nativeWatch) { + initWatch(vm, opts.watch); + } + } + function initProps$1(vm, propsOptions) { + var propsData = vm.$options.propsData || {}; + var props = (vm._props = shallowReactive({})); + // cache prop keys so that future props updates can iterate using Array + // instead of dynamic object key enumeration. + var keys = (vm.$options._propKeys = []); + var isRoot = !vm.$parent; + // root instance props should be converted + if (!isRoot) { + toggleObserving(false); + } + var _loop_1 = function (key) { + keys.push(key); + var value = validateProp(key, propsOptions, propsData, vm); + /* istanbul ignore else */ + { + var hyphenatedKey = hyphenate(key); + if (isReservedAttribute(hyphenatedKey) || + config.isReservedAttr(hyphenatedKey)) { + warn$2("\"".concat(hyphenatedKey, "\" is a reserved attribute and cannot be used as component prop."), vm); + } + defineReactive(props, key, value, function () { + if (!isRoot && !isUpdatingChildComponent) { + warn$2("Avoid mutating a prop directly since the value will be " + + "overwritten whenever the parent component re-renders. " + + "Instead, use a data or computed property based on the prop's " + + "value. Prop being mutated: \"".concat(key, "\""), vm); + } + }); + } + // static props are already proxied on the component's prototype + // during Vue.extend(). We only need to proxy props defined at + // instantiation here. + if (!(key in vm)) { + proxy(vm, "_props", key); + } + }; + for (var key in propsOptions) { + _loop_1(key); + } + toggleObserving(true); + } + function initData(vm) { + var data = vm.$options.data; + data = vm._data = isFunction(data) ? getData(data, vm) : data || {}; + if (!isPlainObject(data)) { + data = {}; + warn$2('data functions should return an object:\n' + + 'https://v2.vuejs.org/v2/guide/components.html#data-Must-Be-a-Function', vm); + } + // proxy data on instance + var keys = Object.keys(data); + var props = vm.$options.props; + var methods = vm.$options.methods; + var i = keys.length; + while (i--) { + var key = keys[i]; + { + if (methods && hasOwn(methods, key)) { + warn$2("Method \"".concat(key, "\" has already been defined as a data property."), vm); + } + } + if (props && hasOwn(props, key)) { + warn$2("The data property \"".concat(key, "\" is already declared as a prop. ") + + "Use prop default value instead.", vm); + } + else if (!isReserved(key)) { + proxy(vm, "_data", key); + } + } + // observe data + var ob = observe(data); + ob && ob.vmCount++; + } + function getData(data, vm) { + // #7573 disable dep collection when invoking data getters + pushTarget(); + try { + return data.call(vm, vm); + } + catch (e) { + handleError(e, vm, "data()"); + return {}; + } + finally { + popTarget(); + } + } + var computedWatcherOptions = { lazy: true }; + function initComputed$1(vm, computed) { + // $flow-disable-line + var watchers = (vm._computedWatchers = Object.create(null)); + // computed properties are just getters during SSR + var isSSR = isServerRendering(); + for (var key in computed) { + var userDef = computed[key]; + var getter = isFunction(userDef) ? userDef : userDef.get; + if (getter == null) { + warn$2("Getter is missing for computed property \"".concat(key, "\"."), vm); + } + if (!isSSR) { + // create internal watcher for the computed property. + watchers[key] = new Watcher(vm, getter || noop, noop, computedWatcherOptions); + } + // component-defined computed properties are already defined on the + // component prototype. We only need to define computed properties defined + // at instantiation here. + if (!(key in vm)) { + defineComputed(vm, key, userDef); + } + else { + if (key in vm.$data) { + warn$2("The computed property \"".concat(key, "\" is already defined in data."), vm); + } + else if (vm.$options.props && key in vm.$options.props) { + warn$2("The computed property \"".concat(key, "\" is already defined as a prop."), vm); + } + else if (vm.$options.methods && key in vm.$options.methods) { + warn$2("The computed property \"".concat(key, "\" is already defined as a method."), vm); + } + } + } + } + function defineComputed(target, key, userDef) { + var shouldCache = !isServerRendering(); + if (isFunction(userDef)) { + sharedPropertyDefinition.get = shouldCache + ? createComputedGetter(key) + : createGetterInvoker(userDef); + sharedPropertyDefinition.set = noop; + } + else { + sharedPropertyDefinition.get = userDef.get + ? shouldCache && userDef.cache !== false + ? createComputedGetter(key) + : createGetterInvoker(userDef.get) + : noop; + sharedPropertyDefinition.set = userDef.set || noop; + } + if (sharedPropertyDefinition.set === noop) { + sharedPropertyDefinition.set = function () { + warn$2("Computed property \"".concat(key, "\" was assigned to but it has no setter."), this); + }; + } + Object.defineProperty(target, key, sharedPropertyDefinition); + } + function createComputedGetter(key) { + return function computedGetter() { + var watcher = this._computedWatchers && this._computedWatchers[key]; + if (watcher) { + if (watcher.dirty) { + watcher.evaluate(); + } + if (Dep.target) { + if (Dep.target.onTrack) { + Dep.target.onTrack({ + effect: Dep.target, + target: this, + type: "get" /* TrackOpTypes.GET */, + key: key + }); + } + watcher.depend(); + } + return watcher.value; + } + }; + } + function createGetterInvoker(fn) { + return function computedGetter() { + return fn.call(this, this); + }; + } + function initMethods(vm, methods) { + var props = vm.$options.props; + for (var key in methods) { + { + if (typeof methods[key] !== 'function') { + warn$2("Method \"".concat(key, "\" has type \"").concat(typeof methods[key], "\" in the component definition. ") + + "Did you reference the function correctly?", vm); + } + if (props && hasOwn(props, key)) { + warn$2("Method \"".concat(key, "\" has already been defined as a prop."), vm); + } + if (key in vm && isReserved(key)) { + warn$2("Method \"".concat(key, "\" conflicts with an existing Vue instance method. ") + + "Avoid defining component methods that start with _ or $."); + } + } + vm[key] = typeof methods[key] !== 'function' ? noop : bind$1(methods[key], vm); + } + } + function initWatch(vm, watch) { + for (var key in watch) { + var handler = watch[key]; + if (isArray(handler)) { + for (var i = 0; i < handler.length; i++) { + createWatcher(vm, key, handler[i]); + } + } + else { + createWatcher(vm, key, handler); + } + } + } + function createWatcher(vm, expOrFn, handler, options) { + if (isPlainObject(handler)) { + options = handler; + handler = handler.handler; + } + if (typeof handler === 'string') { + handler = vm[handler]; + } + return vm.$watch(expOrFn, handler, options); + } + function stateMixin(Vue) { + // flow somehow has problems with directly declared definition object + // when using Object.defineProperty, so we have to procedurally build up + // the object here. + var dataDef = {}; + dataDef.get = function () { + return this._data; + }; + var propsDef = {}; + propsDef.get = function () { + return this._props; + }; + { + dataDef.set = function () { + warn$2('Avoid replacing instance root $data. ' + + 'Use nested data properties instead.', this); + }; + propsDef.set = function () { + warn$2("$props is readonly.", this); + }; + } + Object.defineProperty(Vue.prototype, '$data', dataDef); + Object.defineProperty(Vue.prototype, '$props', propsDef); + Vue.prototype.$set = set; + Vue.prototype.$delete = del; + Vue.prototype.$watch = function (expOrFn, cb, options) { + var vm = this; + if (isPlainObject(cb)) { + return createWatcher(vm, expOrFn, cb, options); + } + options = options || {}; + options.user = true; + var watcher = new Watcher(vm, expOrFn, cb, options); + if (options.immediate) { + var info = "callback for immediate watcher \"".concat(watcher.expression, "\""); + pushTarget(); + invokeWithErrorHandling(cb, vm, [watcher.value], vm, info); + popTarget(); + } + return function unwatchFn() { + watcher.teardown(); + }; + }; + } + + function initProvide(vm) { + var provideOption = vm.$options.provide; + if (provideOption) { + var provided = isFunction(provideOption) + ? provideOption.call(vm) + : provideOption; + if (!isObject(provided)) { + return; + } + var source = resolveProvided(vm); + // IE9 doesn't support Object.getOwnPropertyDescriptors so we have to + // iterate the keys ourselves. + var keys = hasSymbol ? Reflect.ownKeys(provided) : Object.keys(provided); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + Object.defineProperty(source, key, Object.getOwnPropertyDescriptor(provided, key)); + } + } + } + function initInjections(vm) { + var result = resolveInject(vm.$options.inject, vm); + if (result) { + toggleObserving(false); + Object.keys(result).forEach(function (key) { + /* istanbul ignore else */ + { + defineReactive(vm, key, result[key], function () { + warn$2("Avoid mutating an injected value directly since the changes will be " + + "overwritten whenever the provided component re-renders. " + + "injection being mutated: \"".concat(key, "\""), vm); + }); + } + }); + toggleObserving(true); + } + } + function resolveInject(inject, vm) { + if (inject) { + // inject is :any because flow is not smart enough to figure out cached + var result = Object.create(null); + var keys = hasSymbol ? Reflect.ownKeys(inject) : Object.keys(inject); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + // #6574 in case the inject object is observed... + if (key === '__ob__') + continue; + var provideKey = inject[key].from; + if (provideKey in vm._provided) { + result[key] = vm._provided[provideKey]; + } + else if ('default' in inject[key]) { + var provideDefault = inject[key].default; + result[key] = isFunction(provideDefault) + ? provideDefault.call(vm) + : provideDefault; + } + else { + warn$2("Injection \"".concat(key, "\" not found"), vm); + } + } + return result; + } + } + + var uid = 0; + function initMixin$1(Vue) { + Vue.prototype._init = function (options) { + var vm = this; + // a uid + vm._uid = uid++; + var startTag, endTag; + /* istanbul ignore if */ + if (config.performance && mark) { + startTag = "vue-perf-start:".concat(vm._uid); + endTag = "vue-perf-end:".concat(vm._uid); + mark(startTag); + } + // a flag to mark this as a Vue instance without having to do instanceof + // check + vm._isVue = true; + // avoid instances from being observed + vm.__v_skip = true; + // effect scope + vm._scope = new EffectScope(true /* detached */); + vm._scope._vm = true; + // merge options + if (options && options._isComponent) { + // optimize internal component instantiation + // since dynamic options merging is pretty slow, and none of the + // internal component options needs special treatment. + initInternalComponent(vm, options); + } + else { + vm.$options = mergeOptions(resolveConstructorOptions(vm.constructor), options || {}, vm); + } + /* istanbul ignore else */ + { + initProxy(vm); + } + // expose real self + vm._self = vm; + initLifecycle(vm); + initEvents(vm); + initRender(vm); + callHook$1(vm, 'beforeCreate', undefined, false /* setContext */); + initInjections(vm); // resolve injections before data/props + initState(vm); + initProvide(vm); // resolve provide after data/props + callHook$1(vm, 'created'); + /* istanbul ignore if */ + if (config.performance && mark) { + vm._name = formatComponentName(vm, false); + mark(endTag); + measure("vue ".concat(vm._name, " init"), startTag, endTag); + } + if (vm.$options.el) { + vm.$mount(vm.$options.el); + } + }; + } + function initInternalComponent(vm, options) { + var opts = (vm.$options = Object.create(vm.constructor.options)); + // doing this because it's faster than dynamic enumeration. + var parentVnode = options._parentVnode; + opts.parent = options.parent; + opts._parentVnode = parentVnode; + var vnodeComponentOptions = parentVnode.componentOptions; + opts.propsData = vnodeComponentOptions.propsData; + opts._parentListeners = vnodeComponentOptions.listeners; + opts._renderChildren = vnodeComponentOptions.children; + opts._componentTag = vnodeComponentOptions.tag; + if (options.render) { + opts.render = options.render; + opts.staticRenderFns = options.staticRenderFns; + } + } + function resolveConstructorOptions(Ctor) { + var options = Ctor.options; + if (Ctor.super) { + var superOptions = resolveConstructorOptions(Ctor.super); + var cachedSuperOptions = Ctor.superOptions; + if (superOptions !== cachedSuperOptions) { + // super option changed, + // need to resolve new options. + Ctor.superOptions = superOptions; + // check if there are any late-modified/attached options (#4976) + var modifiedOptions = resolveModifiedOptions(Ctor); + // update base extend options + if (modifiedOptions) { + extend(Ctor.extendOptions, modifiedOptions); + } + options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions); + if (options.name) { + options.components[options.name] = Ctor; + } + } + } + return options; + } + function resolveModifiedOptions(Ctor) { + var modified; + var latest = Ctor.options; + var sealed = Ctor.sealedOptions; + for (var key in latest) { + if (latest[key] !== sealed[key]) { + if (!modified) + modified = {}; + modified[key] = latest[key]; + } + } + return modified; + } + + function FunctionalRenderContext(data, props, children, parent, Ctor) { + var _this = this; + var options = Ctor.options; + // ensure the createElement function in functional components + // gets a unique context - this is necessary for correct named slot check + var contextVm; + if (hasOwn(parent, '_uid')) { + contextVm = Object.create(parent); + contextVm._original = parent; + } + else { + // the context vm passed in is a functional context as well. + // in this case we want to make sure we are able to get a hold to the + // real context instance. + contextVm = parent; + // @ts-ignore + parent = parent._original; + } + var isCompiled = isTrue(options._compiled); + var needNormalization = !isCompiled; + this.data = data; + this.props = props; + this.children = children; + this.parent = parent; + this.listeners = data.on || emptyObject; + this.injections = resolveInject(options.inject, parent); + this.slots = function () { + if (!_this.$slots) { + normalizeScopedSlots(parent, data.scopedSlots, (_this.$slots = resolveSlots(children, parent))); + } + return _this.$slots; + }; + Object.defineProperty(this, 'scopedSlots', { + enumerable: true, + get: function () { + return normalizeScopedSlots(parent, data.scopedSlots, this.slots()); + } + }); + // support for compiled functional template + if (isCompiled) { + // exposing $options for renderStatic() + this.$options = options; + // pre-resolve slots for renderSlot() + this.$slots = this.slots(); + this.$scopedSlots = normalizeScopedSlots(parent, data.scopedSlots, this.$slots); + } + if (options._scopeId) { + this._c = function (a, b, c, d) { + var vnode = createElement$1(contextVm, a, b, c, d, needNormalization); + if (vnode && !isArray(vnode)) { + vnode.fnScopeId = options._scopeId; + vnode.fnContext = parent; + } + return vnode; + }; + } + else { + this._c = function (a, b, c, d) { + return createElement$1(contextVm, a, b, c, d, needNormalization); + }; + } + } + installRenderHelpers(FunctionalRenderContext.prototype); + function createFunctionalComponent(Ctor, propsData, data, contextVm, children) { + var options = Ctor.options; + var props = {}; + var propOptions = options.props; + if (isDef(propOptions)) { + for (var key in propOptions) { + props[key] = validateProp(key, propOptions, propsData || emptyObject); + } + } + else { + if (isDef(data.attrs)) + mergeProps(props, data.attrs); + if (isDef(data.props)) + mergeProps(props, data.props); + } + var renderContext = new FunctionalRenderContext(data, props, children, contextVm, Ctor); + var vnode = options.render.call(null, renderContext._c, renderContext); + if (vnode instanceof VNode) { + return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext); + } + else if (isArray(vnode)) { + var vnodes = normalizeChildren(vnode) || []; + var res = new Array(vnodes.length); + for (var i = 0; i < vnodes.length; i++) { + res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext); + } + return res; + } + } + function cloneAndMarkFunctionalResult(vnode, data, contextVm, options, renderContext) { + // #7817 clone node before setting fnContext, otherwise if the node is reused + // (e.g. it was from a cached normal slot) the fnContext causes named slots + // that should not be matched to match. + var clone = cloneVNode(vnode); + clone.fnContext = contextVm; + clone.fnOptions = options; + { + (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = + renderContext; + } + if (data.slot) { + (clone.data || (clone.data = {})).slot = data.slot; + } + return clone; + } + function mergeProps(to, from) { + for (var key in from) { + to[camelize(key)] = from[key]; + } + } + + function getComponentName(options) { + return options.name || options.__name || options._componentTag; + } + // inline hooks to be invoked on component VNodes during patch + var componentVNodeHooks = { + init: function (vnode, hydrating) { + if (vnode.componentInstance && + !vnode.componentInstance._isDestroyed && + vnode.data.keepAlive) { + // kept-alive components, treat as a patch + var mountedNode = vnode; // work around flow + componentVNodeHooks.prepatch(mountedNode, mountedNode); + } + else { + var child = (vnode.componentInstance = createComponentInstanceForVnode(vnode, activeInstance)); + child.$mount(hydrating ? vnode.elm : undefined, hydrating); + } + }, + prepatch: function (oldVnode, vnode) { + var options = vnode.componentOptions; + var child = (vnode.componentInstance = oldVnode.componentInstance); + updateChildComponent(child, options.propsData, // updated props + options.listeners, // updated listeners + vnode, // new parent vnode + options.children // new children + ); + }, + insert: function (vnode) { + var context = vnode.context, componentInstance = vnode.componentInstance; + if (!componentInstance._isMounted) { + componentInstance._isMounted = true; + callHook$1(componentInstance, 'mounted'); + } + if (vnode.data.keepAlive) { + if (context._isMounted) { + // vue-router#1212 + // During updates, a kept-alive component's child components may + // change, so directly walking the tree here may call activated hooks + // on incorrect children. Instead we push them into a queue which will + // be processed after the whole patch process ended. + queueActivatedComponent(componentInstance); + } + else { + activateChildComponent(componentInstance, true /* direct */); + } + } + }, + destroy: function (vnode) { + var componentInstance = vnode.componentInstance; + if (!componentInstance._isDestroyed) { + if (!vnode.data.keepAlive) { + componentInstance.$destroy(); + } + else { + deactivateChildComponent(componentInstance, true /* direct */); + } + } + } + }; + var hooksToMerge = Object.keys(componentVNodeHooks); + function createComponent(Ctor, data, context, children, tag) { + if (isUndef(Ctor)) { + return; + } + var baseCtor = context.$options._base; + // plain options object: turn it into a constructor + if (isObject(Ctor)) { + Ctor = baseCtor.extend(Ctor); + } + // if at this stage it's not a constructor or an async component factory, + // reject. + if (typeof Ctor !== 'function') { + { + warn$2("Invalid Component definition: ".concat(String(Ctor)), context); + } + return; + } + // async component + var asyncFactory; + // @ts-expect-error + if (isUndef(Ctor.cid)) { + asyncFactory = Ctor; + Ctor = resolveAsyncComponent(asyncFactory, baseCtor); + if (Ctor === undefined) { + // return a placeholder node for async component, which is rendered + // as a comment node but preserves all the raw information for the node. + // the information will be used for async server-rendering and hydration. + return createAsyncPlaceholder(asyncFactory, data, context, children, tag); + } + } + data = data || {}; + // resolve constructor options in case global mixins are applied after + // component constructor creation + resolveConstructorOptions(Ctor); + // transform component v-model data into props & events + if (isDef(data.model)) { + // @ts-expect-error + transformModel(Ctor.options, data); + } + // extract props + // @ts-expect-error + var propsData = extractPropsFromVNodeData(data, Ctor, tag); + // functional component + // @ts-expect-error + if (isTrue(Ctor.options.functional)) { + return createFunctionalComponent(Ctor, propsData, data, context, children); + } + // extract listeners, since these needs to be treated as + // child component listeners instead of DOM listeners + var listeners = data.on; + // replace with listeners with .native modifier + // so it gets processed during parent component patch. + data.on = data.nativeOn; + // @ts-expect-error + if (isTrue(Ctor.options.abstract)) { + // abstract components do not keep anything + // other than props & listeners & slot + // work around flow + var slot = data.slot; + data = {}; + if (slot) { + data.slot = slot; + } + } + // install component management hooks onto the placeholder node + installComponentHooks(data); + // return a placeholder vnode + // @ts-expect-error + var name = getComponentName(Ctor.options) || tag; + var vnode = new VNode( + // @ts-expect-error + "vue-component-".concat(Ctor.cid).concat(name ? "-".concat(name) : ''), data, undefined, undefined, undefined, context, + // @ts-expect-error + { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children }, asyncFactory); + return vnode; + } + function createComponentInstanceForVnode( + // we know it's MountedComponentVNode but flow doesn't + vnode, + // activeInstance in lifecycle state + parent) { + var options = { + _isComponent: true, + _parentVnode: vnode, + parent: parent + }; + // check inline-template render functions + var inlineTemplate = vnode.data.inlineTemplate; + if (isDef(inlineTemplate)) { + options.render = inlineTemplate.render; + options.staticRenderFns = inlineTemplate.staticRenderFns; + } + return new vnode.componentOptions.Ctor(options); + } + function installComponentHooks(data) { + var hooks = data.hook || (data.hook = {}); + for (var i = 0; i < hooksToMerge.length; i++) { + var key = hooksToMerge[i]; + var existing = hooks[key]; + var toMerge = componentVNodeHooks[key]; + // @ts-expect-error + if (existing !== toMerge && !(existing && existing._merged)) { + hooks[key] = existing ? mergeHook(toMerge, existing) : toMerge; + } + } + } + function mergeHook(f1, f2) { + var merged = function (a, b) { + // flow complains about extra args which is why we use any + f1(a, b); + f2(a, b); + }; + merged._merged = true; + return merged; + } + // transform component v-model info (value and callback) into + // prop and event handler respectively. + function transformModel(options, data) { + var prop = (options.model && options.model.prop) || 'value'; + var event = (options.model && options.model.event) || 'input'; + (data.attrs || (data.attrs = {}))[prop] = data.model.value; + var on = data.on || (data.on = {}); + var existing = on[event]; + var callback = data.model.callback; + if (isDef(existing)) { + if (isArray(existing) + ? existing.indexOf(callback) === -1 + : existing !== callback) { + on[event] = [callback].concat(existing); + } + } + else { + on[event] = callback; + } + } + + var warn$2 = noop; + var tip = noop; + var generateComponentTrace; // work around flow check + var formatComponentName; + { + var hasConsole_1 = typeof console !== 'undefined'; + var classifyRE_1 = /(?:^|[-_])(\w)/g; + var classify_1 = function (str) { + return str.replace(classifyRE_1, function (c) { return c.toUpperCase(); }).replace(/[-_]/g, ''); + }; + warn$2 = function (msg, vm) { + if (vm === void 0) { vm = currentInstance; } + var trace = vm ? generateComponentTrace(vm) : ''; + if (config.warnHandler) { + config.warnHandler.call(null, msg, vm, trace); + } + else if (hasConsole_1 && !config.silent) { + console.error("[Vue warn]: ".concat(msg).concat(trace)); + } + }; + tip = function (msg, vm) { + if (hasConsole_1 && !config.silent) { + console.warn("[Vue tip]: ".concat(msg) + (vm ? generateComponentTrace(vm) : '')); + } + }; + formatComponentName = function (vm, includeFile) { + if (vm.$root === vm) { + return '<Root>'; + } + var options = isFunction(vm) && vm.cid != null + ? vm.options + : vm._isVue + ? vm.$options || vm.constructor.options + : vm; + var name = getComponentName(options); + var file = options.__file; + if (!name && file) { + var match = file.match(/([^/\\]+)\.vue$/); + name = match && match[1]; + } + return ((name ? "<".concat(classify_1(name), ">") : "<Anonymous>") + + (file && includeFile !== false ? " at ".concat(file) : '')); + }; + var repeat_1 = function (str, n) { + var res = ''; + while (n) { + if (n % 2 === 1) + res += str; + if (n > 1) + str += str; + n >>= 1; + } + return res; + }; + generateComponentTrace = function (vm) { + if (vm._isVue && vm.$parent) { + var tree = []; + var currentRecursiveSequence = 0; + while (vm) { + if (tree.length > 0) { + var last = tree[tree.length - 1]; + if (last.constructor === vm.constructor) { + currentRecursiveSequence++; + vm = vm.$parent; + continue; + } + else if (currentRecursiveSequence > 0) { + tree[tree.length - 1] = [last, currentRecursiveSequence]; + currentRecursiveSequence = 0; + } + } + tree.push(vm); + vm = vm.$parent; + } + return ('\n\nfound in\n\n' + + tree + .map(function (vm, i) { + return "".concat(i === 0 ? '---> ' : repeat_1(' ', 5 + i * 2)).concat(isArray(vm) + ? "".concat(formatComponentName(vm[0]), "... (").concat(vm[1], " recursive calls)") + : formatComponentName(vm)); + }) + .join('\n')); + } + else { + return "\n\n(found in ".concat(formatComponentName(vm), ")"); + } + }; + } + + /** + * Option overwriting strategies are functions that handle + * how to merge a parent option value and a child option + * value into the final value. + */ + var strats = config.optionMergeStrategies; + /** + * Options with restrictions + */ + { + strats.el = strats.propsData = function (parent, child, vm, key) { + if (!vm) { + warn$2("option \"".concat(key, "\" can only be used during instance ") + + 'creation with the `new` keyword.'); + } + return defaultStrat(parent, child); + }; + } + /** + * Helper that recursively merges two data objects together. + */ + function mergeData(to, from, recursive) { + if (recursive === void 0) { recursive = true; } + if (!from) + return to; + var key, toVal, fromVal; + var keys = hasSymbol + ? Reflect.ownKeys(from) + : Object.keys(from); + for (var i = 0; i < keys.length; i++) { + key = keys[i]; + // in case the object is already observed... + if (key === '__ob__') + continue; + toVal = to[key]; + fromVal = from[key]; + if (!recursive || !hasOwn(to, key)) { + set(to, key, fromVal); + } + else if (toVal !== fromVal && + isPlainObject(toVal) && + isPlainObject(fromVal)) { + mergeData(toVal, fromVal); + } + } + return to; + } + /** + * Data + */ + function mergeDataOrFn(parentVal, childVal, vm) { + if (!vm) { + // in a Vue.extend merge, both should be functions + if (!childVal) { + return parentVal; + } + if (!parentVal) { + return childVal; + } + // when parentVal & childVal are both present, + // we need to return a function that returns the + // merged result of both functions... no need to + // check if parentVal is a function here because + // it has to be a function to pass previous merges. + return function mergedDataFn() { + return mergeData(isFunction(childVal) ? childVal.call(this, this) : childVal, isFunction(parentVal) ? parentVal.call(this, this) : parentVal); + }; + } + else { + return function mergedInstanceDataFn() { + // instance merge + var instanceData = isFunction(childVal) + ? childVal.call(vm, vm) + : childVal; + var defaultData = isFunction(parentVal) + ? parentVal.call(vm, vm) + : parentVal; + if (instanceData) { + return mergeData(instanceData, defaultData); + } + else { + return defaultData; + } + }; + } + } + strats.data = function (parentVal, childVal, vm) { + if (!vm) { + if (childVal && typeof childVal !== 'function') { + warn$2('The "data" option should be a function ' + + 'that returns a per-instance value in component ' + + 'definitions.', vm); + return parentVal; + } + return mergeDataOrFn(parentVal, childVal); + } + return mergeDataOrFn(parentVal, childVal, vm); + }; + /** + * Hooks and props are merged as arrays. + */ + function mergeLifecycleHook(parentVal, childVal) { + var res = childVal + ? parentVal + ? parentVal.concat(childVal) + : isArray(childVal) + ? childVal + : [childVal] + : parentVal; + return res ? dedupeHooks(res) : res; + } + function dedupeHooks(hooks) { + var res = []; + for (var i = 0; i < hooks.length; i++) { + if (res.indexOf(hooks[i]) === -1) { + res.push(hooks[i]); + } + } + return res; + } + LIFECYCLE_HOOKS.forEach(function (hook) { + strats[hook] = mergeLifecycleHook; + }); + /** + * Assets + * + * When a vm is present (instance creation), we need to do + * a three-way merge between constructor options, instance + * options and parent options. + */ + function mergeAssets(parentVal, childVal, vm, key) { + var res = Object.create(parentVal || null); + if (childVal) { + assertObjectType(key, childVal, vm); + return extend(res, childVal); + } + else { + return res; + } + } + ASSET_TYPES.forEach(function (type) { + strats[type + 's'] = mergeAssets; + }); + /** + * Watchers. + * + * Watchers hashes should not overwrite one + * another, so we merge them as arrays. + */ + strats.watch = function (parentVal, childVal, vm, key) { + // work around Firefox's Object.prototype.watch... + //@ts-expect-error work around + if (parentVal === nativeWatch) + parentVal = undefined; + //@ts-expect-error work around + if (childVal === nativeWatch) + childVal = undefined; + /* istanbul ignore if */ + if (!childVal) + return Object.create(parentVal || null); + { + assertObjectType(key, childVal, vm); + } + if (!parentVal) + return childVal; + var ret = {}; + extend(ret, parentVal); + for (var key_1 in childVal) { + var parent_1 = ret[key_1]; + var child = childVal[key_1]; + if (parent_1 && !isArray(parent_1)) { + parent_1 = [parent_1]; + } + ret[key_1] = parent_1 ? parent_1.concat(child) : isArray(child) ? child : [child]; + } + return ret; + }; + /** + * Other object hashes. + */ + strats.props = + strats.methods = + strats.inject = + strats.computed = + function (parentVal, childVal, vm, key) { + if (childVal && true) { + assertObjectType(key, childVal, vm); + } + if (!parentVal) + return childVal; + var ret = Object.create(null); + extend(ret, parentVal); + if (childVal) + extend(ret, childVal); + return ret; + }; + strats.provide = function (parentVal, childVal) { + if (!parentVal) + return childVal; + return function () { + var ret = Object.create(null); + mergeData(ret, isFunction(parentVal) ? parentVal.call(this) : parentVal); + if (childVal) { + mergeData(ret, isFunction(childVal) ? childVal.call(this) : childVal, false // non-recursive + ); + } + return ret; + }; + }; + /** + * Default strategy. + */ + var defaultStrat = function (parentVal, childVal) { + return childVal === undefined ? parentVal : childVal; + }; + /** + * Validate component names + */ + function checkComponents(options) { + for (var key in options.components) { + validateComponentName(key); + } + } + function validateComponentName(name) { + if (!new RegExp("^[a-zA-Z][\\-\\.0-9_".concat(unicodeRegExp.source, "]*$")).test(name)) { + warn$2('Invalid component name: "' + + name + + '". Component names ' + + 'should conform to valid custom element name in html5 specification.'); + } + if (isBuiltInTag(name) || config.isReservedTag(name)) { + warn$2('Do not use built-in or reserved HTML elements as component ' + + 'id: ' + + name); + } + } + /** + * Ensure all props option syntax are normalized into the + * Object-based format. + */ + function normalizeProps(options, vm) { + var props = options.props; + if (!props) + return; + var res = {}; + var i, val, name; + if (isArray(props)) { + i = props.length; + while (i--) { + val = props[i]; + if (typeof val === 'string') { + name = camelize(val); + res[name] = { type: null }; + } + else { + warn$2('props must be strings when using array syntax.'); + } + } + } + else if (isPlainObject(props)) { + for (var key in props) { + val = props[key]; + name = camelize(key); + res[name] = isPlainObject(val) ? val : { type: val }; + } + } + else { + warn$2("Invalid value for option \"props\": expected an Array or an Object, " + + "but got ".concat(toRawType(props), "."), vm); + } + options.props = res; + } + /** + * Normalize all injections into Object-based format + */ + function normalizeInject(options, vm) { + var inject = options.inject; + if (!inject) + return; + var normalized = (options.inject = {}); + if (isArray(inject)) { + for (var i = 0; i < inject.length; i++) { + normalized[inject[i]] = { from: inject[i] }; + } + } + else if (isPlainObject(inject)) { + for (var key in inject) { + var val = inject[key]; + normalized[key] = isPlainObject(val) + ? extend({ from: key }, val) + : { from: val }; + } + } + else { + warn$2("Invalid value for option \"inject\": expected an Array or an Object, " + + "but got ".concat(toRawType(inject), "."), vm); + } + } + /** + * Normalize raw function directives into object format. + */ + function normalizeDirectives$1(options) { + var dirs = options.directives; + if (dirs) { + for (var key in dirs) { + var def = dirs[key]; + if (isFunction(def)) { + dirs[key] = { bind: def, update: def }; + } + } + } + } + function assertObjectType(name, value, vm) { + if (!isPlainObject(value)) { + warn$2("Invalid value for option \"".concat(name, "\": expected an Object, ") + + "but got ".concat(toRawType(value), "."), vm); + } + } + /** + * Merge two option objects into a new one. + * Core utility used in both instantiation and inheritance. + */ + function mergeOptions(parent, child, vm) { + { + checkComponents(child); + } + if (isFunction(child)) { + // @ts-expect-error + child = child.options; + } + normalizeProps(child, vm); + normalizeInject(child, vm); + normalizeDirectives$1(child); + // Apply extends and mixins on the child options, + // but only if it is a raw options object that isn't + // the result of another mergeOptions call. + // Only merged options has the _base property. + if (!child._base) { + if (child.extends) { + parent = mergeOptions(parent, child.extends, vm); + } + if (child.mixins) { + for (var i = 0, l = child.mixins.length; i < l; i++) { + parent = mergeOptions(parent, child.mixins[i], vm); + } + } + } + var options = {}; + var key; + for (key in parent) { + mergeField(key); + } + for (key in child) { + if (!hasOwn(parent, key)) { + mergeField(key); + } + } + function mergeField(key) { + var strat = strats[key] || defaultStrat; + options[key] = strat(parent[key], child[key], vm, key); + } + return options; + } + /** + * Resolve an asset. + * This function is used because child instances need access + * to assets defined in its ancestor chain. + */ + function resolveAsset(options, type, id, warnMissing) { + /* istanbul ignore if */ + if (typeof id !== 'string') { + return; + } + var assets = options[type]; + // check local registration variations first + if (hasOwn(assets, id)) + return assets[id]; + var camelizedId = camelize(id); + if (hasOwn(assets, camelizedId)) + return assets[camelizedId]; + var PascalCaseId = capitalize(camelizedId); + if (hasOwn(assets, PascalCaseId)) + return assets[PascalCaseId]; + // fallback to prototype chain + var res = assets[id] || assets[camelizedId] || assets[PascalCaseId]; + if (warnMissing && !res) { + warn$2('Failed to resolve ' + type.slice(0, -1) + ': ' + id); + } + return res; + } + + function validateProp(key, propOptions, propsData, vm) { + var prop = propOptions[key]; + var absent = !hasOwn(propsData, key); + var value = propsData[key]; + // boolean casting + var booleanIndex = getTypeIndex(Boolean, prop.type); + if (booleanIndex > -1) { + if (absent && !hasOwn(prop, 'default')) { + value = false; + } + else if (value === '' || value === hyphenate(key)) { + // only cast empty string / same name to boolean if + // boolean has higher priority + var stringIndex = getTypeIndex(String, prop.type); + if (stringIndex < 0 || booleanIndex < stringIndex) { + value = true; + } + } + } + // check default value + if (value === undefined) { + value = getPropDefaultValue(vm, prop, key); + // since the default value is a fresh copy, + // make sure to observe it. + var prevShouldObserve = shouldObserve; + toggleObserving(true); + observe(value); + toggleObserving(prevShouldObserve); + } + { + assertProp(prop, key, value, vm, absent); + } + return value; + } + /** + * Get the default value of a prop. + */ + function getPropDefaultValue(vm, prop, key) { + // no default, return undefined + if (!hasOwn(prop, 'default')) { + return undefined; + } + var def = prop.default; + // warn against non-factory defaults for Object & Array + if (isObject(def)) { + warn$2('Invalid default value for prop "' + + key + + '": ' + + 'Props with type Object/Array must use a factory function ' + + 'to return the default value.', vm); + } + // the raw prop value was also undefined from previous render, + // return previous default value to avoid unnecessary watcher trigger + if (vm && + vm.$options.propsData && + vm.$options.propsData[key] === undefined && + vm._props[key] !== undefined) { + return vm._props[key]; + } + // call factory function for non-Function types + // a value is Function if its prototype is function even across different execution context + return isFunction(def) && getType(prop.type) !== 'Function' + ? def.call(vm) + : def; + } + /** + * Assert whether a prop is valid. + */ + function assertProp(prop, name, value, vm, absent) { + if (prop.required && absent) { + warn$2('Missing required prop: "' + name + '"', vm); + return; + } + if (value == null && !prop.required) { + return; + } + var type = prop.type; + var valid = !type || type === true; + var expectedTypes = []; + if (type) { + if (!isArray(type)) { + type = [type]; + } + for (var i = 0; i < type.length && !valid; i++) { + var assertedType = assertType(value, type[i], vm); + expectedTypes.push(assertedType.expectedType || ''); + valid = assertedType.valid; + } + } + var haveExpectedTypes = expectedTypes.some(function (t) { return t; }); + if (!valid && haveExpectedTypes) { + warn$2(getInvalidTypeMessage(name, value, expectedTypes), vm); + return; + } + var validator = prop.validator; + if (validator) { + if (!validator(value)) { + warn$2('Invalid prop: custom validator check failed for prop "' + name + '".', vm); + } + } + } + var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol|BigInt)$/; + function assertType(value, type, vm) { + var valid; + var expectedType = getType(type); + if (simpleCheckRE.test(expectedType)) { + var t = typeof value; + valid = t === expectedType.toLowerCase(); + // for primitive wrapper objects + if (!valid && t === 'object') { + valid = value instanceof type; + } + } + else if (expectedType === 'Object') { + valid = isPlainObject(value); + } + else if (expectedType === 'Array') { + valid = isArray(value); + } + else { + try { + valid = value instanceof type; + } + catch (e) { + warn$2('Invalid prop type: "' + String(type) + '" is not a constructor', vm); + valid = false; + } + } + return { + valid: valid, + expectedType: expectedType + }; + } + var functionTypeCheckRE = /^\s*function (\w+)/; + /** + * Use function string name to check built-in types, + * because a simple equality check will fail when running + * across different vms / iframes. + */ + function getType(fn) { + var match = fn && fn.toString().match(functionTypeCheckRE); + return match ? match[1] : ''; + } + function isSameType(a, b) { + return getType(a) === getType(b); + } + function getTypeIndex(type, expectedTypes) { + if (!isArray(expectedTypes)) { + return isSameType(expectedTypes, type) ? 0 : -1; + } + for (var i = 0, len = expectedTypes.length; i < len; i++) { + if (isSameType(expectedTypes[i], type)) { + return i; + } + } + return -1; + } + function getInvalidTypeMessage(name, value, expectedTypes) { + var message = "Invalid prop: type check failed for prop \"".concat(name, "\".") + + " Expected ".concat(expectedTypes.map(capitalize).join(', ')); + var expectedType = expectedTypes[0]; + var receivedType = toRawType(value); + // check if we need to specify expected value + if (expectedTypes.length === 1 && + isExplicable(expectedType) && + isExplicable(typeof value) && + !isBoolean(expectedType, receivedType)) { + message += " with value ".concat(styleValue(value, expectedType)); + } + message += ", got ".concat(receivedType, " "); + // check if we need to specify received value + if (isExplicable(receivedType)) { + message += "with value ".concat(styleValue(value, receivedType), "."); + } + return message; + } + function styleValue(value, type) { + if (type === 'String') { + return "\"".concat(value, "\""); + } + else if (type === 'Number') { + return "".concat(Number(value)); + } + else { + return "".concat(value); + } + } + var EXPLICABLE_TYPES = ['string', 'number', 'boolean']; + function isExplicable(value) { + return EXPLICABLE_TYPES.some(function (elem) { return value.toLowerCase() === elem; }); + } + function isBoolean() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; }); + } + + function Vue(options) { + if (!(this instanceof Vue)) { + warn$2('Vue is a constructor and should be called with the `new` keyword'); + } + this._init(options); + } + //@ts-expect-error Vue has function type + initMixin$1(Vue); + //@ts-expect-error Vue has function type + stateMixin(Vue); + //@ts-expect-error Vue has function type + eventsMixin(Vue); + //@ts-expect-error Vue has function type + lifecycleMixin(Vue); + //@ts-expect-error Vue has function type + renderMixin(Vue); + + function initUse(Vue) { + Vue.use = function (plugin) { + var installedPlugins = this._installedPlugins || (this._installedPlugins = []); + if (installedPlugins.indexOf(plugin) > -1) { + return this; + } + // additional parameters + var args = toArray(arguments, 1); + args.unshift(this); + if (isFunction(plugin.install)) { + plugin.install.apply(plugin, args); + } + else if (isFunction(plugin)) { + plugin.apply(null, args); + } + installedPlugins.push(plugin); + return this; + }; + } + + function initMixin(Vue) { + Vue.mixin = function (mixin) { + this.options = mergeOptions(this.options, mixin); + return this; + }; + } + + function initExtend(Vue) { + /** + * Each instance constructor, including Vue, has a unique + * cid. This enables us to create wrapped "child + * constructors" for prototypal inheritance and cache them. + */ + Vue.cid = 0; + var cid = 1; + /** + * Class inheritance + */ + Vue.extend = function (extendOptions) { + extendOptions = extendOptions || {}; + var Super = this; + var SuperId = Super.cid; + var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {}); + if (cachedCtors[SuperId]) { + return cachedCtors[SuperId]; + } + var name = getComponentName(extendOptions) || getComponentName(Super.options); + if (name) { + validateComponentName(name); + } + var Sub = function VueComponent(options) { + this._init(options); + }; + Sub.prototype = Object.create(Super.prototype); + Sub.prototype.constructor = Sub; + Sub.cid = cid++; + Sub.options = mergeOptions(Super.options, extendOptions); + Sub['super'] = Super; + // For props and computed properties, we define the proxy getters on + // the Vue instances at extension time, on the extended prototype. This + // avoids Object.defineProperty calls for each instance created. + if (Sub.options.props) { + initProps(Sub); + } + if (Sub.options.computed) { + initComputed(Sub); + } + // allow further extension/mixin/plugin usage + Sub.extend = Super.extend; + Sub.mixin = Super.mixin; + Sub.use = Super.use; + // create asset registers, so extended classes + // can have their private assets too. + ASSET_TYPES.forEach(function (type) { + Sub[type] = Super[type]; + }); + // enable recursive self-lookup + if (name) { + Sub.options.components[name] = Sub; + } + // keep a reference to the super options at extension time. + // later at instantiation we can check if Super's options have + // been updated. + Sub.superOptions = Super.options; + Sub.extendOptions = extendOptions; + Sub.sealedOptions = extend({}, Sub.options); + // cache constructor + cachedCtors[SuperId] = Sub; + return Sub; + }; + } + function initProps(Comp) { + var props = Comp.options.props; + for (var key in props) { + proxy(Comp.prototype, "_props", key); + } + } + function initComputed(Comp) { + var computed = Comp.options.computed; + for (var key in computed) { + defineComputed(Comp.prototype, key, computed[key]); + } + } + + function initAssetRegisters(Vue) { + /** + * Create asset registration methods. + */ + ASSET_TYPES.forEach(function (type) { + // @ts-expect-error function is not exact same type + Vue[type] = function (id, definition) { + if (!definition) { + return this.options[type + 's'][id]; + } + else { + /* istanbul ignore if */ + if (type === 'component') { + validateComponentName(id); + } + if (type === 'component' && isPlainObject(definition)) { + // @ts-expect-error + definition.name = definition.name || id; + definition = this.options._base.extend(definition); + } + if (type === 'directive' && isFunction(definition)) { + definition = { bind: definition, update: definition }; + } + this.options[type + 's'][id] = definition; + return definition; + } + }; + }); + } - var getHandler = { - get: function get (target, key) { - if (typeof key === 'string' && !(key in target)) { - warnNonPresent(target, key); + function _getComponentName(opts) { + return opts && (getComponentName(opts.Ctor.options) || opts.tag); + } + function matches(pattern, name) { + if (isArray(pattern)) { + return pattern.indexOf(name) > -1; + } + else if (typeof pattern === 'string') { + return pattern.split(',').indexOf(name) > -1; + } + else if (isRegExp(pattern)) { + return pattern.test(name); + } + /* istanbul ignore next */ + return false; + } + function pruneCache(keepAliveInstance, filter) { + var cache = keepAliveInstance.cache, keys = keepAliveInstance.keys, _vnode = keepAliveInstance._vnode; + for (var key in cache) { + var entry = cache[key]; + if (entry) { + var name_1 = entry.name; + if (name_1 && !filter(name_1)) { + pruneCacheEntry(cache, key, keys, _vnode); + } + } + } + } + function pruneCacheEntry(cache, key, keys, current) { + var entry = cache[key]; + if (entry && (!current || entry.tag !== current.tag)) { + // @ts-expect-error can be undefined + entry.componentInstance.$destroy(); + } + cache[key] = null; + remove$2(keys, key); + } + var patternTypes = [String, RegExp, Array]; + // TODO defineComponent + var KeepAlive = { + name: 'keep-alive', + abstract: true, + props: { + include: patternTypes, + exclude: patternTypes, + max: [String, Number] + }, + methods: { + cacheVNode: function () { + var _a = this, cache = _a.cache, keys = _a.keys, vnodeToCache = _a.vnodeToCache, keyToCache = _a.keyToCache; + if (vnodeToCache) { + var tag = vnodeToCache.tag, componentInstance = vnodeToCache.componentInstance, componentOptions = vnodeToCache.componentOptions; + cache[keyToCache] = { + name: _getComponentName(componentOptions), + tag: tag, + componentInstance: componentInstance + }; + keys.push(keyToCache); + // prune oldest entry + if (this.max && keys.length > parseInt(this.max)) { + pruneCacheEntry(cache, keys[0], keys, this._vnode); + } + this.vnodeToCache = null; + } + } + }, + created: function () { + this.cache = Object.create(null); + this.keys = []; + }, + destroyed: function () { + for (var key in this.cache) { + pruneCacheEntry(this.cache, key, this.keys); + } + }, + mounted: function () { + var _this = this; + this.cacheVNode(); + this.$watch('include', function (val) { + pruneCache(_this, function (name) { return matches(val, name); }); + }); + this.$watch('exclude', function (val) { + pruneCache(_this, function (name) { return !matches(val, name); }); + }); + }, + updated: function () { + this.cacheVNode(); + }, + render: function () { + var slot = this.$slots.default; + var vnode = getFirstComponentChild(slot); + var componentOptions = vnode && vnode.componentOptions; + if (componentOptions) { + // check pattern + var name_2 = _getComponentName(componentOptions); + var _a = this, include = _a.include, exclude = _a.exclude; + if ( + // not included + (include && (!name_2 || !matches(include, name_2))) || + // excluded + (exclude && name_2 && matches(exclude, name_2))) { + return vnode; + } + var _b = this, cache = _b.cache, keys = _b.keys; + var key = vnode.key == null + ? // same constructor may get registered as different local components + // so cid alone is not enough (#3269) + componentOptions.Ctor.cid + + (componentOptions.tag ? "::".concat(componentOptions.tag) : '') + : vnode.key; + if (cache[key]) { + vnode.componentInstance = cache[key].componentInstance; + // make current key freshest + remove$2(keys, key); + keys.push(key); + } + else { + // delay setting the cache until update + this.vnodeToCache = vnode; + this.keyToCache = key; + } + // @ts-expect-error can vnode.data can be undefined + vnode.data.keepAlive = true; + } + return vnode || (slot && slot[0]); + } + }; + + var builtInComponents = { + KeepAlive: KeepAlive + }; + + function initGlobalAPI(Vue) { + // config + var configDef = {}; + configDef.get = function () { return config; }; + { + configDef.set = function () { + warn$2('Do not replace the Vue.config object, set individual fields instead.'); + }; + } + Object.defineProperty(Vue, 'config', configDef); + // exposed util methods. + // NOTE: these are not considered part of the public API - avoid relying on + // them unless you are aware of the risk. + Vue.util = { + warn: warn$2, + extend: extend, + mergeOptions: mergeOptions, + defineReactive: defineReactive + }; + Vue.set = set; + Vue.delete = del; + Vue.nextTick = nextTick; + // 2.6 explicit observable API + Vue.observable = function (obj) { + observe(obj); + return obj; + }; + Vue.options = Object.create(null); + ASSET_TYPES.forEach(function (type) { + Vue.options[type + 's'] = Object.create(null); + }); + // this is used to identify the "base" constructor to extend all plain-object + // components with in Weex's multi-instance scenarios. + Vue.options._base = Vue; + extend(Vue.options.components, builtInComponents); + initUse(Vue); + initMixin(Vue); + initExtend(Vue); + initAssetRegisters(Vue); + } + + initGlobalAPI(Vue); + Object.defineProperty(Vue.prototype, '$isServer', { + get: isServerRendering + }); + Object.defineProperty(Vue.prototype, '$ssrContext', { + get: function () { + /* istanbul ignore next */ + return this.$vnode && this.$vnode.ssrContext; + } + }); + // expose FunctionalRenderContext for ssr runtime helper installation + Object.defineProperty(Vue, 'FunctionalRenderContext', { + value: FunctionalRenderContext + }); + Vue.version = version; + + // these are reserved for web because they are directly compiled away + // during template compilation + var isReservedAttr = makeMap('style,class'); + // attributes that should be using props for binding + var acceptValue = makeMap('input,textarea,option,select,progress'); + var mustUseProp = function (tag, type, attr) { + return ((attr === 'value' && acceptValue(tag) && type !== 'button') || + (attr === 'selected' && tag === 'option') || + (attr === 'checked' && tag === 'input') || + (attr === 'muted' && tag === 'video')); + }; + var isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck'); + var isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only'); + var convertEnumeratedValue = function (key, value) { + return isFalsyAttrValue(value) || value === 'false' + ? 'false' + : // allow arbitrary string value for contenteditable + key === 'contenteditable' && isValidContentEditableValue(value) + ? value + : 'true'; + }; + var isBooleanAttr = makeMap('allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' + + 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' + + 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' + + 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' + + 'required,reversed,scoped,seamless,selected,sortable,' + + 'truespeed,typemustmatch,visible'); + var xlinkNS = 'http://www.w3.org/1999/xlink'; + var isXlink = function (name) { + return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'; + }; + var getXlinkProp = function (name) { + return isXlink(name) ? name.slice(6, name.length) : ''; + }; + var isFalsyAttrValue = function (val) { + return val == null || val === false; + }; + + function genClassForVnode(vnode) { + var data = vnode.data; + var parentNode = vnode; + var childNode = vnode; + while (isDef(childNode.componentInstance)) { + childNode = childNode.componentInstance._vnode; + if (childNode && childNode.data) { + data = mergeClassData(childNode.data, data); + } + } + // @ts-expect-error parentNode.parent not VNodeWithData + while (isDef((parentNode = parentNode.parent))) { + if (parentNode && parentNode.data) { + data = mergeClassData(data, parentNode.data); + } + } + return renderClass(data.staticClass, data.class); + } + function mergeClassData(child, parent) { + return { + staticClass: concat(child.staticClass, parent.staticClass), + class: isDef(child.class) ? [child.class, parent.class] : parent.class + }; + } + function renderClass(staticClass, dynamicClass) { + if (isDef(staticClass) || isDef(dynamicClass)) { + return concat(staticClass, stringifyClass(dynamicClass)); + } + /* istanbul ignore next */ + return ''; + } + function concat(a, b) { + return a ? (b ? a + ' ' + b : a) : b || ''; + } + function stringifyClass(value) { + if (Array.isArray(value)) { + return stringifyArray(value); + } + if (isObject(value)) { + return stringifyObject(value); + } + if (typeof value === 'string') { + return value; + } + /* istanbul ignore next */ + return ''; + } + function stringifyArray(value) { + var res = ''; + var stringified; + for (var i = 0, l = value.length; i < l; i++) { + if (isDef((stringified = stringifyClass(value[i]))) && stringified !== '') { + if (res) + res += ' '; + res += stringified; + } + } + return res; + } + function stringifyObject(value) { + var res = ''; + for (var key in value) { + if (value[key]) { + if (res) + res += ' '; + res += key; + } + } + return res; + } + + var namespaceMap = { + svg: 'http://www.w3.org/2000/svg', + math: 'http://www.w3.org/1998/Math/MathML' + }; + var isHTMLTag = makeMap('html,body,base,head,link,meta,style,title,' + + 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' + + 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' + + 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' + + 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' + + 'embed,object,param,source,canvas,script,noscript,del,ins,' + + 'caption,col,colgroup,table,thead,tbody,td,th,tr,' + + 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' + + 'output,progress,select,textarea,' + + 'details,dialog,menu,menuitem,summary,' + + 'content,element,shadow,template,blockquote,iframe,tfoot'); + // this map is intentionally selective, only covering SVG elements that may + // contain child elements. + var isSVG = makeMap('svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' + + 'foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' + + 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view', true); + var isPreTag = function (tag) { return tag === 'pre'; }; + var isReservedTag = function (tag) { + return isHTMLTag(tag) || isSVG(tag); + }; + function getTagNamespace(tag) { + if (isSVG(tag)) { + return 'svg'; + } + // basic support for MathML + // note it doesn't support other MathML elements being component roots + if (tag === 'math') { + return 'math'; + } + } + var unknownElementCache = Object.create(null); + function isUnknownElement(tag) { + /* istanbul ignore if */ + if (!inBrowser) { + return true; + } + if (isReservedTag(tag)) { + return false; + } + tag = tag.toLowerCase(); + /* istanbul ignore if */ + if (unknownElementCache[tag] != null) { + return unknownElementCache[tag]; + } + var el = document.createElement(tag); + if (tag.indexOf('-') > -1) { + // http://stackoverflow.com/a/28210364/1070244 + return (unknownElementCache[tag] = + el.constructor === window.HTMLUnknownElement || + el.constructor === window.HTMLElement); + } + else { + return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString())); + } + } + var isTextInputType = makeMap('text,number,password,search,email,tel,url'); + + /** + * Query an element selector if it's not an element already. + */ + function query(el) { + if (typeof el === 'string') { + var selected = document.querySelector(el); + if (!selected) { + warn$2('Cannot find element: ' + el); + return document.createElement('div'); + } + return selected; + } + else { + return el; + } + } + + function createElement(tagName, vnode) { + var elm = document.createElement(tagName); + if (tagName !== 'select') { + return elm; + } + // false or null will remove the attribute but undefined will not + if (vnode.data && + vnode.data.attrs && + vnode.data.attrs.multiple !== undefined) { + elm.setAttribute('multiple', 'multiple'); + } + return elm; + } + function createElementNS(namespace, tagName) { + return document.createElementNS(namespaceMap[namespace], tagName); + } + function createTextNode(text) { + return document.createTextNode(text); + } + function createComment(text) { + return document.createComment(text); + } + function insertBefore(parentNode, newNode, referenceNode) { + parentNode.insertBefore(newNode, referenceNode); + } + function removeChild(node, child) { + node.removeChild(child); + } + function appendChild(node, child) { + node.appendChild(child); + } + function parentNode(node) { + return node.parentNode; + } + function nextSibling(node) { + return node.nextSibling; + } + function tagName(node) { + return node.tagName; + } + function setTextContent(node, text) { + node.textContent = text; + } + function setStyleScope(node, scopeId) { + node.setAttribute(scopeId, ''); + } + + var nodeOps = /*#__PURE__*/Object.freeze({ + __proto__: null, + createElement: createElement, + createElementNS: createElementNS, + createTextNode: createTextNode, + createComment: createComment, + insertBefore: insertBefore, + removeChild: removeChild, + appendChild: appendChild, + parentNode: parentNode, + nextSibling: nextSibling, + tagName: tagName, + setTextContent: setTextContent, + setStyleScope: setStyleScope + }); + + var ref = { + create: function (_, vnode) { + registerRef(vnode); + }, + update: function (oldVnode, vnode) { + if (oldVnode.data.ref !== vnode.data.ref) { + registerRef(oldVnode, true); + registerRef(vnode); + } + }, + destroy: function (vnode) { + registerRef(vnode, true); + } + }; + function registerRef(vnode, isRemoval) { + var ref = vnode.data.ref; + if (!isDef(ref)) + return; + var vm = vnode.context; + var refValue = vnode.componentInstance || vnode.elm; + var value = isRemoval ? null : refValue; + var $refsValue = isRemoval ? undefined : refValue; + if (isFunction(ref)) { + invokeWithErrorHandling(ref, vm, [value], vm, "template ref function"); + return; + } + var isFor = vnode.data.refInFor; + var _isString = typeof ref === 'string' || typeof ref === 'number'; + var _isRef = isRef(ref); + var refs = vm.$refs; + if (_isString || _isRef) { + if (isFor) { + var existing = _isString ? refs[ref] : ref.value; + if (isRemoval) { + isArray(existing) && remove$2(existing, refValue); + } + else { + if (!isArray(existing)) { + if (_isString) { + refs[ref] = [refValue]; + setSetupRef(vm, ref, refs[ref]); + } + else { + ref.value = [refValue]; + } + } + else if (!existing.includes(refValue)) { + existing.push(refValue); + } + } + } + else if (_isString) { + if (isRemoval && refs[ref] !== refValue) { + return; + } + refs[ref] = $refsValue; + setSetupRef(vm, ref, value); + } + else if (_isRef) { + if (isRemoval && ref.value !== refValue) { + return; + } + ref.value = value; + } + else { + warn$2("Invalid template ref type: ".concat(typeof ref)); + } + } + } + function setSetupRef(_a, key, val) { + var _setupState = _a._setupState; + if (_setupState && hasOwn(_setupState, key)) { + if (isRef(_setupState[key])) { + _setupState[key].value = val; + } + else { + _setupState[key] = val; + } + } + } + + /** + * Virtual DOM patching algorithm based on Snabbdom by + * Simon Friis Vindum (@paldepind) + * Licensed under the MIT License + * https://github.com/paldepind/snabbdom/blob/master/LICENSE + * + * modified by Evan You (@yyx990803) + * + * Not type-checking this because this file is perf-critical and the cost + * of making flow understand it is not worth it. + */ + var emptyNode = new VNode('', {}, []); + var hooks = ['create', 'activate', 'update', 'remove', 'destroy']; + function sameVnode(a, b) { + return (a.key === b.key && + a.asyncFactory === b.asyncFactory && + ((a.tag === b.tag && + a.isComment === b.isComment && + isDef(a.data) === isDef(b.data) && + sameInputType(a, b)) || + (isTrue(a.isAsyncPlaceholder) && isUndef(b.asyncFactory.error)))); + } + function sameInputType(a, b) { + if (a.tag !== 'input') + return true; + var i; + var typeA = isDef((i = a.data)) && isDef((i = i.attrs)) && i.type; + var typeB = isDef((i = b.data)) && isDef((i = i.attrs)) && i.type; + return typeA === typeB || (isTextInputType(typeA) && isTextInputType(typeB)); + } + function createKeyToOldIdx(children, beginIdx, endIdx) { + var i, key; + var map = {}; + for (i = beginIdx; i <= endIdx; ++i) { + key = children[i].key; + if (isDef(key)) + map[key] = i; + } + return map; + } + function createPatchFunction(backend) { + var i, j; + var cbs = {}; + var modules = backend.modules, nodeOps = backend.nodeOps; + for (i = 0; i < hooks.length; ++i) { + cbs[hooks[i]] = []; + for (j = 0; j < modules.length; ++j) { + if (isDef(modules[j][hooks[i]])) { + cbs[hooks[i]].push(modules[j][hooks[i]]); + } + } + } + function emptyNodeAt(elm) { + return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm); + } + function createRmCb(childElm, listeners) { + function remove() { + if (--remove.listeners === 0) { + removeNode(childElm); + } + } + remove.listeners = listeners; + return remove; + } + function removeNode(el) { + var parent = nodeOps.parentNode(el); + // element may have already been removed due to v-html / v-text + if (isDef(parent)) { + nodeOps.removeChild(parent, el); + } + } + function isUnknownElement(vnode, inVPre) { + return (!inVPre && + !vnode.ns && + !(config.ignoredElements.length && + config.ignoredElements.some(function (ignore) { + return isRegExp(ignore) + ? ignore.test(vnode.tag) + : ignore === vnode.tag; + })) && + config.isUnknownElement(vnode.tag)); + } + var creatingElmInVPre = 0; + function createElm(vnode, insertedVnodeQueue, parentElm, refElm, nested, ownerArray, index) { + if (isDef(vnode.elm) && isDef(ownerArray)) { + // This vnode was used in a previous render! + // now it's used as a new node, overwriting its elm would cause + // potential patch errors down the road when it's used as an insertion + // reference node. Instead, we clone the node on-demand before creating + // associated DOM element for it. + vnode = ownerArray[index] = cloneVNode(vnode); + } + vnode.isRootInsert = !nested; // for transition enter check + if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) { + return; + } + var data = vnode.data; + var children = vnode.children; + var tag = vnode.tag; + if (isDef(tag)) { + { + if (data && data.pre) { + creatingElmInVPre++; + } + if (isUnknownElement(vnode, creatingElmInVPre)) { + warn$2('Unknown custom element: <' + + tag + + '> - did you ' + + 'register the component correctly? For recursive components, ' + + 'make sure to provide the "name" option.', vnode.context); + } + } + vnode.elm = vnode.ns + ? nodeOps.createElementNS(vnode.ns, tag) + : nodeOps.createElement(tag, vnode); + setScope(vnode); + createChildren(vnode, children, insertedVnodeQueue); + if (isDef(data)) { + invokeCreateHooks(vnode, insertedVnodeQueue); + } + insert(parentElm, vnode.elm, refElm); + if (data && data.pre) { + creatingElmInVPre--; + } + } + else if (isTrue(vnode.isComment)) { + vnode.elm = nodeOps.createComment(vnode.text); + insert(parentElm, vnode.elm, refElm); + } + else { + vnode.elm = nodeOps.createTextNode(vnode.text); + insert(parentElm, vnode.elm, refElm); + } + } + function createComponent(vnode, insertedVnodeQueue, parentElm, refElm) { + var i = vnode.data; + if (isDef(i)) { + var isReactivated = isDef(vnode.componentInstance) && i.keepAlive; + if (isDef((i = i.hook)) && isDef((i = i.init))) { + i(vnode, false /* hydrating */); + } + // after calling the init hook, if the vnode is a child component + // it should've created a child instance and mounted it. the child + // component also has set the placeholder vnode's elm. + // in that case we can just return the element and be done. + if (isDef(vnode.componentInstance)) { + initComponent(vnode, insertedVnodeQueue); + insert(parentElm, vnode.elm, refElm); + if (isTrue(isReactivated)) { + reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm); + } + return true; + } + } + } + function initComponent(vnode, insertedVnodeQueue) { + if (isDef(vnode.data.pendingInsert)) { + insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert); + vnode.data.pendingInsert = null; + } + vnode.elm = vnode.componentInstance.$el; + if (isPatchable(vnode)) { + invokeCreateHooks(vnode, insertedVnodeQueue); + setScope(vnode); + } + else { + // empty component root. + // skip all element-related modules except for ref (#3455) + registerRef(vnode); + // make sure to invoke the insert hook + insertedVnodeQueue.push(vnode); + } + } + function reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm) { + var i; + // hack for #4339: a reactivated component with inner transition + // does not trigger because the inner node's created hooks are not called + // again. It's not ideal to involve module-specific logic in here but + // there doesn't seem to be a better way to do it. + var innerNode = vnode; + while (innerNode.componentInstance) { + innerNode = innerNode.componentInstance._vnode; + if (isDef((i = innerNode.data)) && isDef((i = i.transition))) { + for (i = 0; i < cbs.activate.length; ++i) { + cbs.activate[i](emptyNode, innerNode); + } + insertedVnodeQueue.push(innerNode); + break; + } + } + // unlike a newly created component, + // a reactivated keep-alive component doesn't insert itself + insert(parentElm, vnode.elm, refElm); + } + function insert(parent, elm, ref) { + if (isDef(parent)) { + if (isDef(ref)) { + if (nodeOps.parentNode(ref) === parent) { + nodeOps.insertBefore(parent, elm, ref); + } + } + else { + nodeOps.appendChild(parent, elm); + } + } + } + function createChildren(vnode, children, insertedVnodeQueue) { + if (isArray(children)) { + { + checkDuplicateKeys(children); + } + for (var i_1 = 0; i_1 < children.length; ++i_1) { + createElm(children[i_1], insertedVnodeQueue, vnode.elm, null, true, children, i_1); + } + } + else if (isPrimitive(vnode.text)) { + nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text))); + } + } + function isPatchable(vnode) { + while (vnode.componentInstance) { + vnode = vnode.componentInstance._vnode; + } + return isDef(vnode.tag); + } + function invokeCreateHooks(vnode, insertedVnodeQueue) { + for (var i_2 = 0; i_2 < cbs.create.length; ++i_2) { + cbs.create[i_2](emptyNode, vnode); + } + i = vnode.data.hook; // Reuse variable + if (isDef(i)) { + if (isDef(i.create)) + i.create(emptyNode, vnode); + if (isDef(i.insert)) + insertedVnodeQueue.push(vnode); + } + } + // set scope id attribute for scoped CSS. + // this is implemented as a special case to avoid the overhead + // of going through the normal attribute patching process. + function setScope(vnode) { + var i; + if (isDef((i = vnode.fnScopeId))) { + nodeOps.setStyleScope(vnode.elm, i); + } + else { + var ancestor = vnode; + while (ancestor) { + if (isDef((i = ancestor.context)) && isDef((i = i.$options._scopeId))) { + nodeOps.setStyleScope(vnode.elm, i); + } + ancestor = ancestor.parent; + } + } + // for slot content they should also get the scopeId from the host instance. + if (isDef((i = activeInstance)) && + i !== vnode.context && + i !== vnode.fnContext && + isDef((i = i.$options._scopeId))) { + nodeOps.setStyleScope(vnode.elm, i); + } + } + function addVnodes(parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) { + for (; startIdx <= endIdx; ++startIdx) { + createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx); + } + } + function invokeDestroyHook(vnode) { + var i, j; + var data = vnode.data; + if (isDef(data)) { + if (isDef((i = data.hook)) && isDef((i = i.destroy))) + i(vnode); + for (i = 0; i < cbs.destroy.length; ++i) + cbs.destroy[i](vnode); + } + if (isDef((i = vnode.children))) { + for (j = 0; j < vnode.children.length; ++j) { + invokeDestroyHook(vnode.children[j]); + } + } + } + function removeVnodes(vnodes, startIdx, endIdx) { + for (; startIdx <= endIdx; ++startIdx) { + var ch = vnodes[startIdx]; + if (isDef(ch)) { + if (isDef(ch.tag)) { + removeAndInvokeRemoveHook(ch); + invokeDestroyHook(ch); + } + else { + // Text node + removeNode(ch.elm); + } + } + } + } + function removeAndInvokeRemoveHook(vnode, rm) { + if (isDef(rm) || isDef(vnode.data)) { + var i_3; + var listeners = cbs.remove.length + 1; + if (isDef(rm)) { + // we have a recursively passed down rm callback + // increase the listeners count + rm.listeners += listeners; + } + else { + // directly removing + rm = createRmCb(vnode.elm, listeners); + } + // recursively invoke hooks on child component root node + if (isDef((i_3 = vnode.componentInstance)) && + isDef((i_3 = i_3._vnode)) && + isDef(i_3.data)) { + removeAndInvokeRemoveHook(i_3, rm); + } + for (i_3 = 0; i_3 < cbs.remove.length; ++i_3) { + cbs.remove[i_3](vnode, rm); + } + if (isDef((i_3 = vnode.data.hook)) && isDef((i_3 = i_3.remove))) { + i_3(vnode, rm); + } + else { + rm(); + } + } + else { + removeNode(vnode.elm); + } + } + function updateChildren(parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) { + var oldStartIdx = 0; + var newStartIdx = 0; + var oldEndIdx = oldCh.length - 1; + var oldStartVnode = oldCh[0]; + var oldEndVnode = oldCh[oldEndIdx]; + var newEndIdx = newCh.length - 1; + var newStartVnode = newCh[0]; + var newEndVnode = newCh[newEndIdx]; + var oldKeyToIdx, idxInOld, vnodeToMove, refElm; + // removeOnly is a special flag used only by <transition-group> + // to ensure removed elements stay in correct relative positions + // during leaving transitions + var canMove = !removeOnly; + { + checkDuplicateKeys(newCh); + } + while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) { + if (isUndef(oldStartVnode)) { + oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left + } + else if (isUndef(oldEndVnode)) { + oldEndVnode = oldCh[--oldEndIdx]; + } + else if (sameVnode(oldStartVnode, newStartVnode)) { + patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx); + oldStartVnode = oldCh[++oldStartIdx]; + newStartVnode = newCh[++newStartIdx]; + } + else if (sameVnode(oldEndVnode, newEndVnode)) { + patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx); + oldEndVnode = oldCh[--oldEndIdx]; + newEndVnode = newCh[--newEndIdx]; + } + else if (sameVnode(oldStartVnode, newEndVnode)) { + // Vnode moved right + patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx); + canMove && + nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm)); + oldStartVnode = oldCh[++oldStartIdx]; + newEndVnode = newCh[--newEndIdx]; + } + else if (sameVnode(oldEndVnode, newStartVnode)) { + // Vnode moved left + patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx); + canMove && + nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm); + oldEndVnode = oldCh[--oldEndIdx]; + newStartVnode = newCh[++newStartIdx]; + } + else { + if (isUndef(oldKeyToIdx)) + oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); + idxInOld = isDef(newStartVnode.key) + ? oldKeyToIdx[newStartVnode.key] + : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx); + if (isUndef(idxInOld)) { + // New element + createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx); + } + else { + vnodeToMove = oldCh[idxInOld]; + if (sameVnode(vnodeToMove, newStartVnode)) { + patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx); + oldCh[idxInOld] = undefined; + canMove && + nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm); + } + else { + // same key but different element. treat as new element + createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx); + } + } + newStartVnode = newCh[++newStartIdx]; + } + } + if (oldStartIdx > oldEndIdx) { + refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm; + addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue); + } + else if (newStartIdx > newEndIdx) { + removeVnodes(oldCh, oldStartIdx, oldEndIdx); + } + } + function checkDuplicateKeys(children) { + var seenKeys = {}; + for (var i_4 = 0; i_4 < children.length; i_4++) { + var vnode = children[i_4]; + var key = vnode.key; + if (isDef(key)) { + if (seenKeys[key]) { + warn$2("Duplicate keys detected: '".concat(key, "'. This may cause an update error."), vnode.context); + } + else { + seenKeys[key] = true; + } + } + } + } + function findIdxInOld(node, oldCh, start, end) { + for (var i_5 = start; i_5 < end; i_5++) { + var c = oldCh[i_5]; + if (isDef(c) && sameVnode(node, c)) + return i_5; + } + } + function patchVnode(oldVnode, vnode, insertedVnodeQueue, ownerArray, index, removeOnly) { + if (oldVnode === vnode) { + return; + } + if (isDef(vnode.elm) && isDef(ownerArray)) { + // clone reused vnode + vnode = ownerArray[index] = cloneVNode(vnode); + } + var elm = (vnode.elm = oldVnode.elm); + if (isTrue(oldVnode.isAsyncPlaceholder)) { + if (isDef(vnode.asyncFactory.resolved)) { + hydrate(oldVnode.elm, vnode, insertedVnodeQueue); + } + else { + vnode.isAsyncPlaceholder = true; + } + return; + } + // reuse element for static trees. + // note we only do this if the vnode is cloned - + // if the new node is not cloned it means the render functions have been + // reset by the hot-reload-api and we need to do a proper re-render. + if (isTrue(vnode.isStatic) && + isTrue(oldVnode.isStatic) && + vnode.key === oldVnode.key && + (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))) { + vnode.componentInstance = oldVnode.componentInstance; + return; + } + var i; + var data = vnode.data; + if (isDef(data) && isDef((i = data.hook)) && isDef((i = i.prepatch))) { + i(oldVnode, vnode); + } + var oldCh = oldVnode.children; + var ch = vnode.children; + if (isDef(data) && isPatchable(vnode)) { + for (i = 0; i < cbs.update.length; ++i) + cbs.update[i](oldVnode, vnode); + if (isDef((i = data.hook)) && isDef((i = i.update))) + i(oldVnode, vnode); + } + if (isUndef(vnode.text)) { + if (isDef(oldCh) && isDef(ch)) { + if (oldCh !== ch) + updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); + } + else if (isDef(ch)) { + { + checkDuplicateKeys(ch); + } + if (isDef(oldVnode.text)) + nodeOps.setTextContent(elm, ''); + addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue); + } + else if (isDef(oldCh)) { + removeVnodes(oldCh, 0, oldCh.length - 1); + } + else if (isDef(oldVnode.text)) { + nodeOps.setTextContent(elm, ''); + } + } + else if (oldVnode.text !== vnode.text) { + nodeOps.setTextContent(elm, vnode.text); + } + if (isDef(data)) { + if (isDef((i = data.hook)) && isDef((i = i.postpatch))) + i(oldVnode, vnode); + } + } + function invokeInsertHook(vnode, queue, initial) { + // delay insert hooks for component root nodes, invoke them after the + // element is really inserted + if (isTrue(initial) && isDef(vnode.parent)) { + vnode.parent.data.pendingInsert = queue; + } + else { + for (var i_6 = 0; i_6 < queue.length; ++i_6) { + queue[i_6].data.hook.insert(queue[i_6]); + } + } + } + var hydrationBailed = false; + // list of modules that can skip create hook during hydration because they + // are already rendered on the client or has no need for initialization + // Note: style is excluded because it relies on initial clone for future + // deep updates (#7063). + var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key'); + // Note: this is a browser-only function so we can assume elms are DOM nodes. + function hydrate(elm, vnode, insertedVnodeQueue, inVPre) { + var i; + var tag = vnode.tag, data = vnode.data, children = vnode.children; + inVPre = inVPre || (data && data.pre); + vnode.elm = elm; + if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) { + vnode.isAsyncPlaceholder = true; + return true; + } + // assert node match + { + if (!assertNodeMatch(elm, vnode, inVPre)) { + return false; + } + } + if (isDef(data)) { + if (isDef((i = data.hook)) && isDef((i = i.init))) + i(vnode, true /* hydrating */); + if (isDef((i = vnode.componentInstance))) { + // child component. it should have hydrated its own tree. + initComponent(vnode, insertedVnodeQueue); + return true; + } + } + if (isDef(tag)) { + if (isDef(children)) { + // empty element, allow client to pick up and populate children + if (!elm.hasChildNodes()) { + createChildren(vnode, children, insertedVnodeQueue); + } + else { + // v-html and domProps: innerHTML + if (isDef((i = data)) && + isDef((i = i.domProps)) && + isDef((i = i.innerHTML))) { + if (i !== elm.innerHTML) { + /* istanbul ignore if */ + if (typeof console !== 'undefined' && + !hydrationBailed) { + hydrationBailed = true; + console.warn('Parent: ', elm); + console.warn('server innerHTML: ', i); + console.warn('client innerHTML: ', elm.innerHTML); + } + return false; + } + } + else { + // iterate and compare children lists + var childrenMatch = true; + var childNode = elm.firstChild; + for (var i_7 = 0; i_7 < children.length; i_7++) { + if (!childNode || + !hydrate(childNode, children[i_7], insertedVnodeQueue, inVPre)) { + childrenMatch = false; + break; + } + childNode = childNode.nextSibling; + } + // if childNode is not null, it means the actual childNodes list is + // longer than the virtual children list. + if (!childrenMatch || childNode) { + /* istanbul ignore if */ + if (typeof console !== 'undefined' && + !hydrationBailed) { + hydrationBailed = true; + console.warn('Parent: ', elm); + console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children); + } + return false; + } + } + } + } + if (isDef(data)) { + var fullInvoke = false; + for (var key in data) { + if (!isRenderedModule(key)) { + fullInvoke = true; + invokeCreateHooks(vnode, insertedVnodeQueue); + break; + } + } + if (!fullInvoke && data['class']) { + // ensure collecting deps for deep class bindings for future updates + traverse(data['class']); + } + } + } + else if (elm.data !== vnode.text) { + elm.data = vnode.text; + } + return true; + } + function assertNodeMatch(node, vnode, inVPre) { + if (isDef(vnode.tag)) { + return (vnode.tag.indexOf('vue-component') === 0 || + (!isUnknownElement(vnode, inVPre) && + vnode.tag.toLowerCase() === + (node.tagName && node.tagName.toLowerCase()))); + } + else { + return node.nodeType === (vnode.isComment ? 8 : 3); + } + } + return function patch(oldVnode, vnode, hydrating, removeOnly) { + if (isUndef(vnode)) { + if (isDef(oldVnode)) + invokeDestroyHook(oldVnode); + return; + } + var isInitialPatch = false; + var insertedVnodeQueue = []; + if (isUndef(oldVnode)) { + // empty mount (likely as component), create new root element + isInitialPatch = true; + createElm(vnode, insertedVnodeQueue); + } + else { + var isRealElement = isDef(oldVnode.nodeType); + if (!isRealElement && sameVnode(oldVnode, vnode)) { + // patch existing root node + patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly); + } + else { + if (isRealElement) { + // mounting to a real element + // check if this is server-rendered content and if we can perform + // a successful hydration. + if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) { + oldVnode.removeAttribute(SSR_ATTR); + hydrating = true; + } + if (isTrue(hydrating)) { + if (hydrate(oldVnode, vnode, insertedVnodeQueue)) { + invokeInsertHook(vnode, insertedVnodeQueue, true); + return oldVnode; + } + else { + warn$2('The client-side rendered virtual DOM tree is not matching ' + + 'server-rendered content. This is likely caused by incorrect ' + + 'HTML markup, for example nesting block-level elements inside ' + + '<p>, or missing <tbody>. Bailing hydration and performing ' + + 'full client-side render.'); + } + } + // either not server-rendered, or hydration failed. + // create an empty node and replace it + oldVnode = emptyNodeAt(oldVnode); + } + // replacing existing element + var oldElm = oldVnode.elm; + var parentElm = nodeOps.parentNode(oldElm); + // create new node + createElm(vnode, insertedVnodeQueue, + // extremely rare edge case: do not insert if old element is in a + // leaving transition. Only happens when combining transition + + // keep-alive + HOCs. (#4590) + oldElm._leaveCb ? null : parentElm, nodeOps.nextSibling(oldElm)); + // update parent placeholder node element, recursively + if (isDef(vnode.parent)) { + var ancestor = vnode.parent; + var patchable = isPatchable(vnode); + while (ancestor) { + for (var i_8 = 0; i_8 < cbs.destroy.length; ++i_8) { + cbs.destroy[i_8](ancestor); + } + ancestor.elm = vnode.elm; + if (patchable) { + for (var i_9 = 0; i_9 < cbs.create.length; ++i_9) { + cbs.create[i_9](emptyNode, ancestor); + } + // #6513 + // invoke insert hooks that may have been merged by create hooks. + // e.g. for directives that uses the "inserted" hook. + var insert_1 = ancestor.data.hook.insert; + if (insert_1.merged) { + // start at index 1 to avoid re-invoking component mounted hook + for (var i_10 = 1; i_10 < insert_1.fns.length; i_10++) { + insert_1.fns[i_10](); + } + } + } + else { + registerRef(ancestor); + } + ancestor = ancestor.parent; + } + } + // destroy old node + if (isDef(parentElm)) { + removeVnodes([oldVnode], 0, 0); + } + else if (isDef(oldVnode.tag)) { + invokeDestroyHook(oldVnode); + } + } + } + invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch); + return vnode.elm; + }; + } + + var directives$1 = { + create: updateDirectives, + update: updateDirectives, + destroy: function unbindDirectives(vnode) { + // @ts-expect-error emptyNode is not VNodeWithData + updateDirectives(vnode, emptyNode); + } + }; + function updateDirectives(oldVnode, vnode) { + if (oldVnode.data.directives || vnode.data.directives) { + _update(oldVnode, vnode); + } + } + function _update(oldVnode, vnode) { + var isCreate = oldVnode === emptyNode; + var isDestroy = vnode === emptyNode; + var oldDirs = normalizeDirectives(oldVnode.data.directives, oldVnode.context); + var newDirs = normalizeDirectives(vnode.data.directives, vnode.context); + var dirsWithInsert = []; + var dirsWithPostpatch = []; + var key, oldDir, dir; + for (key in newDirs) { + oldDir = oldDirs[key]; + dir = newDirs[key]; + if (!oldDir) { + // new directive, bind + callHook(dir, 'bind', vnode, oldVnode); + if (dir.def && dir.def.inserted) { + dirsWithInsert.push(dir); + } + } + else { + // existing directive, update + dir.oldValue = oldDir.value; + dir.oldArg = oldDir.arg; + callHook(dir, 'update', vnode, oldVnode); + if (dir.def && dir.def.componentUpdated) { + dirsWithPostpatch.push(dir); + } + } + } + if (dirsWithInsert.length) { + var callInsert = function () { + for (var i = 0; i < dirsWithInsert.length; i++) { + callHook(dirsWithInsert[i], 'inserted', vnode, oldVnode); + } + }; + if (isCreate) { + mergeVNodeHook(vnode, 'insert', callInsert); + } + else { + callInsert(); + } + } + if (dirsWithPostpatch.length) { + mergeVNodeHook(vnode, 'postpatch', function () { + for (var i = 0; i < dirsWithPostpatch.length; i++) { + callHook(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode); + } + }); + } + if (!isCreate) { + for (key in oldDirs) { + if (!newDirs[key]) { + // no longer present, unbind + callHook(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy); + } + } } - return target[key] - } - }; - - initProxy = function initProxy (vm) { - if (hasProxy) { - // determine which proxy handler to use - var options = vm.$options; - var handlers = options.render && options.render._withStripped - ? getHandler - : hasHandler; - vm._renderProxy = new Proxy(vm, handlers); - } else { - vm._renderProxy = vm; - } - }; -} - -/* */ - -var seenObjects = new _Set(); - -/** - * Recursively traverse an object to evoke all converted - * getters, so that every nested property inside the object - * is collected as a "deep" dependency. - */ -function traverse (val) { - _traverse(val, seenObjects); - seenObjects.clear(); -} - -function _traverse (val, seen) { - var i, keys; - var isA = Array.isArray(val); - if ((!isA && !isObject(val)) || Object.isFrozen(val)) { - return - } - if (val.__ob__) { - var depId = val.__ob__.dep.id; - if (seen.has(depId)) { - return - } - seen.add(depId); - } - if (isA) { - i = val.length; - while (i--) { _traverse(val[i], seen); } - } else { - keys = Object.keys(val); - i = keys.length; - while (i--) { _traverse(val[keys[i]], seen); } - } -} - -/* */ - -var normalizeEvent = cached(function (name) { - var passive = name.charAt(0) === '&'; - name = passive ? name.slice(1) : name; - var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first - name = once$$1 ? name.slice(1) : name; - var capture = name.charAt(0) === '!'; - name = capture ? name.slice(1) : name; - return { - name: name, - once: once$$1, - capture: capture, - passive: passive - } -}); - -function createFnInvoker (fns) { - function invoker () { - var arguments$1 = arguments; - - var fns = invoker.fns; - if (Array.isArray(fns)) { - var cloned = fns.slice(); - for (var i = 0; i < cloned.length; i++) { - cloned[i].apply(null, arguments$1); - } - } else { - // return handler return value for single handlers - return fns.apply(null, arguments) - } - } - invoker.fns = fns; - return invoker -} - -function updateListeners ( - on, - oldOn, - add, - remove$$1, - vm -) { - var name, def, cur, old, event; - for (name in on) { - def = cur = on[name]; - old = oldOn[name]; - event = normalizeEvent(name); - /* istanbul ignore if */ - if (isUndef(cur)) { - "development" !== 'production' && warn( - "Invalid handler for event \"" + (event.name) + "\": got " + String(cur), - vm - ); - } else if (isUndef(old)) { - if (isUndef(cur.fns)) { - cur = on[name] = createFnInvoker(cur); - } - add(event.name, cur, event.once, event.capture, event.passive, event.params); - } else if (cur !== old) { - old.fns = cur; - on[name] = old; - } - } - for (name in oldOn) { - if (isUndef(on[name])) { - event = normalizeEvent(name); - remove$$1(event.name, oldOn[name], event.capture); - } - } -} - -/* */ - -function mergeVNodeHook (def, hookKey, hook) { - if (def instanceof VNode) { - def = def.data.hook || (def.data.hook = {}); - } - var invoker; - var oldHook = def[hookKey]; - - function wrappedHook () { - hook.apply(this, arguments); - // important: remove merged hook to ensure it's called only once - // and prevent memory leak - remove(invoker.fns, wrappedHook); - } - - if (isUndef(oldHook)) { - // no existing hook - invoker = createFnInvoker([wrappedHook]); - } else { - /* istanbul ignore if */ - if (isDef(oldHook.fns) && isTrue(oldHook.merged)) { - // already a merged invoker - invoker = oldHook; - invoker.fns.push(wrappedHook); - } else { - // existing plain hook - invoker = createFnInvoker([oldHook, wrappedHook]); - } - } - - invoker.merged = true; - def[hookKey] = invoker; -} - -/* */ - -function extractPropsFromVNodeData ( - data, - Ctor, - tag -) { - // we are only extracting raw values here. - // validation and default values are handled in the child - // component itself. - var propOptions = Ctor.options.props; - if (isUndef(propOptions)) { - return - } - var res = {}; - var attrs = data.attrs; - var props = data.props; - if (isDef(attrs) || isDef(props)) { - for (var key in propOptions) { - var altKey = hyphenate(key); - { - var keyInLowerCase = key.toLowerCase(); - if ( - key !== keyInLowerCase && - attrs && hasOwn(attrs, keyInLowerCase) - ) { - tip( - "Prop \"" + keyInLowerCase + "\" is passed to component " + - (formatComponentName(tag || Ctor)) + ", but the declared prop name is" + - " \"" + key + "\". " + - "Note that HTML attributes are case-insensitive and camelCased " + - "props need to use their kebab-case equivalents when using in-DOM " + - "templates. You should probably use \"" + altKey + "\" instead of \"" + key + "\"." - ); - } - } - checkProp(res, props, key, altKey, true) || - checkProp(res, attrs, key, altKey, false); - } - } - return res -} - -function checkProp ( - res, - hash, - key, - altKey, - preserve -) { - if (isDef(hash)) { - if (hasOwn(hash, key)) { - res[key] = hash[key]; - if (!preserve) { - delete hash[key]; - } - return true - } else if (hasOwn(hash, altKey)) { - res[key] = hash[altKey]; - if (!preserve) { - delete hash[altKey]; - } - return true - } - } - return false -} - -/* */ - -// The template compiler attempts to minimize the need for normalization by -// statically analyzing the template at compile time. -// -// For plain HTML markup, normalization can be completely skipped because the -// generated render function is guaranteed to return Array<VNode>. There are -// two cases where extra normalization is needed: - -// 1. When the children contains components - because a functional component -// may return an Array instead of a single root. In this case, just a simple -// normalization is needed - if any child is an Array, we flatten the whole -// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep -// because functional components already normalize their own children. -function simpleNormalizeChildren (children) { - for (var i = 0; i < children.length; i++) { - if (Array.isArray(children[i])) { - return Array.prototype.concat.apply([], children) - } - } - return children -} - -// 2. When the children contains constructs that always generated nested Arrays, -// e.g. <template>, <slot>, v-for, or when the children is provided by user -// with hand-written render functions / JSX. In such cases a full normalization -// is needed to cater to all possible types of children values. -function normalizeChildren (children) { - return isPrimitive(children) - ? [createTextVNode(children)] - : Array.isArray(children) - ? normalizeArrayChildren(children) - : undefined -} - -function isTextNode (node) { - return isDef(node) && isDef(node.text) && isFalse(node.isComment) -} - -function normalizeArrayChildren (children, nestedIndex) { - var res = []; - var i, c, lastIndex, last; - for (i = 0; i < children.length; i++) { - c = children[i]; - if (isUndef(c) || typeof c === 'boolean') { continue } - lastIndex = res.length - 1; - last = res[lastIndex]; - // nested - if (Array.isArray(c)) { - if (c.length > 0) { - c = normalizeArrayChildren(c, ((nestedIndex || '') + "_" + i)); - // merge adjacent text nodes - if (isTextNode(c[0]) && isTextNode(last)) { - res[lastIndex] = createTextVNode(last.text + (c[0]).text); - c.shift(); - } - res.push.apply(res, c); - } - } else if (isPrimitive(c)) { - if (isTextNode(last)) { - // merge adjacent text nodes - // this is necessary for SSR hydration because text nodes are - // essentially merged when rendered to HTML strings - res[lastIndex] = createTextVNode(last.text + c); - } else if (c !== '') { - // convert primitive to vnode - res.push(createTextVNode(c)); - } - } else { - if (isTextNode(c) && isTextNode(last)) { - // merge adjacent text nodes - res[lastIndex] = createTextVNode(last.text + c.text); - } else { - // default key for nested array children (likely generated by v-for) - if (isTrue(children._isVList) && - isDef(c.tag) && - isUndef(c.key) && - isDef(nestedIndex)) { - c.key = "__vlist" + nestedIndex + "_" + i + "__"; - } - res.push(c); - } - } - } - return res -} - -/* */ - -function ensureCtor (comp, base) { - if ( - comp.__esModule || - (hasSymbol && comp[Symbol.toStringTag] === 'Module') - ) { - comp = comp.default; - } - return isObject(comp) - ? base.extend(comp) - : comp -} - -function createAsyncPlaceholder ( - factory, - data, - context, - children, - tag -) { - var node = createEmptyVNode(); - node.asyncFactory = factory; - node.asyncMeta = { data: data, context: context, children: children, tag: tag }; - return node -} - -function resolveAsyncComponent ( - factory, - baseCtor, - context -) { - if (isTrue(factory.error) && isDef(factory.errorComp)) { - return factory.errorComp - } - - if (isDef(factory.resolved)) { - return factory.resolved - } - - if (isTrue(factory.loading) && isDef(factory.loadingComp)) { - return factory.loadingComp - } - - if (isDef(factory.contexts)) { - // already pending - factory.contexts.push(context); - } else { - var contexts = factory.contexts = [context]; - var sync = true; - - var forceRender = function () { - for (var i = 0, l = contexts.length; i < l; i++) { - contexts[i].$forceUpdate(); - } - }; - - var resolve = once(function (res) { - // cache resolved - factory.resolved = ensureCtor(res, baseCtor); - // invoke callbacks only if this is not a synchronous resolve - // (async resolves are shimmed as synchronous during SSR) - if (!sync) { - forceRender(); - } - }); - - var reject = once(function (reason) { - "development" !== 'production' && warn( - "Failed to resolve async component: " + (String(factory)) + - (reason ? ("\nReason: " + reason) : '') - ); - if (isDef(factory.errorComp)) { - factory.error = true; - forceRender(); - } - }); - - var res = factory(resolve, reject); - - if (isObject(res)) { - if (typeof res.then === 'function') { - // () => Promise - if (isUndef(factory.resolved)) { - res.then(resolve, reject); - } - } else if (isDef(res.component) && typeof res.component.then === 'function') { - res.component.then(resolve, reject); - - if (isDef(res.error)) { - factory.errorComp = ensureCtor(res.error, baseCtor); - } - - if (isDef(res.loading)) { - factory.loadingComp = ensureCtor(res.loading, baseCtor); - if (res.delay === 0) { - factory.loading = true; - } else { - setTimeout(function () { - if (isUndef(factory.resolved) && isUndef(factory.error)) { - factory.loading = true; - forceRender(); - } - }, res.delay || 200); - } - } - - if (isDef(res.timeout)) { - setTimeout(function () { - if (isUndef(factory.resolved)) { - reject( - "timeout (" + (res.timeout) + "ms)" - ); - } - }, res.timeout); - } + } + var emptyModifiers = Object.create(null); + function normalizeDirectives(dirs, vm) { + var res = Object.create(null); + if (!dirs) { + // $flow-disable-line + return res; } - } - - sync = false; - // return in case resolved synchronously - return factory.loading - ? factory.loadingComp - : factory.resolved + var i, dir; + for (i = 0; i < dirs.length; i++) { + dir = dirs[i]; + if (!dir.modifiers) { + // $flow-disable-line + dir.modifiers = emptyModifiers; + } + res[getRawDirName(dir)] = dir; + if (vm._setupState && vm._setupState.__sfc) { + var setupDef = dir.def || resolveAsset(vm, '_setupState', 'v-' + dir.name); + if (typeof setupDef === 'function') { + dir.def = { + bind: setupDef, + update: setupDef, + }; + } + else { + dir.def = setupDef; + } + } + dir.def = dir.def || resolveAsset(vm.$options, 'directives', dir.name, true); + } + // $flow-disable-line + return res; } -} - -/* */ - -function isAsyncPlaceholder (node) { - return node.isComment && node.asyncFactory -} - -/* */ - -function getFirstComponentChild (children) { - if (Array.isArray(children)) { - for (var i = 0; i < children.length; i++) { - var c = children[i]; - if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) { - return c + function getRawDirName(dir) { + return (dir.rawName || "".concat(dir.name, ".").concat(Object.keys(dir.modifiers || {}).join('.'))); + } + function callHook(dir, hook, vnode, oldVnode, isDestroy) { + var fn = dir.def && dir.def[hook]; + if (fn) { + try { + fn(vnode.elm, dir, vnode, oldVnode, isDestroy); + } + catch (e) { + handleError(e, vnode.context, "directive ".concat(dir.name, " ").concat(hook, " hook")); + } } - } } -} -/* */ + var baseModules = [ref, directives$1]; -/* */ - -function initEvents (vm) { - vm._events = Object.create(null); - vm._hasHookEvent = false; - // init parent attached events - var listeners = vm.$options._parentListeners; - if (listeners) { - updateComponentListeners(vm, listeners); + function updateAttrs(oldVnode, vnode) { + var opts = vnode.componentOptions; + if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) { + return; + } + if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) { + return; + } + var key, cur, old; + var elm = vnode.elm; + var oldAttrs = oldVnode.data.attrs || {}; + var attrs = vnode.data.attrs || {}; + // clone observed objects, as the user probably wants to mutate it + if (isDef(attrs.__ob__) || isTrue(attrs._v_attr_proxy)) { + attrs = vnode.data.attrs = extend({}, attrs); + } + for (key in attrs) { + cur = attrs[key]; + old = oldAttrs[key]; + if (old !== cur) { + setAttr(elm, key, cur, vnode.data.pre); + } + } + // #4391: in IE9, setting type can reset value for input[type=radio] + // #6666: IE/Edge forces progress value down to 1 before setting a max + /* istanbul ignore if */ + if ((isIE || isEdge) && attrs.value !== oldAttrs.value) { + setAttr(elm, 'value', attrs.value); + } + for (key in oldAttrs) { + if (isUndef(attrs[key])) { + if (isXlink(key)) { + elm.removeAttributeNS(xlinkNS, getXlinkProp(key)); + } + else if (!isEnumeratedAttr(key)) { + elm.removeAttribute(key); + } + } + } } -} - -var target; - -function add (event, fn, once) { - if (once) { - target.$once(event, fn); - } else { - target.$on(event, fn); + function setAttr(el, key, value, isInPre) { + if (isInPre || el.tagName.indexOf('-') > -1) { + baseSetAttr(el, key, value); + } + else if (isBooleanAttr(key)) { + // set attribute for blank value + // e.g. <option disabled>Select one</option> + if (isFalsyAttrValue(value)) { + el.removeAttribute(key); + } + else { + // technically allowfullscreen is a boolean attribute for <iframe>, + // but Flash expects a value of "true" when used on <embed> tag + value = key === 'allowfullscreen' && el.tagName === 'EMBED' ? 'true' : key; + el.setAttribute(key, value); + } + } + else if (isEnumeratedAttr(key)) { + el.setAttribute(key, convertEnumeratedValue(key, value)); + } + else if (isXlink(key)) { + if (isFalsyAttrValue(value)) { + el.removeAttributeNS(xlinkNS, getXlinkProp(key)); + } + else { + el.setAttributeNS(xlinkNS, key, value); + } + } + else { + baseSetAttr(el, key, value); + } } -} - -function remove$1 (event, fn) { - target.$off(event, fn); -} - -function updateComponentListeners ( - vm, - listeners, - oldListeners -) { - target = vm; - updateListeners(listeners, oldListeners || {}, add, remove$1, vm); - target = undefined; -} - -function eventsMixin (Vue) { - var hookRE = /^hook:/; - Vue.prototype.$on = function (event, fn) { - var this$1 = this; - - var vm = this; - if (Array.isArray(event)) { - for (var i = 0, l = event.length; i < l; i++) { - this$1.$on(event[i], fn); + function baseSetAttr(el, key, value) { + if (isFalsyAttrValue(value)) { + el.removeAttribute(key); } - } else { - (vm._events[event] || (vm._events[event] = [])).push(fn); - // optimize hook:event cost by using a boolean flag marked at registration - // instead of a hash lookup - if (hookRE.test(event)) { - vm._hasHookEvent = true; + else { + // #7138: IE10 & 11 fires input event when setting placeholder on + // <textarea>... block the first input event and remove the blocker + // immediately. + /* istanbul ignore if */ + if (isIE && + !isIE9 && + el.tagName === 'TEXTAREA' && + key === 'placeholder' && + value !== '' && + !el.__ieph) { + var blocker_1 = function (e) { + e.stopImmediatePropagation(); + el.removeEventListener('input', blocker_1); + }; + el.addEventListener('input', blocker_1); + // $flow-disable-line + el.__ieph = true; /* IE placeholder patched */ + } + el.setAttribute(key, value); } - } - return vm - }; - - Vue.prototype.$once = function (event, fn) { - var vm = this; - function on () { - vm.$off(event, on); - fn.apply(vm, arguments); - } - on.fn = fn; - vm.$on(event, on); - return vm - }; - - Vue.prototype.$off = function (event, fn) { - var this$1 = this; - - var vm = this; - // all - if (!arguments.length) { - vm._events = Object.create(null); - return vm - } - // array of events - if (Array.isArray(event)) { - for (var i = 0, l = event.length; i < l; i++) { - this$1.$off(event[i], fn); - } - return vm - } - // specific event - var cbs = vm._events[event]; - if (!cbs) { - return vm - } - if (!fn) { - vm._events[event] = null; - return vm - } - if (fn) { - // specific handler - var cb; - var i$1 = cbs.length; - while (i$1--) { - cb = cbs[i$1]; - if (cb === fn || cb.fn === fn) { - cbs.splice(i$1, 1); - break - } - } - } - return vm - }; - - Vue.prototype.$emit = function (event) { - var vm = this; - { - var lowerCaseEvent = event.toLowerCase(); - if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) { - tip( - "Event \"" + lowerCaseEvent + "\" is emitted in component " + - (formatComponentName(vm)) + " but the handler is registered for \"" + event + "\". " + - "Note that HTML attributes are case-insensitive and you cannot use " + - "v-on to listen to camelCase events when using in-DOM templates. " + - "You should probably use \"" + (hyphenate(event)) + "\" instead of \"" + event + "\"." - ); - } - } - var cbs = vm._events[event]; - if (cbs) { - cbs = cbs.length > 1 ? toArray(cbs) : cbs; - var args = toArray(arguments, 1); - for (var i = 0, l = cbs.length; i < l; i++) { - try { - cbs[i].apply(vm, args); - } catch (e) { - handleError(e, vm, ("event handler for \"" + event + "\"")); - } - } - } - return vm - }; -} - -/* */ - - - -/** - * Runtime helper for resolving raw children VNodes into a slot object. - */ -function resolveSlots ( - children, - context -) { - var slots = {}; - if (!children) { - return slots - } - for (var i = 0, l = children.length; i < l; i++) { - var child = children[i]; - var data = child.data; - // remove slot attribute if the node is resolved as a Vue slot node - if (data && data.attrs && data.attrs.slot) { - delete data.attrs.slot; - } - // named slots should only be respected if the vnode was rendered in the - // same context. - if ((child.context === context || child.fnContext === context) && - data && data.slot != null - ) { - var name = data.slot; - var slot = (slots[name] || (slots[name] = [])); - if (child.tag === 'template') { - slot.push.apply(slot, child.children || []); - } else { - slot.push(child); - } - } else { - (slots.default || (slots.default = [])).push(child); - } - } - // ignore slots that contains only whitespace - for (var name$1 in slots) { - if (slots[name$1].every(isWhitespace)) { - delete slots[name$1]; - } - } - return slots -} - -function isWhitespace (node) { - return (node.isComment && !node.asyncFactory) || node.text === ' ' -} - -function resolveScopedSlots ( - fns, // see flow/vnode - res -) { - res = res || {}; - for (var i = 0; i < fns.length; i++) { - if (Array.isArray(fns[i])) { - resolveScopedSlots(fns[i], res); - } else { - res[fns[i].key] = fns[i].fn; - } - } - return res -} - -/* */ - -var activeInstance = null; -var isUpdatingChildComponent = false; - -function initLifecycle (vm) { - var options = vm.$options; - - // locate first non-abstract parent - var parent = options.parent; - if (parent && !options.abstract) { - while (parent.$options.abstract && parent.$parent) { - parent = parent.$parent; - } - parent.$children.push(vm); - } - - vm.$parent = parent; - vm.$root = parent ? parent.$root : vm; - - vm.$children = []; - vm.$refs = {}; - - vm._watcher = null; - vm._inactive = null; - vm._directInactive = false; - vm._isMounted = false; - vm._isDestroyed = false; - vm._isBeingDestroyed = false; -} - -function lifecycleMixin (Vue) { - Vue.prototype._update = function (vnode, hydrating) { - var vm = this; - if (vm._isMounted) { - callHook(vm, 'beforeUpdate'); - } - var prevEl = vm.$el; - var prevVnode = vm._vnode; - var prevActiveInstance = activeInstance; - activeInstance = vm; - vm._vnode = vnode; - // Vue.prototype.__patch__ is injected in entry points - // based on the rendering backend used. - if (!prevVnode) { - // initial render - vm.$el = vm.__patch__( - vm.$el, vnode, hydrating, false /* removeOnly */, - vm.$options._parentElm, - vm.$options._refElm - ); - // no need for the ref nodes after initial patch - // this prevents keeping a detached DOM tree in memory (#5851) - vm.$options._parentElm = vm.$options._refElm = null; - } else { - // updates - vm.$el = vm.__patch__(prevVnode, vnode); - } - activeInstance = prevActiveInstance; - // update __vue__ reference - if (prevEl) { - prevEl.__vue__ = null; - } - if (vm.$el) { - vm.$el.__vue__ = vm; - } - // if parent is an HOC, update its $el as well - if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) { - vm.$parent.$el = vm.$el; - } - // updated hook is called by the scheduler to ensure that children are - // updated in a parent's updated hook. + } + var attrs = { + create: updateAttrs, + update: updateAttrs }; - Vue.prototype.$forceUpdate = function () { - var vm = this; - if (vm._watcher) { - vm._watcher.update(); - } + function updateClass(oldVnode, vnode) { + var el = vnode.elm; + var data = vnode.data; + var oldData = oldVnode.data; + if (isUndef(data.staticClass) && + isUndef(data.class) && + (isUndef(oldData) || + (isUndef(oldData.staticClass) && isUndef(oldData.class)))) { + return; + } + var cls = genClassForVnode(vnode); + // handle transition classes + var transitionClass = el._transitionClasses; + if (isDef(transitionClass)) { + cls = concat(cls, stringifyClass(transitionClass)); + } + // set the class + if (cls !== el._prevClass) { + el.setAttribute('class', cls); + el._prevClass = cls; + } + } + var klass$1 = { + create: updateClass, + update: updateClass }; - Vue.prototype.$destroy = function () { - var vm = this; - if (vm._isBeingDestroyed) { - return - } - callHook(vm, 'beforeDestroy'); - vm._isBeingDestroyed = true; - // remove self from parent - var parent = vm.$parent; - if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) { - remove(parent.$children, vm); - } - // teardown watchers - if (vm._watcher) { - vm._watcher.teardown(); - } - var i = vm._watchers.length; - while (i--) { - vm._watchers[i].teardown(); - } - // remove reference from data ob - // frozen object may not have observer. - if (vm._data.__ob__) { - vm._data.__ob__.vmCount--; - } - // call the last hook... - vm._isDestroyed = true; - // invoke destroy hooks on current rendered tree - vm.__patch__(vm._vnode, null); - // fire destroyed hook - callHook(vm, 'destroyed'); - // turn off all instance listeners. - vm.$off(); - // remove __vue__ reference - if (vm.$el) { - vm.$el.__vue__ = null; - } - // release circular reference (#6759) - if (vm.$vnode) { - vm.$vnode.parent = null; - } - }; -} - -function mountComponent ( - vm, - el, - hydrating -) { - vm.$el = el; - if (!vm.$options.render) { - vm.$options.render = createEmptyVNode; - { + var validDivisionCharRE = /[\w).+\-_$\]]/; + function parseFilters(exp) { + var inSingle = false; + var inDouble = false; + var inTemplateString = false; + var inRegex = false; + var curly = 0; + var square = 0; + var paren = 0; + var lastFilterIndex = 0; + var c, prev, i, expression, filters; + for (i = 0; i < exp.length; i++) { + prev = c; + c = exp.charCodeAt(i); + if (inSingle) { + if (c === 0x27 && prev !== 0x5c) + inSingle = false; + } + else if (inDouble) { + if (c === 0x22 && prev !== 0x5c) + inDouble = false; + } + else if (inTemplateString) { + if (c === 0x60 && prev !== 0x5c) + inTemplateString = false; + } + else if (inRegex) { + if (c === 0x2f && prev !== 0x5c) + inRegex = false; + } + else if (c === 0x7c && // pipe + exp.charCodeAt(i + 1) !== 0x7c && + exp.charCodeAt(i - 1) !== 0x7c && + !curly && + !square && + !paren) { + if (expression === undefined) { + // first filter, end of expression + lastFilterIndex = i + 1; + expression = exp.slice(0, i).trim(); + } + else { + pushFilter(); + } + } + else { + switch (c) { + case 0x22: + inDouble = true; + break; // " + case 0x27: + inSingle = true; + break; // ' + case 0x60: + inTemplateString = true; + break; // ` + case 0x28: + paren++; + break; // ( + case 0x29: + paren--; + break; // ) + case 0x5b: + square++; + break; // [ + case 0x5d: + square--; + break; // ] + case 0x7b: + curly++; + break; // { + case 0x7d: + curly--; + break; // } + } + if (c === 0x2f) { + // / + var j = i - 1; + var p + // find first non-whitespace prev char + = void 0; + // find first non-whitespace prev char + for (; j >= 0; j--) { + p = exp.charAt(j); + if (p !== ' ') + break; + } + if (!p || !validDivisionCharRE.test(p)) { + inRegex = true; + } + } + } + } + if (expression === undefined) { + expression = exp.slice(0, i).trim(); + } + else if (lastFilterIndex !== 0) { + pushFilter(); + } + function pushFilter() { + (filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim()); + lastFilterIndex = i + 1; + } + if (filters) { + for (i = 0; i < filters.length; i++) { + expression = wrapFilter(expression, filters[i]); + } + } + return expression; + } + function wrapFilter(exp, filter) { + var i = filter.indexOf('('); + if (i < 0) { + // _f: resolveFilter + return "_f(\"".concat(filter, "\")(").concat(exp, ")"); + } + else { + var name_1 = filter.slice(0, i); + var args = filter.slice(i + 1); + return "_f(\"".concat(name_1, "\")(").concat(exp).concat(args !== ')' ? ',' + args : args); + } + } + + /* eslint-disable no-unused-vars */ + function baseWarn(msg, range) { + console.error("[Vue compiler]: ".concat(msg)); + } + /* eslint-enable no-unused-vars */ + function pluckModuleFunction(modules, key) { + return modules ? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; }) : []; + } + function addProp(el, name, value, range, dynamic) { + (el.props || (el.props = [])).push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range)); + el.plain = false; + } + function addAttr(el, name, value, range, dynamic) { + var attrs = dynamic + ? el.dynamicAttrs || (el.dynamicAttrs = []) + : el.attrs || (el.attrs = []); + attrs.push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range)); + el.plain = false; + } + // add a raw attr (use this in preTransforms) + function addRawAttr(el, name, value, range) { + el.attrsMap[name] = value; + el.attrsList.push(rangeSetItem({ name: name, value: value }, range)); + } + function addDirective(el, name, rawName, value, arg, isDynamicArg, modifiers, range) { + (el.directives || (el.directives = [])).push(rangeSetItem({ + name: name, + rawName: rawName, + value: value, + arg: arg, + isDynamicArg: isDynamicArg, + modifiers: modifiers + }, range)); + el.plain = false; + } + function prependModifierMarker(symbol, name, dynamic) { + return dynamic ? "_p(".concat(name, ",\"").concat(symbol, "\")") : symbol + name; // mark the event as captured + } + function addHandler(el, name, value, modifiers, important, warn, range, dynamic) { + modifiers = modifiers || emptyObject; + // warn prevent and passive modifier /* istanbul ignore if */ - if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') || - vm.$options.el || el) { - warn( - 'You are using the runtime-only build of Vue where the template ' + - 'compiler is not available. Either pre-compile the templates into ' + - 'render functions, or use the compiler-included build.', - vm - ); - } else { - warn( - 'Failed to mount component: template or render function not defined.', - vm - ); - } - } - } - callHook(vm, 'beforeMount'); - - var updateComponent; - /* istanbul ignore if */ - if ("development" !== 'production' && config.performance && mark) { - updateComponent = function () { - var name = vm._name; - var id = vm._uid; - var startTag = "vue-perf-start:" + id; - var endTag = "vue-perf-end:" + id; - - mark(startTag); - var vnode = vm._render(); - mark(endTag); - measure(("vue " + name + " render"), startTag, endTag); - - mark(startTag); - vm._update(vnode, hydrating); - mark(endTag); - measure(("vue " + name + " patch"), startTag, endTag); - }; - } else { - updateComponent = function () { - vm._update(vm._render(), hydrating); - }; - } - - // we set this to vm._watcher inside the watcher's constructor - // since the watcher's initial patch may call $forceUpdate (e.g. inside child - // component's mounted hook), which relies on vm._watcher being already defined - new Watcher(vm, updateComponent, noop, null, true /* isRenderWatcher */); - hydrating = false; - - // manually mounted instance, call mounted on self - // mounted is called for render-created child components in its inserted hook - if (vm.$vnode == null) { - vm._isMounted = true; - callHook(vm, 'mounted'); - } - return vm -} - -function updateChildComponent ( - vm, - propsData, - listeners, - parentVnode, - renderChildren -) { - { - isUpdatingChildComponent = true; - } - - // determine whether component has slot children - // we need to do this before overwriting $options._renderChildren - var hasChildren = !!( - renderChildren || // has new static slots - vm.$options._renderChildren || // has old static slots - parentVnode.data.scopedSlots || // has new scoped slots - vm.$scopedSlots !== emptyObject // has old scoped slots - ); - - vm.$options._parentVnode = parentVnode; - vm.$vnode = parentVnode; // update vm's placeholder node without re-render - - if (vm._vnode) { // update child tree's parent - vm._vnode.parent = parentVnode; - } - vm.$options._renderChildren = renderChildren; - - // update $attrs and $listeners hash - // these are also reactive so they may trigger child update if the child - // used them during render - vm.$attrs = (parentVnode.data && parentVnode.data.attrs) || emptyObject; - vm.$listeners = listeners || emptyObject; - - // update props - if (propsData && vm.$options.props) { - observerState.shouldConvert = false; - var props = vm._props; - var propKeys = vm.$options._propKeys || []; - for (var i = 0; i < propKeys.length; i++) { - var key = propKeys[i]; - props[key] = validateProp(key, vm.$options.props, propsData, vm); - } - observerState.shouldConvert = true; - // keep a copy of raw propsData - vm.$options.propsData = propsData; - } - - // update listeners - if (listeners) { - var oldListeners = vm.$options._parentListeners; - vm.$options._parentListeners = listeners; - updateComponentListeners(vm, listeners, oldListeners); - } - // resolve slots + force update if has children - if (hasChildren) { - vm.$slots = resolveSlots(renderChildren, parentVnode.context); - vm.$forceUpdate(); + if (warn && modifiers.prevent && modifiers.passive) { + warn("passive and prevent can't be used together. " + + "Passive handler can't prevent default event.", range); + } + // normalize click.right and click.middle since they don't actually fire + // this is technically browser-specific, but at least for now browsers are + // the only target envs that have right/middle clicks. + if (modifiers.right) { + if (dynamic) { + name = "(".concat(name, ")==='click'?'contextmenu':(").concat(name, ")"); + } + else if (name === 'click') { + name = 'contextmenu'; + delete modifiers.right; + } + } + else if (modifiers.middle) { + if (dynamic) { + name = "(".concat(name, ")==='click'?'mouseup':(").concat(name, ")"); + } + else if (name === 'click') { + name = 'mouseup'; + } + } + // check capture modifier + if (modifiers.capture) { + delete modifiers.capture; + name = prependModifierMarker('!', name, dynamic); + } + if (modifiers.once) { + delete modifiers.once; + name = prependModifierMarker('~', name, dynamic); + } + /* istanbul ignore if */ + if (modifiers.passive) { + delete modifiers.passive; + name = prependModifierMarker('&', name, dynamic); + } + var events; + if (modifiers.native) { + delete modifiers.native; + events = el.nativeEvents || (el.nativeEvents = {}); + } + else { + events = el.events || (el.events = {}); + } + var newHandler = rangeSetItem({ value: value.trim(), dynamic: dynamic }, range); + if (modifiers !== emptyObject) { + newHandler.modifiers = modifiers; + } + var handlers = events[name]; + /* istanbul ignore if */ + if (Array.isArray(handlers)) { + important ? handlers.unshift(newHandler) : handlers.push(newHandler); + } + else if (handlers) { + events[name] = important ? [newHandler, handlers] : [handlers, newHandler]; + } + else { + events[name] = newHandler; + } + el.plain = false; } - - { - isUpdatingChildComponent = false; - } -} - -function isInInactiveTree (vm) { - while (vm && (vm = vm.$parent)) { - if (vm._inactive) { return true } - } - return false -} - -function activateChildComponent (vm, direct) { - if (direct) { - vm._directInactive = false; - if (isInInactiveTree(vm)) { - return - } - } else if (vm._directInactive) { - return - } - if (vm._inactive || vm._inactive === null) { - vm._inactive = false; - for (var i = 0; i < vm.$children.length; i++) { - activateChildComponent(vm.$children[i]); - } - callHook(vm, 'activated'); - } -} - -function deactivateChildComponent (vm, direct) { - if (direct) { - vm._directInactive = true; - if (isInInactiveTree(vm)) { - return - } - } - if (!vm._inactive) { - vm._inactive = true; - for (var i = 0; i < vm.$children.length; i++) { - deactivateChildComponent(vm.$children[i]); - } - callHook(vm, 'deactivated'); - } -} - -function callHook (vm, hook) { - var handlers = vm.$options[hook]; - if (handlers) { - for (var i = 0, j = handlers.length; i < j; i++) { - try { - handlers[i].call(vm); - } catch (e) { - handleError(e, vm, (hook + " hook")); + function getRawBindingAttr(el, name) { + return (el.rawAttrsMap[':' + name] || + el.rawAttrsMap['v-bind:' + name] || + el.rawAttrsMap[name]); + } + function getBindingAttr(el, name, getStatic) { + var dynamicValue = getAndRemoveAttr(el, ':' + name) || getAndRemoveAttr(el, 'v-bind:' + name); + if (dynamicValue != null) { + return parseFilters(dynamicValue); + } + else if (getStatic !== false) { + var staticValue = getAndRemoveAttr(el, name); + if (staticValue != null) { + return JSON.stringify(staticValue); + } } - } } - if (vm._hasHookEvent) { - vm.$emit('hook:' + hook); + // note: this only removes the attr from the Array (attrsList) so that it + // doesn't get processed by processAttrs. + // By default it does NOT remove it from the map (attrsMap) because the map is + // needed during codegen. + function getAndRemoveAttr(el, name, removeFromMap) { + var val; + if ((val = el.attrsMap[name]) != null) { + var list = el.attrsList; + for (var i = 0, l = list.length; i < l; i++) { + if (list[i].name === name) { + list.splice(i, 1); + break; + } + } + } + if (removeFromMap) { + delete el.attrsMap[name]; + } + return val; } -} - -/* */ - - -var MAX_UPDATE_COUNT = 100; - -var queue = []; -var activatedChildren = []; -var has = {}; -var circular = {}; -var waiting = false; -var flushing = false; -var index = 0; - -/** - * Reset the scheduler's state. - */ -function resetSchedulerState () { - index = queue.length = activatedChildren.length = 0; - has = {}; - { - circular = {}; + function getAndRemoveAttrByRegex(el, name) { + var list = el.attrsList; + for (var i = 0, l = list.length; i < l; i++) { + var attr = list[i]; + if (name.test(attr.name)) { + list.splice(i, 1); + return attr; + } + } } - waiting = flushing = false; -} - -/** - * Flush both queues and run the watchers. - */ -function flushSchedulerQueue () { - flushing = true; - var watcher, id; - - // Sort queue before flush. - // This ensures that: - // 1. Components are updated from parent to child. (because parent is always - // created before the child) - // 2. A component's user watchers are run before its render watcher (because - // user watchers are created before the render watcher) - // 3. If a component is destroyed during a parent component's watcher run, - // its watchers can be skipped. - queue.sort(function (a, b) { return a.id - b.id; }); - - // do not cache length because more watchers might be pushed - // as we run existing watchers - for (index = 0; index < queue.length; index++) { - watcher = queue[index]; - id = watcher.id; - has[id] = null; - watcher.run(); - // in dev build, check and stop circular updates. - if ("development" !== 'production' && has[id] != null) { - circular[id] = (circular[id] || 0) + 1; - if (circular[id] > MAX_UPDATE_COUNT) { - warn( - 'You may have an infinite update loop ' + ( - watcher.user - ? ("in watcher with expression \"" + (watcher.expression) + "\"") - : "in a component render function." - ), - watcher.vm - ); - break - } - } - } - - // keep copies of post queues before resetting state - var activatedQueue = activatedChildren.slice(); - var updatedQueue = queue.slice(); - - resetSchedulerState(); - - // call component updated and activated hooks - callActivatedHooks(activatedQueue); - callUpdatedHooks(updatedQueue); - - // devtool hook - /* istanbul ignore if */ - if (devtools && config.devtools) { - devtools.emit('flush'); + function rangeSetItem(item, range) { + if (range) { + if (range.start != null) { + item.start = range.start; + } + if (range.end != null) { + item.end = range.end; + } + } + return item; } -} -function callUpdatedHooks (queue) { - var i = queue.length; - while (i--) { - var watcher = queue[i]; - var vm = watcher.vm; - if (vm._watcher === watcher && vm._isMounted) { - callHook(vm, 'updated'); - } + /** + * Cross-platform code generation for component v-model + */ + function genComponentModel(el, value, modifiers) { + var _a = modifiers || {}, number = _a.number, trim = _a.trim; + var baseValueExpression = '$$v'; + var valueExpression = baseValueExpression; + if (trim) { + valueExpression = + "(typeof ".concat(baseValueExpression, " === 'string'") + + "? ".concat(baseValueExpression, ".trim()") + + ": ".concat(baseValueExpression, ")"); + } + if (number) { + valueExpression = "_n(".concat(valueExpression, ")"); + } + var assignment = genAssignmentCode(value, valueExpression); + el.model = { + value: "(".concat(value, ")"), + expression: JSON.stringify(value), + callback: "function (".concat(baseValueExpression, ") {").concat(assignment, "}") + }; } -} - -/** - * Queue a kept-alive component that was activated during patch. - * The queue will be processed after the entire tree has been patched. - */ -function queueActivatedComponent (vm) { - // setting _inactive to false here so that a render function can - // rely on checking whether it's in an inactive tree (e.g. router-view) - vm._inactive = false; - activatedChildren.push(vm); -} - -function callActivatedHooks (queue) { - for (var i = 0; i < queue.length; i++) { - queue[i]._inactive = true; - activateChildComponent(queue[i], true /* true */); - } -} - -/** - * Push a watcher into the watcher queue. - * Jobs with duplicate IDs will be skipped unless it's - * pushed when the queue is being flushed. - */ -function queueWatcher (watcher) { - var id = watcher.id; - if (has[id] == null) { - has[id] = true; - if (!flushing) { - queue.push(watcher); - } else { - // if already flushing, splice the watcher based on its id - // if already past its id, it will be run next immediately. - var i = queue.length - 1; - while (i > index && queue[i].id > watcher.id) { - i--; - } - queue.splice(i + 1, 0, watcher); - } - // queue the flush - if (!waiting) { - waiting = true; - nextTick(flushSchedulerQueue); - } - } -} - -/* */ - -var uid$2 = 0; - -/** - * A watcher parses an expression, collects dependencies, - * and fires callback when the expression value changes. - * This is used for both the $watch() api and directives. - */ -var Watcher = function Watcher ( - vm, - expOrFn, - cb, - options, - isRenderWatcher -) { - this.vm = vm; - if (isRenderWatcher) { - vm._watcher = this; - } - vm._watchers.push(this); - // options - if (options) { - this.deep = !!options.deep; - this.user = !!options.user; - this.lazy = !!options.lazy; - this.sync = !!options.sync; - } else { - this.deep = this.user = this.lazy = this.sync = false; - } - this.cb = cb; - this.id = ++uid$2; // uid for batching - this.active = true; - this.dirty = this.lazy; // for lazy watchers - this.deps = []; - this.newDeps = []; - this.depIds = new _Set(); - this.newDepIds = new _Set(); - this.expression = expOrFn.toString(); - // parse expression for getter - if (typeof expOrFn === 'function') { - this.getter = expOrFn; - } else { - this.getter = parsePath(expOrFn); - if (!this.getter) { - this.getter = function () {}; - "development" !== 'production' && warn( - "Failed watching path: \"" + expOrFn + "\" " + - 'Watcher only accepts simple dot-delimited paths. ' + - 'For full control, use a function instead.', - vm - ); - } + /** + * Cross-platform codegen helper for generating v-model value assignment code. + */ + function genAssignmentCode(value, assignment) { + var res = parseModel(value); + if (res.key === null) { + return "".concat(value, "=").concat(assignment); + } + else { + return "$set(".concat(res.exp, ", ").concat(res.key, ", ").concat(assignment, ")"); + } } - this.value = this.lazy - ? undefined - : this.get(); -}; - -/** - * Evaluate the getter, and re-collect dependencies. - */ -Watcher.prototype.get = function get () { - pushTarget(this); - var value; - var vm = this.vm; - try { - value = this.getter.call(vm, vm); - } catch (e) { - if (this.user) { - handleError(e, vm, ("getter for watcher \"" + (this.expression) + "\"")); - } else { - throw e - } - } finally { - // "touch" every property so they are all tracked as - // dependencies for deep watching - if (this.deep) { - traverse(value); - } - popTarget(); - this.cleanupDeps(); - } - return value -}; - -/** - * Add a dependency to this directive. - */ -Watcher.prototype.addDep = function addDep (dep) { - var id = dep.id; - if (!this.newDepIds.has(id)) { - this.newDepIds.add(id); - this.newDeps.push(dep); - if (!this.depIds.has(id)) { - dep.addSub(this); - } - } -}; - -/** - * Clean up for dependency collection. - */ -Watcher.prototype.cleanupDeps = function cleanupDeps () { - var this$1 = this; - - var i = this.deps.length; - while (i--) { - var dep = this$1.deps[i]; - if (!this$1.newDepIds.has(dep.id)) { - dep.removeSub(this$1); - } - } - var tmp = this.depIds; - this.depIds = this.newDepIds; - this.newDepIds = tmp; - this.newDepIds.clear(); - tmp = this.deps; - this.deps = this.newDeps; - this.newDeps = tmp; - this.newDeps.length = 0; -}; - -/** - * Subscriber interface. - * Will be called when a dependency changes. - */ -Watcher.prototype.update = function update () { - /* istanbul ignore else */ - if (this.lazy) { - this.dirty = true; - } else if (this.sync) { - this.run(); - } else { - queueWatcher(this); - } -}; - -/** - * Scheduler job interface. - * Will be called by the scheduler. - */ -Watcher.prototype.run = function run () { - if (this.active) { - var value = this.get(); - if ( - value !== this.value || - // Deep watchers and watchers on Object/Arrays should fire even - // when the value is the same, because the value may - // have mutated. - isObject(value) || - this.deep - ) { - // set new value - var oldValue = this.value; - this.value = value; - if (this.user) { - try { - this.cb.call(this.vm, value, oldValue); - } catch (e) { - handleError(e, this.vm, ("callback for watcher \"" + (this.expression) + "\"")); - } - } else { - this.cb.call(this.vm, value, oldValue); - } - } - } -}; - -/** - * Evaluate the value of the watcher. - * This only gets called for lazy watchers. - */ -Watcher.prototype.evaluate = function evaluate () { - this.value = this.get(); - this.dirty = false; -}; - -/** - * Depend on all deps collected by this watcher. - */ -Watcher.prototype.depend = function depend () { - var this$1 = this; - - var i = this.deps.length; - while (i--) { - this$1.deps[i].depend(); + /** + * Parse a v-model expression into a base path and a final key segment. + * Handles both dot-path and possible square brackets. + * + * Possible cases: + * + * - test + * - test[key] + * - test[test1[key]] + * - test["a"][key] + * - xxx.test[a[a].test1[key]] + * - test.xxx.a["asa"][test1[key]] + * + */ + var len, str, chr, index, expressionPos, expressionEndPos; + function parseModel(val) { + // Fix https://github.com/vuejs/vue/pull/7730 + // allow v-model="obj.val " (trailing whitespace) + val = val.trim(); + len = val.length; + if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) { + index = val.lastIndexOf('.'); + if (index > -1) { + return { + exp: val.slice(0, index), + key: '"' + val.slice(index + 1) + '"' + }; + } + else { + return { + exp: val, + key: null + }; + } + } + str = val; + index = expressionPos = expressionEndPos = 0; + while (!eof()) { + chr = next(); + /* istanbul ignore if */ + if (isStringStart(chr)) { + parseString(chr); + } + else if (chr === 0x5b) { + parseBracket(chr); + } + } + return { + exp: val.slice(0, expressionPos), + key: val.slice(expressionPos + 1, expressionEndPos) + }; } -}; - -/** - * Remove self from all dependencies' subscriber list. - */ -Watcher.prototype.teardown = function teardown () { - var this$1 = this; - - if (this.active) { - // remove self from vm's watcher list - // this is a somewhat expensive operation so we skip it - // if the vm is being destroyed. - if (!this.vm._isBeingDestroyed) { - remove(this.vm._watchers, this); - } - var i = this.deps.length; - while (i--) { - this$1.deps[i].removeSub(this$1); - } - this.active = false; - } -}; - -/* */ - -var sharedPropertyDefinition = { - enumerable: true, - configurable: true, - get: noop, - set: noop -}; - -function proxy (target, sourceKey, key) { - sharedPropertyDefinition.get = function proxyGetter () { - return this[sourceKey][key] - }; - sharedPropertyDefinition.set = function proxySetter (val) { - this[sourceKey][key] = val; - }; - Object.defineProperty(target, key, sharedPropertyDefinition); -} - -function initState (vm) { - vm._watchers = []; - var opts = vm.$options; - if (opts.props) { initProps(vm, opts.props); } - if (opts.methods) { initMethods(vm, opts.methods); } - if (opts.data) { - initData(vm); - } else { - observe(vm._data = {}, true /* asRootData */); - } - if (opts.computed) { initComputed(vm, opts.computed); } - if (opts.watch && opts.watch !== nativeWatch) { - initWatch(vm, opts.watch); - } -} - -function initProps (vm, propsOptions) { - var propsData = vm.$options.propsData || {}; - var props = vm._props = {}; - // cache prop keys so that future props updates can iterate using Array - // instead of dynamic object key enumeration. - var keys = vm.$options._propKeys = []; - var isRoot = !vm.$parent; - // root instance props should be converted - observerState.shouldConvert = isRoot; - var loop = function ( key ) { - keys.push(key); - var value = validateProp(key, propsOptions, propsData, vm); - /* istanbul ignore else */ - { - var hyphenatedKey = hyphenate(key); - if (isReservedAttribute(hyphenatedKey) || - config.isReservedAttr(hyphenatedKey)) { - warn( - ("\"" + hyphenatedKey + "\" is a reserved attribute and cannot be used as component prop."), - vm - ); - } - defineReactive(props, key, value, function () { - if (vm.$parent && !isUpdatingChildComponent) { - warn( - "Avoid mutating a prop directly since the value will be " + - "overwritten whenever the parent component re-renders. " + - "Instead, use a data or computed property based on the prop's " + - "value. Prop being mutated: \"" + key + "\"", - vm - ); - } - }); - } - // static props are already proxied on the component's prototype - // during Vue.extend(). We only need to proxy props defined at - // instantiation here. - if (!(key in vm)) { - proxy(vm, "_props", key); - } - }; - - for (var key in propsOptions) loop( key ); - observerState.shouldConvert = true; -} - -function initData (vm) { - var data = vm.$options.data; - data = vm._data = typeof data === 'function' - ? getData(data, vm) - : data || {}; - if (!isPlainObject(data)) { - data = {}; - "development" !== 'production' && warn( - 'data functions should return an object:\n' + - 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function', - vm - ); - } - // proxy data on instance - var keys = Object.keys(data); - var props = vm.$options.props; - var methods = vm.$options.methods; - var i = keys.length; - while (i--) { - var key = keys[i]; - { - if (methods && hasOwn(methods, key)) { - warn( - ("Method \"" + key + "\" has already been defined as a data property."), - vm - ); - } - } - if (props && hasOwn(props, key)) { - "development" !== 'production' && warn( - "The data property \"" + key + "\" is already declared as a prop. " + - "Use prop default value instead.", - vm - ); - } else if (!isReserved(key)) { - proxy(vm, "_data", key); - } - } - // observe data - observe(data, true /* asRootData */); -} - -function getData (data, vm) { - try { - return data.call(vm, vm) - } catch (e) { - handleError(e, vm, "data()"); - return {} - } -} - -var computedWatcherOptions = { lazy: true }; - -function initComputed (vm, computed) { - // $flow-disable-line - var watchers = vm._computedWatchers = Object.create(null); - // computed properties are just getters during SSR - var isSSR = isServerRendering(); - - for (var key in computed) { - var userDef = computed[key]; - var getter = typeof userDef === 'function' ? userDef : userDef.get; - if ("development" !== 'production' && getter == null) { - warn( - ("Getter is missing for computed property \"" + key + "\"."), - vm - ); - } - - if (!isSSR) { - // create internal watcher for the computed property. - watchers[key] = new Watcher( - vm, - getter || noop, - noop, - computedWatcherOptions - ); - } - - // component-defined computed properties are already defined on the - // component prototype. We only need to define computed properties defined - // at instantiation here. - if (!(key in vm)) { - defineComputed(vm, key, userDef); - } else { - if (key in vm.$data) { - warn(("The computed property \"" + key + "\" is already defined in data."), vm); - } else if (vm.$options.props && key in vm.$options.props) { - warn(("The computed property \"" + key + "\" is already defined as a prop."), vm); - } - } - } -} - -function defineComputed ( - target, - key, - userDef -) { - var shouldCache = !isServerRendering(); - if (typeof userDef === 'function') { - sharedPropertyDefinition.get = shouldCache - ? createComputedGetter(key) - : userDef; - sharedPropertyDefinition.set = noop; - } else { - sharedPropertyDefinition.get = userDef.get - ? shouldCache && userDef.cache !== false - ? createComputedGetter(key) - : userDef.get - : noop; - sharedPropertyDefinition.set = userDef.set - ? userDef.set - : noop; - } - if ("development" !== 'production' && - sharedPropertyDefinition.set === noop) { - sharedPropertyDefinition.set = function () { - warn( - ("Computed property \"" + key + "\" was assigned to but it has no setter."), - this - ); - }; - } - Object.defineProperty(target, key, sharedPropertyDefinition); -} - -function createComputedGetter (key) { - return function computedGetter () { - var watcher = this._computedWatchers && this._computedWatchers[key]; - if (watcher) { - if (watcher.dirty) { - watcher.evaluate(); - } - if (Dep.target) { - watcher.depend(); - } - return watcher.value - } - } -} - -function initMethods (vm, methods) { - var props = vm.$options.props; - for (var key in methods) { - { - if (methods[key] == null) { - warn( - "Method \"" + key + "\" has an undefined value in the component definition. " + - "Did you reference the function correctly?", - vm - ); - } - if (props && hasOwn(props, key)) { - warn( - ("Method \"" + key + "\" has already been defined as a prop."), - vm - ); - } - if ((key in vm) && isReserved(key)) { - warn( - "Method \"" + key + "\" conflicts with an existing Vue instance method. " + - "Avoid defining component methods that start with _ or $." - ); - } - } - vm[key] = methods[key] == null ? noop : bind(methods[key], vm); - } -} - -function initWatch (vm, watch) { - for (var key in watch) { - var handler = watch[key]; - if (Array.isArray(handler)) { - for (var i = 0; i < handler.length; i++) { - createWatcher(vm, key, handler[i]); - } - } else { - createWatcher(vm, key, handler); - } - } -} - -function createWatcher ( - vm, - keyOrFn, - handler, - options -) { - if (isPlainObject(handler)) { - options = handler; - handler = handler.handler; - } - if (typeof handler === 'string') { - handler = vm[handler]; - } - return vm.$watch(keyOrFn, handler, options) -} - -function stateMixin (Vue) { - // flow somehow has problems with directly declared definition object - // when using Object.defineProperty, so we have to procedurally build up - // the object here. - var dataDef = {}; - dataDef.get = function () { return this._data }; - var propsDef = {}; - propsDef.get = function () { return this._props }; - { - dataDef.set = function (newData) { - warn( - 'Avoid replacing instance root $data. ' + - 'Use nested data properties instead.', - this - ); - }; - propsDef.set = function () { - warn("$props is readonly.", this); - }; - } - Object.defineProperty(Vue.prototype, '$data', dataDef); - Object.defineProperty(Vue.prototype, '$props', propsDef); - - Vue.prototype.$set = set; - Vue.prototype.$delete = del; - - Vue.prototype.$watch = function ( - expOrFn, - cb, - options - ) { - var vm = this; - if (isPlainObject(cb)) { - return createWatcher(vm, expOrFn, cb, options) - } - options = options || {}; - options.user = true; - var watcher = new Watcher(vm, expOrFn, cb, options); - if (options.immediate) { - cb.call(vm, watcher.value); - } - return function unwatchFn () { - watcher.teardown(); - } - }; -} - -/* */ - -function initProvide (vm) { - var provide = vm.$options.provide; - if (provide) { - vm._provided = typeof provide === 'function' - ? provide.call(vm) - : provide; + function next() { + return str.charCodeAt(++index); + } + function eof() { + return index >= len; + } + function isStringStart(chr) { + return chr === 0x22 || chr === 0x27; + } + function parseBracket(chr) { + var inBracket = 1; + expressionPos = index; + while (!eof()) { + chr = next(); + if (isStringStart(chr)) { + parseString(chr); + continue; + } + if (chr === 0x5b) + inBracket++; + if (chr === 0x5d) + inBracket--; + if (inBracket === 0) { + expressionEndPos = index; + break; + } + } + } + function parseString(chr) { + var stringQuote = chr; + while (!eof()) { + chr = next(); + if (chr === stringQuote) { + break; + } + } } -} -function initInjections (vm) { - var result = resolveInject(vm.$options.inject, vm); - if (result) { - observerState.shouldConvert = false; - Object.keys(result).forEach(function (key) { - /* istanbul ignore else */ + var warn$1; + // in some cases, the event used has to be determined at runtime + // so we used some reserved tokens during compile. + var RANGE_TOKEN = '__r'; + var CHECKBOX_RADIO_TOKEN = '__c'; + function model$1(el, dir, _warn) { + warn$1 = _warn; + var value = dir.value; + var modifiers = dir.modifiers; + var tag = el.tag; + var type = el.attrsMap.type; { - defineReactive(vm, key, result[key], function () { - warn( - "Avoid mutating an injected value directly since the changes will be " + - "overwritten whenever the provided component re-renders. " + - "injection being mutated: \"" + key + "\"", - vm - ); - }); - } - }); - observerState.shouldConvert = true; - } -} - -function resolveInject (inject, vm) { - if (inject) { - // inject is :any because flow is not smart enough to figure out cached - var result = Object.create(null); - var keys = hasSymbol - ? Reflect.ownKeys(inject).filter(function (key) { - /* istanbul ignore next */ - return Object.getOwnPropertyDescriptor(inject, key).enumerable - }) - : Object.keys(inject); - - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - var provideKey = inject[key].from; - var source = vm; - while (source) { - if (source._provided && provideKey in source._provided) { - result[key] = source._provided[provideKey]; - break - } - source = source.$parent; - } - if (!source) { - if ('default' in inject[key]) { - var provideDefault = inject[key].default; - result[key] = typeof provideDefault === 'function' - ? provideDefault.call(vm) - : provideDefault; - } else { - warn(("Injection \"" + key + "\" not found"), vm); - } - } - } - return result - } -} - -/* */ - -/** - * Runtime helper for rendering v-for lists. - */ -function renderList ( - val, - render -) { - var ret, i, l, keys, key; - if (Array.isArray(val) || typeof val === 'string') { - ret = new Array(val.length); - for (i = 0, l = val.length; i < l; i++) { - ret[i] = render(val[i], i); - } - } else if (typeof val === 'number') { - ret = new Array(val); - for (i = 0; i < val; i++) { - ret[i] = render(i + 1, i); - } - } else if (isObject(val)) { - keys = Object.keys(val); - ret = new Array(keys.length); - for (i = 0, l = keys.length; i < l; i++) { - key = keys[i]; - ret[i] = render(val[key], key, i); - } - } - if (isDef(ret)) { - (ret)._isVList = true; - } - return ret -} - -/* */ - -/** - * Runtime helper for rendering <slot> - */ -function renderSlot ( - name, - fallback, - props, - bindObject -) { - var scopedSlotFn = this.$scopedSlots[name]; - var nodes; - if (scopedSlotFn) { // scoped slot - props = props || {}; - if (bindObject) { - if ("development" !== 'production' && !isObject(bindObject)) { - warn( - 'slot v-bind without argument expects an Object', - this - ); - } - props = extend(extend({}, bindObject), props); - } - nodes = scopedSlotFn(props) || fallback; - } else { - var slotNodes = this.$slots[name]; - // warn duplicate slot usage - if (slotNodes) { - if ("development" !== 'production' && slotNodes._rendered) { - warn( - "Duplicate presence of slot \"" + name + "\" found in the same render tree " + - "- this will likely cause render errors.", - this - ); - } - slotNodes._rendered = true; - } - nodes = slotNodes || fallback; - } - - var target = props && props.slot; - if (target) { - return this.$createElement('template', { slot: target }, nodes) - } else { - return nodes - } -} - -/* */ - -/** - * Runtime helper for resolving filters - */ -function resolveFilter (id) { - return resolveAsset(this.$options, 'filters', id, true) || identity -} - -/* */ + // inputs with type="file" are read only and setting the input's + // value will throw an error. + if (tag === 'input' && type === 'file') { + warn$1("<".concat(el.tag, " v-model=\"").concat(value, "\" type=\"file\">:\n") + + "File inputs are read only. Use a v-on:change listener instead.", el.rawAttrsMap['v-model']); + } + } + if (el.component) { + genComponentModel(el, value, modifiers); + // component v-model doesn't need extra runtime + return false; + } + else if (tag === 'select') { + genSelect(el, value, modifiers); + } + else if (tag === 'input' && type === 'checkbox') { + genCheckboxModel(el, value, modifiers); + } + else if (tag === 'input' && type === 'radio') { + genRadioModel(el, value, modifiers); + } + else if (tag === 'input' || tag === 'textarea') { + genDefaultModel(el, value, modifiers); + } + else if (!config.isReservedTag(tag)) { + genComponentModel(el, value, modifiers); + // component v-model doesn't need extra runtime + return false; + } + else { + warn$1("<".concat(el.tag, " v-model=\"").concat(value, "\">: ") + + "v-model is not supported on this element type. " + + "If you are working with contenteditable, it's recommended to " + + 'wrap a library dedicated for that purpose inside a custom component.', el.rawAttrsMap['v-model']); + } + // ensure runtime directive metadata + return true; + } + function genCheckboxModel(el, value, modifiers) { + var number = modifiers && modifiers.number; + var valueBinding = getBindingAttr(el, 'value') || 'null'; + var trueValueBinding = getBindingAttr(el, 'true-value') || 'true'; + var falseValueBinding = getBindingAttr(el, 'false-value') || 'false'; + addProp(el, 'checked', "Array.isArray(".concat(value, ")") + + "?_i(".concat(value, ",").concat(valueBinding, ")>-1") + + (trueValueBinding === 'true' + ? ":(".concat(value, ")") + : ":_q(".concat(value, ",").concat(trueValueBinding, ")"))); + addHandler(el, 'change', "var $$a=".concat(value, ",") + + '$$el=$event.target,' + + "$$c=$$el.checked?(".concat(trueValueBinding, "):(").concat(falseValueBinding, ");") + + 'if(Array.isArray($$a)){' + + "var $$v=".concat(number ? '_n(' + valueBinding + ')' : valueBinding, ",") + + '$$i=_i($$a,$$v);' + + "if($$el.checked){$$i<0&&(".concat(genAssignmentCode(value, '$$a.concat([$$v])'), ")}") + + "else{$$i>-1&&(".concat(genAssignmentCode(value, '$$a.slice(0,$$i).concat($$a.slice($$i+1))'), ")}") + + "}else{".concat(genAssignmentCode(value, '$$c'), "}"), null, true); + } + function genRadioModel(el, value, modifiers) { + var number = modifiers && modifiers.number; + var valueBinding = getBindingAttr(el, 'value') || 'null'; + valueBinding = number ? "_n(".concat(valueBinding, ")") : valueBinding; + addProp(el, 'checked', "_q(".concat(value, ",").concat(valueBinding, ")")); + addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true); + } + function genSelect(el, value, modifiers) { + var number = modifiers && modifiers.number; + var selectedVal = "Array.prototype.filter" + + ".call($event.target.options,function(o){return o.selected})" + + ".map(function(o){var val = \"_value\" in o ? o._value : o.value;" + + "return ".concat(number ? '_n(val)' : 'val', "})"); + var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]'; + var code = "var $$selectedVal = ".concat(selectedVal, ";"); + code = "".concat(code, " ").concat(genAssignmentCode(value, assignment)); + addHandler(el, 'change', code, null, true); + } + function genDefaultModel(el, value, modifiers) { + var type = el.attrsMap.type; + // warn if v-bind:value conflicts with v-model + // except for inputs with v-bind:type + { + var value_1 = el.attrsMap['v-bind:value'] || el.attrsMap[':value']; + var typeBinding = el.attrsMap['v-bind:type'] || el.attrsMap[':type']; + if (value_1 && !typeBinding) { + var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value'; + warn$1("".concat(binding, "=\"").concat(value_1, "\" conflicts with v-model on the same element ") + + 'because the latter already expands to a value binding internally', el.rawAttrsMap[binding]); + } + } + var _a = modifiers || {}, lazy = _a.lazy, number = _a.number, trim = _a.trim; + var needCompositionGuard = !lazy && type !== 'range'; + var event = lazy ? 'change' : type === 'range' ? RANGE_TOKEN : 'input'; + var valueExpression = '$event.target.value'; + if (trim) { + valueExpression = "$event.target.value.trim()"; + } + if (number) { + valueExpression = "_n(".concat(valueExpression, ")"); + } + var code = genAssignmentCode(value, valueExpression); + if (needCompositionGuard) { + code = "if($event.target.composing)return;".concat(code); + } + addProp(el, 'value', "(".concat(value, ")")); + addHandler(el, event, code, null, true); + if (trim || number) { + addHandler(el, 'blur', '$forceUpdate()'); + } + } -/** - * Runtime helper for checking keyCodes from config. - * exposed as Vue.prototype._k - * passing in eventKeyName as last argument separately for backwards compat - */ -function checkKeyCodes ( - eventKeyCode, - key, - builtInAlias, - eventKeyName -) { - var keyCodes = config.keyCodes[key] || builtInAlias; - if (keyCodes) { - if (Array.isArray(keyCodes)) { - return keyCodes.indexOf(eventKeyCode) === -1 - } else { - return keyCodes !== eventKeyCode - } - } else if (eventKeyName) { - return hyphenate(eventKeyName) !== key - } -} - -/* */ - -/** - * Runtime helper for merging v-bind="object" into a VNode's data. - */ -function bindObjectProps ( - data, - tag, - value, - asProp, - isSync -) { - if (value) { - if (!isObject(value)) { - "development" !== 'production' && warn( - 'v-bind without argument expects an Object or Array value', - this - ); - } else { - if (Array.isArray(value)) { - value = toObject(value); - } - var hash; - var loop = function ( key ) { - if ( - key === 'class' || - key === 'style' || - isReservedAttribute(key) - ) { - hash = data; - } else { - var type = data.attrs && data.attrs.type; - hash = asProp || config.mustUseProp(tag, type, key) - ? data.domProps || (data.domProps = {}) - : data.attrs || (data.attrs = {}); - } - if (!(key in hash)) { - hash[key] = value[key]; - - if (isSync) { - var on = data.on || (data.on = {}); - on[("update:" + key)] = function ($event) { - value[key] = $event; - }; - } - } + // normalize v-model event tokens that can only be determined at runtime. + // it's important to place the event as the first in the array because + // the whole point is ensuring the v-model callback gets called before + // user-attached handlers. + function normalizeEvents(on) { + /* istanbul ignore if */ + if (isDef(on[RANGE_TOKEN])) { + // IE input[type=range] only supports `change` event + var event_1 = isIE ? 'change' : 'input'; + on[event_1] = [].concat(on[RANGE_TOKEN], on[event_1] || []); + delete on[RANGE_TOKEN]; + } + // This was originally intended to fix #4521 but no longer necessary + // after 2.5. Keeping it for backwards compat with generated code from < 2.4 + /* istanbul ignore if */ + if (isDef(on[CHECKBOX_RADIO_TOKEN])) { + on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []); + delete on[CHECKBOX_RADIO_TOKEN]; + } + } + var target; + function createOnceHandler(event, handler, capture) { + var _target = target; // save current target element in closure + return function onceHandler() { + var res = handler.apply(null, arguments); + if (res !== null) { + remove(event, onceHandler, capture, _target); + } }; - - for (var key in value) loop( key ); - } } - return data -} - -/* */ - -/** - * Runtime helper for rendering static trees. - */ -function renderStatic ( - index, - isInFor -) { - var cached = this._staticTrees || (this._staticTrees = []); - var tree = cached[index]; - // if has already-rendered static tree and not inside v-for, - // we can reuse the same tree by doing a shallow clone. - if (tree && !isInFor) { - return Array.isArray(tree) - ? cloneVNodes(tree) - : cloneVNode(tree) - } - // otherwise, render a fresh tree. - tree = cached[index] = this.$options.staticRenderFns[index].call( - this._renderProxy, - null, - this // for render fns generated for functional component templates - ); - markStatic(tree, ("__static__" + index), false); - return tree -} - -/** - * Runtime helper for v-once. - * Effectively it means marking the node as static with a unique key. - */ -function markOnce ( - tree, - index, - key -) { - markStatic(tree, ("__once__" + index + (key ? ("_" + key) : "")), true); - return tree -} - -function markStatic ( - tree, - key, - isOnce -) { - if (Array.isArray(tree)) { - for (var i = 0; i < tree.length; i++) { - if (tree[i] && typeof tree[i] !== 'string') { - markStaticNode(tree[i], (key + "_" + i), isOnce); - } - } - } else { - markStaticNode(tree, key, isOnce); - } -} - -function markStaticNode (node, key, isOnce) { - node.isStatic = true; - node.key = key; - node.isOnce = isOnce; -} - -/* */ - -function bindObjectListeners (data, value) { - if (value) { - if (!isPlainObject(value)) { - "development" !== 'production' && warn( - 'v-on without argument expects an Object value', - this - ); - } else { - var on = data.on = data.on ? extend({}, data.on) : {}; - for (var key in value) { - var existing = on[key]; - var ours = value[key]; - on[key] = existing ? [].concat(existing, ours) : ours; - } - } - } - return data -} - -/* */ - -function installRenderHelpers (target) { - target._o = markOnce; - target._n = toNumber; - target._s = toString; - target._l = renderList; - target._t = renderSlot; - target._q = looseEqual; - target._i = looseIndexOf; - target._m = renderStatic; - target._f = resolveFilter; - target._k = checkKeyCodes; - target._b = bindObjectProps; - target._v = createTextVNode; - target._e = createEmptyVNode; - target._u = resolveScopedSlots; - target._g = bindObjectListeners; -} - -/* */ - -function FunctionalRenderContext ( - data, - props, - children, - parent, - Ctor -) { - var options = Ctor.options; - this.data = data; - this.props = props; - this.children = children; - this.parent = parent; - this.listeners = data.on || emptyObject; - this.injections = resolveInject(options.inject, parent); - this.slots = function () { return resolveSlots(children, parent); }; - - // ensure the createElement function in functional components - // gets a unique context - this is necessary for correct named slot check - var contextVm = Object.create(parent); - var isCompiled = isTrue(options._compiled); - var needNormalization = !isCompiled; - - // support for compiled functional template - if (isCompiled) { - // exposing $options for renderStatic() - this.$options = options; - // pre-resolve slots for renderSlot() - this.$slots = this.slots(); - this.$scopedSlots = data.scopedSlots || emptyObject; - } - - if (options._scopeId) { - this._c = function (a, b, c, d) { - var vnode = createElement(contextVm, a, b, c, d, needNormalization); - if (vnode) { - vnode.fnScopeId = options._scopeId; - vnode.fnContext = parent; - } - return vnode - }; - } else { - this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); }; - } -} - -installRenderHelpers(FunctionalRenderContext.prototype); - -function createFunctionalComponent ( - Ctor, - propsData, - data, - contextVm, - children -) { - var options = Ctor.options; - var props = {}; - var propOptions = options.props; - if (isDef(propOptions)) { - for (var key in propOptions) { - props[key] = validateProp(key, propOptions, propsData || emptyObject); - } - } else { - if (isDef(data.attrs)) { mergeProps(props, data.attrs); } - if (isDef(data.props)) { mergeProps(props, data.props); } - } - - var renderContext = new FunctionalRenderContext( - data, - props, - children, - contextVm, - Ctor - ); - - var vnode = options.render.call(null, renderContext._c, renderContext); - - if (vnode instanceof VNode) { - vnode.fnContext = contextVm; - vnode.fnOptions = options; - if (data.slot) { - (vnode.data || (vnode.data = {})).slot = data.slot; - } - } - - return vnode -} - -function mergeProps (to, from) { - for (var key in from) { - to[camelize(key)] = from[key]; - } -} - -/* */ - - - - -// Register the component hook to weex native render engine. -// The hook will be triggered by native, not javascript. - - -// Updates the state of the component to weex native render engine. - -/* */ - -// https://github.com/Hanks10100/weex-native-directive/tree/master/component - -// listening on native callback - -/* */ - -/* */ - -// hooks to be invoked on component VNodes during patch -var componentVNodeHooks = { - init: function init ( - vnode, - hydrating, - parentElm, - refElm - ) { - if (!vnode.componentInstance || vnode.componentInstance._isDestroyed) { - var child = vnode.componentInstance = createComponentInstanceForVnode( - vnode, - activeInstance, - parentElm, - refElm - ); - child.$mount(hydrating ? vnode.elm : undefined, hydrating); - } else if (vnode.data.keepAlive) { - // kept-alive components, treat as a patch - var mountedNode = vnode; // work around flow - componentVNodeHooks.prepatch(mountedNode, mountedNode); - } - }, - - prepatch: function prepatch (oldVnode, vnode) { - var options = vnode.componentOptions; - var child = vnode.componentInstance = oldVnode.componentInstance; - updateChildComponent( - child, - options.propsData, // updated props - options.listeners, // updated listeners - vnode, // new parent vnode - options.children // new children - ); - }, - - insert: function insert (vnode) { - var context = vnode.context; - var componentInstance = vnode.componentInstance; - if (!componentInstance._isMounted) { - componentInstance._isMounted = true; - callHook(componentInstance, 'mounted'); - } - if (vnode.data.keepAlive) { - if (context._isMounted) { - // vue-router#1212 - // During updates, a kept-alive component's child components may - // change, so directly walking the tree here may call activated hooks - // on incorrect children. Instead we push them into a queue which will - // be processed after the whole patch process ended. - queueActivatedComponent(componentInstance); - } else { - activateChildComponent(componentInstance, true /* direct */); - } - } - }, - - destroy: function destroy (vnode) { - var componentInstance = vnode.componentInstance; - if (!componentInstance._isDestroyed) { - if (!vnode.data.keepAlive) { - componentInstance.$destroy(); - } else { - deactivateChildComponent(componentInstance, true /* direct */); - } - } - } -}; - -var hooksToMerge = Object.keys(componentVNodeHooks); - -function createComponent ( - Ctor, - data, - context, - children, - tag -) { - if (isUndef(Ctor)) { - return - } - - var baseCtor = context.$options._base; - - // plain options object: turn it into a constructor - if (isObject(Ctor)) { - Ctor = baseCtor.extend(Ctor); - } - - // if at this stage it's not a constructor or an async component factory, - // reject. - if (typeof Ctor !== 'function') { - { - warn(("Invalid Component definition: " + (String(Ctor))), context); - } - return - } - - // async component - var asyncFactory; - if (isUndef(Ctor.cid)) { - asyncFactory = Ctor; - Ctor = resolveAsyncComponent(asyncFactory, baseCtor, context); - if (Ctor === undefined) { - // return a placeholder node for async component, which is rendered - // as a comment node but preserves all the raw information for the node. - // the information will be used for async server-rendering and hydration. - return createAsyncPlaceholder( - asyncFactory, - data, - context, - children, - tag - ) - } - } - - data = data || {}; - - // resolve constructor options in case global mixins are applied after - // component constructor creation - resolveConstructorOptions(Ctor); - - // transform component v-model data into props & events - if (isDef(data.model)) { - transformModel(Ctor.options, data); - } - - // extract props - var propsData = extractPropsFromVNodeData(data, Ctor, tag); - - // functional component - if (isTrue(Ctor.options.functional)) { - return createFunctionalComponent(Ctor, propsData, data, context, children) - } - - // extract listeners, since these needs to be treated as - // child component listeners instead of DOM listeners - var listeners = data.on; - // replace with listeners with .native modifier - // so it gets processed during parent component patch. - data.on = data.nativeOn; - - if (isTrue(Ctor.options.abstract)) { - // abstract components do not keep anything - // other than props & listeners & slot - - // work around flow - var slot = data.slot; - data = {}; - if (slot) { - data.slot = slot; - } - } - - // merge component management hooks onto the placeholder node - mergeHooks(data); - - // return a placeholder vnode - var name = Ctor.options.name || tag; - var vnode = new VNode( - ("vue-component-" + (Ctor.cid) + (name ? ("-" + name) : '')), - data, undefined, undefined, undefined, context, - { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children }, - asyncFactory - ); - - // Weex specific: invoke recycle-list optimized @render function for - // extracting cell-slot template. - // https://github.com/Hanks10100/weex-native-directive/tree/master/component - /* istanbul ignore if */ - return vnode -} - -function createComponentInstanceForVnode ( - vnode, // we know it's MountedComponentVNode but flow doesn't - parent, // activeInstance in lifecycle state - parentElm, - refElm -) { - var options = { - _isComponent: true, - parent: parent, - _parentVnode: vnode, - _parentElm: parentElm || null, - _refElm: refElm || null + // #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp + // implementation and does not fire microtasks in between event propagation, so + // safe to exclude. + var useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53); + function add(name, handler, capture, passive) { + // async edge case #6566: inner click event triggers patch, event handler + // attached to outer element during patch, and triggered again. This + // happens because browsers fire microtask ticks between event propagation. + // the solution is simple: we save the timestamp when a handler is attached, + // and the handler would only fire if the event passed to it was fired + // AFTER it was attached. + if (useMicrotaskFix) { + var attachedTimestamp_1 = currentFlushTimestamp; + var original_1 = handler; + //@ts-expect-error + handler = original_1._wrapper = function (e) { + if ( + // no bubbling, should always fire. + // this is just a safety net in case event.timeStamp is unreliable in + // certain weird environments... + e.target === e.currentTarget || + // event is fired after handler attachment + e.timeStamp >= attachedTimestamp_1 || + // bail for environments that have buggy event.timeStamp implementations + // #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState + // #9681 QtWebEngine event.timeStamp is negative value + e.timeStamp <= 0 || + // #9448 bail if event is fired in another document in a multi-page + // electron/nw.js app, since event.timeStamp will be using a different + // starting reference + e.target.ownerDocument !== document) { + return original_1.apply(this, arguments); + } + }; + } + target.addEventListener(name, handler, supportsPassive ? { capture: capture, passive: passive } : capture); + } + function remove(name, handler, capture, _target) { + (_target || target).removeEventListener(name, + //@ts-expect-error + handler._wrapper || handler, capture); + } + function updateDOMListeners(oldVnode, vnode) { + if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) { + return; + } + var on = vnode.data.on || {}; + var oldOn = oldVnode.data.on || {}; + // vnode is empty when removing all listeners, + // and use old vnode dom element + target = vnode.elm || oldVnode.elm; + normalizeEvents(on); + updateListeners(on, oldOn, add, remove, createOnceHandler, vnode.context); + target = undefined; + } + var events = { + create: updateDOMListeners, + update: updateDOMListeners, + // @ts-expect-error emptyNode has actually data + destroy: function (vnode) { return updateDOMListeners(vnode, emptyNode); } }; - // check inline-template render functions - var inlineTemplate = vnode.data.inlineTemplate; - if (isDef(inlineTemplate)) { - options.render = inlineTemplate.render; - options.staticRenderFns = inlineTemplate.staticRenderFns; - } - return new vnode.componentOptions.Ctor(options) -} - -function mergeHooks (data) { - if (!data.hook) { - data.hook = {}; - } - for (var i = 0; i < hooksToMerge.length; i++) { - var key = hooksToMerge[i]; - var fromParent = data.hook[key]; - var ours = componentVNodeHooks[key]; - data.hook[key] = fromParent ? mergeHook$1(ours, fromParent) : ours; - } -} - -function mergeHook$1 (one, two) { - return function (a, b, c, d) { - one(a, b, c, d); - two(a, b, c, d); - } -} - -// transform component v-model info (value and callback) into -// prop and event handler respectively. -function transformModel (options, data) { - var prop = (options.model && options.model.prop) || 'value'; - var event = (options.model && options.model.event) || 'input';(data.props || (data.props = {}))[prop] = data.model.value; - var on = data.on || (data.on = {}); - if (isDef(on[event])) { - on[event] = [data.model.callback].concat(on[event]); - } else { - on[event] = data.model.callback; - } -} - -/* */ - -var SIMPLE_NORMALIZE = 1; -var ALWAYS_NORMALIZE = 2; - -// wrapper function for providing a more flexible interface -// without getting yelled at by flow -function createElement ( - context, - tag, - data, - children, - normalizationType, - alwaysNormalize -) { - if (Array.isArray(data) || isPrimitive(data)) { - normalizationType = children; - children = data; - data = undefined; - } - if (isTrue(alwaysNormalize)) { - normalizationType = ALWAYS_NORMALIZE; - } - return _createElement(context, tag, data, children, normalizationType) -} - -function _createElement ( - context, - tag, - data, - children, - normalizationType -) { - if (isDef(data) && isDef((data).__ob__)) { - "development" !== 'production' && warn( - "Avoid using observed data object as vnode data: " + (JSON.stringify(data)) + "\n" + - 'Always create fresh vnode data objects in each render!', - context - ); - return createEmptyVNode() - } - // object syntax in v-bind - if (isDef(data) && isDef(data.is)) { - tag = data.is; - } - if (!tag) { - // in case of component :is set to falsy value - return createEmptyVNode() - } - // warn against non-primitive key - if ("development" !== 'production' && - isDef(data) && isDef(data.key) && !isPrimitive(data.key) - ) { - { - warn( - 'Avoid using non-primitive value as key, ' + - 'use string/number value instead.', - context - ); - } - } - // support single function children as default scoped slot - if (Array.isArray(children) && - typeof children[0] === 'function' - ) { - data = data || {}; - data.scopedSlots = { default: children[0] }; - children.length = 0; - } - if (normalizationType === ALWAYS_NORMALIZE) { - children = normalizeChildren(children); - } else if (normalizationType === SIMPLE_NORMALIZE) { - children = simpleNormalizeChildren(children); - } - var vnode, ns; - if (typeof tag === 'string') { - var Ctor; - ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag); - if (config.isReservedTag(tag)) { - // platform built-in elements - vnode = new VNode( - config.parsePlatformTagName(tag), data, children, - undefined, undefined, context - ); - } else if (isDef(Ctor = resolveAsset(context.$options, 'components', tag))) { - // component - vnode = createComponent(Ctor, data, context, children, tag); - } else { - // unknown or unlisted namespaced elements - // check at runtime because it may get assigned a namespace when its - // parent normalizes children - vnode = new VNode( - tag, data, children, - undefined, undefined, context - ); - } - } else { - // direct component options / constructor - vnode = createComponent(tag, data, context, children); - } - if (isDef(vnode)) { - if (ns) { applyNS(vnode, ns); } - return vnode - } else { - return createEmptyVNode() - } -} - -function applyNS (vnode, ns, force) { - vnode.ns = ns; - if (vnode.tag === 'foreignObject') { - // use default namespace inside foreignObject - ns = undefined; - force = true; - } - if (isDef(vnode.children)) { - for (var i = 0, l = vnode.children.length; i < l; i++) { - var child = vnode.children[i]; - if (isDef(child.tag) && (isUndef(child.ns) || isTrue(force))) { - applyNS(child, ns, force); - } - } - } -} - -/* */ - -function initRender (vm) { - vm._vnode = null; // the root of the child tree - vm._staticTrees = null; // v-once cached trees - var options = vm.$options; - var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree - var renderContext = parentVnode && parentVnode.context; - vm.$slots = resolveSlots(options._renderChildren, renderContext); - vm.$scopedSlots = emptyObject; - // bind the createElement fn to this instance - // so that we get proper render context inside it. - // args order: tag, data, children, normalizationType, alwaysNormalize - // internal version is used by render functions compiled from templates - vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); }; - // normalization is always applied for the public version, used in - // user-written render functions. - vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); }; - - // $attrs & $listeners are exposed for easier HOC creation. - // they need to be reactive so that HOCs using them are always updated - var parentData = parentVnode && parentVnode.data; - - /* istanbul ignore else */ - { - defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () { - !isUpdatingChildComponent && warn("$attrs is readonly.", vm); - }, true); - defineReactive(vm, '$listeners', options._parentListeners || emptyObject, function () { - !isUpdatingChildComponent && warn("$listeners is readonly.", vm); - }, true); + + var svgContainer; + function updateDOMProps(oldVnode, vnode) { + if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) { + return; + } + var key, cur; + var elm = vnode.elm; + var oldProps = oldVnode.data.domProps || {}; + var props = vnode.data.domProps || {}; + // clone observed objects, as the user probably wants to mutate it + if (isDef(props.__ob__) || isTrue(props._v_attr_proxy)) { + props = vnode.data.domProps = extend({}, props); + } + for (key in oldProps) { + if (!(key in props)) { + elm[key] = ''; + } + } + for (key in props) { + cur = props[key]; + // ignore children if the node has textContent or innerHTML, + // as these will throw away existing DOM nodes and cause removal errors + // on subsequent patches (#3360) + if (key === 'textContent' || key === 'innerHTML') { + if (vnode.children) + vnode.children.length = 0; + if (cur === oldProps[key]) + continue; + // #6601 work around Chrome version <= 55 bug where single textNode + // replaced by innerHTML/textContent retains its parentNode property + if (elm.childNodes.length === 1) { + elm.removeChild(elm.childNodes[0]); + } + } + if (key === 'value' && elm.tagName !== 'PROGRESS') { + // store value as _value as well since + // non-string values will be stringified + elm._value = cur; + // avoid resetting cursor position when value is the same + var strCur = isUndef(cur) ? '' : String(cur); + if (shouldUpdateValue(elm, strCur)) { + elm.value = strCur; + } + } + else if (key === 'innerHTML' && + isSVG(elm.tagName) && + isUndef(elm.innerHTML)) { + // IE doesn't support innerHTML for SVG elements + svgContainer = svgContainer || document.createElement('div'); + svgContainer.innerHTML = "<svg>".concat(cur, "</svg>"); + var svg = svgContainer.firstChild; + while (elm.firstChild) { + elm.removeChild(elm.firstChild); + } + while (svg.firstChild) { + elm.appendChild(svg.firstChild); + } + } + else if ( + // skip the update if old and new VDOM state is the same. + // `value` is handled separately because the DOM value may be temporarily + // out of sync with VDOM state due to focus, composition and modifiers. + // This #4521 by skipping the unnecessary `checked` update. + cur !== oldProps[key]) { + // some property updates can throw + // e.g. `value` on <progress> w/ non-finite value + try { + elm[key] = cur; + } + catch (e) { } + } + } + } + function shouldUpdateValue(elm, checkVal) { + return ( + //@ts-expect-error + !elm.composing && + (elm.tagName === 'OPTION' || + isNotInFocusAndDirty(elm, checkVal) || + isDirtyWithModifiers(elm, checkVal))); + } + function isNotInFocusAndDirty(elm, checkVal) { + // return true when textbox (.number and .trim) loses focus and its value is + // not equal to the updated value + var notInFocus = true; + // #6157 + // work around IE bug when accessing document.activeElement in an iframe + try { + notInFocus = document.activeElement !== elm; + } + catch (e) { } + return notInFocus && elm.value !== checkVal; + } + function isDirtyWithModifiers(elm, newVal) { + var value = elm.value; + var modifiers = elm._vModifiers; // injected by v-model runtime + if (isDef(modifiers)) { + if (modifiers.number) { + return toNumber(value) !== toNumber(newVal); + } + if (modifiers.trim) { + return value.trim() !== newVal.trim(); + } + } + return value !== newVal; } -} - -function renderMixin (Vue) { - // install runtime convenience helpers - installRenderHelpers(Vue.prototype); - - Vue.prototype.$nextTick = function (fn) { - return nextTick(fn, this) - }; - - Vue.prototype._render = function () { - var vm = this; - var ref = vm.$options; - var render = ref.render; - var _parentVnode = ref._parentVnode; - - if (vm._isMounted) { - // if the parent didn't update, the slot nodes will be the ones from - // last render. They need to be cloned to ensure "freshness" for this render. - for (var key in vm.$slots) { - var slot = vm.$slots[key]; - // _rendered is a flag added by renderSlot, but may not be present - // if the slot is passed from manually written render functions - if (slot._rendered || (slot[0] && slot[0].elm)) { - vm.$slots[key] = cloneVNodes(slot, true /* deep */); - } - } - } - - vm.$scopedSlots = (_parentVnode && _parentVnode.data.scopedSlots) || emptyObject; - - // set parent vnode. this allows render functions to have access - // to the data on the placeholder node. - vm.$vnode = _parentVnode; - // render self - var vnode; - try { - vnode = render.call(vm._renderProxy, vm.$createElement); - } catch (e) { - handleError(e, vm, "render"); - // return error render result, - // or previous vnode to prevent render error causing blank component - /* istanbul ignore else */ - { - if (vm.$options.renderError) { - try { - vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e); - } catch (e) { - handleError(e, vm, "renderError"); - vnode = vm._vnode; - } - } else { - vnode = vm._vnode; - } - } - } - // return empty vnode in case the render function errored out - if (!(vnode instanceof VNode)) { - if ("development" !== 'production' && Array.isArray(vnode)) { - warn( - 'Multiple root nodes returned from render function. Render function ' + - 'should return a single root node.', - vm - ); - } - vnode = createEmptyVNode(); - } - // set parent - vnode.parent = _parentVnode; - return vnode - }; -} - -/* */ - -var uid$1 = 0; - -function initMixin (Vue) { - Vue.prototype._init = function (options) { - var vm = this; - // a uid - vm._uid = uid$1++; - - var startTag, endTag; - /* istanbul ignore if */ - if ("development" !== 'production' && config.performance && mark) { - startTag = "vue-perf-start:" + (vm._uid); - endTag = "vue-perf-end:" + (vm._uid); - mark(startTag); - } - - // a flag to avoid this being observed - vm._isVue = true; - // merge options - if (options && options._isComponent) { - // optimize internal component instantiation - // since dynamic options merging is pretty slow, and none of the - // internal component options needs special treatment. - initInternalComponent(vm, options); - } else { - vm.$options = mergeOptions( - resolveConstructorOptions(vm.constructor), - options || {}, - vm - ); - } - /* istanbul ignore else */ - { - initProxy(vm); - } - // expose real self - vm._self = vm; - initLifecycle(vm); - initEvents(vm); - initRender(vm); - callHook(vm, 'beforeCreate'); - initInjections(vm); // resolve injections before data/props - initState(vm); - initProvide(vm); // resolve provide after data/props - callHook(vm, 'created'); - - /* istanbul ignore if */ - if ("development" !== 'production' && config.performance && mark) { - vm._name = formatComponentName(vm, false); - mark(endTag); - measure(("vue " + (vm._name) + " init"), startTag, endTag); - } - - if (vm.$options.el) { - vm.$mount(vm.$options.el); - } - }; -} - -function initInternalComponent (vm, options) { - var opts = vm.$options = Object.create(vm.constructor.options); - // doing this because it's faster than dynamic enumeration. - var parentVnode = options._parentVnode; - opts.parent = options.parent; - opts._parentVnode = parentVnode; - opts._parentElm = options._parentElm; - opts._refElm = options._refElm; - - var vnodeComponentOptions = parentVnode.componentOptions; - opts.propsData = vnodeComponentOptions.propsData; - opts._parentListeners = vnodeComponentOptions.listeners; - opts._renderChildren = vnodeComponentOptions.children; - opts._componentTag = vnodeComponentOptions.tag; - - if (options.render) { - opts.render = options.render; - opts.staticRenderFns = options.staticRenderFns; - } -} - -function resolveConstructorOptions (Ctor) { - var options = Ctor.options; - if (Ctor.super) { - var superOptions = resolveConstructorOptions(Ctor.super); - var cachedSuperOptions = Ctor.superOptions; - if (superOptions !== cachedSuperOptions) { - // super option changed, - // need to resolve new options. - Ctor.superOptions = superOptions; - // check if there are any late-modified/attached options (#4976) - var modifiedOptions = resolveModifiedOptions(Ctor); - // update base extend options - if (modifiedOptions) { - extend(Ctor.extendOptions, modifiedOptions); - } - options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions); - if (options.name) { - options.components[options.name] = Ctor; - } - } - } - return options -} - -function resolveModifiedOptions (Ctor) { - var modified; - var latest = Ctor.options; - var extended = Ctor.extendOptions; - var sealed = Ctor.sealedOptions; - for (var key in latest) { - if (latest[key] !== sealed[key]) { - if (!modified) { modified = {}; } - modified[key] = dedupe(latest[key], extended[key], sealed[key]); - } - } - return modified -} - -function dedupe (latest, extended, sealed) { - // compare latest and sealed to ensure lifecycle hooks won't be duplicated - // between merges - if (Array.isArray(latest)) { - var res = []; - sealed = Array.isArray(sealed) ? sealed : [sealed]; - extended = Array.isArray(extended) ? extended : [extended]; - for (var i = 0; i < latest.length; i++) { - // push original options and not sealed options to exclude duplicated options - if (extended.indexOf(latest[i]) >= 0 || sealed.indexOf(latest[i]) < 0) { - res.push(latest[i]); - } - } - return res - } else { - return latest - } -} - -function Vue$3 (options) { - if ("development" !== 'production' && - !(this instanceof Vue$3) - ) { - warn('Vue is a constructor and should be called with the `new` keyword'); - } - this._init(options); -} - -initMixin(Vue$3); -stateMixin(Vue$3); -eventsMixin(Vue$3); -lifecycleMixin(Vue$3); -renderMixin(Vue$3); - -/* */ - -function initUse (Vue) { - Vue.use = function (plugin) { - var installedPlugins = (this._installedPlugins || (this._installedPlugins = [])); - if (installedPlugins.indexOf(plugin) > -1) { - return this - } - - // additional parameters - var args = toArray(arguments, 1); - args.unshift(this); - if (typeof plugin.install === 'function') { - plugin.install.apply(plugin, args); - } else if (typeof plugin === 'function') { - plugin.apply(null, args); - } - installedPlugins.push(plugin); - return this - }; -} - -/* */ - -function initMixin$1 (Vue) { - Vue.mixin = function (mixin) { - this.options = mergeOptions(this.options, mixin); - return this + var domProps = { + create: updateDOMProps, + update: updateDOMProps }; -} -/* */ - -function initExtend (Vue) { + var parseStyleText = cached(function (cssText) { + var res = {}; + var listDelimiter = /;(?![^(]*\))/g; + var propertyDelimiter = /:(.+)/; + cssText.split(listDelimiter).forEach(function (item) { + if (item) { + var tmp = item.split(propertyDelimiter); + tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim()); + } + }); + return res; + }); + // merge static and dynamic style data on the same vnode + function normalizeStyleData(data) { + var style = normalizeStyleBinding(data.style); + // static style is pre-processed into an object during compilation + // and is always a fresh object, so it's safe to merge into it + return data.staticStyle ? extend(data.staticStyle, style) : style; + } + // normalize possible array / string values into Object + function normalizeStyleBinding(bindingStyle) { + if (Array.isArray(bindingStyle)) { + return toObject(bindingStyle); + } + if (typeof bindingStyle === 'string') { + return parseStyleText(bindingStyle); + } + return bindingStyle; + } /** - * Each instance constructor, including Vue, has a unique - * cid. This enables us to create wrapped "child - * constructors" for prototypal inheritance and cache them. + * parent component style should be after child's + * so that parent component's style could override it */ - Vue.cid = 0; - var cid = 1; + function getStyle(vnode, checkChild) { + var res = {}; + var styleData; + if (checkChild) { + var childNode = vnode; + while (childNode.componentInstance) { + childNode = childNode.componentInstance._vnode; + if (childNode && + childNode.data && + (styleData = normalizeStyleData(childNode.data))) { + extend(res, styleData); + } + } + } + if ((styleData = normalizeStyleData(vnode.data))) { + extend(res, styleData); + } + var parentNode = vnode; + // @ts-expect-error parentNode.parent not VNodeWithData + while ((parentNode = parentNode.parent)) { + if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) { + extend(res, styleData); + } + } + return res; + } - /** - * Class inheritance - */ - Vue.extend = function (extendOptions) { - extendOptions = extendOptions || {}; - var Super = this; - var SuperId = Super.cid; - var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {}); - if (cachedCtors[SuperId]) { - return cachedCtors[SuperId] - } - - var name = extendOptions.name || Super.options.name; - if ("development" !== 'production' && name) { - validateComponentName(name); - } - - var Sub = function VueComponent (options) { - this._init(options); - }; - Sub.prototype = Object.create(Super.prototype); - Sub.prototype.constructor = Sub; - Sub.cid = cid++; - Sub.options = mergeOptions( - Super.options, - extendOptions - ); - Sub['super'] = Super; - - // For props and computed properties, we define the proxy getters on - // the Vue instances at extension time, on the extended prototype. This - // avoids Object.defineProperty calls for each instance created. - if (Sub.options.props) { - initProps$1(Sub); - } - if (Sub.options.computed) { - initComputed$1(Sub); - } - - // allow further extension/mixin/plugin usage - Sub.extend = Super.extend; - Sub.mixin = Super.mixin; - Sub.use = Super.use; - - // create asset registers, so extended classes - // can have their private assets too. - ASSET_TYPES.forEach(function (type) { - Sub[type] = Super[type]; - }); - // enable recursive self-lookup - if (name) { - Sub.options.components[name] = Sub; - } - - // keep a reference to the super options at extension time. - // later at instantiation we can check if Super's options have - // been updated. - Sub.superOptions = Super.options; - Sub.extendOptions = extendOptions; - Sub.sealedOptions = extend({}, Sub.options); - - // cache constructor - cachedCtors[SuperId] = Sub; - return Sub + var cssVarRE = /^--/; + var importantRE = /\s*!important$/; + var setProp = function (el, name, val) { + /* istanbul ignore if */ + if (cssVarRE.test(name)) { + el.style.setProperty(name, val); + } + else if (importantRE.test(val)) { + el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important'); + } + else { + var normalizedName = normalize(name); + if (Array.isArray(val)) { + // Support values array created by autoprefixer, e.g. + // {display: ["-webkit-box", "-ms-flexbox", "flex"]} + // Set them one by one, and the browser will only set those it can recognize + for (var i = 0, len = val.length; i < len; i++) { + el.style[normalizedName] = val[i]; + } + } + else { + el.style[normalizedName] = val; + } + } }; -} - -function initProps$1 (Comp) { - var props = Comp.options.props; - for (var key in props) { - proxy(Comp.prototype, "_props", key); + var vendorNames = ['Webkit', 'Moz', 'ms']; + var emptyStyle; + var normalize = cached(function (prop) { + emptyStyle = emptyStyle || document.createElement('div').style; + prop = camelize(prop); + if (prop !== 'filter' && prop in emptyStyle) { + return prop; + } + var capName = prop.charAt(0).toUpperCase() + prop.slice(1); + for (var i = 0; i < vendorNames.length; i++) { + var name_1 = vendorNames[i] + capName; + if (name_1 in emptyStyle) { + return name_1; + } + } + }); + function updateStyle(oldVnode, vnode) { + var data = vnode.data; + var oldData = oldVnode.data; + if (isUndef(data.staticStyle) && + isUndef(data.style) && + isUndef(oldData.staticStyle) && + isUndef(oldData.style)) { + return; + } + var cur, name; + var el = vnode.elm; + var oldStaticStyle = oldData.staticStyle; + var oldStyleBinding = oldData.normalizedStyle || oldData.style || {}; + // if static style exists, stylebinding already merged into it when doing normalizeStyleData + var oldStyle = oldStaticStyle || oldStyleBinding; + var style = normalizeStyleBinding(vnode.data.style) || {}; + // store normalized style under a different key for next diff + // make sure to clone it if it's reactive, since the user likely wants + // to mutate it. + vnode.data.normalizedStyle = isDef(style.__ob__) ? extend({}, style) : style; + var newStyle = getStyle(vnode, true); + for (name in oldStyle) { + if (isUndef(newStyle[name])) { + setProp(el, name, ''); + } + } + for (name in newStyle) { + cur = newStyle[name]; + if (cur !== oldStyle[name]) { + // ie9 setting to null has no effect, must use empty string + setProp(el, name, cur == null ? '' : cur); + } + } } -} + var style$1 = { + create: updateStyle, + update: updateStyle + }; -function initComputed$1 (Comp) { - var computed = Comp.options.computed; - for (var key in computed) { - defineComputed(Comp.prototype, key, computed[key]); + var whitespaceRE$1 = /\s+/; + /** + * Add class with compatibility for SVG since classList is not supported on + * SVG elements in IE + */ + function addClass(el, cls) { + /* istanbul ignore if */ + if (!cls || !(cls = cls.trim())) { + return; + } + /* istanbul ignore else */ + if (el.classList) { + if (cls.indexOf(' ') > -1) { + cls.split(whitespaceRE$1).forEach(function (c) { return el.classList.add(c); }); + } + else { + el.classList.add(cls); + } + } + else { + var cur = " ".concat(el.getAttribute('class') || '', " "); + if (cur.indexOf(' ' + cls + ' ') < 0) { + el.setAttribute('class', (cur + cls).trim()); + } + } } -} - -/* */ - -function initAssetRegisters (Vue) { /** - * Create asset registration methods. + * Remove class with compatibility for SVG since classList is not supported on + * SVG elements in IE */ - ASSET_TYPES.forEach(function (type) { - Vue[type] = function ( - id, - definition - ) { - if (!definition) { - return this.options[type + 's'][id] - } else { - /* istanbul ignore if */ - if ("development" !== 'production' && type === 'component') { - validateComponentName(id); - } - if (type === 'component' && isPlainObject(definition)) { - definition.name = definition.name || id; - definition = this.options._base.extend(definition); - } - if (type === 'directive' && typeof definition === 'function') { - definition = { bind: definition, update: definition }; - } - this.options[type + 's'][id] = definition; - return definition - } - }; - }); -} - -/* */ - -function getComponentName (opts) { - return opts && (opts.Ctor.options.name || opts.tag) -} - -function matches (pattern, name) { - if (Array.isArray(pattern)) { - return pattern.indexOf(name) > -1 - } else if (typeof pattern === 'string') { - return pattern.split(',').indexOf(name) > -1 - } else if (isRegExp(pattern)) { - return pattern.test(name) + function removeClass(el, cls) { + /* istanbul ignore if */ + if (!cls || !(cls = cls.trim())) { + return; + } + /* istanbul ignore else */ + if (el.classList) { + if (cls.indexOf(' ') > -1) { + cls.split(whitespaceRE$1).forEach(function (c) { return el.classList.remove(c); }); + } + else { + el.classList.remove(cls); + } + if (!el.classList.length) { + el.removeAttribute('class'); + } + } + else { + var cur = " ".concat(el.getAttribute('class') || '', " "); + var tar = ' ' + cls + ' '; + while (cur.indexOf(tar) >= 0) { + cur = cur.replace(tar, ' '); + } + cur = cur.trim(); + if (cur) { + el.setAttribute('class', cur); + } + else { + el.removeAttribute('class'); + } + } } - /* istanbul ignore next */ - return false -} - -function pruneCache (keepAliveInstance, filter) { - var cache = keepAliveInstance.cache; - var keys = keepAliveInstance.keys; - var _vnode = keepAliveInstance._vnode; - for (var key in cache) { - var cachedNode = cache[key]; - if (cachedNode) { - var name = getComponentName(cachedNode.componentOptions); - if (name && !filter(name)) { - pruneCacheEntry(cache, key, keys, _vnode); - } - } - } -} - -function pruneCacheEntry ( - cache, - key, - keys, - current -) { - var cached$$1 = cache[key]; - if (cached$$1 && (!current || cached$$1.tag !== current.tag)) { - cached$$1.componentInstance.$destroy(); - } - cache[key] = null; - remove(keys, key); -} - -var patternTypes = [String, RegExp, Array]; - -var KeepAlive = { - name: 'keep-alive', - abstract: true, - - props: { - include: patternTypes, - exclude: patternTypes, - max: [String, Number] - }, - - created: function created () { - this.cache = Object.create(null); - this.keys = []; - }, - - destroyed: function destroyed () { - var this$1 = this; - - for (var key in this$1.cache) { - pruneCacheEntry(this$1.cache, key, this$1.keys); - } - }, - - watch: { - include: function include (val) { - pruneCache(this, function (name) { return matches(val, name); }); - }, - exclude: function exclude (val) { - pruneCache(this, function (name) { return !matches(val, name); }); - } - }, - - render: function render () { - var slot = this.$slots.default; - var vnode = getFirstComponentChild(slot); - var componentOptions = vnode && vnode.componentOptions; - if (componentOptions) { - // check pattern - var name = getComponentName(componentOptions); - var ref = this; - var include = ref.include; - var exclude = ref.exclude; - if ( - // not included - (include && (!name || !matches(include, name))) || - // excluded - (exclude && name && matches(exclude, name)) - ) { - return vnode - } - - var ref$1 = this; - var cache = ref$1.cache; - var keys = ref$1.keys; - var key = vnode.key == null - // same constructor may get registered as different local components - // so cid alone is not enough (#3269) - ? componentOptions.Ctor.cid + (componentOptions.tag ? ("::" + (componentOptions.tag)) : '') - : vnode.key; - if (cache[key]) { - vnode.componentInstance = cache[key].componentInstance; - // make current key freshest - remove(keys, key); - keys.push(key); - } else { - cache[key] = vnode; - keys.push(key); - // prune oldest entry - if (this.max && keys.length > parseInt(this.max)) { - pruneCacheEntry(cache, keys[0], keys, this._vnode); - } - } - - vnode.data.keepAlive = true; - } - return vnode || (slot && slot[0]) - } -}; - -var builtInComponents = { - KeepAlive: KeepAlive -}; - -/* */ - -function initGlobalAPI (Vue) { - // config - var configDef = {}; - configDef.get = function () { return config; }; - { - configDef.set = function () { - warn( - 'Do not replace the Vue.config object, set individual fields instead.' - ); - }; - } - Object.defineProperty(Vue, 'config', configDef); - - // exposed util methods. - // NOTE: these are not considered part of the public API - avoid relying on - // them unless you are aware of the risk. - Vue.util = { - warn: warn, - extend: extend, - mergeOptions: mergeOptions, - defineReactive: defineReactive - }; - Vue.set = set; - Vue.delete = del; - Vue.nextTick = nextTick; - - Vue.options = Object.create(null); - ASSET_TYPES.forEach(function (type) { - Vue.options[type + 's'] = Object.create(null); + function resolveTransition(def) { + if (!def) { + return; + } + /* istanbul ignore else */ + if (typeof def === 'object') { + var res = {}; + if (def.css !== false) { + extend(res, autoCssTransition(def.name || 'v')); + } + extend(res, def); + return res; + } + else if (typeof def === 'string') { + return autoCssTransition(def); + } + } + var autoCssTransition = cached(function (name) { + return { + enterClass: "".concat(name, "-enter"), + enterToClass: "".concat(name, "-enter-to"), + enterActiveClass: "".concat(name, "-enter-active"), + leaveClass: "".concat(name, "-leave"), + leaveToClass: "".concat(name, "-leave-to"), + leaveActiveClass: "".concat(name, "-leave-active") + }; }); - - // this is used to identify the "base" constructor to extend all plain-object - // components with in Weex's multi-instance scenarios. - Vue.options._base = Vue; - - extend(Vue.options.components, builtInComponents); - - initUse(Vue); - initMixin$1(Vue); - initExtend(Vue); - initAssetRegisters(Vue); -} - -initGlobalAPI(Vue$3); - -Object.defineProperty(Vue$3.prototype, '$isServer', { - get: isServerRendering -}); - -Object.defineProperty(Vue$3.prototype, '$ssrContext', { - get: function get () { - /* istanbul ignore next */ - return this.$vnode && this.$vnode.ssrContext - } -}); - -Vue$3.version = '2.5.13'; - -/* */ - -// these are reserved for web because they are directly compiled away -// during template compilation -var isReservedAttr = makeMap('style,class'); - -// attributes that should be using props for binding -var acceptValue = makeMap('input,textarea,option,select,progress'); -var mustUseProp = function (tag, type, attr) { - return ( - (attr === 'value' && acceptValue(tag)) && type !== 'button' || - (attr === 'selected' && tag === 'option') || - (attr === 'checked' && tag === 'input') || - (attr === 'muted' && tag === 'video') - ) -}; - -var isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck'); - -var isBooleanAttr = makeMap( - 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' + - 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' + - 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' + - 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' + - 'required,reversed,scoped,seamless,selected,sortable,translate,' + - 'truespeed,typemustmatch,visible' -); - -var xlinkNS = 'http://www.w3.org/1999/xlink'; - -var isXlink = function (name) { - return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink' -}; - -var getXlinkProp = function (name) { - return isXlink(name) ? name.slice(6, name.length) : '' -}; - -var isFalsyAttrValue = function (val) { - return val == null || val === false -}; - -/* */ - -function genClassForVnode (vnode) { - var data = vnode.data; - var parentNode = vnode; - var childNode = vnode; - while (isDef(childNode.componentInstance)) { - childNode = childNode.componentInstance._vnode; - if (childNode && childNode.data) { - data = mergeClassData(childNode.data, data); - } - } - while (isDef(parentNode = parentNode.parent)) { - if (parentNode && parentNode.data) { - data = mergeClassData(data, parentNode.data); - } - } - return renderClass(data.staticClass, data.class) -} - -function mergeClassData (child, parent) { - return { - staticClass: concat(child.staticClass, parent.staticClass), - class: isDef(child.class) - ? [child.class, parent.class] - : parent.class - } -} - -function renderClass ( - staticClass, - dynamicClass -) { - if (isDef(staticClass) || isDef(dynamicClass)) { - return concat(staticClass, stringifyClass(dynamicClass)) + var hasTransition = inBrowser && !isIE9; + var TRANSITION = 'transition'; + var ANIMATION = 'animation'; + // Transition property/event sniffing + var transitionProp = 'transition'; + var transitionEndEvent = 'transitionend'; + var animationProp = 'animation'; + var animationEndEvent = 'animationend'; + if (hasTransition) { + /* istanbul ignore if */ + if (window.ontransitionend === undefined && + window.onwebkittransitionend !== undefined) { + transitionProp = 'WebkitTransition'; + transitionEndEvent = 'webkitTransitionEnd'; + } + if (window.onanimationend === undefined && + window.onwebkitanimationend !== undefined) { + animationProp = 'WebkitAnimation'; + animationEndEvent = 'webkitAnimationEnd'; + } + } + // binding to window is necessary to make hot reload work in IE in strict mode + var raf = inBrowser + ? window.requestAnimationFrame + ? window.requestAnimationFrame.bind(window) + : setTimeout + : /* istanbul ignore next */ function (/* istanbul ignore next */ fn) { return fn(); }; + function nextFrame(fn) { + raf(function () { + // @ts-expect-error + raf(fn); + }); } - /* istanbul ignore next */ - return '' -} - -function concat (a, b) { - return a ? b ? (a + ' ' + b) : a : (b || '') -} - -function stringifyClass (value) { - if (Array.isArray(value)) { - return stringifyArray(value) + function addTransitionClass(el, cls) { + var transitionClasses = el._transitionClasses || (el._transitionClasses = []); + if (transitionClasses.indexOf(cls) < 0) { + transitionClasses.push(cls); + addClass(el, cls); + } + } + function removeTransitionClass(el, cls) { + if (el._transitionClasses) { + remove$2(el._transitionClasses, cls); + } + removeClass(el, cls); + } + function whenTransitionEnds(el, expectedType, cb) { + var _a = getTransitionInfo(el, expectedType), type = _a.type, timeout = _a.timeout, propCount = _a.propCount; + if (!type) + return cb(); + var event = type === TRANSITION ? transitionEndEvent : animationEndEvent; + var ended = 0; + var end = function () { + el.removeEventListener(event, onEnd); + cb(); + }; + var onEnd = function (e) { + if (e.target === el) { + if (++ended >= propCount) { + end(); + } + } + }; + setTimeout(function () { + if (ended < propCount) { + end(); + } + }, timeout + 1); + el.addEventListener(event, onEnd); + } + var transformRE = /\b(transform|all)(,|$)/; + function getTransitionInfo(el, expectedType) { + var styles = window.getComputedStyle(el); + // JSDOM may return undefined for transition properties + var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', '); + var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', '); + var transitionTimeout = getTimeout(transitionDelays, transitionDurations); + var animationDelays = (styles[animationProp + 'Delay'] || '').split(', '); + var animationDurations = (styles[animationProp + 'Duration'] || '').split(', '); + var animationTimeout = getTimeout(animationDelays, animationDurations); + var type; + var timeout = 0; + var propCount = 0; + /* istanbul ignore if */ + if (expectedType === TRANSITION) { + if (transitionTimeout > 0) { + type = TRANSITION; + timeout = transitionTimeout; + propCount = transitionDurations.length; + } + } + else if (expectedType === ANIMATION) { + if (animationTimeout > 0) { + type = ANIMATION; + timeout = animationTimeout; + propCount = animationDurations.length; + } + } + else { + timeout = Math.max(transitionTimeout, animationTimeout); + type = + timeout > 0 + ? transitionTimeout > animationTimeout + ? TRANSITION + : ANIMATION + : null; + propCount = type + ? type === TRANSITION + ? transitionDurations.length + : animationDurations.length + : 0; + } + var hasTransform = type === TRANSITION && transformRE.test(styles[transitionProp + 'Property']); + return { + type: type, + timeout: timeout, + propCount: propCount, + hasTransform: hasTransform + }; } - if (isObject(value)) { - return stringifyObject(value) + function getTimeout(delays, durations) { + /* istanbul ignore next */ + while (delays.length < durations.length) { + delays = delays.concat(delays); + } + return Math.max.apply(null, durations.map(function (d, i) { + return toMs(d) + toMs(delays[i]); + })); } - if (typeof value === 'string') { - return value + // Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers + // in a locale-dependent way, using a comma instead of a dot. + // If comma is not replaced with a dot, the input will be rounded down (i.e. acting + // as a floor function) causing unexpected behaviors + function toMs(s) { + return Number(s.slice(0, -1).replace(',', '.')) * 1000; } - /* istanbul ignore next */ - return '' -} - -function stringifyArray (value) { - var res = ''; - var stringified; - for (var i = 0, l = value.length; i < l; i++) { - if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') { - if (res) { res += ' '; } - res += stringified; - } - } - return res -} - -function stringifyObject (value) { - var res = ''; - for (var key in value) { - if (value[key]) { - if (res) { res += ' '; } - res += key; - } - } - return res -} - -/* */ - -var namespaceMap = { - svg: 'http://www.w3.org/2000/svg', - math: 'http://www.w3.org/1998/Math/MathML' -}; - -var isHTMLTag = makeMap( - 'html,body,base,head,link,meta,style,title,' + - 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' + - 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' + - 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' + - 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' + - 'embed,object,param,source,canvas,script,noscript,del,ins,' + - 'caption,col,colgroup,table,thead,tbody,td,th,tr,' + - 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' + - 'output,progress,select,textarea,' + - 'details,dialog,menu,menuitem,summary,' + - 'content,element,shadow,template,blockquote,iframe,tfoot' -); - -// this map is intentionally selective, only covering SVG elements that may -// contain child elements. -var isSVG = makeMap( - 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' + - 'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' + - 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view', - true -); - -var isPreTag = function (tag) { return tag === 'pre'; }; - -var isReservedTag = function (tag) { - return isHTMLTag(tag) || isSVG(tag) -}; - -function getTagNamespace (tag) { - if (isSVG(tag)) { - return 'svg' - } - // basic support for MathML - // note it doesn't support other MathML elements being component roots - if (tag === 'math') { - return 'math' - } -} - -var unknownElementCache = Object.create(null); -function isUnknownElement (tag) { - /* istanbul ignore if */ - if (!inBrowser) { - return true + + function enter(vnode, toggleDisplay) { + var el = vnode.elm; + // call leave callback now + if (isDef(el._leaveCb)) { + el._leaveCb.cancelled = true; + el._leaveCb(); + } + var data = resolveTransition(vnode.data.transition); + if (isUndef(data)) { + return; + } + /* istanbul ignore if */ + if (isDef(el._enterCb) || el.nodeType !== 1) { + return; + } + var css = data.css, type = data.type, enterClass = data.enterClass, enterToClass = data.enterToClass, enterActiveClass = data.enterActiveClass, appearClass = data.appearClass, appearToClass = data.appearToClass, appearActiveClass = data.appearActiveClass, beforeEnter = data.beforeEnter, enter = data.enter, afterEnter = data.afterEnter, enterCancelled = data.enterCancelled, beforeAppear = data.beforeAppear, appear = data.appear, afterAppear = data.afterAppear, appearCancelled = data.appearCancelled, duration = data.duration; + // activeInstance will always be the <transition> component managing this + // transition. One edge case to check is when the <transition> is placed + // as the root node of a child component. In that case we need to check + // <transition>'s parent for appear check. + var context = activeInstance; + var transitionNode = activeInstance.$vnode; + while (transitionNode && transitionNode.parent) { + context = transitionNode.context; + transitionNode = transitionNode.parent; + } + var isAppear = !context._isMounted || !vnode.isRootInsert; + if (isAppear && !appear && appear !== '') { + return; + } + var startClass = isAppear && appearClass ? appearClass : enterClass; + var activeClass = isAppear && appearActiveClass ? appearActiveClass : enterActiveClass; + var toClass = isAppear && appearToClass ? appearToClass : enterToClass; + var beforeEnterHook = isAppear ? beforeAppear || beforeEnter : beforeEnter; + var enterHook = isAppear ? (isFunction(appear) ? appear : enter) : enter; + var afterEnterHook = isAppear ? afterAppear || afterEnter : afterEnter; + var enterCancelledHook = isAppear + ? appearCancelled || enterCancelled + : enterCancelled; + var explicitEnterDuration = toNumber(isObject(duration) ? duration.enter : duration); + if (explicitEnterDuration != null) { + checkDuration(explicitEnterDuration, 'enter', vnode); + } + var expectsCSS = css !== false && !isIE9; + var userWantsControl = getHookArgumentsLength(enterHook); + var cb = (el._enterCb = once(function () { + if (expectsCSS) { + removeTransitionClass(el, toClass); + removeTransitionClass(el, activeClass); + } + // @ts-expect-error + if (cb.cancelled) { + if (expectsCSS) { + removeTransitionClass(el, startClass); + } + enterCancelledHook && enterCancelledHook(el); + } + else { + afterEnterHook && afterEnterHook(el); + } + el._enterCb = null; + })); + if (!vnode.data.show) { + // remove pending leave element on enter by injecting an insert hook + mergeVNodeHook(vnode, 'insert', function () { + var parent = el.parentNode; + var pendingNode = parent && parent._pending && parent._pending[vnode.key]; + if (pendingNode && + pendingNode.tag === vnode.tag && + pendingNode.elm._leaveCb) { + pendingNode.elm._leaveCb(); + } + enterHook && enterHook(el, cb); + }); + } + // start enter transition + beforeEnterHook && beforeEnterHook(el); + if (expectsCSS) { + addTransitionClass(el, startClass); + addTransitionClass(el, activeClass); + nextFrame(function () { + removeTransitionClass(el, startClass); + // @ts-expect-error + if (!cb.cancelled) { + addTransitionClass(el, toClass); + if (!userWantsControl) { + if (isValidDuration(explicitEnterDuration)) { + setTimeout(cb, explicitEnterDuration); + } + else { + whenTransitionEnds(el, type, cb); + } + } + } + }); + } + if (vnode.data.show) { + toggleDisplay && toggleDisplay(); + enterHook && enterHook(el, cb); + } + if (!expectsCSS && !userWantsControl) { + cb(); + } } - if (isReservedTag(tag)) { - return false + function leave(vnode, rm) { + var el = vnode.elm; + // call enter callback now + if (isDef(el._enterCb)) { + el._enterCb.cancelled = true; + el._enterCb(); + } + var data = resolveTransition(vnode.data.transition); + if (isUndef(data) || el.nodeType !== 1) { + return rm(); + } + /* istanbul ignore if */ + if (isDef(el._leaveCb)) { + return; + } + var css = data.css, type = data.type, leaveClass = data.leaveClass, leaveToClass = data.leaveToClass, leaveActiveClass = data.leaveActiveClass, beforeLeave = data.beforeLeave, leave = data.leave, afterLeave = data.afterLeave, leaveCancelled = data.leaveCancelled, delayLeave = data.delayLeave, duration = data.duration; + var expectsCSS = css !== false && !isIE9; + var userWantsControl = getHookArgumentsLength(leave); + var explicitLeaveDuration = toNumber(isObject(duration) ? duration.leave : duration); + if (isDef(explicitLeaveDuration)) { + checkDuration(explicitLeaveDuration, 'leave', vnode); + } + var cb = (el._leaveCb = once(function () { + if (el.parentNode && el.parentNode._pending) { + el.parentNode._pending[vnode.key] = null; + } + if (expectsCSS) { + removeTransitionClass(el, leaveToClass); + removeTransitionClass(el, leaveActiveClass); + } + // @ts-expect-error + if (cb.cancelled) { + if (expectsCSS) { + removeTransitionClass(el, leaveClass); + } + leaveCancelled && leaveCancelled(el); + } + else { + rm(); + afterLeave && afterLeave(el); + } + el._leaveCb = null; + })); + if (delayLeave) { + delayLeave(performLeave); + } + else { + performLeave(); + } + function performLeave() { + // the delayed leave may have already been cancelled + // @ts-expect-error + if (cb.cancelled) { + return; + } + // record leaving element + if (!vnode.data.show && el.parentNode) { + (el.parentNode._pending || (el.parentNode._pending = {}))[vnode.key] = + vnode; + } + beforeLeave && beforeLeave(el); + if (expectsCSS) { + addTransitionClass(el, leaveClass); + addTransitionClass(el, leaveActiveClass); + nextFrame(function () { + removeTransitionClass(el, leaveClass); + // @ts-expect-error + if (!cb.cancelled) { + addTransitionClass(el, leaveToClass); + if (!userWantsControl) { + if (isValidDuration(explicitLeaveDuration)) { + setTimeout(cb, explicitLeaveDuration); + } + else { + whenTransitionEnds(el, type, cb); + } + } + } + }); + } + leave && leave(el, cb); + if (!expectsCSS && !userWantsControl) { + cb(); + } + } } - tag = tag.toLowerCase(); - /* istanbul ignore if */ - if (unknownElementCache[tag] != null) { - return unknownElementCache[tag] + // only used in dev mode + function checkDuration(val, name, vnode) { + if (typeof val !== 'number') { + warn$2("<transition> explicit ".concat(name, " duration is not a valid number - ") + + "got ".concat(JSON.stringify(val), "."), vnode.context); + } + else if (isNaN(val)) { + warn$2("<transition> explicit ".concat(name, " duration is NaN - ") + + 'the duration expression might be incorrect.', vnode.context); + } } - var el = document.createElement(tag); - if (tag.indexOf('-') > -1) { - // http://stackoverflow.com/a/28210364/1070244 - return (unknownElementCache[tag] = ( - el.constructor === window.HTMLUnknownElement || - el.constructor === window.HTMLElement - )) - } else { - return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString())) + function isValidDuration(val) { + return typeof val === 'number' && !isNaN(val); } -} + /** + * Normalize a transition hook's argument length. The hook may be: + * - a merged hook (invoker) with the original in .fns + * - a wrapped component method (check ._length) + * - a plain function (.length) + */ + function getHookArgumentsLength(fn) { + if (isUndef(fn)) { + return false; + } + // @ts-expect-error + var invokerFns = fn.fns; + if (isDef(invokerFns)) { + // invoker + return getHookArgumentsLength(Array.isArray(invokerFns) ? invokerFns[0] : invokerFns); + } + else { + // @ts-expect-error + return (fn._length || fn.length) > 1; + } + } + function _enter(_, vnode) { + if (vnode.data.show !== true) { + enter(vnode); + } + } + var transition = inBrowser + ? { + create: _enter, + activate: _enter, + remove: function (vnode, rm) { + /* istanbul ignore else */ + if (vnode.data.show !== true) { + // @ts-expect-error + leave(vnode, rm); + } + else { + rm(); + } + } + } + : {}; -var isTextInputType = makeMap('text,number,password,search,email,tel,url'); + var platformModules = [attrs, klass$1, events, domProps, style$1, transition]; -/* */ + // the directive module should be applied last, after all + // built-in modules have been applied. + var modules$1 = platformModules.concat(baseModules); + var patch = createPatchFunction({ nodeOps: nodeOps, modules: modules$1 }); -/** - * Query an element selector if it's not an element already. - */ -function query (el) { - if (typeof el === 'string') { - var selected = document.querySelector(el); - if (!selected) { - "development" !== 'production' && warn( - 'Cannot find element: ' + el - ); - return document.createElement('div') - } - return selected - } else { - return el - } -} - -/* */ - -function createElement$1 (tagName, vnode) { - var elm = document.createElement(tagName); - if (tagName !== 'select') { - return elm - } - // false or null will remove the attribute but undefined will not - if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) { - elm.setAttribute('multiple', 'multiple'); - } - return elm -} - -function createElementNS (namespace, tagName) { - return document.createElementNS(namespaceMap[namespace], tagName) -} - -function createTextNode (text) { - return document.createTextNode(text) -} - -function createComment (text) { - return document.createComment(text) -} - -function insertBefore (parentNode, newNode, referenceNode) { - parentNode.insertBefore(newNode, referenceNode); -} - -function removeChild (node, child) { - node.removeChild(child); -} - -function appendChild (node, child) { - node.appendChild(child); -} - -function parentNode (node) { - return node.parentNode -} - -function nextSibling (node) { - return node.nextSibling -} - -function tagName (node) { - return node.tagName -} - -function setTextContent (node, text) { - node.textContent = text; -} - -function setAttribute (node, key, val) { - node.setAttribute(key, val); -} - - -var nodeOps = Object.freeze({ - createElement: createElement$1, - createElementNS: createElementNS, - createTextNode: createTextNode, - createComment: createComment, - insertBefore: insertBefore, - removeChild: removeChild, - appendChild: appendChild, - parentNode: parentNode, - nextSibling: nextSibling, - tagName: tagName, - setTextContent: setTextContent, - setAttribute: setAttribute -}); - -/* */ - -var ref = { - create: function create (_, vnode) { - registerRef(vnode); - }, - update: function update (oldVnode, vnode) { - if (oldVnode.data.ref !== vnode.data.ref) { - registerRef(oldVnode, true); - registerRef(vnode); - } - }, - destroy: function destroy (vnode) { - registerRef(vnode, true); - } -}; - -function registerRef (vnode, isRemoval) { - var key = vnode.data.ref; - if (!key) { return } - - var vm = vnode.context; - var ref = vnode.componentInstance || vnode.elm; - var refs = vm.$refs; - if (isRemoval) { - if (Array.isArray(refs[key])) { - remove(refs[key], ref); - } else if (refs[key] === ref) { - refs[key] = undefined; - } - } else { - if (vnode.data.refInFor) { - if (!Array.isArray(refs[key])) { - refs[key] = [ref]; - } else if (refs[key].indexOf(ref) < 0) { - // $flow-disable-line - refs[key].push(ref); - } - } else { - refs[key] = ref; - } - } -} - -/** - * Virtual DOM patching algorithm based on Snabbdom by - * Simon Friis Vindum (@paldepind) - * Licensed under the MIT License - * https://github.com/paldepind/snabbdom/blob/master/LICENSE - * - * modified by Evan You (@yyx990803) - * - * Not type-checking this because this file is perf-critical and the cost - * of making flow understand it is not worth it. - */ + /** + * Not type checking this file because flow doesn't like attaching + * properties to Elements. + */ + /* istanbul ignore if */ + if (isIE9) { + // http://www.matts411.com/post/internet-explorer-9-oninput/ + document.addEventListener('selectionchange', function () { + var el = document.activeElement; + // @ts-expect-error + if (el && el.vmodel) { + trigger(el, 'input'); + } + }); + } + var directive = { + inserted: function (el, binding, vnode, oldVnode) { + if (vnode.tag === 'select') { + // #6903 + if (oldVnode.elm && !oldVnode.elm._vOptions) { + mergeVNodeHook(vnode, 'postpatch', function () { + directive.componentUpdated(el, binding, vnode); + }); + } + else { + setSelected(el, binding, vnode.context); + } + el._vOptions = [].map.call(el.options, getValue); + } + else if (vnode.tag === 'textarea' || isTextInputType(el.type)) { + el._vModifiers = binding.modifiers; + if (!binding.modifiers.lazy) { + el.addEventListener('compositionstart', onCompositionStart); + el.addEventListener('compositionend', onCompositionEnd); + // Safari < 10.2 & UIWebView doesn't fire compositionend when + // switching focus before confirming composition choice + // this also fixes the issue where some browsers e.g. iOS Chrome + // fires "change" instead of "input" on autocomplete. + el.addEventListener('change', onCompositionEnd); + /* istanbul ignore if */ + if (isIE9) { + el.vmodel = true; + } + } + } + }, + componentUpdated: function (el, binding, vnode) { + if (vnode.tag === 'select') { + setSelected(el, binding, vnode.context); + // in case the options rendered by v-for have changed, + // it's possible that the value is out-of-sync with the rendered options. + // detect such cases and filter out values that no longer has a matching + // option in the DOM. + var prevOptions_1 = el._vOptions; + var curOptions_1 = (el._vOptions = [].map.call(el.options, getValue)); + if (curOptions_1.some(function (o, i) { return !looseEqual(o, prevOptions_1[i]); })) { + // trigger change event if + // no matching option found for at least one value + var needReset = el.multiple + ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions_1); }) + : binding.value !== binding.oldValue && + hasNoMatchingOption(binding.value, curOptions_1); + if (needReset) { + trigger(el, 'change'); + } + } + } + } + }; + function setSelected(el, binding, vm) { + actuallySetSelected(el, binding, vm); + /* istanbul ignore if */ + if (isIE || isEdge) { + setTimeout(function () { + actuallySetSelected(el, binding, vm); + }, 0); + } + } + function actuallySetSelected(el, binding, vm) { + var value = binding.value; + var isMultiple = el.multiple; + if (isMultiple && !Array.isArray(value)) { + warn$2("<select multiple v-model=\"".concat(binding.expression, "\"> ") + + "expects an Array value for its binding, but got ".concat(Object.prototype.toString + .call(value) + .slice(8, -1)), vm); + return; + } + var selected, option; + for (var i = 0, l = el.options.length; i < l; i++) { + option = el.options[i]; + if (isMultiple) { + selected = looseIndexOf(value, getValue(option)) > -1; + if (option.selected !== selected) { + option.selected = selected; + } + } + else { + if (looseEqual(getValue(option), value)) { + if (el.selectedIndex !== i) { + el.selectedIndex = i; + } + return; + } + } + } + if (!isMultiple) { + el.selectedIndex = -1; + } + } + function hasNoMatchingOption(value, options) { + return options.every(function (o) { return !looseEqual(o, value); }); + } + function getValue(option) { + return '_value' in option ? option._value : option.value; + } + function onCompositionStart(e) { + e.target.composing = true; + } + function onCompositionEnd(e) { + // prevent triggering an input event for no reason + if (!e.target.composing) + return; + e.target.composing = false; + trigger(e.target, 'input'); + } + function trigger(el, type) { + var e = document.createEvent('HTMLEvents'); + e.initEvent(type, true, true); + el.dispatchEvent(e); + } + + // recursively search for possible transition defined inside the component root + function locateNode(vnode) { + // @ts-expect-error + return vnode.componentInstance && (!vnode.data || !vnode.data.transition) + ? locateNode(vnode.componentInstance._vnode) + : vnode; + } + var show = { + bind: function (el, _a, vnode) { + var value = _a.value; + vnode = locateNode(vnode); + var transition = vnode.data && vnode.data.transition; + var originalDisplay = (el.__vOriginalDisplay = + el.style.display === 'none' ? '' : el.style.display); + if (value && transition) { + vnode.data.show = true; + enter(vnode, function () { + el.style.display = originalDisplay; + }); + } + else { + el.style.display = value ? originalDisplay : 'none'; + } + }, + update: function (el, _a, vnode) { + var value = _a.value, oldValue = _a.oldValue; + /* istanbul ignore if */ + if (!value === !oldValue) + return; + vnode = locateNode(vnode); + var transition = vnode.data && vnode.data.transition; + if (transition) { + vnode.data.show = true; + if (value) { + enter(vnode, function () { + el.style.display = el.__vOriginalDisplay; + }); + } + else { + leave(vnode, function () { + el.style.display = 'none'; + }); + } + } + else { + el.style.display = value ? el.__vOriginalDisplay : 'none'; + } + }, + unbind: function (el, binding, vnode, oldVnode, isDestroy) { + if (!isDestroy) { + el.style.display = el.__vOriginalDisplay; + } + } + }; -var emptyNode = new VNode('', {}, []); - -var hooks = ['create', 'activate', 'update', 'remove', 'destroy']; - -function sameVnode (a, b) { - return ( - a.key === b.key && ( - ( - a.tag === b.tag && - a.isComment === b.isComment && - isDef(a.data) === isDef(b.data) && - sameInputType(a, b) - ) || ( - isTrue(a.isAsyncPlaceholder) && - a.asyncFactory === b.asyncFactory && - isUndef(b.asyncFactory.error) - ) - ) - ) -} - -function sameInputType (a, b) { - if (a.tag !== 'input') { return true } - var i; - var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type; - var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type; - return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB) -} - -function createKeyToOldIdx (children, beginIdx, endIdx) { - var i, key; - var map = {}; - for (i = beginIdx; i <= endIdx; ++i) { - key = children[i].key; - if (isDef(key)) { map[key] = i; } - } - return map -} - -function createPatchFunction (backend) { - var i, j; - var cbs = {}; - - var modules = backend.modules; - var nodeOps = backend.nodeOps; - - for (i = 0; i < hooks.length; ++i) { - cbs[hooks[i]] = []; - for (j = 0; j < modules.length; ++j) { - if (isDef(modules[j][hooks[i]])) { - cbs[hooks[i]].push(modules[j][hooks[i]]); - } - } - } - - function emptyNodeAt (elm) { - return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm) - } - - function createRmCb (childElm, listeners) { - function remove () { - if (--remove.listeners === 0) { - removeNode(childElm); - } - } - remove.listeners = listeners; - return remove - } - - function removeNode (el) { - var parent = nodeOps.parentNode(el); - // element may have already been removed due to v-html / v-text - if (isDef(parent)) { - nodeOps.removeChild(parent, el); - } - } - - function isUnknownElement$$1 (vnode, inVPre) { - return ( - !inVPre && - !vnode.ns && - !( - config.ignoredElements.length && - config.ignoredElements.some(function (ignore) { - return isRegExp(ignore) - ? ignore.test(vnode.tag) - : ignore === vnode.tag - }) - ) && - config.isUnknownElement(vnode.tag) - ) - } - - var creatingElmInVPre = 0; - function createElm (vnode, insertedVnodeQueue, parentElm, refElm, nested) { - vnode.isRootInsert = !nested; // for transition enter check - if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) { - return - } - - var data = vnode.data; - var children = vnode.children; - var tag = vnode.tag; - if (isDef(tag)) { - { - if (data && data.pre) { - creatingElmInVPre++; - } - if (isUnknownElement$$1(vnode, creatingElmInVPre)) { - warn( - 'Unknown custom element: <' + tag + '> - did you ' + - 'register the component correctly? For recursive components, ' + - 'make sure to provide the "name" option.', - vnode.context - ); - } + var platformDirectives = { + model: directive, + show: show + }; + + // Provides transition support for a single element/component. + var transitionProps = { + name: String, + appear: Boolean, + css: Boolean, + mode: String, + type: String, + enterClass: String, + leaveClass: String, + enterToClass: String, + leaveToClass: String, + enterActiveClass: String, + leaveActiveClass: String, + appearClass: String, + appearActiveClass: String, + appearToClass: String, + duration: [Number, String, Object] + }; + // in case the child is also an abstract component, e.g. <keep-alive> + // we want to recursively retrieve the real component to be rendered + function getRealChild(vnode) { + var compOptions = vnode && vnode.componentOptions; + if (compOptions && compOptions.Ctor.options.abstract) { + return getRealChild(getFirstComponentChild(compOptions.children)); + } + else { + return vnode; + } + } + function extractTransitionData(comp) { + var data = {}; + var options = comp.$options; + // props + for (var key in options.propsData) { + data[key] = comp[key]; + } + // events. + // extract listeners and pass them directly to the transition methods + var listeners = options._parentListeners; + for (var key in listeners) { + data[camelize(key)] = listeners[key]; + } + return data; + } + function placeholder(h, rawChild) { + // @ts-expect-error + if (/\d-keep-alive$/.test(rawChild.tag)) { + return h('keep-alive', { + props: rawChild.componentOptions.propsData + }); + } + } + function hasParentTransition(vnode) { + while ((vnode = vnode.parent)) { + if (vnode.data.transition) { + return true; + } + } + } + function isSameChild(child, oldChild) { + return oldChild.key === child.key && oldChild.tag === child.tag; + } + var isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); }; + var isVShowDirective = function (d) { return d.name === 'show'; }; + var Transition = { + name: 'transition', + props: transitionProps, + abstract: true, + render: function (h) { + var _this = this; + var children = this.$slots.default; + if (!children) { + return; + } + // filter out text nodes (possible whitespaces) + children = children.filter(isNotTextNode); + /* istanbul ignore if */ + if (!children.length) { + return; + } + // warn multiple elements + if (children.length > 1) { + warn$2('<transition> can only be used on a single element. Use ' + + '<transition-group> for lists.', this.$parent); + } + var mode = this.mode; + // warn invalid mode + if (mode && mode !== 'in-out' && mode !== 'out-in') { + warn$2('invalid <transition> mode: ' + mode, this.$parent); + } + var rawChild = children[0]; + // if this is a component root node and the component's + // parent container node also has transition, skip. + if (hasParentTransition(this.$vnode)) { + return rawChild; + } + // apply transition data to child + // use getRealChild() to ignore abstract components e.g. keep-alive + var child = getRealChild(rawChild); + /* istanbul ignore if */ + if (!child) { + return rawChild; + } + if (this._leaving) { + return placeholder(h, rawChild); + } + // ensure a key that is unique to the vnode type and to this transition + // component instance. This key will be used to remove pending leaving nodes + // during entering. + var id = "__transition-".concat(this._uid, "-"); + child.key = + child.key == null + ? child.isComment + ? id + 'comment' + : id + child.tag + : isPrimitive(child.key) + ? String(child.key).indexOf(id) === 0 + ? child.key + : id + child.key + : child.key; + var data = ((child.data || (child.data = {})).transition = + extractTransitionData(this)); + var oldRawChild = this._vnode; + var oldChild = getRealChild(oldRawChild); + // mark v-show + // so that the transition module can hand over the control to the directive + if (child.data.directives && child.data.directives.some(isVShowDirective)) { + child.data.show = true; + } + if (oldChild && + oldChild.data && + !isSameChild(child, oldChild) && + !isAsyncPlaceholder(oldChild) && + // #6687 component root is a comment node + !(oldChild.componentInstance && + oldChild.componentInstance._vnode.isComment)) { + // replace old child transition data with fresh one + // important for dynamic transitions! + var oldData = (oldChild.data.transition = extend({}, data)); + // handle transition mode + if (mode === 'out-in') { + // return placeholder node and queue update when leave finishes + this._leaving = true; + mergeVNodeHook(oldData, 'afterLeave', function () { + _this._leaving = false; + _this.$forceUpdate(); + }); + return placeholder(h, rawChild); + } + else if (mode === 'in-out') { + if (isAsyncPlaceholder(child)) { + return oldRawChild; + } + var delayedLeave_1; + var performLeave = function () { + delayedLeave_1(); + }; + mergeVNodeHook(data, 'afterEnter', performLeave); + mergeVNodeHook(data, 'enterCancelled', performLeave); + mergeVNodeHook(oldData, 'delayLeave', function (leave) { + delayedLeave_1 = leave; + }); + } + } + return rawChild; } - vnode.elm = vnode.ns - ? nodeOps.createElementNS(vnode.ns, tag) - : nodeOps.createElement(tag, vnode); - setScope(vnode); + }; - /* istanbul ignore if */ - { - createChildren(vnode, children, insertedVnodeQueue); - if (isDef(data)) { - invokeCreateHooks(vnode, insertedVnodeQueue); - } - insert(parentElm, vnode.elm, refElm); - } - - if ("development" !== 'production' && data && data.pre) { - creatingElmInVPre--; - } - } else if (isTrue(vnode.isComment)) { - vnode.elm = nodeOps.createComment(vnode.text); - insert(parentElm, vnode.elm, refElm); - } else { - vnode.elm = nodeOps.createTextNode(vnode.text); - insert(parentElm, vnode.elm, refElm); - } - } - - function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) { - var i = vnode.data; - if (isDef(i)) { - var isReactivated = isDef(vnode.componentInstance) && i.keepAlive; - if (isDef(i = i.hook) && isDef(i = i.init)) { - i(vnode, false /* hydrating */, parentElm, refElm); - } - // after calling the init hook, if the vnode is a child component - // it should've created a child instance and mounted it. the child - // component also has set the placeholder vnode's elm. - // in that case we can just return the element and be done. - if (isDef(vnode.componentInstance)) { - initComponent(vnode, insertedVnodeQueue); - if (isTrue(isReactivated)) { - reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm); - } - return true - } - } - } - - function initComponent (vnode, insertedVnodeQueue) { - if (isDef(vnode.data.pendingInsert)) { - insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert); - vnode.data.pendingInsert = null; - } - vnode.elm = vnode.componentInstance.$el; - if (isPatchable(vnode)) { - invokeCreateHooks(vnode, insertedVnodeQueue); - setScope(vnode); - } else { - // empty component root. - // skip all element-related modules except for ref (#3455) - registerRef(vnode); - // make sure to invoke the insert hook - insertedVnodeQueue.push(vnode); - } - } - - function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) { - var i; - // hack for #4339: a reactivated component with inner transition - // does not trigger because the inner node's created hooks are not called - // again. It's not ideal to involve module-specific logic in here but - // there doesn't seem to be a better way to do it. - var innerNode = vnode; - while (innerNode.componentInstance) { - innerNode = innerNode.componentInstance._vnode; - if (isDef(i = innerNode.data) && isDef(i = i.transition)) { - for (i = 0; i < cbs.activate.length; ++i) { - cbs.activate[i](emptyNode, innerNode); - } - insertedVnodeQueue.push(innerNode); - break - } - } - // unlike a newly created component, - // a reactivated keep-alive component doesn't insert itself - insert(parentElm, vnode.elm, refElm); - } - - function insert (parent, elm, ref$$1) { - if (isDef(parent)) { - if (isDef(ref$$1)) { - if (ref$$1.parentNode === parent) { - nodeOps.insertBefore(parent, elm, ref$$1); - } - } else { - nodeOps.appendChild(parent, elm); - } - } - } - - function createChildren (vnode, children, insertedVnodeQueue) { - if (Array.isArray(children)) { - { - checkDuplicateKeys(children); - } - for (var i = 0; i < children.length; ++i) { - createElm(children[i], insertedVnodeQueue, vnode.elm, null, true); - } - } else if (isPrimitive(vnode.text)) { - nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text))); - } - } - - function isPatchable (vnode) { - while (vnode.componentInstance) { - vnode = vnode.componentInstance._vnode; - } - return isDef(vnode.tag) - } - - function invokeCreateHooks (vnode, insertedVnodeQueue) { - for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) { - cbs.create[i$1](emptyNode, vnode); - } - i = vnode.data.hook; // Reuse variable - if (isDef(i)) { - if (isDef(i.create)) { i.create(emptyNode, vnode); } - if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); } - } - } - - // set scope id attribute for scoped CSS. - // this is implemented as a special case to avoid the overhead - // of going through the normal attribute patching process. - function setScope (vnode) { - var i; - if (isDef(i = vnode.fnScopeId)) { - nodeOps.setAttribute(vnode.elm, i, ''); - } else { - var ancestor = vnode; - while (ancestor) { - if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) { - nodeOps.setAttribute(vnode.elm, i, ''); - } - ancestor = ancestor.parent; - } - } - // for slot content they should also get the scopeId from the host instance. - if (isDef(i = activeInstance) && - i !== vnode.context && - i !== vnode.fnContext && - isDef(i = i.$options._scopeId) - ) { - nodeOps.setAttribute(vnode.elm, i, ''); - } - } - - function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) { - for (; startIdx <= endIdx; ++startIdx) { - createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm); - } - } - - function invokeDestroyHook (vnode) { - var i, j; - var data = vnode.data; - if (isDef(data)) { - if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); } - for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); } - } - if (isDef(i = vnode.children)) { - for (j = 0; j < vnode.children.length; ++j) { - invokeDestroyHook(vnode.children[j]); - } - } - } - - function removeVnodes (parentElm, vnodes, startIdx, endIdx) { - for (; startIdx <= endIdx; ++startIdx) { - var ch = vnodes[startIdx]; - if (isDef(ch)) { - if (isDef(ch.tag)) { - removeAndInvokeRemoveHook(ch); - invokeDestroyHook(ch); - } else { // Text node - removeNode(ch.elm); - } - } - } - } - - function removeAndInvokeRemoveHook (vnode, rm) { - if (isDef(rm) || isDef(vnode.data)) { - var i; - var listeners = cbs.remove.length + 1; - if (isDef(rm)) { - // we have a recursively passed down rm callback - // increase the listeners count - rm.listeners += listeners; - } else { - // directly removing - rm = createRmCb(vnode.elm, listeners); - } - // recursively invoke hooks on child component root node - if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) { - removeAndInvokeRemoveHook(i, rm); - } - for (i = 0; i < cbs.remove.length; ++i) { - cbs.remove[i](vnode, rm); - } - if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) { - i(vnode, rm); - } else { - rm(); - } - } else { - removeNode(vnode.elm); - } - } - - function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) { - var oldStartIdx = 0; - var newStartIdx = 0; - var oldEndIdx = oldCh.length - 1; - var oldStartVnode = oldCh[0]; - var oldEndVnode = oldCh[oldEndIdx]; - var newEndIdx = newCh.length - 1; - var newStartVnode = newCh[0]; - var newEndVnode = newCh[newEndIdx]; - var oldKeyToIdx, idxInOld, vnodeToMove, refElm; - - // removeOnly is a special flag used only by <transition-group> - // to ensure removed elements stay in correct relative positions - // during leaving transitions - var canMove = !removeOnly; - - { - checkDuplicateKeys(newCh); - } - - while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) { - if (isUndef(oldStartVnode)) { - oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left - } else if (isUndef(oldEndVnode)) { - oldEndVnode = oldCh[--oldEndIdx]; - } else if (sameVnode(oldStartVnode, newStartVnode)) { - patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue); - oldStartVnode = oldCh[++oldStartIdx]; - newStartVnode = newCh[++newStartIdx]; - } else if (sameVnode(oldEndVnode, newEndVnode)) { - patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue); - oldEndVnode = oldCh[--oldEndIdx]; - newEndVnode = newCh[--newEndIdx]; - } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right - patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue); - canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm)); - oldStartVnode = oldCh[++oldStartIdx]; - newEndVnode = newCh[--newEndIdx]; - } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left - patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue); - canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm); - oldEndVnode = oldCh[--oldEndIdx]; - newStartVnode = newCh[++newStartIdx]; - } else { - if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); } - idxInOld = isDef(newStartVnode.key) - ? oldKeyToIdx[newStartVnode.key] - : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx); - if (isUndef(idxInOld)) { // New element - createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm); - } else { - vnodeToMove = oldCh[idxInOld]; - if (sameVnode(vnodeToMove, newStartVnode)) { - patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue); - oldCh[idxInOld] = undefined; - canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm); - } else { - // same key but different element. treat as new element - createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm); - } - } - newStartVnode = newCh[++newStartIdx]; - } - } - if (oldStartIdx > oldEndIdx) { - refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm; - addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue); - } else if (newStartIdx > newEndIdx) { - removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx); - } - } - - function checkDuplicateKeys (children) { - var seenKeys = {}; - for (var i = 0; i < children.length; i++) { - var vnode = children[i]; - var key = vnode.key; - if (isDef(key)) { - if (seenKeys[key]) { - warn( - ("Duplicate keys detected: '" + key + "'. This may cause an update error."), - vnode.context - ); - } else { - seenKeys[key] = true; - } - } - } - } - - function findIdxInOld (node, oldCh, start, end) { - for (var i = start; i < end; i++) { - var c = oldCh[i]; - if (isDef(c) && sameVnode(node, c)) { return i } - } - } - - function patchVnode (oldVnode, vnode, insertedVnodeQueue, removeOnly) { - if (oldVnode === vnode) { - return - } - - var elm = vnode.elm = oldVnode.elm; - - if (isTrue(oldVnode.isAsyncPlaceholder)) { - if (isDef(vnode.asyncFactory.resolved)) { - hydrate(oldVnode.elm, vnode, insertedVnodeQueue); - } else { - vnode.isAsyncPlaceholder = true; - } - return - } - - // reuse element for static trees. - // note we only do this if the vnode is cloned - - // if the new node is not cloned it means the render functions have been - // reset by the hot-reload-api and we need to do a proper re-render. - if (isTrue(vnode.isStatic) && - isTrue(oldVnode.isStatic) && - vnode.key === oldVnode.key && - (isTrue(vnode.isCloned) || isTrue(vnode.isOnce)) - ) { - vnode.componentInstance = oldVnode.componentInstance; - return - } - - var i; - var data = vnode.data; - if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) { - i(oldVnode, vnode); - } - - var oldCh = oldVnode.children; - var ch = vnode.children; - if (isDef(data) && isPatchable(vnode)) { - for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); } - if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); } - } - if (isUndef(vnode.text)) { - if (isDef(oldCh) && isDef(ch)) { - if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); } - } else if (isDef(ch)) { - if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); } - addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue); - } else if (isDef(oldCh)) { - removeVnodes(elm, oldCh, 0, oldCh.length - 1); - } else if (isDef(oldVnode.text)) { - nodeOps.setTextContent(elm, ''); - } - } else if (oldVnode.text !== vnode.text) { - nodeOps.setTextContent(elm, vnode.text); - } - if (isDef(data)) { - if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); } - } - } - - function invokeInsertHook (vnode, queue, initial) { - // delay insert hooks for component root nodes, invoke them after the - // element is really inserted - if (isTrue(initial) && isDef(vnode.parent)) { - vnode.parent.data.pendingInsert = queue; - } else { - for (var i = 0; i < queue.length; ++i) { - queue[i].data.hook.insert(queue[i]); - } - } - } - - var hydrationBailed = false; - // list of modules that can skip create hook during hydration because they - // are already rendered on the client or has no need for initialization - // Note: style is excluded because it relies on initial clone for future - // deep updates (#7063). - var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key'); - - // Note: this is a browser-only function so we can assume elms are DOM nodes. - function hydrate (elm, vnode, insertedVnodeQueue, inVPre) { - var i; - var tag = vnode.tag; - var data = vnode.data; - var children = vnode.children; - inVPre = inVPre || (data && data.pre); - vnode.elm = elm; - - if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) { - vnode.isAsyncPlaceholder = true; - return true - } - // assert node match - { - if (!assertNodeMatch(elm, vnode, inVPre)) { - return false - } - } - if (isDef(data)) { - if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); } - if (isDef(i = vnode.componentInstance)) { - // child component. it should have hydrated its own tree. - initComponent(vnode, insertedVnodeQueue); - return true - } - } - if (isDef(tag)) { - if (isDef(children)) { - // empty element, allow client to pick up and populate children - if (!elm.hasChildNodes()) { - createChildren(vnode, children, insertedVnodeQueue); - } else { - // v-html and domProps: innerHTML - if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) { - if (i !== elm.innerHTML) { + // Provides transition support for list items. + var props = extend({ + tag: String, + moveClass: String + }, transitionProps); + delete props.mode; + var TransitionGroup = { + props: props, + beforeMount: function () { + var _this = this; + var update = this._update; + this._update = function (vnode, hydrating) { + var restoreActiveInstance = setActiveInstance(_this); + // force removing pass + _this.__patch__(_this._vnode, _this.kept, false, // hydrating + true // removeOnly (!important, avoids unnecessary moves) + ); + _this._vnode = _this.kept; + restoreActiveInstance(); + update.call(_this, vnode, hydrating); + }; + }, + render: function (h) { + var tag = this.tag || this.$vnode.data.tag || 'span'; + var map = Object.create(null); + var prevChildren = (this.prevChildren = this.children); + var rawChildren = this.$slots.default || []; + var children = (this.children = []); + var transitionData = extractTransitionData(this); + for (var i = 0; i < rawChildren.length; i++) { + var c = rawChildren[i]; + if (c.tag) { + if (c.key != null && String(c.key).indexOf('__vlist') !== 0) { + children.push(c); + map[c.key] = c; + (c.data || (c.data = {})).transition = transitionData; + } + else { + var opts = c.componentOptions; + var name_1 = opts + ? getComponentName(opts.Ctor.options) || opts.tag || '' + : c.tag; + warn$2("<transition-group> children must be keyed: <".concat(name_1, ">")); + } + } + } + if (prevChildren) { + var kept = []; + var removed = []; + for (var i = 0; i < prevChildren.length; i++) { + var c = prevChildren[i]; + c.data.transition = transitionData; + // @ts-expect-error .getBoundingClientRect is not typed in Node + c.data.pos = c.elm.getBoundingClientRect(); + if (map[c.key]) { + kept.push(c); + } + else { + removed.push(c); + } + } + this.kept = h(tag, null, kept); + this.removed = removed; + } + return h(tag, null, children); + }, + updated: function () { + var children = this.prevChildren; + var moveClass = this.moveClass || (this.name || 'v') + '-move'; + if (!children.length || !this.hasMove(children[0].elm, moveClass)) { + return; + } + // we divide the work into three loops to avoid mixing DOM reads and writes + // in each iteration - which helps prevent layout thrashing. + children.forEach(callPendingCbs); + children.forEach(recordPosition); + children.forEach(applyTranslation); + // force reflow to put everything in position + // assign to this to avoid being removed in tree-shaking + // $flow-disable-line + this._reflow = document.body.offsetHeight; + children.forEach(function (c) { + if (c.data.moved) { + var el_1 = c.elm; + var s = el_1.style; + addTransitionClass(el_1, moveClass); + s.transform = s.WebkitTransform = s.transitionDuration = ''; + el_1.addEventListener(transitionEndEvent, (el_1._moveCb = function cb(e) { + if (e && e.target !== el_1) { + return; + } + if (!e || /transform$/.test(e.propertyName)) { + el_1.removeEventListener(transitionEndEvent, cb); + el_1._moveCb = null; + removeTransitionClass(el_1, moveClass); + } + })); + } + }); + }, + methods: { + hasMove: function (el, moveClass) { /* istanbul ignore if */ - if ("development" !== 'production' && - typeof console !== 'undefined' && - !hydrationBailed - ) { - hydrationBailed = true; - console.warn('Parent: ', elm); - console.warn('server innerHTML: ', i); - console.warn('client innerHTML: ', elm.innerHTML); - } - return false - } - } else { - // iterate and compare children lists - var childrenMatch = true; - var childNode = elm.firstChild; - for (var i$1 = 0; i$1 < children.length; i$1++) { - if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) { - childrenMatch = false; - break - } - childNode = childNode.nextSibling; - } - // if childNode is not null, it means the actual childNodes list is - // longer than the virtual children list. - if (!childrenMatch || childNode) { + if (!hasTransition) { + return false; + } /* istanbul ignore if */ - if ("development" !== 'production' && - typeof console !== 'undefined' && - !hydrationBailed - ) { - hydrationBailed = true; - console.warn('Parent: ', elm); - console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children); - } - return false - } - } - } - } - if (isDef(data)) { - var fullInvoke = false; - for (var key in data) { - if (!isRenderedModule(key)) { - fullInvoke = true; - invokeCreateHooks(vnode, insertedVnodeQueue); - break - } - } - if (!fullInvoke && data['class']) { - // ensure collecting deps for deep class bindings for future updates - traverse(data['class']); - } - } - } else if (elm.data !== vnode.text) { - elm.data = vnode.text; - } - return true - } - - function assertNodeMatch (node, vnode, inVPre) { - if (isDef(vnode.tag)) { - return vnode.tag.indexOf('vue-component') === 0 || ( - !isUnknownElement$$1(vnode, inVPre) && - vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase()) - ) - } else { - return node.nodeType === (vnode.isComment ? 8 : 3) - } - } - - return function patch (oldVnode, vnode, hydrating, removeOnly, parentElm, refElm) { - if (isUndef(vnode)) { - if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); } - return - } - - var isInitialPatch = false; - var insertedVnodeQueue = []; - - if (isUndef(oldVnode)) { - // empty mount (likely as component), create new root element - isInitialPatch = true; - createElm(vnode, insertedVnodeQueue, parentElm, refElm); - } else { - var isRealElement = isDef(oldVnode.nodeType); - if (!isRealElement && sameVnode(oldVnode, vnode)) { - // patch existing root node - patchVnode(oldVnode, vnode, insertedVnodeQueue, removeOnly); - } else { - if (isRealElement) { - // mounting to a real element - // check if this is server-rendered content and if we can perform - // a successful hydration. - if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) { - oldVnode.removeAttribute(SSR_ATTR); - hydrating = true; - } - if (isTrue(hydrating)) { - if (hydrate(oldVnode, vnode, insertedVnodeQueue)) { - invokeInsertHook(vnode, insertedVnodeQueue, true); - return oldVnode - } else { - warn( - 'The client-side rendered virtual DOM tree is not matching ' + - 'server-rendered content. This is likely caused by incorrect ' + - 'HTML markup, for example nesting block-level elements inside ' + - '<p>, or missing <tbody>. Bailing hydration and performing ' + - 'full client-side render.' - ); - } - } - // either not server-rendered, or hydration failed. - // create an empty node and replace it - oldVnode = emptyNodeAt(oldVnode); - } - - // replacing existing element - var oldElm = oldVnode.elm; - var parentElm$1 = nodeOps.parentNode(oldElm); - - // create new node - createElm( - vnode, - insertedVnodeQueue, - // extremely rare edge case: do not insert if old element is in a - // leaving transition. Only happens when combining transition + - // keep-alive + HOCs. (#4590) - oldElm._leaveCb ? null : parentElm$1, - nodeOps.nextSibling(oldElm) - ); - - // update parent placeholder node element, recursively - if (isDef(vnode.parent)) { - var ancestor = vnode.parent; - var patchable = isPatchable(vnode); - while (ancestor) { - for (var i = 0; i < cbs.destroy.length; ++i) { - cbs.destroy[i](ancestor); - } - ancestor.elm = vnode.elm; - if (patchable) { - for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) { - cbs.create[i$1](emptyNode, ancestor); - } - // #6513 - // invoke insert hooks that may have been merged by create hooks. - // e.g. for directives that uses the "inserted" hook. - var insert = ancestor.data.hook.insert; - if (insert.merged) { - // start at index 1 to avoid re-invoking component mounted hook - for (var i$2 = 1; i$2 < insert.fns.length; i$2++) { - insert.fns[i$2](); - } - } - } else { - registerRef(ancestor); - } - ancestor = ancestor.parent; - } - } - - // destroy old node - if (isDef(parentElm$1)) { - removeVnodes(parentElm$1, [oldVnode], 0, 0); - } else if (isDef(oldVnode.tag)) { - invokeDestroyHook(oldVnode); - } - } - } - - invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch); - return vnode.elm - } -} - -/* */ - -var directives = { - create: updateDirectives, - update: updateDirectives, - destroy: function unbindDirectives (vnode) { - updateDirectives(vnode, emptyNode); - } -}; - -function updateDirectives (oldVnode, vnode) { - if (oldVnode.data.directives || vnode.data.directives) { - _update(oldVnode, vnode); - } -} - -function _update (oldVnode, vnode) { - var isCreate = oldVnode === emptyNode; - var isDestroy = vnode === emptyNode; - var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context); - var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context); - - var dirsWithInsert = []; - var dirsWithPostpatch = []; - - var key, oldDir, dir; - for (key in newDirs) { - oldDir = oldDirs[key]; - dir = newDirs[key]; - if (!oldDir) { - // new directive, bind - callHook$1(dir, 'bind', vnode, oldVnode); - if (dir.def && dir.def.inserted) { - dirsWithInsert.push(dir); - } - } else { - // existing directive, update - dir.oldValue = oldDir.value; - callHook$1(dir, 'update', vnode, oldVnode); - if (dir.def && dir.def.componentUpdated) { - dirsWithPostpatch.push(dir); - } - } - } - - if (dirsWithInsert.length) { - var callInsert = function () { - for (var i = 0; i < dirsWithInsert.length; i++) { - callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode); - } - }; - if (isCreate) { - mergeVNodeHook(vnode, 'insert', callInsert); - } else { - callInsert(); - } - } - - if (dirsWithPostpatch.length) { - mergeVNodeHook(vnode, 'postpatch', function () { - for (var i = 0; i < dirsWithPostpatch.length; i++) { - callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode); - } - }); - } - - if (!isCreate) { - for (key in oldDirs) { - if (!newDirs[key]) { - // no longer present, unbind - callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy); - } - } + if (this._hasMove) { + return this._hasMove; + } + // Detect whether an element with the move class applied has + // CSS transitions. Since the element may be inside an entering + // transition at this very moment, we make a clone of it and remove + // all other transition classes applied to ensure only the move class + // is applied. + var clone = el.cloneNode(); + if (el._transitionClasses) { + el._transitionClasses.forEach(function (cls) { + removeClass(clone, cls); + }); + } + addClass(clone, moveClass); + clone.style.display = 'none'; + this.$el.appendChild(clone); + var info = getTransitionInfo(clone); + this.$el.removeChild(clone); + return (this._hasMove = info.hasTransform); + } + } + }; + function callPendingCbs(c) { + /* istanbul ignore if */ + if (c.elm._moveCb) { + c.elm._moveCb(); + } + /* istanbul ignore if */ + if (c.elm._enterCb) { + c.elm._enterCb(); + } + } + function recordPosition(c) { + c.data.newPos = c.elm.getBoundingClientRect(); + } + function applyTranslation(c) { + var oldPos = c.data.pos; + var newPos = c.data.newPos; + var dx = oldPos.left - newPos.left; + var dy = oldPos.top - newPos.top; + if (dx || dy) { + c.data.moved = true; + var s = c.elm.style; + s.transform = s.WebkitTransform = "translate(".concat(dx, "px,").concat(dy, "px)"); + s.transitionDuration = '0s'; + } } -} -var emptyModifiers = Object.create(null); + var platformComponents = { + Transition: Transition, + TransitionGroup: TransitionGroup + }; -function normalizeDirectives$1 ( - dirs, - vm -) { - var res = Object.create(null); - if (!dirs) { - // $flow-disable-line - return res - } - var i, dir; - for (i = 0; i < dirs.length; i++) { - dir = dirs[i]; - if (!dir.modifiers) { - // $flow-disable-line - dir.modifiers = emptyModifiers; - } - res[getRawDirName(dir)] = dir; - dir.def = resolveAsset(vm.$options, 'directives', dir.name, true); - } - // $flow-disable-line - return res -} - -function getRawDirName (dir) { - return dir.rawName || ((dir.name) + "." + (Object.keys(dir.modifiers || {}).join('.'))) -} - -function callHook$1 (dir, hook, vnode, oldVnode, isDestroy) { - var fn = dir.def && dir.def[hook]; - if (fn) { - try { - fn(vnode.elm, dir, vnode, oldVnode, isDestroy); - } catch (e) { - handleError(e, vnode.context, ("directive " + (dir.name) + " " + hook + " hook")); - } - } -} - -var baseModules = [ - ref, - directives -]; - -/* */ - -function updateAttrs (oldVnode, vnode) { - var opts = vnode.componentOptions; - if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) { - return - } - if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) { - return - } - var key, cur, old; - var elm = vnode.elm; - var oldAttrs = oldVnode.data.attrs || {}; - var attrs = vnode.data.attrs || {}; - // clone observed objects, as the user probably wants to mutate it - if (isDef(attrs.__ob__)) { - attrs = vnode.data.attrs = extend({}, attrs); - } - - for (key in attrs) { - cur = attrs[key]; - old = oldAttrs[key]; - if (old !== cur) { - setAttr(elm, key, cur); - } - } - // #4391: in IE9, setting type can reset value for input[type=radio] - // #6666: IE/Edge forces progress value down to 1 before setting a max - /* istanbul ignore if */ - if ((isIE || isEdge) && attrs.value !== oldAttrs.value) { - setAttr(elm, 'value', attrs.value); - } - for (key in oldAttrs) { - if (isUndef(attrs[key])) { - if (isXlink(key)) { - elm.removeAttributeNS(xlinkNS, getXlinkProp(key)); - } else if (!isEnumeratedAttr(key)) { - elm.removeAttribute(key); - } - } - } -} - -function setAttr (el, key, value) { - if (isBooleanAttr(key)) { - // set attribute for blank value - // e.g. <option disabled>Select one</option> - if (isFalsyAttrValue(value)) { - el.removeAttribute(key); - } else { - // technically allowfullscreen is a boolean attribute for <iframe>, - // but Flash expects a value of "true" when used on <embed> tag - value = key === 'allowfullscreen' && el.tagName === 'EMBED' - ? 'true' - : key; - el.setAttribute(key, value); - } - } else if (isEnumeratedAttr(key)) { - el.setAttribute(key, isFalsyAttrValue(value) || value === 'false' ? 'false' : 'true'); - } else if (isXlink(key)) { - if (isFalsyAttrValue(value)) { - el.removeAttributeNS(xlinkNS, getXlinkProp(key)); - } else { - el.setAttributeNS(xlinkNS, key, value); - } - } else { - if (isFalsyAttrValue(value)) { - el.removeAttribute(key); - } else { - // #7138: IE10 & 11 fires input event when setting placeholder on - // <textarea>... block the first input event and remove the blocker - // immediately. - /* istanbul ignore if */ - if ( - isIE && !isIE9 && - el.tagName === 'TEXTAREA' && - key === 'placeholder' && !el.__ieph - ) { - var blocker = function (e) { - e.stopImmediatePropagation(); - el.removeEventListener('input', blocker); - }; - el.addEventListener('input', blocker); - // $flow-disable-line - el.__ieph = true; /* IE placeholder patched */ - } - el.setAttribute(key, value); - } - } -} - -var attrs = { - create: updateAttrs, - update: updateAttrs -}; - -/* */ - -function updateClass (oldVnode, vnode) { - var el = vnode.elm; - var data = vnode.data; - var oldData = oldVnode.data; - if ( - isUndef(data.staticClass) && - isUndef(data.class) && ( - isUndef(oldData) || ( - isUndef(oldData.staticClass) && - isUndef(oldData.class) - ) - ) - ) { - return - } - - var cls = genClassForVnode(vnode); - - // handle transition classes - var transitionClass = el._transitionClasses; - if (isDef(transitionClass)) { - cls = concat(cls, stringifyClass(transitionClass)); - } - - // set the class - if (cls !== el._prevClass) { - el.setAttribute('class', cls); - el._prevClass = cls; - } -} - -var klass = { - create: updateClass, - update: updateClass -}; - -/* */ - -var validDivisionCharRE = /[\w).+\-_$\]]/; - -function parseFilters (exp) { - var inSingle = false; - var inDouble = false; - var inTemplateString = false; - var inRegex = false; - var curly = 0; - var square = 0; - var paren = 0; - var lastFilterIndex = 0; - var c, prev, i, expression, filters; - - for (i = 0; i < exp.length; i++) { - prev = c; - c = exp.charCodeAt(i); - if (inSingle) { - if (c === 0x27 && prev !== 0x5C) { inSingle = false; } - } else if (inDouble) { - if (c === 0x22 && prev !== 0x5C) { inDouble = false; } - } else if (inTemplateString) { - if (c === 0x60 && prev !== 0x5C) { inTemplateString = false; } - } else if (inRegex) { - if (c === 0x2f && prev !== 0x5C) { inRegex = false; } - } else if ( - c === 0x7C && // pipe - exp.charCodeAt(i + 1) !== 0x7C && - exp.charCodeAt(i - 1) !== 0x7C && - !curly && !square && !paren - ) { - if (expression === undefined) { - // first filter, end of expression - lastFilterIndex = i + 1; - expression = exp.slice(0, i).trim(); - } else { - pushFilter(); - } - } else { - switch (c) { - case 0x22: inDouble = true; break // " - case 0x27: inSingle = true; break // ' - case 0x60: inTemplateString = true; break // ` - case 0x28: paren++; break // ( - case 0x29: paren--; break // ) - case 0x5B: square++; break // [ - case 0x5D: square--; break // ] - case 0x7B: curly++; break // { - case 0x7D: curly--; break // } - } - if (c === 0x2f) { // / - var j = i - 1; - var p = (void 0); - // find first non-whitespace prev char - for (; j >= 0; j--) { - p = exp.charAt(j); - if (p !== ' ') { break } - } - if (!p || !validDivisionCharRE.test(p)) { - inRegex = true; - } - } - } - } - - if (expression === undefined) { - expression = exp.slice(0, i).trim(); - } else if (lastFilterIndex !== 0) { - pushFilter(); - } - - function pushFilter () { - (filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim()); - lastFilterIndex = i + 1; - } - - if (filters) { - for (i = 0; i < filters.length; i++) { - expression = wrapFilter(expression, filters[i]); - } - } - - return expression -} - -function wrapFilter (exp, filter) { - var i = filter.indexOf('('); - if (i < 0) { - // _f: resolveFilter - return ("_f(\"" + filter + "\")(" + exp + ")") - } else { - var name = filter.slice(0, i); - var args = filter.slice(i + 1); - return ("_f(\"" + name + "\")(" + exp + "," + args) - } -} - -/* */ - -function baseWarn (msg) { - console.error(("[Vue compiler]: " + msg)); -} - -function pluckModuleFunction ( - modules, - key -) { - return modules - ? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; }) - : [] -} - -function addProp (el, name, value) { - (el.props || (el.props = [])).push({ name: name, value: value }); - el.plain = false; -} - -function addAttr (el, name, value) { - (el.attrs || (el.attrs = [])).push({ name: name, value: value }); - el.plain = false; -} - -// add a raw attr (use this in preTransforms) -function addRawAttr (el, name, value) { - el.attrsMap[name] = value; - el.attrsList.push({ name: name, value: value }); -} - -function addDirective ( - el, - name, - rawName, - value, - arg, - modifiers -) { - (el.directives || (el.directives = [])).push({ name: name, rawName: rawName, value: value, arg: arg, modifiers: modifiers }); - el.plain = false; -} - -function addHandler ( - el, - name, - value, - modifiers, - important, - warn -) { - modifiers = modifiers || emptyObject; - // warn prevent and passive modifier - /* istanbul ignore if */ - if ( - "development" !== 'production' && warn && - modifiers.prevent && modifiers.passive - ) { - warn( - 'passive and prevent can\'t be used together. ' + - 'Passive handler can\'t prevent default event.' - ); + // install platform specific utils + Vue.config.mustUseProp = mustUseProp; + Vue.config.isReservedTag = isReservedTag; + Vue.config.isReservedAttr = isReservedAttr; + Vue.config.getTagNamespace = getTagNamespace; + Vue.config.isUnknownElement = isUnknownElement; + // install platform runtime directives & components + extend(Vue.options.directives, platformDirectives); + extend(Vue.options.components, platformComponents); + // install platform patch function + Vue.prototype.__patch__ = inBrowser ? patch : noop; + // public mount method + Vue.prototype.$mount = function (el, hydrating) { + el = el && inBrowser ? query(el) : undefined; + return mountComponent(this, el, hydrating); + }; + // devtools global hook + /* istanbul ignore next */ + if (inBrowser) { + setTimeout(function () { + if (config.devtools) { + if (devtools) { + devtools.emit('init', Vue); + } + else { + // @ts-expect-error + console[console.info ? 'info' : 'log']('Download the Vue Devtools extension for a better development experience:\n' + + 'https://github.com/vuejs/vue-devtools'); + } + } + if (config.productionTip !== false && + typeof console !== 'undefined') { + // @ts-expect-error + console[console.info ? 'info' : 'log']("You are running Vue in development mode.\n" + + "Make sure to turn on production mode when deploying for production.\n" + + "See more tips at https://vuejs.org/guide/deployment.html"); + } + }, 0); } - // check capture modifier - if (modifiers.capture) { - delete modifiers.capture; - name = '!' + name; // mark the event as captured - } - if (modifiers.once) { - delete modifiers.once; - name = '~' + name; // mark the event as once - } - /* istanbul ignore if */ - if (modifiers.passive) { - delete modifiers.passive; - name = '&' + name; // mark the event as passive + var defaultTagRE = /\{\{((?:.|\r?\n)+?)\}\}/g; + var regexEscapeRE = /[-.*+?^${}()|[\]\/\\]/g; + var buildRegex = cached(function (delimiters) { + var open = delimiters[0].replace(regexEscapeRE, '\\$&'); + var close = delimiters[1].replace(regexEscapeRE, '\\$&'); + return new RegExp(open + '((?:.|\\n)+?)' + close, 'g'); + }); + function parseText(text, delimiters) { + //@ts-expect-error + var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE; + if (!tagRE.test(text)) { + return; + } + var tokens = []; + var rawTokens = []; + var lastIndex = (tagRE.lastIndex = 0); + var match, index, tokenValue; + while ((match = tagRE.exec(text))) { + index = match.index; + // push text token + if (index > lastIndex) { + rawTokens.push((tokenValue = text.slice(lastIndex, index))); + tokens.push(JSON.stringify(tokenValue)); + } + // tag token + var exp = parseFilters(match[1].trim()); + tokens.push("_s(".concat(exp, ")")); + rawTokens.push({ '@binding': exp }); + lastIndex = index + match[0].length; + } + if (lastIndex < text.length) { + rawTokens.push((tokenValue = text.slice(lastIndex))); + tokens.push(JSON.stringify(tokenValue)); + } + return { + expression: tokens.join('+'), + tokens: rawTokens + }; } - // normalize click.right and click.middle since they don't actually fire - // this is technically browser-specific, but at least for now browsers are - // the only target envs that have right/middle clicks. - if (name === 'click') { - if (modifiers.right) { - name = 'contextmenu'; - delete modifiers.right; - } else if (modifiers.middle) { - name = 'mouseup'; - } + function transformNode$1(el, options) { + var warn = options.warn || baseWarn; + var staticClass = getAndRemoveAttr(el, 'class'); + if (staticClass) { + var res = parseText(staticClass, options.delimiters); + if (res) { + warn("class=\"".concat(staticClass, "\": ") + + 'Interpolation inside attributes has been removed. ' + + 'Use v-bind or the colon shorthand instead. For example, ' + + 'instead of <div class="{{ val }}">, use <div :class="val">.', el.rawAttrsMap['class']); + } + } + if (staticClass) { + el.staticClass = JSON.stringify(staticClass.replace(/\s+/g, ' ').trim()); + } + var classBinding = getBindingAttr(el, 'class', false /* getStatic */); + if (classBinding) { + el.classBinding = classBinding; + } } - - var events; - if (modifiers.native) { - delete modifiers.native; - events = el.nativeEvents || (el.nativeEvents = {}); - } else { - events = el.events || (el.events = {}); + function genData$2(el) { + var data = ''; + if (el.staticClass) { + data += "staticClass:".concat(el.staticClass, ","); + } + if (el.classBinding) { + data += "class:".concat(el.classBinding, ","); + } + return data; } + var klass = { + staticKeys: ['staticClass'], + transformNode: transformNode$1, + genData: genData$2 + }; - var newHandler = { value: value }; - if (modifiers !== emptyObject) { - newHandler.modifiers = modifiers; + function transformNode(el, options) { + var warn = options.warn || baseWarn; + var staticStyle = getAndRemoveAttr(el, 'style'); + if (staticStyle) { + /* istanbul ignore if */ + { + var res = parseText(staticStyle, options.delimiters); + if (res) { + warn("style=\"".concat(staticStyle, "\": ") + + 'Interpolation inside attributes has been removed. ' + + 'Use v-bind or the colon shorthand instead. For example, ' + + 'instead of <div style="{{ val }}">, use <div :style="val">.', el.rawAttrsMap['style']); + } + } + el.staticStyle = JSON.stringify(parseStyleText(staticStyle)); + } + var styleBinding = getBindingAttr(el, 'style', false /* getStatic */); + if (styleBinding) { + el.styleBinding = styleBinding; + } } - - var handlers = events[name]; - /* istanbul ignore if */ - if (Array.isArray(handlers)) { - important ? handlers.unshift(newHandler) : handlers.push(newHandler); - } else if (handlers) { - events[name] = important ? [newHandler, handlers] : [handlers, newHandler]; - } else { - events[name] = newHandler; - } - - el.plain = false; -} - -function getBindingAttr ( - el, - name, - getStatic -) { - var dynamicValue = - getAndRemoveAttr(el, ':' + name) || - getAndRemoveAttr(el, 'v-bind:' + name); - if (dynamicValue != null) { - return parseFilters(dynamicValue) - } else if (getStatic !== false) { - var staticValue = getAndRemoveAttr(el, name); - if (staticValue != null) { - return JSON.stringify(staticValue) - } - } -} - -// note: this only removes the attr from the Array (attrsList) so that it -// doesn't get processed by processAttrs. -// By default it does NOT remove it from the map (attrsMap) because the map is -// needed during codegen. -function getAndRemoveAttr ( - el, - name, - removeFromMap -) { - var val; - if ((val = el.attrsMap[name]) != null) { - var list = el.attrsList; - for (var i = 0, l = list.length; i < l; i++) { - if (list[i].name === name) { - list.splice(i, 1); - break - } - } - } - if (removeFromMap) { - delete el.attrsMap[name]; - } - return val -} - -/* */ - -/** - * Cross-platform code generation for component v-model - */ -function genComponentModel ( - el, - value, - modifiers -) { - var ref = modifiers || {}; - var number = ref.number; - var trim = ref.trim; - - var baseValueExpression = '$$v'; - var valueExpression = baseValueExpression; - if (trim) { - valueExpression = - "(typeof " + baseValueExpression + " === 'string'" + - "? " + baseValueExpression + ".trim()" + - ": " + baseValueExpression + ")"; - } - if (number) { - valueExpression = "_n(" + valueExpression + ")"; - } - var assignment = genAssignmentCode(value, valueExpression); - - el.model = { - value: ("(" + value + ")"), - expression: ("\"" + value + "\""), - callback: ("function (" + baseValueExpression + ") {" + assignment + "}") + function genData$1(el) { + var data = ''; + if (el.staticStyle) { + data += "staticStyle:".concat(el.staticStyle, ","); + } + if (el.styleBinding) { + data += "style:(".concat(el.styleBinding, "),"); + } + return data; + } + var style = { + staticKeys: ['staticStyle'], + transformNode: transformNode, + genData: genData$1 }; -} - -/** - * Cross-platform codegen helper for generating v-model value assignment code. - */ -function genAssignmentCode ( - value, - assignment -) { - var res = parseModel(value); - if (res.key === null) { - return (value + "=" + assignment) - } else { - return ("$set(" + (res.exp) + ", " + (res.key) + ", " + assignment + ")") - } -} - -/** - * Parse a v-model expression into a base path and a final key segment. - * Handles both dot-path and possible square brackets. - * - * Possible cases: - * - * - test - * - test[key] - * - test[test1[key]] - * - test["a"][key] - * - xxx.test[a[a].test1[key]] - * - test.xxx.a["asa"][test1[key]] - * - */ - -var len; -var str; -var chr; -var index$1; -var expressionPos; -var expressionEndPos; - + var decoder; + var he = { + decode: function (html) { + decoder = decoder || document.createElement('div'); + decoder.innerHTML = html; + return decoder.textContent; + } + }; -function parseModel (val) { - len = val.length; + var isUnaryTag = makeMap('area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' + + 'link,meta,param,source,track,wbr'); + // Elements that you can, intentionally, leave open + // (and which close themselves) + var canBeLeftOpenTag = makeMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source'); + // HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3 + // Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content + var isNonPhrasingTag = makeMap('address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' + + 'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' + + 'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' + + 'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' + + 'title,tr,track'); - if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) { - index$1 = val.lastIndexOf('.'); - if (index$1 > -1) { - return { - exp: val.slice(0, index$1), - key: '"' + val.slice(index$1 + 1) + '"' + /** + * Not type-checking this file because it's mostly vendor code. + */ + // Regular Expressions for parsing tags and attributes + var attribute = /^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/; + var dynamicArgAttribute = /^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/; + var ncname = "[a-zA-Z_][\\-\\.0-9_a-zA-Z".concat(unicodeRegExp.source, "]*"); + var qnameCapture = "((?:".concat(ncname, "\\:)?").concat(ncname, ")"); + var startTagOpen = new RegExp("^<".concat(qnameCapture)); + var startTagClose = /^\s*(\/?)>/; + var endTag = new RegExp("^<\\/".concat(qnameCapture, "[^>]*>")); + var doctype = /^<!DOCTYPE [^>]+>/i; + // #7298: escape - to avoid being passed as HTML comment when inlined in page + var comment = /^<!\--/; + var conditionalComment = /^<!\[/; + // Special Elements (can contain anything) + var isPlainTextElement = makeMap('script,style,textarea', true); + var reCache = {}; + var decodingMap = { + '<': '<', + '>': '>', + '"': '"', + '&': '&', + ' ': '\n', + '	': '\t', + ''': "'" + }; + var encodedAttr = /&(?:lt|gt|quot|amp|#39);/g; + var encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#39|#10|#9);/g; + // #5992 + var isIgnoreNewlineTag = makeMap('pre,textarea', true); + var shouldIgnoreFirstNewline = function (tag, html) { + return tag && isIgnoreNewlineTag(tag) && html[0] === '\n'; + }; + function decodeAttr(value, shouldDecodeNewlines) { + var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr; + return value.replace(re, function (match) { return decodingMap[match]; }); + } + function parseHTML(html, options) { + var stack = []; + var expectHTML = options.expectHTML; + var isUnaryTag = options.isUnaryTag || no; + var canBeLeftOpenTag = options.canBeLeftOpenTag || no; + var index = 0; + var last, lastTag; + var _loop_1 = function () { + last = html; + // Make sure we're not in a plaintext content element like script/style + if (!lastTag || !isPlainTextElement(lastTag)) { + var textEnd = html.indexOf('<'); + if (textEnd === 0) { + // Comment: + if (comment.test(html)) { + var commentEnd = html.indexOf('-->'); + if (commentEnd >= 0) { + if (options.shouldKeepComment && options.comment) { + options.comment(html.substring(4, commentEnd), index, index + commentEnd + 3); + } + advance(commentEnd + 3); + return "continue"; + } + } + // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment + if (conditionalComment.test(html)) { + var conditionalEnd = html.indexOf(']>'); + if (conditionalEnd >= 0) { + advance(conditionalEnd + 2); + return "continue"; + } + } + // Doctype: + var doctypeMatch = html.match(doctype); + if (doctypeMatch) { + advance(doctypeMatch[0].length); + return "continue"; + } + // End tag: + var endTagMatch = html.match(endTag); + if (endTagMatch) { + var curIndex = index; + advance(endTagMatch[0].length); + parseEndTag(endTagMatch[1], curIndex, index); + return "continue"; + } + // Start tag: + var startTagMatch = parseStartTag(); + if (startTagMatch) { + handleStartTag(startTagMatch); + if (shouldIgnoreFirstNewline(startTagMatch.tagName, html)) { + advance(1); + } + return "continue"; + } + } + var text = void 0, rest = void 0, next = void 0; + if (textEnd >= 0) { + rest = html.slice(textEnd); + while (!endTag.test(rest) && + !startTagOpen.test(rest) && + !comment.test(rest) && + !conditionalComment.test(rest)) { + // < in plain text, be forgiving and treat it as text + next = rest.indexOf('<', 1); + if (next < 0) + break; + textEnd += next; + rest = html.slice(textEnd); + } + text = html.substring(0, textEnd); + } + if (textEnd < 0) { + text = html; + } + if (text) { + advance(text.length); + } + if (options.chars && text) { + options.chars(text, index - text.length, index); + } + } + else { + var endTagLength_1 = 0; + var stackedTag_1 = lastTag.toLowerCase(); + var reStackedTag = reCache[stackedTag_1] || + (reCache[stackedTag_1] = new RegExp('([\\s\\S]*?)(</' + stackedTag_1 + '[^>]*>)', 'i')); + var rest = html.replace(reStackedTag, function (all, text, endTag) { + endTagLength_1 = endTag.length; + if (!isPlainTextElement(stackedTag_1) && stackedTag_1 !== 'noscript') { + text = text + .replace(/<!\--([\s\S]*?)-->/g, '$1') // #7298 + .replace(/<!\[CDATA\[([\s\S]*?)]]>/g, '$1'); + } + if (shouldIgnoreFirstNewline(stackedTag_1, text)) { + text = text.slice(1); + } + if (options.chars) { + options.chars(text); + } + return ''; + }); + index += html.length - rest.length; + html = rest; + parseEndTag(stackedTag_1, index - endTagLength_1, index); + } + if (html === last) { + options.chars && options.chars(html); + if (!stack.length && options.warn) { + options.warn("Mal-formatted tag at end of template: \"".concat(html, "\""), { + start: index + html.length + }); + } + return "break"; + } + }; + while (html) { + var state_1 = _loop_1(); + if (state_1 === "break") + break; + } + // Clean up any remaining tags + parseEndTag(); + function advance(n) { + index += n; + html = html.substring(n); + } + function parseStartTag() { + var start = html.match(startTagOpen); + if (start) { + var match = { + tagName: start[1], + attrs: [], + start: index + }; + advance(start[0].length); + var end = void 0, attr = void 0; + while (!(end = html.match(startTagClose)) && + (attr = html.match(dynamicArgAttribute) || html.match(attribute))) { + attr.start = index; + advance(attr[0].length); + attr.end = index; + match.attrs.push(attr); + } + if (end) { + match.unarySlash = end[1]; + advance(end[0].length); + match.end = index; + return match; + } + } + } + function handleStartTag(match) { + var tagName = match.tagName; + var unarySlash = match.unarySlash; + if (expectHTML) { + if (lastTag === 'p' && isNonPhrasingTag(tagName)) { + parseEndTag(lastTag); + } + if (canBeLeftOpenTag(tagName) && lastTag === tagName) { + parseEndTag(tagName); + } + } + var unary = isUnaryTag(tagName) || !!unarySlash; + var l = match.attrs.length; + var attrs = new Array(l); + for (var i = 0; i < l; i++) { + var args = match.attrs[i]; + var value = args[3] || args[4] || args[5] || ''; + var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href' + ? options.shouldDecodeNewlinesForHref + : options.shouldDecodeNewlines; + attrs[i] = { + name: args[1], + value: decodeAttr(value, shouldDecodeNewlines) + }; + if (options.outputSourceRange) { + attrs[i].start = args.start + args[0].match(/^\s*/).length; + attrs[i].end = args.end; + } + } + if (!unary) { + stack.push({ + tag: tagName, + lowerCasedTag: tagName.toLowerCase(), + attrs: attrs, + start: match.start, + end: match.end + }); + lastTag = tagName; + } + if (options.start) { + options.start(tagName, attrs, unary, match.start, match.end); + } + } + function parseEndTag(tagName, start, end) { + var pos, lowerCasedTagName; + if (start == null) + start = index; + if (end == null) + end = index; + // Find the closest opened tag of the same type + if (tagName) { + lowerCasedTagName = tagName.toLowerCase(); + for (pos = stack.length - 1; pos >= 0; pos--) { + if (stack[pos].lowerCasedTag === lowerCasedTagName) { + break; + } + } + } + else { + // If no tag name is provided, clean shop + pos = 0; + } + if (pos >= 0) { + // Close all the open elements, up the stack + for (var i = stack.length - 1; i >= pos; i--) { + if ((i > pos || !tagName) && options.warn) { + options.warn("tag <".concat(stack[i].tag, "> has no matching end tag."), { + start: stack[i].start, + end: stack[i].end + }); + } + if (options.end) { + options.end(stack[i].tag, start, end); + } + } + // Remove the open elements from the stack + stack.length = pos; + lastTag = pos && stack[pos - 1].tag; + } + else if (lowerCasedTagName === 'br') { + if (options.start) { + options.start(tagName, [], true, start, end); + } + } + else if (lowerCasedTagName === 'p') { + if (options.start) { + options.start(tagName, [], false, start, end); + } + if (options.end) { + options.end(tagName, start, end); + } + } } - } else { - return { - exp: val, - key: null - } - } - } - - str = val; - index$1 = expressionPos = expressionEndPos = 0; - - while (!eof()) { - chr = next(); - /* istanbul ignore if */ - if (isStringStart(chr)) { - parseString(chr); - } else if (chr === 0x5B) { - parseBracket(chr); - } - } - - return { - exp: val.slice(0, expressionPos), - key: val.slice(expressionPos + 1, expressionEndPos) - } -} - -function next () { - return str.charCodeAt(++index$1) -} - -function eof () { - return index$1 >= len -} - -function isStringStart (chr) { - return chr === 0x22 || chr === 0x27 -} - -function parseBracket (chr) { - var inBracket = 1; - expressionPos = index$1; - while (!eof()) { - chr = next(); - if (isStringStart(chr)) { - parseString(chr); - continue - } - if (chr === 0x5B) { inBracket++; } - if (chr === 0x5D) { inBracket--; } - if (inBracket === 0) { - expressionEndPos = index$1; - break - } - } -} - -function parseString (chr) { - var stringQuote = chr; - while (!eof()) { - chr = next(); - if (chr === stringQuote) { - break - } - } -} - -/* */ - -var warn$1; - -// in some cases, the event used has to be determined at runtime -// so we used some reserved tokens during compile. -var RANGE_TOKEN = '__r'; -var CHECKBOX_RADIO_TOKEN = '__c'; - -function model ( - el, - dir, - _warn -) { - warn$1 = _warn; - var value = dir.value; - var modifiers = dir.modifiers; - var tag = el.tag; - var type = el.attrsMap.type; - - { - // inputs with type="file" are read only and setting the input's - // value will throw an error. - if (tag === 'input' && type === 'file') { - warn$1( - "<" + (el.tag) + " v-model=\"" + value + "\" type=\"file\">:\n" + - "File inputs are read only. Use a v-on:change listener instead." - ); - } - } - - if (el.component) { - genComponentModel(el, value, modifiers); - // component v-model doesn't need extra runtime - return false - } else if (tag === 'select') { - genSelect(el, value, modifiers); - } else if (tag === 'input' && type === 'checkbox') { - genCheckboxModel(el, value, modifiers); - } else if (tag === 'input' && type === 'radio') { - genRadioModel(el, value, modifiers); - } else if (tag === 'input' || tag === 'textarea') { - genDefaultModel(el, value, modifiers); - } else if (!config.isReservedTag(tag)) { - genComponentModel(el, value, modifiers); - // component v-model doesn't need extra runtime - return false - } else { - warn$1( - "<" + (el.tag) + " v-model=\"" + value + "\">: " + - "v-model is not supported on this element type. " + - 'If you are working with contenteditable, it\'s recommended to ' + - 'wrap a library dedicated for that purpose inside a custom component.' - ); - } - - // ensure runtime directive metadata - return true -} - -function genCheckboxModel ( - el, - value, - modifiers -) { - var number = modifiers && modifiers.number; - var valueBinding = getBindingAttr(el, 'value') || 'null'; - var trueValueBinding = getBindingAttr(el, 'true-value') || 'true'; - var falseValueBinding = getBindingAttr(el, 'false-value') || 'false'; - addProp(el, 'checked', - "Array.isArray(" + value + ")" + - "?_i(" + value + "," + valueBinding + ")>-1" + ( - trueValueBinding === 'true' - ? (":(" + value + ")") - : (":_q(" + value + "," + trueValueBinding + ")") - ) - ); - addHandler(el, 'change', - "var $$a=" + value + "," + - '$$el=$event.target,' + - "$$c=$$el.checked?(" + trueValueBinding + "):(" + falseValueBinding + ");" + - 'if(Array.isArray($$a)){' + - "var $$v=" + (number ? '_n(' + valueBinding + ')' : valueBinding) + "," + - '$$i=_i($$a,$$v);' + - "if($$el.checked){$$i<0&&(" + value + "=$$a.concat([$$v]))}" + - "else{$$i>-1&&(" + value + "=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}" + - "}else{" + (genAssignmentCode(value, '$$c')) + "}", - null, true - ); -} - -function genRadioModel ( - el, - value, - modifiers -) { - var number = modifiers && modifiers.number; - var valueBinding = getBindingAttr(el, 'value') || 'null'; - valueBinding = number ? ("_n(" + valueBinding + ")") : valueBinding; - addProp(el, 'checked', ("_q(" + value + "," + valueBinding + ")")); - addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true); -} - -function genSelect ( - el, - value, - modifiers -) { - var number = modifiers && modifiers.number; - var selectedVal = "Array.prototype.filter" + - ".call($event.target.options,function(o){return o.selected})" + - ".map(function(o){var val = \"_value\" in o ? o._value : o.value;" + - "return " + (number ? '_n(val)' : 'val') + "})"; - - var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]'; - var code = "var $$selectedVal = " + selectedVal + ";"; - code = code + " " + (genAssignmentCode(value, assignment)); - addHandler(el, 'change', code, null, true); -} - -function genDefaultModel ( - el, - value, - modifiers -) { - var type = el.attrsMap.type; - - // warn if v-bind:value conflicts with v-model - { - var value$1 = el.attrsMap['v-bind:value'] || el.attrsMap[':value']; - if (value$1) { - var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value'; - warn$1( - binding + "=\"" + value$1 + "\" conflicts with v-model on the same element " + - 'because the latter already expands to a value binding internally' - ); - } } - var ref = modifiers || {}; - var lazy = ref.lazy; - var number = ref.number; - var trim = ref.trim; - var needCompositionGuard = !lazy && type !== 'range'; - var event = lazy - ? 'change' - : type === 'range' - ? RANGE_TOKEN - : 'input'; - - var valueExpression = '$event.target.value'; - if (trim) { - valueExpression = "$event.target.value.trim()"; + var onRE = /^@|^v-on:/; + var dirRE = /^v-|^@|^:|^#/; + var forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/; + var forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/; + var stripParensRE = /^\(|\)$/g; + var dynamicArgRE = /^\[.*\]$/; + var argRE = /:(.*)$/; + var bindRE = /^:|^\.|^v-bind:/; + var modifierRE = /\.[^.\]]+(?=[^\]]*$)/g; + var slotRE = /^v-slot(:|$)|^#/; + var lineBreakRE = /[\r\n]/; + var whitespaceRE = /[ \f\t\r\n]+/g; + var invalidAttributeRE = /[\s"'<>\/=]/; + var decodeHTMLCached = cached(he.decode); + var emptySlotScopeToken = "_empty_"; + // configurable state + var warn; + var delimiters; + var transforms; + var preTransforms; + var postTransforms; + var platformIsPreTag; + var platformMustUseProp; + var platformGetTagNamespace; + var maybeComponent; + function createASTElement(tag, attrs, parent) { + return { + type: 1, + tag: tag, + attrsList: attrs, + attrsMap: makeAttrsMap(attrs), + rawAttrsMap: {}, + parent: parent, + children: [] + }; + } + /** + * Convert HTML string to AST. + */ + function parse(template, options) { + warn = options.warn || baseWarn; + platformIsPreTag = options.isPreTag || no; + platformMustUseProp = options.mustUseProp || no; + platformGetTagNamespace = options.getTagNamespace || no; + var isReservedTag = options.isReservedTag || no; + maybeComponent = function (el) { + return !!(el.component || + el.attrsMap[':is'] || + el.attrsMap['v-bind:is'] || + !(el.attrsMap.is ? isReservedTag(el.attrsMap.is) : isReservedTag(el.tag))); + }; + transforms = pluckModuleFunction(options.modules, 'transformNode'); + preTransforms = pluckModuleFunction(options.modules, 'preTransformNode'); + postTransforms = pluckModuleFunction(options.modules, 'postTransformNode'); + delimiters = options.delimiters; + var stack = []; + var preserveWhitespace = options.preserveWhitespace !== false; + var whitespaceOption = options.whitespace; + var root; + var currentParent; + var inVPre = false; + var inPre = false; + var warned = false; + function warnOnce(msg, range) { + if (!warned) { + warned = true; + warn(msg, range); + } + } + function closeElement(element) { + trimEndingWhitespace(element); + if (!inVPre && !element.processed) { + element = processElement(element, options); + } + // tree management + if (!stack.length && element !== root) { + // allow root elements with v-if, v-else-if and v-else + if (root.if && (element.elseif || element.else)) { + { + checkRootConstraints(element); + } + addIfCondition(root, { + exp: element.elseif, + block: element + }); + } + else { + warnOnce("Component template should contain exactly one root element. " + + "If you are using v-if on multiple elements, " + + "use v-else-if to chain them instead.", { start: element.start }); + } + } + if (currentParent && !element.forbidden) { + if (element.elseif || element.else) { + processIfConditions(element, currentParent); + } + else { + if (element.slotScope) { + // scoped slot + // keep it in the children list so that v-else(-if) conditions can + // find it as the prev node. + var name_1 = element.slotTarget || '"default"'; + (currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name_1] = element; + } + currentParent.children.push(element); + element.parent = currentParent; + } + } + // final children cleanup + // filter out scoped slots + element.children = element.children.filter(function (c) { return !c.slotScope; }); + // remove trailing whitespace node again + trimEndingWhitespace(element); + // check pre state + if (element.pre) { + inVPre = false; + } + if (platformIsPreTag(element.tag)) { + inPre = false; + } + // apply post-transforms + for (var i = 0; i < postTransforms.length; i++) { + postTransforms[i](element, options); + } + } + function trimEndingWhitespace(el) { + // remove trailing whitespace node + if (!inPre) { + var lastNode = void 0; + while ((lastNode = el.children[el.children.length - 1]) && + lastNode.type === 3 && + lastNode.text === ' ') { + el.children.pop(); + } + } + } + function checkRootConstraints(el) { + if (el.tag === 'slot' || el.tag === 'template') { + warnOnce("Cannot use <".concat(el.tag, "> as component root element because it may ") + + 'contain multiple nodes.', { start: el.start }); + } + if (el.attrsMap.hasOwnProperty('v-for')) { + warnOnce('Cannot use v-for on stateful component root element because ' + + 'it renders multiple elements.', el.rawAttrsMap['v-for']); + } + } + parseHTML(template, { + warn: warn, + expectHTML: options.expectHTML, + isUnaryTag: options.isUnaryTag, + canBeLeftOpenTag: options.canBeLeftOpenTag, + shouldDecodeNewlines: options.shouldDecodeNewlines, + shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref, + shouldKeepComment: options.comments, + outputSourceRange: options.outputSourceRange, + start: function (tag, attrs, unary, start, end) { + // check namespace. + // inherit parent ns if there is one + var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag); + // handle IE svg bug + /* istanbul ignore if */ + if (isIE && ns === 'svg') { + attrs = guardIESVGBug(attrs); + } + var element = createASTElement(tag, attrs, currentParent); + if (ns) { + element.ns = ns; + } + { + if (options.outputSourceRange) { + element.start = start; + element.end = end; + element.rawAttrsMap = element.attrsList.reduce(function (cumulated, attr) { + cumulated[attr.name] = attr; + return cumulated; + }, {}); + } + attrs.forEach(function (attr) { + if (invalidAttributeRE.test(attr.name)) { + warn("Invalid dynamic argument expression: attribute names cannot contain " + + "spaces, quotes, <, >, / or =.", options.outputSourceRange + ? { + start: attr.start + attr.name.indexOf("["), + end: attr.start + attr.name.length + } + : undefined); + } + }); + } + if (isForbiddenTag(element) && !isServerRendering()) { + element.forbidden = true; + warn('Templates should only be responsible for mapping the state to the ' + + 'UI. Avoid placing tags with side-effects in your templates, such as ' + + "<".concat(tag, ">") + + ', as they will not be parsed.', { start: element.start }); + } + // apply pre-transforms + for (var i = 0; i < preTransforms.length; i++) { + element = preTransforms[i](element, options) || element; + } + if (!inVPre) { + processPre(element); + if (element.pre) { + inVPre = true; + } + } + if (platformIsPreTag(element.tag)) { + inPre = true; + } + if (inVPre) { + processRawAttrs(element); + } + else if (!element.processed) { + // structural directives + processFor(element); + processIf(element); + processOnce(element); + } + if (!root) { + root = element; + { + checkRootConstraints(root); + } + } + if (!unary) { + currentParent = element; + stack.push(element); + } + else { + closeElement(element); + } + }, + end: function (tag, start, end) { + var element = stack[stack.length - 1]; + // pop stack + stack.length -= 1; + currentParent = stack[stack.length - 1]; + if (options.outputSourceRange) { + element.end = end; + } + closeElement(element); + }, + chars: function (text, start, end) { + if (!currentParent) { + { + if (text === template) { + warnOnce('Component template requires a root element, rather than just text.', { start: start }); + } + else if ((text = text.trim())) { + warnOnce("text \"".concat(text, "\" outside root element will be ignored."), { + start: start + }); + } + } + return; + } + // IE textarea placeholder bug + /* istanbul ignore if */ + if (isIE && + currentParent.tag === 'textarea' && + currentParent.attrsMap.placeholder === text) { + return; + } + var children = currentParent.children; + if (inPre || text.trim()) { + text = isTextTag(currentParent) + ? text + : decodeHTMLCached(text); + } + else if (!children.length) { + // remove the whitespace-only node right after an opening tag + text = ''; + } + else if (whitespaceOption) { + if (whitespaceOption === 'condense') { + // in condense mode, remove the whitespace node if it contains + // line break, otherwise condense to a single space + text = lineBreakRE.test(text) ? '' : ' '; + } + else { + text = ' '; + } + } + else { + text = preserveWhitespace ? ' ' : ''; + } + if (text) { + if (!inPre && whitespaceOption === 'condense') { + // condense consecutive whitespaces into single space + text = text.replace(whitespaceRE, ' '); + } + var res = void 0; + var child = void 0; + if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) { + child = { + type: 2, + expression: res.expression, + tokens: res.tokens, + text: text + }; + } + else if (text !== ' ' || + !children.length || + children[children.length - 1].text !== ' ') { + child = { + type: 3, + text: text + }; + } + if (child) { + if (options.outputSourceRange) { + child.start = start; + child.end = end; + } + children.push(child); + } + } + }, + comment: function (text, start, end) { + // adding anything as a sibling to the root node is forbidden + // comments should still be allowed, but ignored + if (currentParent) { + var child = { + type: 3, + text: text, + isComment: true + }; + if (options.outputSourceRange) { + child.start = start; + child.end = end; + } + currentParent.children.push(child); + } + } + }); + return root; + } + function processPre(el) { + if (getAndRemoveAttr(el, 'v-pre') != null) { + el.pre = true; + } + } + function processRawAttrs(el) { + var list = el.attrsList; + var len = list.length; + if (len) { + var attrs = (el.attrs = new Array(len)); + for (var i = 0; i < len; i++) { + attrs[i] = { + name: list[i].name, + value: JSON.stringify(list[i].value) + }; + if (list[i].start != null) { + attrs[i].start = list[i].start; + attrs[i].end = list[i].end; + } + } + } + else if (!el.pre) { + // non root node in pre blocks with no attributes + el.plain = true; + } + } + function processElement(element, options) { + processKey(element); + // determine whether this is a plain element after + // removing structural attributes + element.plain = + !element.key && !element.scopedSlots && !element.attrsList.length; + processRef(element); + processSlotContent(element); + processSlotOutlet(element); + processComponent(element); + for (var i = 0; i < transforms.length; i++) { + element = transforms[i](element, options) || element; + } + processAttrs(element); + return element; + } + function processKey(el) { + var exp = getBindingAttr(el, 'key'); + if (exp) { + { + if (el.tag === 'template') { + warn("<template> cannot be keyed. Place the key on real elements instead.", getRawBindingAttr(el, 'key')); + } + if (el.for) { + var iterator = el.iterator2 || el.iterator1; + var parent_1 = el.parent; + if (iterator && + iterator === exp && + parent_1 && + parent_1.tag === 'transition-group') { + warn("Do not use v-for index as key on <transition-group> children, " + + "this is the same as not using keys.", getRawBindingAttr(el, 'key'), true /* tip */); + } + } + } + el.key = exp; + } } - if (number) { - valueExpression = "_n(" + valueExpression + ")"; + function processRef(el) { + var ref = getBindingAttr(el, 'ref'); + if (ref) { + el.ref = ref; + el.refInFor = checkInFor(el); + } } - - var code = genAssignmentCode(value, valueExpression); - if (needCompositionGuard) { - code = "if($event.target.composing)return;" + code; + function processFor(el) { + var exp; + if ((exp = getAndRemoveAttr(el, 'v-for'))) { + var res = parseFor(exp); + if (res) { + extend(el, res); + } + else { + warn("Invalid v-for expression: ".concat(exp), el.rawAttrsMap['v-for']); + } + } } - - addProp(el, 'value', ("(" + value + ")")); - addHandler(el, event, code, null, true); - if (trim || number) { - addHandler(el, 'blur', '$forceUpdate()'); + function parseFor(exp) { + var inMatch = exp.match(forAliasRE); + if (!inMatch) + return; + var res = {}; + res.for = inMatch[2].trim(); + var alias = inMatch[1].trim().replace(stripParensRE, ''); + var iteratorMatch = alias.match(forIteratorRE); + if (iteratorMatch) { + res.alias = alias.replace(forIteratorRE, '').trim(); + res.iterator1 = iteratorMatch[1].trim(); + if (iteratorMatch[2]) { + res.iterator2 = iteratorMatch[2].trim(); + } + } + else { + res.alias = alias; + } + return res; } -} - -/* */ - -// normalize v-model event tokens that can only be determined at runtime. -// it's important to place the event as the first in the array because -// the whole point is ensuring the v-model callback gets called before -// user-attached handlers. -function normalizeEvents (on) { - /* istanbul ignore if */ - if (isDef(on[RANGE_TOKEN])) { - // IE input[type=range] only supports `change` event - var event = isIE ? 'change' : 'input'; - on[event] = [].concat(on[RANGE_TOKEN], on[event] || []); - delete on[RANGE_TOKEN]; - } - // This was originally intended to fix #4521 but no longer necessary - // after 2.5. Keeping it for backwards compat with generated code from < 2.4 - /* istanbul ignore if */ - if (isDef(on[CHECKBOX_RADIO_TOKEN])) { - on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []); - delete on[CHECKBOX_RADIO_TOKEN]; - } -} - -var target$1; - -function createOnceHandler (handler, event, capture) { - var _target = target$1; // save current target element in closure - return function onceHandler () { - var res = handler.apply(null, arguments); - if (res !== null) { - remove$2(event, onceHandler, capture, _target); - } - } -} - -function add$1 ( - event, - handler, - once$$1, - capture, - passive -) { - handler = withMacroTask(handler); - if (once$$1) { handler = createOnceHandler(handler, event, capture); } - target$1.addEventListener( - event, - handler, - supportsPassive - ? { capture: capture, passive: passive } - : capture - ); -} - -function remove$2 ( - event, - handler, - capture, - _target -) { - (_target || target$1).removeEventListener( - event, - handler._withTask || handler, - capture - ); -} - -function updateDOMListeners (oldVnode, vnode) { - if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) { - return - } - var on = vnode.data.on || {}; - var oldOn = oldVnode.data.on || {}; - target$1 = vnode.elm; - normalizeEvents(on); - updateListeners(on, oldOn, add$1, remove$2, vnode.context); - target$1 = undefined; -} - -var events = { - create: updateDOMListeners, - update: updateDOMListeners -}; - -/* */ - -function updateDOMProps (oldVnode, vnode) { - if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) { - return - } - var key, cur; - var elm = vnode.elm; - var oldProps = oldVnode.data.domProps || {}; - var props = vnode.data.domProps || {}; - // clone observed objects, as the user probably wants to mutate it - if (isDef(props.__ob__)) { - props = vnode.data.domProps = extend({}, props); - } - - for (key in oldProps) { - if (isUndef(props[key])) { - elm[key] = ''; - } - } - for (key in props) { - cur = props[key]; - // ignore children if the node has textContent or innerHTML, - // as these will throw away existing DOM nodes and cause removal errors - // on subsequent patches (#3360) - if (key === 'textContent' || key === 'innerHTML') { - if (vnode.children) { vnode.children.length = 0; } - if (cur === oldProps[key]) { continue } - // #6601 work around Chrome version <= 55 bug where single textNode - // replaced by innerHTML/textContent retains its parentNode property - if (elm.childNodes.length === 1) { - elm.removeChild(elm.childNodes[0]); - } - } - - if (key === 'value') { - // store value as _value as well since - // non-string values will be stringified - elm._value = cur; - // avoid resetting cursor position when value is the same - var strCur = isUndef(cur) ? '' : String(cur); - if (shouldUpdateValue(elm, strCur)) { - elm.value = strCur; - } - } else { - elm[key] = cur; - } - } -} - -// check platforms/web/util/attrs.js acceptValue - - -function shouldUpdateValue (elm, checkVal) { - return (!elm.composing && ( - elm.tagName === 'OPTION' || - isNotInFocusAndDirty(elm, checkVal) || - isDirtyWithModifiers(elm, checkVal) - )) -} - -function isNotInFocusAndDirty (elm, checkVal) { - // return true when textbox (.number and .trim) loses focus and its value is - // not equal to the updated value - var notInFocus = true; - // #6157 - // work around IE bug when accessing document.activeElement in an iframe - try { notInFocus = document.activeElement !== elm; } catch (e) {} - return notInFocus && elm.value !== checkVal -} - -function isDirtyWithModifiers (elm, newVal) { - var value = elm.value; - var modifiers = elm._vModifiers; // injected by v-model runtime - if (isDef(modifiers)) { - if (modifiers.lazy) { - // inputs with lazy should only be updated when not in focus - return false - } - if (modifiers.number) { - return toNumber(value) !== toNumber(newVal) - } - if (modifiers.trim) { - return value.trim() !== newVal.trim() - } - } - return value !== newVal -} - -var domProps = { - create: updateDOMProps, - update: updateDOMProps -}; - -/* */ - -var parseStyleText = cached(function (cssText) { - var res = {}; - var listDelimiter = /;(?![^(]*\))/g; - var propertyDelimiter = /:(.+)/; - cssText.split(listDelimiter).forEach(function (item) { - if (item) { - var tmp = item.split(propertyDelimiter); - tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim()); - } - }); - return res -}); - -// merge static and dynamic style data on the same vnode -function normalizeStyleData (data) { - var style = normalizeStyleBinding(data.style); - // static style is pre-processed into an object during compilation - // and is always a fresh object, so it's safe to merge into it - return data.staticStyle - ? extend(data.staticStyle, style) - : style -} - -// normalize possible array / string values into Object -function normalizeStyleBinding (bindingStyle) { - if (Array.isArray(bindingStyle)) { - return toObject(bindingStyle) - } - if (typeof bindingStyle === 'string') { - return parseStyleText(bindingStyle) - } - return bindingStyle -} - -/** - * parent component style should be after child's - * so that parent component's style could override it - */ -function getStyle (vnode, checkChild) { - var res = {}; - var styleData; - - if (checkChild) { - var childNode = vnode; - while (childNode.componentInstance) { - childNode = childNode.componentInstance._vnode; - if ( - childNode && childNode.data && - (styleData = normalizeStyleData(childNode.data)) - ) { - extend(res, styleData); + function processIf(el) { + var exp = getAndRemoveAttr(el, 'v-if'); + if (exp) { + el.if = exp; + addIfCondition(el, { + exp: exp, + block: el + }); + } + else { + if (getAndRemoveAttr(el, 'v-else') != null) { + el.else = true; + } + var elseif = getAndRemoveAttr(el, 'v-else-if'); + if (elseif) { + el.elseif = elseif; + } } - } } - - if ((styleData = normalizeStyleData(vnode.data))) { - extend(res, styleData); + function processIfConditions(el, parent) { + var prev = findPrevElement(parent.children); + if (prev && prev.if) { + addIfCondition(prev, { + exp: el.elseif, + block: el + }); + } + else { + warn("v-".concat(el.elseif ? 'else-if="' + el.elseif + '"' : 'else', " ") + + "used on element <".concat(el.tag, "> without corresponding v-if."), el.rawAttrsMap[el.elseif ? 'v-else-if' : 'v-else']); + } } - - var parentNode = vnode; - while ((parentNode = parentNode.parent)) { - if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) { - extend(res, styleData); - } + function findPrevElement(children) { + var i = children.length; + while (i--) { + if (children[i].type === 1) { + return children[i]; + } + else { + if (children[i].text !== ' ') { + warn("text \"".concat(children[i].text.trim(), "\" between v-if and v-else(-if) ") + + "will be ignored.", children[i]); + } + children.pop(); + } + } } - return res -} - -/* */ - -var cssVarRE = /^--/; -var importantRE = /\s*!important$/; -var setProp = function (el, name, val) { - /* istanbul ignore if */ - if (cssVarRE.test(name)) { - el.style.setProperty(name, val); - } else if (importantRE.test(val)) { - el.style.setProperty(name, val.replace(importantRE, ''), 'important'); - } else { - var normalizedName = normalize(name); - if (Array.isArray(val)) { - // Support values array created by autoprefixer, e.g. - // {display: ["-webkit-box", "-ms-flexbox", "flex"]} - // Set them one by one, and the browser will only set those it can recognize - for (var i = 0, len = val.length; i < len; i++) { - el.style[normalizedName] = val[i]; - } - } else { - el.style[normalizedName] = val; - } - } -}; - -var vendorNames = ['Webkit', 'Moz', 'ms']; - -var emptyStyle; -var normalize = cached(function (prop) { - emptyStyle = emptyStyle || document.createElement('div').style; - prop = camelize(prop); - if (prop !== 'filter' && (prop in emptyStyle)) { - return prop - } - var capName = prop.charAt(0).toUpperCase() + prop.slice(1); - for (var i = 0; i < vendorNames.length; i++) { - var name = vendorNames[i] + capName; - if (name in emptyStyle) { - return name - } - } -}); - -function updateStyle (oldVnode, vnode) { - var data = vnode.data; - var oldData = oldVnode.data; - - if (isUndef(data.staticStyle) && isUndef(data.style) && - isUndef(oldData.staticStyle) && isUndef(oldData.style) - ) { - return - } - - var cur, name; - var el = vnode.elm; - var oldStaticStyle = oldData.staticStyle; - var oldStyleBinding = oldData.normalizedStyle || oldData.style || {}; - - // if static style exists, stylebinding already merged into it when doing normalizeStyleData - var oldStyle = oldStaticStyle || oldStyleBinding; - - var style = normalizeStyleBinding(vnode.data.style) || {}; - - // store normalized style under a different key for next diff - // make sure to clone it if it's reactive, since the user likely wants - // to mutate it. - vnode.data.normalizedStyle = isDef(style.__ob__) - ? extend({}, style) - : style; - - var newStyle = getStyle(vnode, true); - - for (name in oldStyle) { - if (isUndef(newStyle[name])) { - setProp(el, name, ''); - } - } - for (name in newStyle) { - cur = newStyle[name]; - if (cur !== oldStyle[name]) { - // ie9 setting to null has no effect, must use empty string - setProp(el, name, cur == null ? '' : cur); - } - } -} - -var style = { - create: updateStyle, - update: updateStyle -}; - -/* */ - -/** - * Add class with compatibility for SVG since classList is not supported on - * SVG elements in IE - */ -function addClass (el, cls) { - /* istanbul ignore if */ - if (!cls || !(cls = cls.trim())) { - return - } - - /* istanbul ignore else */ - if (el.classList) { - if (cls.indexOf(' ') > -1) { - cls.split(/\s+/).forEach(function (c) { return el.classList.add(c); }); - } else { - el.classList.add(cls); - } - } else { - var cur = " " + (el.getAttribute('class') || '') + " "; - if (cur.indexOf(' ' + cls + ' ') < 0) { - el.setAttribute('class', (cur + cls).trim()); - } - } -} - -/** - * Remove class with compatibility for SVG since classList is not supported on - * SVG elements in IE - */ -function removeClass (el, cls) { - /* istanbul ignore if */ - if (!cls || !(cls = cls.trim())) { - return - } - - /* istanbul ignore else */ - if (el.classList) { - if (cls.indexOf(' ') > -1) { - cls.split(/\s+/).forEach(function (c) { return el.classList.remove(c); }); - } else { - el.classList.remove(cls); - } - if (!el.classList.length) { - el.removeAttribute('class'); - } - } else { - var cur = " " + (el.getAttribute('class') || '') + " "; - var tar = ' ' + cls + ' '; - while (cur.indexOf(tar) >= 0) { - cur = cur.replace(tar, ' '); - } - cur = cur.trim(); - if (cur) { - el.setAttribute('class', cur); - } else { - el.removeAttribute('class'); - } - } -} - -/* */ - -function resolveTransition (def) { - if (!def) { - return - } - /* istanbul ignore else */ - if (typeof def === 'object') { - var res = {}; - if (def.css !== false) { - extend(res, autoCssTransition(def.name || 'v')); - } - extend(res, def); - return res - } else if (typeof def === 'string') { - return autoCssTransition(def) - } -} - -var autoCssTransition = cached(function (name) { - return { - enterClass: (name + "-enter"), - enterToClass: (name + "-enter-to"), - enterActiveClass: (name + "-enter-active"), - leaveClass: (name + "-leave"), - leaveToClass: (name + "-leave-to"), - leaveActiveClass: (name + "-leave-active") - } -}); - -var hasTransition = inBrowser && !isIE9; -var TRANSITION = 'transition'; -var ANIMATION = 'animation'; - -// Transition property/event sniffing -var transitionProp = 'transition'; -var transitionEndEvent = 'transitionend'; -var animationProp = 'animation'; -var animationEndEvent = 'animationend'; -if (hasTransition) { - /* istanbul ignore if */ - if (window.ontransitionend === undefined && - window.onwebkittransitionend !== undefined - ) { - transitionProp = 'WebkitTransition'; - transitionEndEvent = 'webkitTransitionEnd'; - } - if (window.onanimationend === undefined && - window.onwebkitanimationend !== undefined - ) { - animationProp = 'WebkitAnimation'; - animationEndEvent = 'webkitAnimationEnd'; - } -} - -// binding to window is necessary to make hot reload work in IE in strict mode -var raf = inBrowser - ? window.requestAnimationFrame - ? window.requestAnimationFrame.bind(window) - : setTimeout - : /* istanbul ignore next */ function (fn) { return fn(); }; - -function nextFrame (fn) { - raf(function () { - raf(fn); - }); -} - -function addTransitionClass (el, cls) { - var transitionClasses = el._transitionClasses || (el._transitionClasses = []); - if (transitionClasses.indexOf(cls) < 0) { - transitionClasses.push(cls); - addClass(el, cls); - } -} - -function removeTransitionClass (el, cls) { - if (el._transitionClasses) { - remove(el._transitionClasses, cls); - } - removeClass(el, cls); -} - -function whenTransitionEnds ( - el, - expectedType, - cb -) { - var ref = getTransitionInfo(el, expectedType); - var type = ref.type; - var timeout = ref.timeout; - var propCount = ref.propCount; - if (!type) { return cb() } - var event = type === TRANSITION ? transitionEndEvent : animationEndEvent; - var ended = 0; - var end = function () { - el.removeEventListener(event, onEnd); - cb(); - }; - var onEnd = function (e) { - if (e.target === el) { - if (++ended >= propCount) { - end(); + function addIfCondition(el, condition) { + if (!el.ifConditions) { + el.ifConditions = []; } - } - }; - setTimeout(function () { - if (ended < propCount) { - end(); - } - }, timeout + 1); - el.addEventListener(event, onEnd); -} - -var transformRE = /\b(transform|all)(,|$)/; - -function getTransitionInfo (el, expectedType) { - var styles = window.getComputedStyle(el); - var transitionDelays = styles[transitionProp + 'Delay'].split(', '); - var transitionDurations = styles[transitionProp + 'Duration'].split(', '); - var transitionTimeout = getTimeout(transitionDelays, transitionDurations); - var animationDelays = styles[animationProp + 'Delay'].split(', '); - var animationDurations = styles[animationProp + 'Duration'].split(', '); - var animationTimeout = getTimeout(animationDelays, animationDurations); - - var type; - var timeout = 0; - var propCount = 0; - /* istanbul ignore if */ - if (expectedType === TRANSITION) { - if (transitionTimeout > 0) { - type = TRANSITION; - timeout = transitionTimeout; - propCount = transitionDurations.length; - } - } else if (expectedType === ANIMATION) { - if (animationTimeout > 0) { - type = ANIMATION; - timeout = animationTimeout; - propCount = animationDurations.length; - } - } else { - timeout = Math.max(transitionTimeout, animationTimeout); - type = timeout > 0 - ? transitionTimeout > animationTimeout - ? TRANSITION - : ANIMATION - : null; - propCount = type - ? type === TRANSITION - ? transitionDurations.length - : animationDurations.length - : 0; - } - var hasTransform = - type === TRANSITION && - transformRE.test(styles[transitionProp + 'Property']); - return { - type: type, - timeout: timeout, - propCount: propCount, - hasTransform: hasTransform - } -} - -function getTimeout (delays, durations) { - /* istanbul ignore next */ - while (delays.length < durations.length) { - delays = delays.concat(delays); + el.ifConditions.push(condition); } - - return Math.max.apply(null, durations.map(function (d, i) { - return toMs(d) + toMs(delays[i]) - })) -} - -function toMs (s) { - return Number(s.slice(0, -1)) * 1000 -} - -/* */ - -function enter (vnode, toggleDisplay) { - var el = vnode.elm; - - // call leave callback now - if (isDef(el._leaveCb)) { - el._leaveCb.cancelled = true; - el._leaveCb(); + function processOnce(el) { + var once = getAndRemoveAttr(el, 'v-once'); + if (once != null) { + el.once = true; + } } - - var data = resolveTransition(vnode.data.transition); - if (isUndef(data)) { - return + // handle content being passed to a component as slot, + // e.g. <template slot="xxx">, <div slot-scope="xxx"> + function processSlotContent(el) { + var slotScope; + if (el.tag === 'template') { + slotScope = getAndRemoveAttr(el, 'scope'); + /* istanbul ignore if */ + if (slotScope) { + warn("the \"scope\" attribute for scoped slots have been deprecated and " + + "replaced by \"slot-scope\" since 2.5. The new \"slot-scope\" attribute " + + "can also be used on plain elements in addition to <template> to " + + "denote scoped slots.", el.rawAttrsMap['scope'], true); + } + el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope'); + } + else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) { + /* istanbul ignore if */ + if (el.attrsMap['v-for']) { + warn("Ambiguous combined usage of slot-scope and v-for on <".concat(el.tag, "> ") + + "(v-for takes higher priority). Use a wrapper <template> for the " + + "scoped slot to make it clearer.", el.rawAttrsMap['slot-scope'], true); + } + el.slotScope = slotScope; + } + // slot="xxx" + var slotTarget = getBindingAttr(el, 'slot'); + if (slotTarget) { + el.slotTarget = slotTarget === '""' ? '"default"' : slotTarget; + el.slotTargetDynamic = !!(el.attrsMap[':slot'] || el.attrsMap['v-bind:slot']); + // preserve slot as an attribute for native shadow DOM compat + // only for non-scoped slots. + if (el.tag !== 'template' && !el.slotScope) { + addAttr(el, 'slot', slotTarget, getRawBindingAttr(el, 'slot')); + } + } + // 2.6 v-slot syntax + { + if (el.tag === 'template') { + // v-slot on <template> + var slotBinding = getAndRemoveAttrByRegex(el, slotRE); + if (slotBinding) { + { + if (el.slotTarget || el.slotScope) { + warn("Unexpected mixed usage of different slot syntaxes.", el); + } + if (el.parent && !maybeComponent(el.parent)) { + warn("<template v-slot> can only appear at the root level inside " + + "the receiving component", el); + } + } + var _a = getSlotName(slotBinding), name_2 = _a.name, dynamic = _a.dynamic; + el.slotTarget = name_2; + el.slotTargetDynamic = dynamic; + el.slotScope = slotBinding.value || emptySlotScopeToken; // force it into a scoped slot for perf + } + } + else { + // v-slot on component, denotes default slot + var slotBinding = getAndRemoveAttrByRegex(el, slotRE); + if (slotBinding) { + { + if (!maybeComponent(el)) { + warn("v-slot can only be used on components or <template>.", slotBinding); + } + if (el.slotScope || el.slotTarget) { + warn("Unexpected mixed usage of different slot syntaxes.", el); + } + if (el.scopedSlots) { + warn("To avoid scope ambiguity, the default slot should also use " + + "<template> syntax when there are other named slots.", slotBinding); + } + } + // add the component's children to its default slot + var slots = el.scopedSlots || (el.scopedSlots = {}); + var _b = getSlotName(slotBinding), name_3 = _b.name, dynamic = _b.dynamic; + var slotContainer_1 = (slots[name_3] = createASTElement('template', [], el)); + slotContainer_1.slotTarget = name_3; + slotContainer_1.slotTargetDynamic = dynamic; + slotContainer_1.children = el.children.filter(function (c) { + if (!c.slotScope) { + c.parent = slotContainer_1; + return true; + } + }); + slotContainer_1.slotScope = slotBinding.value || emptySlotScopeToken; + // remove children as they are returned from scopedSlots now + el.children = []; + // mark el non-plain so data gets generated + el.plain = false; + } + } + } } - - /* istanbul ignore if */ - if (isDef(el._enterCb) || el.nodeType !== 1) { - return - } - - var css = data.css; - var type = data.type; - var enterClass = data.enterClass; - var enterToClass = data.enterToClass; - var enterActiveClass = data.enterActiveClass; - var appearClass = data.appearClass; - var appearToClass = data.appearToClass; - var appearActiveClass = data.appearActiveClass; - var beforeEnter = data.beforeEnter; - var enter = data.enter; - var afterEnter = data.afterEnter; - var enterCancelled = data.enterCancelled; - var beforeAppear = data.beforeAppear; - var appear = data.appear; - var afterAppear = data.afterAppear; - var appearCancelled = data.appearCancelled; - var duration = data.duration; - - // activeInstance will always be the <transition> component managing this - // transition. One edge case to check is when the <transition> is placed - // as the root node of a child component. In that case we need to check - // <transition>'s parent for appear check. - var context = activeInstance; - var transitionNode = activeInstance.$vnode; - while (transitionNode && transitionNode.parent) { - transitionNode = transitionNode.parent; - context = transitionNode.context; - } - - var isAppear = !context._isMounted || !vnode.isRootInsert; - - if (isAppear && !appear && appear !== '') { - return - } - - var startClass = isAppear && appearClass - ? appearClass - : enterClass; - var activeClass = isAppear && appearActiveClass - ? appearActiveClass - : enterActiveClass; - var toClass = isAppear && appearToClass - ? appearToClass - : enterToClass; - - var beforeEnterHook = isAppear - ? (beforeAppear || beforeEnter) - : beforeEnter; - var enterHook = isAppear - ? (typeof appear === 'function' ? appear : enter) - : enter; - var afterEnterHook = isAppear - ? (afterAppear || afterEnter) - : afterEnter; - var enterCancelledHook = isAppear - ? (appearCancelled || enterCancelled) - : enterCancelled; - - var explicitEnterDuration = toNumber( - isObject(duration) - ? duration.enter - : duration - ); - - if ("development" !== 'production' && explicitEnterDuration != null) { - checkDuration(explicitEnterDuration, 'enter', vnode); - } - - var expectsCSS = css !== false && !isIE9; - var userWantsControl = getHookArgumentsLength(enterHook); - - var cb = el._enterCb = once(function () { - if (expectsCSS) { - removeTransitionClass(el, toClass); - removeTransitionClass(el, activeClass); - } - if (cb.cancelled) { - if (expectsCSS) { - removeTransitionClass(el, startClass); + function getSlotName(binding) { + var name = binding.name.replace(slotRE, ''); + if (!name) { + if (binding.name[0] !== '#') { + name = 'default'; + } + else { + warn("v-slot shorthand syntax requires a slot name.", binding); + } } - enterCancelledHook && enterCancelledHook(el); - } else { - afterEnterHook && afterEnterHook(el); - } - el._enterCb = null; - }); - - if (!vnode.data.show) { - // remove pending leave element on enter by injecting an insert hook - mergeVNodeHook(vnode, 'insert', function () { - var parent = el.parentNode; - var pendingNode = parent && parent._pending && parent._pending[vnode.key]; - if (pendingNode && - pendingNode.tag === vnode.tag && - pendingNode.elm._leaveCb - ) { - pendingNode.elm._leaveCb(); + return dynamicArgRE.test(name) + ? // dynamic [name] + { name: name.slice(1, -1), dynamic: true } + : // static name + { name: "\"".concat(name, "\""), dynamic: false }; + } + // handle <slot/> outlets + function processSlotOutlet(el) { + if (el.tag === 'slot') { + el.slotName = getBindingAttr(el, 'name'); + if (el.key) { + warn("`key` does not work on <slot> because slots are abstract outlets " + + "and can possibly expand into multiple elements. " + + "Use the key on a wrapping element instead.", getRawBindingAttr(el, 'key')); + } } - enterHook && enterHook(el, cb); - }); } - - // start enter transition - beforeEnterHook && beforeEnterHook(el); - if (expectsCSS) { - addTransitionClass(el, startClass); - addTransitionClass(el, activeClass); - nextFrame(function () { - addTransitionClass(el, toClass); - removeTransitionClass(el, startClass); - if (!cb.cancelled && !userWantsControl) { - if (isValidDuration(explicitEnterDuration)) { - setTimeout(cb, explicitEnterDuration); - } else { - whenTransitionEnds(el, type, cb); - } + function processComponent(el) { + var binding; + if ((binding = getBindingAttr(el, 'is'))) { + el.component = binding; + } + if (getAndRemoveAttr(el, 'inline-template') != null) { + el.inlineTemplate = true; + } + } + function processAttrs(el) { + var list = el.attrsList; + var i, l, name, rawName, value, modifiers, syncGen, isDynamic; + for (i = 0, l = list.length; i < l; i++) { + name = rawName = list[i].name; + value = list[i].value; + if (dirRE.test(name)) { + // mark element as dynamic + el.hasBindings = true; + // modifiers + modifiers = parseModifiers(name.replace(dirRE, '')); + // support .foo shorthand syntax for the .prop modifier + if (modifiers) { + name = name.replace(modifierRE, ''); + } + if (bindRE.test(name)) { + // v-bind + name = name.replace(bindRE, ''); + value = parseFilters(value); + isDynamic = dynamicArgRE.test(name); + if (isDynamic) { + name = name.slice(1, -1); + } + if (value.trim().length === 0) { + warn("The value for a v-bind expression cannot be empty. Found in \"v-bind:".concat(name, "\"")); + } + if (modifiers) { + if (modifiers.prop && !isDynamic) { + name = camelize(name); + if (name === 'innerHtml') + name = 'innerHTML'; + } + if (modifiers.camel && !isDynamic) { + name = camelize(name); + } + if (modifiers.sync) { + syncGen = genAssignmentCode(value, "$event"); + if (!isDynamic) { + addHandler(el, "update:".concat(camelize(name)), syncGen, null, false, warn, list[i]); + if (hyphenate(name) !== camelize(name)) { + addHandler(el, "update:".concat(hyphenate(name)), syncGen, null, false, warn, list[i]); + } + } + else { + // handler w/ dynamic event name + addHandler(el, "\"update:\"+(".concat(name, ")"), syncGen, null, false, warn, list[i], true // dynamic + ); + } + } + } + if ((modifiers && modifiers.prop) || + (!el.component && platformMustUseProp(el.tag, el.attrsMap.type, name))) { + addProp(el, name, value, list[i], isDynamic); + } + else { + addAttr(el, name, value, list[i], isDynamic); + } + } + else if (onRE.test(name)) { + // v-on + name = name.replace(onRE, ''); + isDynamic = dynamicArgRE.test(name); + if (isDynamic) { + name = name.slice(1, -1); + } + addHandler(el, name, value, modifiers, false, warn, list[i], isDynamic); + } + else { + // normal directives + name = name.replace(dirRE, ''); + // parse arg + var argMatch = name.match(argRE); + var arg = argMatch && argMatch[1]; + isDynamic = false; + if (arg) { + name = name.slice(0, -(arg.length + 1)); + if (dynamicArgRE.test(arg)) { + arg = arg.slice(1, -1); + isDynamic = true; + } + } + addDirective(el, name, rawName, value, arg, isDynamic, modifiers, list[i]); + if (name === 'model') { + checkForAliasModel(el, value); + } + } + } + else { + // literal attribute + { + var res = parseText(value, delimiters); + if (res) { + warn("".concat(name, "=\"").concat(value, "\": ") + + 'Interpolation inside attributes has been removed. ' + + 'Use v-bind or the colon shorthand instead. For example, ' + + 'instead of <div id="{{ val }}">, use <div :id="val">.', list[i]); + } + } + addAttr(el, name, JSON.stringify(value), list[i]); + // #6887 firefox doesn't update muted state if set via attribute + // even immediately after element creation + if (!el.component && + name === 'muted' && + platformMustUseProp(el.tag, el.attrsMap.type, name)) { + addProp(el, name, 'true', list[i]); + } + } } - }); } - - if (vnode.data.show) { - toggleDisplay && toggleDisplay(); - enterHook && enterHook(el, cb); + function checkInFor(el) { + var parent = el; + while (parent) { + if (parent.for !== undefined) { + return true; + } + parent = parent.parent; + } + return false; } - - if (!expectsCSS && !userWantsControl) { - cb(); + function parseModifiers(name) { + var match = name.match(modifierRE); + if (match) { + var ret_1 = {}; + match.forEach(function (m) { + ret_1[m.slice(1)] = true; + }); + return ret_1; + } } -} - -function leave (vnode, rm) { - var el = vnode.elm; - - // call enter callback now - if (isDef(el._enterCb)) { - el._enterCb.cancelled = true; - el._enterCb(); + function makeAttrsMap(attrs) { + var map = {}; + for (var i = 0, l = attrs.length; i < l; i++) { + if (map[attrs[i].name] && !isIE && !isEdge) { + warn('duplicate attribute: ' + attrs[i].name, attrs[i]); + } + map[attrs[i].name] = attrs[i].value; + } + return map; } - - var data = resolveTransition(vnode.data.transition); - if (isUndef(data) || el.nodeType !== 1) { - return rm() + // for script (e.g. type="x/template") or style, do not decode content + function isTextTag(el) { + return el.tag === 'script' || el.tag === 'style'; } - - /* istanbul ignore if */ - if (isDef(el._leaveCb)) { - return - } - - var css = data.css; - var type = data.type; - var leaveClass = data.leaveClass; - var leaveToClass = data.leaveToClass; - var leaveActiveClass = data.leaveActiveClass; - var beforeLeave = data.beforeLeave; - var leave = data.leave; - var afterLeave = data.afterLeave; - var leaveCancelled = data.leaveCancelled; - var delayLeave = data.delayLeave; - var duration = data.duration; - - var expectsCSS = css !== false && !isIE9; - var userWantsControl = getHookArgumentsLength(leave); - - var explicitLeaveDuration = toNumber( - isObject(duration) - ? duration.leave - : duration - ); - - if ("development" !== 'production' && isDef(explicitLeaveDuration)) { - checkDuration(explicitLeaveDuration, 'leave', vnode); - } - - var cb = el._leaveCb = once(function () { - if (el.parentNode && el.parentNode._pending) { - el.parentNode._pending[vnode.key] = null; - } - if (expectsCSS) { - removeTransitionClass(el, leaveToClass); - removeTransitionClass(el, leaveActiveClass); - } - if (cb.cancelled) { - if (expectsCSS) { - removeTransitionClass(el, leaveClass); - } - leaveCancelled && leaveCancelled(el); - } else { - rm(); - afterLeave && afterLeave(el); - } - el._leaveCb = null; - }); - - if (delayLeave) { - delayLeave(performLeave); - } else { - performLeave(); - } - - function performLeave () { - // the delayed leave may have already been cancelled - if (cb.cancelled) { - return - } - // record leaving element - if (!vnode.data.show) { - (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode; - } - beforeLeave && beforeLeave(el); - if (expectsCSS) { - addTransitionClass(el, leaveClass); - addTransitionClass(el, leaveActiveClass); - nextFrame(function () { - addTransitionClass(el, leaveToClass); - removeTransitionClass(el, leaveClass); - if (!cb.cancelled && !userWantsControl) { - if (isValidDuration(explicitLeaveDuration)) { - setTimeout(cb, explicitLeaveDuration); - } else { - whenTransitionEnds(el, type, cb); - } - } - }); - } - leave && leave(el, cb); - if (!expectsCSS && !userWantsControl) { - cb(); - } - } -} - -// only used in dev mode -function checkDuration (val, name, vnode) { - if (typeof val !== 'number') { - warn( - "<transition> explicit " + name + " duration is not a valid number - " + - "got " + (JSON.stringify(val)) + ".", - vnode.context - ); - } else if (isNaN(val)) { - warn( - "<transition> explicit " + name + " duration is NaN - " + - 'the duration expression might be incorrect.', - vnode.context - ); - } -} - -function isValidDuration (val) { - return typeof val === 'number' && !isNaN(val) -} - -/** - * Normalize a transition hook's argument length. The hook may be: - * - a merged hook (invoker) with the original in .fns - * - a wrapped component method (check ._length) - * - a plain function (.length) - */ -function getHookArgumentsLength (fn) { - if (isUndef(fn)) { - return false - } - var invokerFns = fn.fns; - if (isDef(invokerFns)) { - // invoker - return getHookArgumentsLength( - Array.isArray(invokerFns) - ? invokerFns[0] - : invokerFns - ) - } else { - return (fn._length || fn.length) > 1 - } -} - -function _enter (_, vnode) { - if (vnode.data.show !== true) { - enter(vnode); - } -} - -var transition = inBrowser ? { - create: _enter, - activate: _enter, - remove: function remove$$1 (vnode, rm) { - /* istanbul ignore else */ - if (vnode.data.show !== true) { - leave(vnode, rm); - } else { - rm(); - } - } -} : {}; - -var platformModules = [ - attrs, - klass, - events, - domProps, - style, - transition -]; - -/* */ - -// the directive module should be applied last, after all -// built-in modules have been applied. -var modules = platformModules.concat(baseModules); - -var patch = createPatchFunction({ nodeOps: nodeOps, modules: modules }); - -/** - * Not type checking this file because flow doesn't like attaching - * properties to Elements. - */ - -/* istanbul ignore if */ -if (isIE9) { - // http://www.matts411.com/post/internet-explorer-9-oninput/ - document.addEventListener('selectionchange', function () { - var el = document.activeElement; - if (el && el.vmodel) { - trigger(el, 'input'); - } - }); -} - -var directive = { - inserted: function inserted (el, binding, vnode, oldVnode) { - if (vnode.tag === 'select') { - // #6903 - if (oldVnode.elm && !oldVnode.elm._vOptions) { - mergeVNodeHook(vnode, 'postpatch', function () { - directive.componentUpdated(el, binding, vnode); - }); - } else { - setSelected(el, binding, vnode.context); - } - el._vOptions = [].map.call(el.options, getValue); - } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) { - el._vModifiers = binding.modifiers; - if (!binding.modifiers.lazy) { - // Safari < 10.2 & UIWebView doesn't fire compositionend when - // switching focus before confirming composition choice - // this also fixes the issue where some browsers e.g. iOS Chrome - // fires "change" instead of "input" on autocomplete. - el.addEventListener('change', onCompositionEnd); - if (!isAndroid) { - el.addEventListener('compositionstart', onCompositionStart); - el.addEventListener('compositionend', onCompositionEnd); - } - /* istanbul ignore if */ - if (isIE9) { - el.vmodel = true; - } - } - } - }, - - componentUpdated: function componentUpdated (el, binding, vnode) { - if (vnode.tag === 'select') { - setSelected(el, binding, vnode.context); - // in case the options rendered by v-for have changed, - // it's possible that the value is out-of-sync with the rendered options. - // detect such cases and filter out values that no longer has a matching - // option in the DOM. - var prevOptions = el._vOptions; - var curOptions = el._vOptions = [].map.call(el.options, getValue); - if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) { - // trigger change event if - // no matching option found for at least one value - var needReset = el.multiple - ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); }) - : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions); - if (needReset) { - trigger(el, 'change'); - } - } - } - } -}; - -function setSelected (el, binding, vm) { - actuallySetSelected(el, binding, vm); - /* istanbul ignore if */ - if (isIE || isEdge) { - setTimeout(function () { - actuallySetSelected(el, binding, vm); - }, 0); - } -} - -function actuallySetSelected (el, binding, vm) { - var value = binding.value; - var isMultiple = el.multiple; - if (isMultiple && !Array.isArray(value)) { - "development" !== 'production' && warn( - "<select multiple v-model=\"" + (binding.expression) + "\"> " + - "expects an Array value for its binding, but got " + (Object.prototype.toString.call(value).slice(8, -1)), - vm - ); - return - } - var selected, option; - for (var i = 0, l = el.options.length; i < l; i++) { - option = el.options[i]; - if (isMultiple) { - selected = looseIndexOf(value, getValue(option)) > -1; - if (option.selected !== selected) { - option.selected = selected; - } - } else { - if (looseEqual(getValue(option), value)) { - if (el.selectedIndex !== i) { - el.selectedIndex = i; - } - return - } - } - } - if (!isMultiple) { - el.selectedIndex = -1; - } -} - -function hasNoMatchingOption (value, options) { - return options.every(function (o) { return !looseEqual(o, value); }) -} - -function getValue (option) { - return '_value' in option - ? option._value - : option.value -} - -function onCompositionStart (e) { - e.target.composing = true; -} - -function onCompositionEnd (e) { - // prevent triggering an input event for no reason - if (!e.target.composing) { return } - e.target.composing = false; - trigger(e.target, 'input'); -} - -function trigger (el, type) { - var e = document.createEvent('HTMLEvents'); - e.initEvent(type, true, true); - el.dispatchEvent(e); -} - -/* */ - -// recursively search for possible transition defined inside the component root -function locateNode (vnode) { - return vnode.componentInstance && (!vnode.data || !vnode.data.transition) - ? locateNode(vnode.componentInstance._vnode) - : vnode -} - -var show = { - bind: function bind (el, ref, vnode) { - var value = ref.value; - - vnode = locateNode(vnode); - var transition$$1 = vnode.data && vnode.data.transition; - var originalDisplay = el.__vOriginalDisplay = - el.style.display === 'none' ? '' : el.style.display; - if (value && transition$$1) { - vnode.data.show = true; - enter(vnode, function () { - el.style.display = originalDisplay; - }); - } else { - el.style.display = value ? originalDisplay : 'none'; - } - }, - - update: function update (el, ref, vnode) { - var value = ref.value; - var oldValue = ref.oldValue; - - /* istanbul ignore if */ - if (value === oldValue) { return } - vnode = locateNode(vnode); - var transition$$1 = vnode.data && vnode.data.transition; - if (transition$$1) { - vnode.data.show = true; - if (value) { - enter(vnode, function () { - el.style.display = el.__vOriginalDisplay; - }); - } else { - leave(vnode, function () { - el.style.display = 'none'; - }); - } - } else { - el.style.display = value ? el.__vOriginalDisplay : 'none'; - } - }, - - unbind: function unbind ( - el, - binding, - vnode, - oldVnode, - isDestroy - ) { - if (!isDestroy) { - el.style.display = el.__vOriginalDisplay; - } - } -}; - -var platformDirectives = { - model: directive, - show: show -}; - -/* */ - -// Provides transition support for a single element/component. -// supports transition mode (out-in / in-out) - -var transitionProps = { - name: String, - appear: Boolean, - css: Boolean, - mode: String, - type: String, - enterClass: String, - leaveClass: String, - enterToClass: String, - leaveToClass: String, - enterActiveClass: String, - leaveActiveClass: String, - appearClass: String, - appearActiveClass: String, - appearToClass: String, - duration: [Number, String, Object] -}; - -// in case the child is also an abstract component, e.g. <keep-alive> -// we want to recursively retrieve the real component to be rendered -function getRealChild (vnode) { - var compOptions = vnode && vnode.componentOptions; - if (compOptions && compOptions.Ctor.options.abstract) { - return getRealChild(getFirstComponentChild(compOptions.children)) - } else { - return vnode - } -} - -function extractTransitionData (comp) { - var data = {}; - var options = comp.$options; - // props - for (var key in options.propsData) { - data[key] = comp[key]; - } - // events. - // extract listeners and pass them directly to the transition methods - var listeners = options._parentListeners; - for (var key$1 in listeners) { - data[camelize(key$1)] = listeners[key$1]; - } - return data -} - -function placeholder (h, rawChild) { - if (/\d-keep-alive$/.test(rawChild.tag)) { - return h('keep-alive', { - props: rawChild.componentOptions.propsData - }) - } -} - -function hasParentTransition (vnode) { - while ((vnode = vnode.parent)) { - if (vnode.data.transition) { - return true - } - } -} - -function isSameChild (child, oldChild) { - return oldChild.key === child.key && oldChild.tag === child.tag -} - -var Transition = { - name: 'transition', - props: transitionProps, - abstract: true, - - render: function render (h) { - var this$1 = this; - - var children = this.$slots.default; - if (!children) { - return - } - - // filter out text nodes (possible whitespaces) - children = children.filter(function (c) { return c.tag || isAsyncPlaceholder(c); }); - /* istanbul ignore if */ - if (!children.length) { - return - } - - // warn multiple elements - if ("development" !== 'production' && children.length > 1) { - warn( - '<transition> can only be used on a single element. Use ' + - '<transition-group> for lists.', - this.$parent - ); - } - - var mode = this.mode; - - // warn invalid mode - if ("development" !== 'production' && - mode && mode !== 'in-out' && mode !== 'out-in' - ) { - warn( - 'invalid <transition> mode: ' + mode, - this.$parent - ); - } - - var rawChild = children[0]; - - // if this is a component root node and the component's - // parent container node also has transition, skip. - if (hasParentTransition(this.$vnode)) { - return rawChild - } - - // apply transition data to child - // use getRealChild() to ignore abstract components e.g. keep-alive - var child = getRealChild(rawChild); - /* istanbul ignore if */ - if (!child) { - return rawChild - } - - if (this._leaving) { - return placeholder(h, rawChild) - } - - // ensure a key that is unique to the vnode type and to this transition - // component instance. This key will be used to remove pending leaving nodes - // during entering. - var id = "__transition-" + (this._uid) + "-"; - child.key = child.key == null - ? child.isComment - ? id + 'comment' - : id + child.tag - : isPrimitive(child.key) - ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key) - : child.key; - - var data = (child.data || (child.data = {})).transition = extractTransitionData(this); - var oldRawChild = this._vnode; - var oldChild = getRealChild(oldRawChild); - - // mark v-show - // so that the transition module can hand over the control to the directive - if (child.data.directives && child.data.directives.some(function (d) { return d.name === 'show'; })) { - child.data.show = true; - } - - if ( - oldChild && - oldChild.data && - !isSameChild(child, oldChild) && - !isAsyncPlaceholder(oldChild) && - // #6687 component root is a comment node - !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment) - ) { - // replace old child transition data with fresh one - // important for dynamic transitions! - var oldData = oldChild.data.transition = extend({}, data); - // handle transition mode - if (mode === 'out-in') { - // return placeholder node and queue update when leave finishes - this._leaving = true; - mergeVNodeHook(oldData, 'afterLeave', function () { - this$1._leaving = false; - this$1.$forceUpdate(); - }); - return placeholder(h, rawChild) - } else if (mode === 'in-out') { - if (isAsyncPlaceholder(child)) { - return oldRawChild - } - var delayedLeave; - var performLeave = function () { delayedLeave(); }; - mergeVNodeHook(data, 'afterEnter', performLeave); - mergeVNodeHook(data, 'enterCancelled', performLeave); - mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; }); - } - } - - return rawChild - } -}; - -/* */ - -// Provides transition support for list items. -// supports move transitions using the FLIP technique. - -// Because the vdom's children update algorithm is "unstable" - i.e. -// it doesn't guarantee the relative positioning of removed elements, -// we force transition-group to update its children into two passes: -// in the first pass, we remove all nodes that need to be removed, -// triggering their leaving transition; in the second pass, we insert/move -// into the final desired state. This way in the second pass removed -// nodes will remain where they should be. - -var props = extend({ - tag: String, - moveClass: String -}, transitionProps); - -delete props.mode; - -var TransitionGroup = { - props: props, - - render: function render (h) { - var tag = this.tag || this.$vnode.data.tag || 'span'; - var map = Object.create(null); - var prevChildren = this.prevChildren = this.children; - var rawChildren = this.$slots.default || []; - var children = this.children = []; - var transitionData = extractTransitionData(this); - - for (var i = 0; i < rawChildren.length; i++) { - var c = rawChildren[i]; - if (c.tag) { - if (c.key != null && String(c.key).indexOf('__vlist') !== 0) { - children.push(c); - map[c.key] = c - ;(c.data || (c.data = {})).transition = transitionData; - } else { - var opts = c.componentOptions; - var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag; - warn(("<transition-group> children must be keyed: <" + name + ">")); - } - } - } - - if (prevChildren) { - var kept = []; - var removed = []; - for (var i$1 = 0; i$1 < prevChildren.length; i$1++) { - var c$1 = prevChildren[i$1]; - c$1.data.transition = transitionData; - c$1.data.pos = c$1.elm.getBoundingClientRect(); - if (map[c$1.key]) { - kept.push(c$1); - } else { - removed.push(c$1); - } - } - this.kept = h(tag, null, kept); - this.removed = removed; - } - - return h(tag, null, children) - }, - - beforeUpdate: function beforeUpdate () { - // force removing pass - this.__patch__( - this._vnode, - this.kept, - false, // hydrating - true // removeOnly (!important avoids unnecessary moves) - ); - this._vnode = this.kept; - }, - - updated: function updated () { - var children = this.prevChildren; - var moveClass = this.moveClass || ((this.name || 'v') + '-move'); - if (!children.length || !this.hasMove(children[0].elm, moveClass)) { - return - } - - // we divide the work into three loops to avoid mixing DOM reads and writes - // in each iteration - which helps prevent layout thrashing. - children.forEach(callPendingCbs); - children.forEach(recordPosition); - children.forEach(applyTranslation); - - // force reflow to put everything in position - // assign to this to avoid being removed in tree-shaking - // $flow-disable-line - this._reflow = document.body.offsetHeight; - - children.forEach(function (c) { - if (c.data.moved) { - var el = c.elm; - var s = el.style; - addTransitionClass(el, moveClass); - s.transform = s.WebkitTransform = s.transitionDuration = ''; - el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) { - if (!e || /transform$/.test(e.propertyName)) { - el.removeEventListener(transitionEndEvent, cb); - el._moveCb = null; - removeTransitionClass(el, moveClass); - } - }); - } - }); - }, - - methods: { - hasMove: function hasMove (el, moveClass) { - /* istanbul ignore if */ - if (!hasTransition) { - return false + function isForbiddenTag(el) { + return (el.tag === 'style' || + (el.tag === 'script' && + (!el.attrsMap.type || el.attrsMap.type === 'text/javascript'))); + } + var ieNSBug = /^xmlns:NS\d+/; + var ieNSPrefix = /^NS\d+:/; + /* istanbul ignore next */ + function guardIESVGBug(attrs) { + var res = []; + for (var i = 0; i < attrs.length; i++) { + var attr = attrs[i]; + if (!ieNSBug.test(attr.name)) { + attr.name = attr.name.replace(ieNSPrefix, ''); + res.push(attr); + } } - /* istanbul ignore if */ - if (this._hasMove) { - return this._hasMove - } - // Detect whether an element with the move class applied has - // CSS transitions. Since the element may be inside an entering - // transition at this very moment, we make a clone of it and remove - // all other transition classes applied to ensure only the move class - // is applied. - var clone = el.cloneNode(); - if (el._transitionClasses) { - el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); }); + return res; + } + function checkForAliasModel(el, value) { + var _el = el; + while (_el) { + if (_el.for && _el.alias === value) { + warn("<".concat(el.tag, " v-model=\"").concat(value, "\">: ") + + "You are binding v-model directly to a v-for iteration alias. " + + "This will not be able to modify the v-for source array because " + + "writing to the alias is like modifying a function local variable. " + + "Consider using an array of objects and use v-model on an object property instead.", el.rawAttrsMap['v-model']); + } + _el = _el.parent; } - addClass(clone, moveClass); - clone.style.display = 'none'; - this.$el.appendChild(clone); - var info = getTransitionInfo(clone); - this.$el.removeChild(clone); - return (this._hasMove = info.hasTransform) - } } -}; -function callPendingCbs (c) { - /* istanbul ignore if */ - if (c.elm._moveCb) { - c.elm._moveCb(); + /** + * Expand input[v-model] with dynamic type bindings into v-if-else chains + * Turn this: + * <input v-model="data[type]" :type="type"> + * into this: + * <input v-if="type === 'checkbox'" type="checkbox" v-model="data[type]"> + * <input v-else-if="type === 'radio'" type="radio" v-model="data[type]"> + * <input v-else :type="type" v-model="data[type]"> + */ + function preTransformNode(el, options) { + if (el.tag === 'input') { + var map = el.attrsMap; + if (!map['v-model']) { + return; + } + var typeBinding = void 0; + if (map[':type'] || map['v-bind:type']) { + typeBinding = getBindingAttr(el, 'type'); + } + if (!map.type && !typeBinding && map['v-bind']) { + typeBinding = "(".concat(map['v-bind'], ").type"); + } + if (typeBinding) { + var ifCondition = getAndRemoveAttr(el, 'v-if', true); + var ifConditionExtra = ifCondition ? "&&(".concat(ifCondition, ")") : ""; + var hasElse = getAndRemoveAttr(el, 'v-else', true) != null; + var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true); + // 1. checkbox + var branch0 = cloneASTElement(el); + // process for on the main node + processFor(branch0); + addRawAttr(branch0, 'type', 'checkbox'); + processElement(branch0, options); + branch0.processed = true; // prevent it from double-processed + branch0.if = "(".concat(typeBinding, ")==='checkbox'") + ifConditionExtra; + addIfCondition(branch0, { + exp: branch0.if, + block: branch0 + }); + // 2. add radio else-if condition + var branch1 = cloneASTElement(el); + getAndRemoveAttr(branch1, 'v-for', true); + addRawAttr(branch1, 'type', 'radio'); + processElement(branch1, options); + addIfCondition(branch0, { + exp: "(".concat(typeBinding, ")==='radio'") + ifConditionExtra, + block: branch1 + }); + // 3. other + var branch2 = cloneASTElement(el); + getAndRemoveAttr(branch2, 'v-for', true); + addRawAttr(branch2, ':type', typeBinding); + processElement(branch2, options); + addIfCondition(branch0, { + exp: ifCondition, + block: branch2 + }); + if (hasElse) { + branch0.else = true; + } + else if (elseIfCondition) { + branch0.elseif = elseIfCondition; + } + return branch0; + } + } } - /* istanbul ignore if */ - if (c.elm._enterCb) { - c.elm._enterCb(); - } -} - -function recordPosition (c) { - c.data.newPos = c.elm.getBoundingClientRect(); -} - -function applyTranslation (c) { - var oldPos = c.data.pos; - var newPos = c.data.newPos; - var dx = oldPos.left - newPos.left; - var dy = oldPos.top - newPos.top; - if (dx || dy) { - c.data.moved = true; - var s = c.elm.style; - s.transform = s.WebkitTransform = "translate(" + dx + "px," + dy + "px)"; - s.transitionDuration = '0s'; - } -} - -var platformComponents = { - Transition: Transition, - TransitionGroup: TransitionGroup -}; - -/* */ - -// install platform specific utils -Vue$3.config.mustUseProp = mustUseProp; -Vue$3.config.isReservedTag = isReservedTag; -Vue$3.config.isReservedAttr = isReservedAttr; -Vue$3.config.getTagNamespace = getTagNamespace; -Vue$3.config.isUnknownElement = isUnknownElement; - -// install platform runtime directives & components -extend(Vue$3.options.directives, platformDirectives); -extend(Vue$3.options.components, platformComponents); - -// install platform patch function -Vue$3.prototype.__patch__ = inBrowser ? patch : noop; - -// public mount method -Vue$3.prototype.$mount = function ( - el, - hydrating -) { - el = el && inBrowser ? query(el) : undefined; - return mountComponent(this, el, hydrating) -}; - -// devtools global hook -/* istanbul ignore next */ -Vue$3.nextTick(function () { - if (config.devtools) { - if (devtools) { - devtools.emit('init', Vue$3); - } else if ("development" !== 'production' && isChrome) { - console[console.info ? 'info' : 'log']( - 'Download the Vue Devtools extension for a better development experience:\n' + - 'https://github.com/vuejs/vue-devtools' - ); - } - } - if ("development" !== 'production' && - config.productionTip !== false && - inBrowser && typeof console !== 'undefined' - ) { - console[console.info ? 'info' : 'log']( - "You are running Vue in development mode.\n" + - "Make sure to turn on production mode when deploying for production.\n" + - "See more tips at https://vuejs.org/guide/deployment.html" - ); - } -}, 0); - -/* */ - -var defaultTagRE = /\{\{((?:.|\n)+?)\}\}/g; -var regexEscapeRE = /[-.*+?^${}()|[\]\/\\]/g; - -var buildRegex = cached(function (delimiters) { - var open = delimiters[0].replace(regexEscapeRE, '\\$&'); - var close = delimiters[1].replace(regexEscapeRE, '\\$&'); - return new RegExp(open + '((?:.|\\n)+?)' + close, 'g') -}); - - - -function parseText ( - text, - delimiters -) { - var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE; - if (!tagRE.test(text)) { - return - } - var tokens = []; - var rawTokens = []; - var lastIndex = tagRE.lastIndex = 0; - var match, index, tokenValue; - while ((match = tagRE.exec(text))) { - index = match.index; - // push text token - if (index > lastIndex) { - rawTokens.push(tokenValue = text.slice(lastIndex, index)); - tokens.push(JSON.stringify(tokenValue)); - } - // tag token - var exp = parseFilters(match[1].trim()); - tokens.push(("_s(" + exp + ")")); - rawTokens.push({ '@binding': exp }); - lastIndex = index + match[0].length; - } - if (lastIndex < text.length) { - rawTokens.push(tokenValue = text.slice(lastIndex)); - tokens.push(JSON.stringify(tokenValue)); - } - return { - expression: tokens.join('+'), - tokens: rawTokens - } -} - -/* */ - -function transformNode (el, options) { - var warn = options.warn || baseWarn; - var staticClass = getAndRemoveAttr(el, 'class'); - if ("development" !== 'production' && staticClass) { - var res = parseText(staticClass, options.delimiters); - if (res) { - warn( - "class=\"" + staticClass + "\": " + - 'Interpolation inside attributes has been removed. ' + - 'Use v-bind or the colon shorthand instead. For example, ' + - 'instead of <div class="{{ val }}">, use <div :class="val">.' - ); - } + function cloneASTElement(el) { + return createASTElement(el.tag, el.attrsList.slice(), el.parent); } - if (staticClass) { - el.staticClass = JSON.stringify(staticClass); - } - var classBinding = getBindingAttr(el, 'class', false /* getStatic */); - if (classBinding) { - el.classBinding = classBinding; - } -} - -function genData (el) { - var data = ''; - if (el.staticClass) { - data += "staticClass:" + (el.staticClass) + ","; - } - if (el.classBinding) { - data += "class:" + (el.classBinding) + ","; - } - return data -} - -var klass$1 = { - staticKeys: ['staticClass'], - transformNode: transformNode, - genData: genData -}; - -/* */ - -function transformNode$1 (el, options) { - var warn = options.warn || baseWarn; - var staticStyle = getAndRemoveAttr(el, 'style'); - if (staticStyle) { - /* istanbul ignore if */ - { - var res = parseText(staticStyle, options.delimiters); - if (res) { - warn( - "style=\"" + staticStyle + "\": " + - 'Interpolation inside attributes has been removed. ' + - 'Use v-bind or the colon shorthand instead. For example, ' + - 'instead of <div style="{{ val }}">, use <div :style="val">.' - ); - } - } - el.staticStyle = JSON.stringify(parseStyleText(staticStyle)); - } - - var styleBinding = getBindingAttr(el, 'style', false /* getStatic */); - if (styleBinding) { - el.styleBinding = styleBinding; - } -} - -function genData$1 (el) { - var data = ''; - if (el.staticStyle) { - data += "staticStyle:" + (el.staticStyle) + ","; - } - if (el.styleBinding) { - data += "style:(" + (el.styleBinding) + "),"; - } - return data -} - -var style$1 = { - staticKeys: ['staticStyle'], - transformNode: transformNode$1, - genData: genData$1 -}; - -/* */ - -var decoder; - -var he = { - decode: function decode (html) { - decoder = decoder || document.createElement('div'); - decoder.innerHTML = html; - return decoder.textContent - } -}; - -/* */ - -var isUnaryTag = makeMap( - 'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' + - 'link,meta,param,source,track,wbr' -); - -// Elements that you can, intentionally, leave open -// (and which close themselves) -var canBeLeftOpenTag = makeMap( - 'colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source' -); - -// HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3 -// Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content -var isNonPhrasingTag = makeMap( - 'address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' + - 'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' + - 'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' + - 'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' + - 'title,tr,track' -); - -/** - * Not type-checking this file because it's mostly vendor code. - */ + var model = { + preTransformNode: preTransformNode + }; -/*! - * HTML Parser By John Resig (ejohn.org) - * Modified by Juriy "kangax" Zaytsev - * Original code by Erik Arvidsson, Mozilla Public License - * http://erik.eae.net/simplehtmlparser/simplehtmlparser.js - */ + var modules = [klass, style, model]; -// Regular Expressions for parsing tags and attributes -var attribute = /^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/; -// could use https://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-QName -// but for Vue templates we can enforce a simple charset -var ncname = '[a-zA-Z_][\\w\\-\\.]*'; -var qnameCapture = "((?:" + ncname + "\\:)?" + ncname + ")"; -var startTagOpen = new RegExp(("^<" + qnameCapture)); -var startTagClose = /^\s*(\/?)>/; -var endTag = new RegExp(("^<\\/" + qnameCapture + "[^>]*>")); -var doctype = /^<!DOCTYPE [^>]+>/i; -var comment = /^<!--/; -var conditionalComment = /^<!\[/; - -var IS_REGEX_CAPTURING_BROKEN = false; -'x'.replace(/x(.)?/g, function (m, g) { - IS_REGEX_CAPTURING_BROKEN = g === ''; -}); - -// Special Elements (can contain anything) -var isPlainTextElement = makeMap('script,style,textarea', true); -var reCache = {}; - -var decodingMap = { - '<': '<', - '>': '>', - '"': '"', - '&': '&', - ' ': '\n', - '	': '\t' -}; -var encodedAttr = /&(?:lt|gt|quot|amp);/g; -var encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#10|#9);/g; - -// #5992 -var isIgnoreNewlineTag = makeMap('pre,textarea', true); -var shouldIgnoreFirstNewline = function (tag, html) { return tag && isIgnoreNewlineTag(tag) && html[0] === '\n'; }; - -function decodeAttr (value, shouldDecodeNewlines) { - var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr; - return value.replace(re, function (match) { return decodingMap[match]; }) -} - -function parseHTML (html, options) { - var stack = []; - var expectHTML = options.expectHTML; - var isUnaryTag$$1 = options.isUnaryTag || no; - var canBeLeftOpenTag$$1 = options.canBeLeftOpenTag || no; - var index = 0; - var last, lastTag; - while (html) { - last = html; - // Make sure we're not in a plaintext content element like script/style - if (!lastTag || !isPlainTextElement(lastTag)) { - var textEnd = html.indexOf('<'); - if (textEnd === 0) { - // Comment: - if (comment.test(html)) { - var commentEnd = html.indexOf('-->'); - - if (commentEnd >= 0) { - if (options.shouldKeepComment) { - options.comment(html.substring(4, commentEnd)); - } - advance(commentEnd + 3); - continue - } - } - - // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment - if (conditionalComment.test(html)) { - var conditionalEnd = html.indexOf(']>'); - - if (conditionalEnd >= 0) { - advance(conditionalEnd + 2); - continue - } - } - - // Doctype: - var doctypeMatch = html.match(doctype); - if (doctypeMatch) { - advance(doctypeMatch[0].length); - continue - } - - // End tag: - var endTagMatch = html.match(endTag); - if (endTagMatch) { - var curIndex = index; - advance(endTagMatch[0].length); - parseEndTag(endTagMatch[1], curIndex, index); - continue - } - - // Start tag: - var startTagMatch = parseStartTag(); - if (startTagMatch) { - handleStartTag(startTagMatch); - if (shouldIgnoreFirstNewline(lastTag, html)) { - advance(1); - } - continue - } - } - - var text = (void 0), rest = (void 0), next = (void 0); - if (textEnd >= 0) { - rest = html.slice(textEnd); - while ( - !endTag.test(rest) && - !startTagOpen.test(rest) && - !comment.test(rest) && - !conditionalComment.test(rest) - ) { - // < in plain text, be forgiving and treat it as text - next = rest.indexOf('<', 1); - if (next < 0) { break } - textEnd += next; - rest = html.slice(textEnd); - } - text = html.substring(0, textEnd); - advance(textEnd); - } - - if (textEnd < 0) { - text = html; - html = ''; - } - - if (options.chars && text) { - options.chars(text); - } - } else { - var endTagLength = 0; - var stackedTag = lastTag.toLowerCase(); - var reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\s\\S]*?)(</' + stackedTag + '[^>]*>)', 'i')); - var rest$1 = html.replace(reStackedTag, function (all, text, endTag) { - endTagLength = endTag.length; - if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') { - text = text - .replace(/<!--([\s\S]*?)-->/g, '$1') - .replace(/<!\[CDATA\[([\s\S]*?)]]>/g, '$1'); - } - if (shouldIgnoreFirstNewline(stackedTag, text)) { - text = text.slice(1); - } - if (options.chars) { - options.chars(text); - } - return '' - }); - index += html.length - rest$1.length; - html = rest$1; - parseEndTag(stackedTag, index - endTagLength, index); - } + function text(el, dir) { + if (dir.value) { + addProp(el, 'textContent', "_s(".concat(dir.value, ")"), dir); + } + } - if (html === last) { - options.chars && options.chars(html); - if ("development" !== 'production' && !stack.length && options.warn) { - options.warn(("Mal-formatted tag at end of template: \"" + html + "\"")); + function html(el, dir) { + if (dir.value) { + addProp(el, 'innerHTML', "_s(".concat(dir.value, ")"), dir); } - break - } } - // Clean up any remaining tags - parseEndTag(); + var directives = { + model: model$1, + text: text, + html: html + }; - function advance (n) { - index += n; - html = html.substring(n); - } + var baseOptions = { + expectHTML: true, + modules: modules, + directives: directives, + isPreTag: isPreTag, + isUnaryTag: isUnaryTag, + mustUseProp: mustUseProp, + canBeLeftOpenTag: canBeLeftOpenTag, + isReservedTag: isReservedTag, + getTagNamespace: getTagNamespace, + staticKeys: genStaticKeys$1(modules) + }; - function parseStartTag () { - var start = html.match(startTagOpen); - if (start) { - var match = { - tagName: start[1], - attrs: [], - start: index - }; - advance(start[0].length); - var end, attr; - while (!(end = html.match(startTagClose)) && (attr = html.match(attribute))) { - advance(attr[0].length); - match.attrs.push(attr); - } - if (end) { - match.unarySlash = end[1]; - advance(end[0].length); - match.end = index; - return match - } - } - } - - function handleStartTag (match) { - var tagName = match.tagName; - var unarySlash = match.unarySlash; - - if (expectHTML) { - if (lastTag === 'p' && isNonPhrasingTag(tagName)) { - parseEndTag(lastTag); - } - if (canBeLeftOpenTag$$1(tagName) && lastTag === tagName) { - parseEndTag(tagName); - } - } - - var unary = isUnaryTag$$1(tagName) || !!unarySlash; - - var l = match.attrs.length; - var attrs = new Array(l); - for (var i = 0; i < l; i++) { - var args = match.attrs[i]; - // hackish work around FF bug https://bugzilla.mozilla.org/show_bug.cgi?id=369778 - if (IS_REGEX_CAPTURING_BROKEN && args[0].indexOf('""') === -1) { - if (args[3] === '') { delete args[3]; } - if (args[4] === '') { delete args[4]; } - if (args[5] === '') { delete args[5]; } - } - var value = args[3] || args[4] || args[5] || ''; - var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href' - ? options.shouldDecodeNewlinesForHref - : options.shouldDecodeNewlines; - attrs[i] = { - name: args[1], - value: decodeAttr(value, shouldDecodeNewlines) - }; - } - - if (!unary) { - stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs }); - lastTag = tagName; - } - - if (options.start) { - options.start(tagName, attrs, unary, match.start, match.end); - } - } - - function parseEndTag (tagName, start, end) { - var pos, lowerCasedTagName; - if (start == null) { start = index; } - if (end == null) { end = index; } - - if (tagName) { - lowerCasedTagName = tagName.toLowerCase(); - } - - // Find the closest opened tag of the same type - if (tagName) { - for (pos = stack.length - 1; pos >= 0; pos--) { - if (stack[pos].lowerCasedTag === lowerCasedTagName) { - break - } - } - } else { - // If no tag name is provided, clean shop - pos = 0; - } - - if (pos >= 0) { - // Close all the open elements, up the stack - for (var i = stack.length - 1; i >= pos; i--) { - if ("development" !== 'production' && - (i > pos || !tagName) && - options.warn - ) { - options.warn( - ("tag <" + (stack[i].tag) + "> has no matching end tag.") - ); - } - if (options.end) { - options.end(stack[i].tag, start, end); - } + var isStaticKey; + var isPlatformReservedTag; + var genStaticKeysCached = cached(genStaticKeys); + /** + * Goal of the optimizer: walk the generated template AST tree + * and detect sub-trees that are purely static, i.e. parts of + * the DOM that never needs to change. + * + * Once we detect these sub-trees, we can: + * + * 1. Hoist them into constants, so that we no longer need to + * create fresh nodes for them on each re-render; + * 2. Completely skip them in the patching process. + */ + function optimize(root, options) { + if (!root) + return; + isStaticKey = genStaticKeysCached(options.staticKeys || ''); + isPlatformReservedTag = options.isReservedTag || no; + // first pass: mark all non-static nodes. + markStatic(root); + // second pass: mark static roots. + markStaticRoots(root, false); + } + function genStaticKeys(keys) { + return makeMap('type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap' + + (keys ? ',' + keys : '')); + } + function markStatic(node) { + node.static = isStatic(node); + if (node.type === 1) { + // do not make component slot content static. this avoids + // 1. components not able to mutate slot nodes + // 2. static slot content fails for hot-reloading + if (!isPlatformReservedTag(node.tag) && + node.tag !== 'slot' && + node.attrsMap['inline-template'] == null) { + return; + } + for (var i = 0, l = node.children.length; i < l; i++) { + var child = node.children[i]; + markStatic(child); + if (!child.static) { + node.static = false; + } + } + if (node.ifConditions) { + for (var i = 1, l = node.ifConditions.length; i < l; i++) { + var block = node.ifConditions[i].block; + markStatic(block); + if (!block.static) { + node.static = false; + } + } + } } - - // Remove the open elements from the stack - stack.length = pos; - lastTag = pos && stack[pos - 1].tag; - } else if (lowerCasedTagName === 'br') { - if (options.start) { - options.start(tagName, [], true, start, end); + } + function markStaticRoots(node, isInFor) { + if (node.type === 1) { + if (node.static || node.once) { + node.staticInFor = isInFor; + } + // For a node to qualify as a static root, it should have children that + // are not just static text. Otherwise the cost of hoisting out will + // outweigh the benefits and it's better off to just always render it fresh. + if (node.static && + node.children.length && + !(node.children.length === 1 && node.children[0].type === 3)) { + node.staticRoot = true; + return; + } + else { + node.staticRoot = false; + } + if (node.children) { + for (var i = 0, l = node.children.length; i < l; i++) { + markStaticRoots(node.children[i], isInFor || !!node.for); + } + } + if (node.ifConditions) { + for (var i = 1, l = node.ifConditions.length; i < l; i++) { + markStaticRoots(node.ifConditions[i].block, isInFor); + } + } + } + } + function isStatic(node) { + if (node.type === 2) { + // expression + return false; + } + if (node.type === 3) { + // text + return true; + } + return !!(node.pre || + (!node.hasBindings && // no dynamic bindings + !node.if && + !node.for && // not v-if or v-for or v-else + !isBuiltInTag(node.tag) && // not a built-in + isPlatformReservedTag(node.tag) && // not a component + !isDirectChildOfTemplateFor(node) && + Object.keys(node).every(isStaticKey))); + } + function isDirectChildOfTemplateFor(node) { + while (node.parent) { + node = node.parent; + if (node.tag !== 'template') { + return false; + } + if (node.for) { + return true; + } + } + return false; + } + + var fnExpRE = /^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/; + var fnInvokeRE = /\([^)]*?\);*$/; + var simplePathRE = /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/; + // KeyboardEvent.keyCode aliases + var keyCodes = { + esc: 27, + tab: 9, + enter: 13, + space: 32, + up: 38, + left: 37, + right: 39, + down: 40, + delete: [8, 46] + }; + // KeyboardEvent.key aliases + var keyNames = { + // #7880: IE11 and Edge use `Esc` for Escape key name. + esc: ['Esc', 'Escape'], + tab: 'Tab', + enter: 'Enter', + // #9112: IE11 uses `Spacebar` for Space key name. + space: [' ', 'Spacebar'], + // #7806: IE11 uses key names without `Arrow` prefix for arrow keys. + up: ['Up', 'ArrowUp'], + left: ['Left', 'ArrowLeft'], + right: ['Right', 'ArrowRight'], + down: ['Down', 'ArrowDown'], + // #9112: IE11 uses `Del` for Delete key name. + delete: ['Backspace', 'Delete', 'Del'] + }; + // #4868: modifiers that prevent the execution of the listener + // need to explicitly return null so that we can determine whether to remove + // the listener for .once + var genGuard = function (condition) { return "if(".concat(condition, ")return null;"); }; + var modifierCode = { + stop: '$event.stopPropagation();', + prevent: '$event.preventDefault();', + self: genGuard("$event.target !== $event.currentTarget"), + ctrl: genGuard("!$event.ctrlKey"), + shift: genGuard("!$event.shiftKey"), + alt: genGuard("!$event.altKey"), + meta: genGuard("!$event.metaKey"), + left: genGuard("'button' in $event && $event.button !== 0"), + middle: genGuard("'button' in $event && $event.button !== 1"), + right: genGuard("'button' in $event && $event.button !== 2") + }; + function genHandlers(events, isNative) { + var prefix = isNative ? 'nativeOn:' : 'on:'; + var staticHandlers = ""; + var dynamicHandlers = ""; + for (var name_1 in events) { + var handlerCode = genHandler(events[name_1]); + //@ts-expect-error + if (events[name_1] && events[name_1].dynamic) { + dynamicHandlers += "".concat(name_1, ",").concat(handlerCode, ","); + } + else { + staticHandlers += "\"".concat(name_1, "\":").concat(handlerCode, ","); + } } - } else if (lowerCasedTagName === 'p') { - if (options.start) { - options.start(tagName, [], false, start, end); + staticHandlers = "{".concat(staticHandlers.slice(0, -1), "}"); + if (dynamicHandlers) { + return prefix + "_d(".concat(staticHandlers, ",[").concat(dynamicHandlers.slice(0, -1), "])"); } - if (options.end) { - options.end(tagName, start, end); + else { + return prefix + staticHandlers; } - } } -} - -/* */ - -var onRE = /^@|^v-on:/; -var dirRE = /^v-|^@|^:/; -var forAliasRE = /(.*?)\s+(?:in|of)\s+(.*)/; -var forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/; -var stripParensRE = /^\(|\)$/g; - -var argRE = /:(.*)$/; -var bindRE = /^:|^v-bind:/; -var modifierRE = /\.[^.]+/g; - -var decodeHTMLCached = cached(he.decode); - -// configurable state -var warn$2; -var delimiters; -var transforms; -var preTransforms; -var postTransforms; -var platformIsPreTag; -var platformMustUseProp; -var platformGetTagNamespace; - + function genHandler(handler) { + if (!handler) { + return 'function(){}'; + } + if (Array.isArray(handler)) { + return "[".concat(handler.map(function (handler) { return genHandler(handler); }).join(','), "]"); + } + var isMethodPath = simplePathRE.test(handler.value); + var isFunctionExpression = fnExpRE.test(handler.value); + var isFunctionInvocation = simplePathRE.test(handler.value.replace(fnInvokeRE, '')); + if (!handler.modifiers) { + if (isMethodPath || isFunctionExpression) { + return handler.value; + } + return "function($event){".concat(isFunctionInvocation ? "return ".concat(handler.value) : handler.value, "}"); // inline statement + } + else { + var code = ''; + var genModifierCode = ''; + var keys = []; + var _loop_1 = function (key) { + if (modifierCode[key]) { + genModifierCode += modifierCode[key]; + // left/right + if (keyCodes[key]) { + keys.push(key); + } + } + else if (key === 'exact') { + var modifiers_1 = handler.modifiers; + genModifierCode += genGuard(['ctrl', 'shift', 'alt', 'meta'] + .filter(function (keyModifier) { return !modifiers_1[keyModifier]; }) + .map(function (keyModifier) { return "$event.".concat(keyModifier, "Key"); }) + .join('||')); + } + else { + keys.push(key); + } + }; + for (var key in handler.modifiers) { + _loop_1(key); + } + if (keys.length) { + code += genKeyFilter(keys); + } + // Make sure modifiers like prevent and stop get executed after key filtering + if (genModifierCode) { + code += genModifierCode; + } + var handlerCode = isMethodPath + ? "return ".concat(handler.value, ".apply(null, arguments)") + : isFunctionExpression + ? "return (".concat(handler.value, ").apply(null, arguments)") + : isFunctionInvocation + ? "return ".concat(handler.value) + : handler.value; + return "function($event){".concat(code).concat(handlerCode, "}"); + } + } + function genKeyFilter(keys) { + return ( + // make sure the key filters only apply to KeyboardEvents + // #9441: can't use 'keyCode' in $event because Chrome autofill fires fake + // key events that do not have keyCode property... + "if(!$event.type.indexOf('key')&&" + + "".concat(keys.map(genFilterCode).join('&&'), ")return null;")); + } + function genFilterCode(key) { + var keyVal = parseInt(key, 10); + if (keyVal) { + return "$event.keyCode!==".concat(keyVal); + } + var keyCode = keyCodes[key]; + var keyName = keyNames[key]; + return ("_k($event.keyCode," + + "".concat(JSON.stringify(key), ",") + + "".concat(JSON.stringify(keyCode), ",") + + "$event.key," + + "".concat(JSON.stringify(keyName)) + + ")"); + } + + function on(el, dir) { + if (dir.modifiers) { + warn$2("v-on without argument does not support modifiers."); + } + el.wrapListeners = function (code) { return "_g(".concat(code, ",").concat(dir.value, ")"); }; + } + + function bind(el, dir) { + el.wrapData = function (code) { + return "_b(".concat(code, ",'").concat(el.tag, "',").concat(dir.value, ",").concat(dir.modifiers && dir.modifiers.prop ? 'true' : 'false').concat(dir.modifiers && dir.modifiers.sync ? ',true' : '', ")"); + }; + } + var baseDirectives = { + on: on, + bind: bind, + cloak: noop + }; -function createASTElement ( - tag, - attrs, - parent -) { - return { - type: 1, - tag: tag, - attrsList: attrs, - attrsMap: makeAttrsMap(attrs), - parent: parent, - children: [] + var CodegenState = /** @class */ (function () { + function CodegenState(options) { + this.options = options; + this.warn = options.warn || baseWarn; + this.transforms = pluckModuleFunction(options.modules, 'transformCode'); + this.dataGenFns = pluckModuleFunction(options.modules, 'genData'); + this.directives = extend(extend({}, baseDirectives), options.directives); + var isReservedTag = options.isReservedTag || no; + this.maybeComponent = function (el) { + return !!el.component || !isReservedTag(el.tag); + }; + this.onceId = 0; + this.staticRenderFns = []; + this.pre = false; + } + return CodegenState; + }()); + function generate(ast, options) { + var state = new CodegenState(options); + // fix #11483, Root level <script> tags should not be rendered. + var code = ast + ? ast.tag === 'script' + ? 'null' + : genElement(ast, state) + : '_c("div")'; + return { + render: "with(this){return ".concat(code, "}"), + staticRenderFns: state.staticRenderFns + }; } -} - -/** - * Convert HTML string to AST. - */ -function parse ( - template, - options -) { - warn$2 = options.warn || baseWarn; - - platformIsPreTag = options.isPreTag || no; - platformMustUseProp = options.mustUseProp || no; - platformGetTagNamespace = options.getTagNamespace || no; - - transforms = pluckModuleFunction(options.modules, 'transformNode'); - preTransforms = pluckModuleFunction(options.modules, 'preTransformNode'); - postTransforms = pluckModuleFunction(options.modules, 'postTransformNode'); - - delimiters = options.delimiters; - - var stack = []; - var preserveWhitespace = options.preserveWhitespace !== false; - var root; - var currentParent; - var inVPre = false; - var inPre = false; - var warned = false; - - function warnOnce (msg) { - if (!warned) { - warned = true; - warn$2(msg); - } - } - - function closeElement (element) { - // check pre state - if (element.pre) { - inVPre = false; - } - if (platformIsPreTag(element.tag)) { - inPre = false; - } - // apply post-transforms - for (var i = 0; i < postTransforms.length; i++) { - postTransforms[i](element, options); - } - } - - parseHTML(template, { - warn: warn$2, - expectHTML: options.expectHTML, - isUnaryTag: options.isUnaryTag, - canBeLeftOpenTag: options.canBeLeftOpenTag, - shouldDecodeNewlines: options.shouldDecodeNewlines, - shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref, - shouldKeepComment: options.comments, - start: function start (tag, attrs, unary) { - // check namespace. - // inherit parent ns if there is one - var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag); - - // handle IE svg bug - /* istanbul ignore if */ - if (isIE && ns === 'svg') { - attrs = guardIESVGBug(attrs); + function genElement(el, state) { + if (el.parent) { + el.pre = el.pre || el.parent.pre; } - - var element = createASTElement(tag, attrs, currentParent); - if (ns) { - element.ns = ns; + if (el.staticRoot && !el.staticProcessed) { + return genStatic(el, state); } - - if (isForbiddenTag(element) && !isServerRendering()) { - element.forbidden = true; - "development" !== 'production' && warn$2( - 'Templates should only be responsible for mapping the state to the ' + - 'UI. Avoid placing tags with side-effects in your templates, such as ' + - "<" + tag + ">" + ', as they will not be parsed.' - ); + else if (el.once && !el.onceProcessed) { + return genOnce(el, state); } - - // apply pre-transforms - for (var i = 0; i < preTransforms.length; i++) { - element = preTransforms[i](element, options) || element; + else if (el.for && !el.forProcessed) { + return genFor(el, state); } - - if (!inVPre) { - processPre(element); - if (element.pre) { - inVPre = true; - } + else if (el.if && !el.ifProcessed) { + return genIf(el, state); } - if (platformIsPreTag(element.tag)) { - inPre = true; + else if (el.tag === 'template' && !el.slotTarget && !state.pre) { + return genChildren(el, state) || 'void 0'; } - if (inVPre) { - processRawAttrs(element); - } else if (!element.processed) { - // structural directives - processFor(element); - processIf(element); - processOnce(element); - // element-scope stuff - processElement(element, options); + else if (el.tag === 'slot') { + return genSlot(el, state); } - - function checkRootConstraints (el) { - { - if (el.tag === 'slot' || el.tag === 'template') { - warnOnce( - "Cannot use <" + (el.tag) + "> as component root element because it may " + - 'contain multiple nodes.' - ); + else { + // component or element + var code = void 0; + if (el.component) { + code = genComponent(el.component, el, state); + } + else { + var data = void 0; + var maybeComponent = state.maybeComponent(el); + if (!el.plain || (el.pre && maybeComponent)) { + data = genData(el, state); + } + var tag + // check if this is a component in <script setup> + = void 0; + // check if this is a component in <script setup> + var bindings = state.options.bindings; + if (maybeComponent && bindings && bindings.__isScriptSetup !== false) { + tag = checkBindingType(bindings, el.tag); + } + if (!tag) + tag = "'".concat(el.tag, "'"); + var children = el.inlineTemplate ? null : genChildren(el, state, true); + code = "_c(".concat(tag).concat(data ? ",".concat(data) : '' // data + ).concat(children ? ",".concat(children) : '' // children + , ")"); + } + // module transforms + for (var i = 0; i < state.transforms.length; i++) { + code = state.transforms[i](el, code); + } + return code; + } + } + function checkBindingType(bindings, key) { + var camelName = camelize(key); + var PascalName = capitalize(camelName); + var checkType = function (type) { + if (bindings[key] === type) { + return key; + } + if (bindings[camelName] === type) { + return camelName; + } + if (bindings[PascalName] === type) { + return PascalName; } - if (el.attrsMap.hasOwnProperty('v-for')) { - warnOnce( - 'Cannot use v-for on stateful component root element because ' + - 'it renders multiple elements.' - ); - } - } - } - - // tree management - if (!root) { - root = element; - checkRootConstraints(root); - } else if (!stack.length) { - // allow root elements with v-if, v-else-if and v-else - if (root.if && (element.elseif || element.else)) { - checkRootConstraints(element); - addIfCondition(root, { - exp: element.elseif, - block: element - }); - } else { - warnOnce( - "Component template should contain exactly one root element. " + - "If you are using v-if on multiple elements, " + - "use v-else-if to chain them instead." - ); - } - } - if (currentParent && !element.forbidden) { - if (element.elseif || element.else) { - processIfConditions(element, currentParent); - } else if (element.slotScope) { // scoped slot - currentParent.plain = false; - var name = element.slotTarget || '"default"';(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element; - } else { - currentParent.children.push(element); - element.parent = currentParent; - } - } - if (!unary) { - currentParent = element; - stack.push(element); - } else { - closeElement(element); - } - }, - - end: function end () { - // remove trailing whitespace - var element = stack[stack.length - 1]; - var lastNode = element.children[element.children.length - 1]; - if (lastNode && lastNode.type === 3 && lastNode.text === ' ' && !inPre) { - element.children.pop(); - } - // pop stack - stack.length -= 1; - currentParent = stack[stack.length - 1]; - closeElement(element); - }, - - chars: function chars (text) { - if (!currentParent) { - { - if (text === template) { - warnOnce( - 'Component template requires a root element, rather than just text.' - ); - } else if ((text = text.trim())) { - warnOnce( - ("text \"" + text + "\" outside root element will be ignored.") - ); - } - } - return - } - // IE textarea placeholder bug - /* istanbul ignore if */ - if (isIE && - currentParent.tag === 'textarea' && - currentParent.attrsMap.placeholder === text - ) { - return - } - var children = currentParent.children; - text = inPre || text.trim() - ? isTextTag(currentParent) ? text : decodeHTMLCached(text) - // only preserve whitespace if its not right after a starting tag - : preserveWhitespace && children.length ? ' ' : ''; - if (text) { - var res; - if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) { - children.push({ - type: 2, - expression: res.expression, - tokens: res.tokens, - text: text - }); - } else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') { - children.push({ - type: 3, - text: text - }); - } - } - }, - comment: function comment (text) { - currentParent.children.push({ - type: 3, - text: text, - isComment: true - }); - } - }); - return root -} - -function processPre (el) { - if (getAndRemoveAttr(el, 'v-pre') != null) { - el.pre = true; - } -} - -function processRawAttrs (el) { - var l = el.attrsList.length; - if (l) { - var attrs = el.attrs = new Array(l); - for (var i = 0; i < l; i++) { - attrs[i] = { - name: el.attrsList[i].name, - value: JSON.stringify(el.attrsList[i].value) }; - } - } else if (!el.pre) { - // non root node in pre blocks with no attributes - el.plain = true; - } -} - -function processElement (element, options) { - processKey(element); - - // determine whether this is a plain element after - // removing structural attributes - element.plain = !element.key && !element.attrsList.length; - - processRef(element); - processSlot(element); - processComponent(element); - for (var i = 0; i < transforms.length; i++) { - element = transforms[i](element, options) || element; - } - processAttrs(element); -} - -function processKey (el) { - var exp = getBindingAttr(el, 'key'); - if (exp) { - if ("development" !== 'production' && el.tag === 'template') { - warn$2("<template> cannot be keyed. Place the key on real elements instead."); - } - el.key = exp; - } -} - -function processRef (el) { - var ref = getBindingAttr(el, 'ref'); - if (ref) { - el.ref = ref; - el.refInFor = checkInFor(el); - } -} - -function processFor (el) { - var exp; - if ((exp = getAndRemoveAttr(el, 'v-for'))) { - var res = parseFor(exp); - if (res) { - extend(el, res); - } else { - warn$2( - ("Invalid v-for expression: " + exp) - ); - } - } -} - -function parseFor (exp) { - var inMatch = exp.match(forAliasRE); - if (!inMatch) { return } - var res = {}; - res.for = inMatch[2].trim(); - var alias = inMatch[1].trim().replace(stripParensRE, ''); - var iteratorMatch = alias.match(forIteratorRE); - if (iteratorMatch) { - res.alias = alias.replace(forIteratorRE, ''); - res.iterator1 = iteratorMatch[1].trim(); - if (iteratorMatch[2]) { - res.iterator2 = iteratorMatch[2].trim(); - } - } else { - res.alias = alias; - } - return res -} - -function processIf (el) { - var exp = getAndRemoveAttr(el, 'v-if'); - if (exp) { - el.if = exp; - addIfCondition(el, { - exp: exp, - block: el - }); - } else { - if (getAndRemoveAttr(el, 'v-else') != null) { - el.else = true; - } - var elseif = getAndRemoveAttr(el, 'v-else-if'); - if (elseif) { - el.elseif = elseif; - } - } -} - -function processIfConditions (el, parent) { - var prev = findPrevElement(parent.children); - if (prev && prev.if) { - addIfCondition(prev, { - exp: el.elseif, - block: el - }); - } else { - warn$2( - "v-" + (el.elseif ? ('else-if="' + el.elseif + '"') : 'else') + " " + - "used on element <" + (el.tag) + "> without corresponding v-if." - ); - } -} - -function findPrevElement (children) { - var i = children.length; - while (i--) { - if (children[i].type === 1) { - return children[i] - } else { - if ("development" !== 'production' && children[i].text !== ' ') { - warn$2( - "text \"" + (children[i].text.trim()) + "\" between v-if and v-else(-if) " + - "will be ignored." - ); - } - children.pop(); - } - } -} - -function addIfCondition (el, condition) { - if (!el.ifConditions) { - el.ifConditions = []; - } - el.ifConditions.push(condition); -} - -function processOnce (el) { - var once$$1 = getAndRemoveAttr(el, 'v-once'); - if (once$$1 != null) { - el.once = true; - } -} - -function processSlot (el) { - if (el.tag === 'slot') { - el.slotName = getBindingAttr(el, 'name'); - if ("development" !== 'production' && el.key) { - warn$2( - "`key` does not work on <slot> because slots are abstract outlets " + - "and can possibly expand into multiple elements. " + - "Use the key on a wrapping element instead." - ); - } - } else { - var slotScope; - if (el.tag === 'template') { - slotScope = getAndRemoveAttr(el, 'scope'); - /* istanbul ignore if */ - if ("development" !== 'production' && slotScope) { - warn$2( - "the \"scope\" attribute for scoped slots have been deprecated and " + - "replaced by \"slot-scope\" since 2.5. The new \"slot-scope\" attribute " + - "can also be used on plain elements in addition to <template> to " + - "denote scoped slots.", - true - ); - } - el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope'); - } else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) { - /* istanbul ignore if */ - if ("development" !== 'production' && el.attrsMap['v-for']) { - warn$2( - "Ambiguous combined usage of slot-scope and v-for on <" + (el.tag) + "> " + - "(v-for takes higher priority). Use a wrapper <template> for the " + - "scoped slot to make it clearer.", - true - ); - } - el.slotScope = slotScope; - } - var slotTarget = getBindingAttr(el, 'slot'); - if (slotTarget) { - el.slotTarget = slotTarget === '""' ? '"default"' : slotTarget; - // preserve slot as an attribute for native shadow DOM compat - // only for non-scoped slots. - if (el.tag !== 'template' && !el.slotScope) { - addAttr(el, 'slot', slotTarget); - } - } - } -} - -function processComponent (el) { - var binding; - if ((binding = getBindingAttr(el, 'is'))) { - el.component = binding; - } - if (getAndRemoveAttr(el, 'inline-template') != null) { - el.inlineTemplate = true; - } -} - -function processAttrs (el) { - var list = el.attrsList; - var i, l, name, rawName, value, modifiers, isProp; - for (i = 0, l = list.length; i < l; i++) { - name = rawName = list[i].name; - value = list[i].value; - if (dirRE.test(name)) { - // mark element as dynamic - el.hasBindings = true; - // modifiers - modifiers = parseModifiers(name); - if (modifiers) { - name = name.replace(modifierRE, ''); - } - if (bindRE.test(name)) { // v-bind - name = name.replace(bindRE, ''); - value = parseFilters(value); - isProp = false; - if (modifiers) { - if (modifiers.prop) { - isProp = true; - name = camelize(name); - if (name === 'innerHtml') { name = 'innerHTML'; } - } - if (modifiers.camel) { - name = camelize(name); - } - if (modifiers.sync) { - addHandler( - el, - ("update:" + (camelize(name))), - genAssignmentCode(value, "$event") - ); - } - } - if (isProp || ( - !el.component && platformMustUseProp(el.tag, el.attrsMap.type, name) - )) { - addProp(el, name, value); - } else { - addAttr(el, name, value); - } - } else if (onRE.test(name)) { // v-on - name = name.replace(onRE, ''); - addHandler(el, name, value, modifiers, false, warn$2); - } else { // normal directives - name = name.replace(dirRE, ''); - // parse arg - var argMatch = name.match(argRE); - var arg = argMatch && argMatch[1]; - if (arg) { - name = name.slice(0, -(arg.length + 1)); - } - addDirective(el, name, rawName, value, arg, modifiers); - if ("development" !== 'production' && name === 'model') { - checkForAliasModel(el, value); - } - } - } else { - // literal attribute - { - var res = parseText(value, delimiters); - if (res) { - warn$2( - name + "=\"" + value + "\": " + - 'Interpolation inside attributes has been removed. ' + - 'Use v-bind or the colon shorthand instead. For example, ' + - 'instead of <div id="{{ val }}">, use <div :id="val">.' - ); - } - } - addAttr(el, name, JSON.stringify(value)); - // #6887 firefox doesn't update muted state if set via attribute - // even immediately after element creation - if (!el.component && - name === 'muted' && - platformMustUseProp(el.tag, el.attrsMap.type, name)) { - addProp(el, name, 'true'); - } - } - } -} - -function checkInFor (el) { - var parent = el; - while (parent) { - if (parent.for !== undefined) { - return true - } - parent = parent.parent; - } - return false -} - -function parseModifiers (name) { - var match = name.match(modifierRE); - if (match) { - var ret = {}; - match.forEach(function (m) { ret[m.slice(1)] = true; }); - return ret - } -} - -function makeAttrsMap (attrs) { - var map = {}; - for (var i = 0, l = attrs.length; i < l; i++) { - if ( - "development" !== 'production' && - map[attrs[i].name] && !isIE && !isEdge - ) { - warn$2('duplicate attribute: ' + attrs[i].name); - } - map[attrs[i].name] = attrs[i].value; - } - return map -} - -// for script (e.g. type="x/template") or style, do not decode content -function isTextTag (el) { - return el.tag === 'script' || el.tag === 'style' -} - -function isForbiddenTag (el) { - return ( - el.tag === 'style' || - (el.tag === 'script' && ( - !el.attrsMap.type || - el.attrsMap.type === 'text/javascript' - )) - ) -} - -var ieNSBug = /^xmlns:NS\d+/; -var ieNSPrefix = /^NS\d+:/; - -/* istanbul ignore next */ -function guardIESVGBug (attrs) { - var res = []; - for (var i = 0; i < attrs.length; i++) { - var attr = attrs[i]; - if (!ieNSBug.test(attr.name)) { - attr.name = attr.name.replace(ieNSPrefix, ''); - res.push(attr); - } - } - return res -} - -function checkForAliasModel (el, value) { - var _el = el; - while (_el) { - if (_el.for && _el.alias === value) { - warn$2( - "<" + (el.tag) + " v-model=\"" + value + "\">: " + - "You are binding v-model directly to a v-for iteration alias. " + - "This will not be able to modify the v-for source array because " + - "writing to the alias is like modifying a function local variable. " + - "Consider using an array of objects and use v-model on an object property instead." - ); - } - _el = _el.parent; + var fromConst = checkType("setup-const" /* BindingTypes.SETUP_CONST */) || + checkType("setup-reactive-const" /* BindingTypes.SETUP_REACTIVE_CONST */); + if (fromConst) { + return fromConst; + } + var fromMaybeRef = checkType("setup-let" /* BindingTypes.SETUP_LET */) || + checkType("setup-ref" /* BindingTypes.SETUP_REF */) || + checkType("setup-maybe-ref" /* BindingTypes.SETUP_MAYBE_REF */); + if (fromMaybeRef) { + return fromMaybeRef; + } + } + // hoist static sub-trees out + function genStatic(el, state) { + el.staticProcessed = true; + // Some elements (templates) need to behave differently inside of a v-pre + // node. All pre nodes are static roots, so we can use this as a location to + // wrap a state change and reset it upon exiting the pre node. + var originalPreState = state.pre; + if (el.pre) { + state.pre = el.pre; + } + state.staticRenderFns.push("with(this){return ".concat(genElement(el, state), "}")); + state.pre = originalPreState; + return "_m(".concat(state.staticRenderFns.length - 1).concat(el.staticInFor ? ',true' : '', ")"); + } + // v-once + function genOnce(el, state) { + el.onceProcessed = true; + if (el.if && !el.ifProcessed) { + return genIf(el, state); + } + else if (el.staticInFor) { + var key = ''; + var parent_1 = el.parent; + while (parent_1) { + if (parent_1.for) { + key = parent_1.key; + break; + } + parent_1 = parent_1.parent; + } + if (!key) { + state.warn("v-once can only be used inside v-for that is keyed. ", el.rawAttrsMap['v-once']); + return genElement(el, state); + } + return "_o(".concat(genElement(el, state), ",").concat(state.onceId++, ",").concat(key, ")"); + } + else { + return genStatic(el, state); + } + } + function genIf(el, state, altGen, altEmpty) { + el.ifProcessed = true; // avoid recursion + return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty); + } + function genIfConditions(conditions, state, altGen, altEmpty) { + if (!conditions.length) { + return altEmpty || '_e()'; + } + var condition = conditions.shift(); + if (condition.exp) { + return "(".concat(condition.exp, ")?").concat(genTernaryExp(condition.block), ":").concat(genIfConditions(conditions, state, altGen, altEmpty)); + } + else { + return "".concat(genTernaryExp(condition.block)); + } + // v-if with v-once should generate code like (a)?_m(0):_m(1) + function genTernaryExp(el) { + return altGen + ? altGen(el, state) + : el.once + ? genOnce(el, state) + : genElement(el, state); + } + } + function genFor(el, state, altGen, altHelper) { + var exp = el.for; + var alias = el.alias; + var iterator1 = el.iterator1 ? ",".concat(el.iterator1) : ''; + var iterator2 = el.iterator2 ? ",".concat(el.iterator2) : ''; + if (state.maybeComponent(el) && + el.tag !== 'slot' && + el.tag !== 'template' && + !el.key) { + state.warn("<".concat(el.tag, " v-for=\"").concat(alias, " in ").concat(exp, "\">: component lists rendered with ") + + "v-for should have explicit keys. " + + "See https://v2.vuejs.org/v2/guide/list.html#key for more info.", el.rawAttrsMap['v-for'], true /* tip */); + } + el.forProcessed = true; // avoid recursion + return ("".concat(altHelper || '_l', "((").concat(exp, "),") + + "function(".concat(alias).concat(iterator1).concat(iterator2, "){") + + "return ".concat((altGen || genElement)(el, state)) + + '})'); + } + function genData(el, state) { + var data = '{'; + // directives first. + // directives may mutate the el's other properties before they are generated. + var dirs = genDirectives(el, state); + if (dirs) + data += dirs + ','; + // key + if (el.key) { + data += "key:".concat(el.key, ","); + } + // ref + if (el.ref) { + data += "ref:".concat(el.ref, ","); + } + if (el.refInFor) { + data += "refInFor:true,"; + } + // pre + if (el.pre) { + data += "pre:true,"; + } + // record original tag name for components using "is" attribute + if (el.component) { + data += "tag:\"".concat(el.tag, "\","); + } + // module data generation functions + for (var i = 0; i < state.dataGenFns.length; i++) { + data += state.dataGenFns[i](el); + } + // attributes + if (el.attrs) { + data += "attrs:".concat(genProps(el.attrs), ","); + } + // DOM props + if (el.props) { + data += "domProps:".concat(genProps(el.props), ","); + } + // event handlers + if (el.events) { + data += "".concat(genHandlers(el.events, false), ","); + } + if (el.nativeEvents) { + data += "".concat(genHandlers(el.nativeEvents, true), ","); + } + // slot target + // only for non-scoped slots + if (el.slotTarget && !el.slotScope) { + data += "slot:".concat(el.slotTarget, ","); + } + // scoped slots + if (el.scopedSlots) { + data += "".concat(genScopedSlots(el, el.scopedSlots, state), ","); + } + // component v-model + if (el.model) { + data += "model:{value:".concat(el.model.value, ",callback:").concat(el.model.callback, ",expression:").concat(el.model.expression, "},"); + } + // inline-template + if (el.inlineTemplate) { + var inlineTemplate = genInlineTemplate(el, state); + if (inlineTemplate) { + data += "".concat(inlineTemplate, ","); + } + } + data = data.replace(/,$/, '') + '}'; + // v-bind dynamic argument wrap + // v-bind with dynamic arguments must be applied using the same v-bind object + // merge helper so that class/style/mustUseProp attrs are handled correctly. + if (el.dynamicAttrs) { + data = "_b(".concat(data, ",\"").concat(el.tag, "\",").concat(genProps(el.dynamicAttrs), ")"); + } + // v-bind data wrap + if (el.wrapData) { + data = el.wrapData(data); + } + // v-on data wrap + if (el.wrapListeners) { + data = el.wrapListeners(data); + } + return data; + } + function genDirectives(el, state) { + var dirs = el.directives; + if (!dirs) + return; + var res = 'directives:['; + var hasRuntime = false; + var i, l, dir, needRuntime; + for (i = 0, l = dirs.length; i < l; i++) { + dir = dirs[i]; + needRuntime = true; + var gen = state.directives[dir.name]; + if (gen) { + // compile-time directive that manipulates AST. + // returns true if it also needs a runtime counterpart. + needRuntime = !!gen(el, dir, state.warn); + } + if (needRuntime) { + hasRuntime = true; + res += "{name:\"".concat(dir.name, "\",rawName:\"").concat(dir.rawName, "\"").concat(dir.value + ? ",value:(".concat(dir.value, "),expression:").concat(JSON.stringify(dir.value)) + : '').concat(dir.arg ? ",arg:".concat(dir.isDynamicArg ? dir.arg : "\"".concat(dir.arg, "\"")) : '').concat(dir.modifiers ? ",modifiers:".concat(JSON.stringify(dir.modifiers)) : '', "},"); + } + } + if (hasRuntime) { + return res.slice(0, -1) + ']'; + } } -} - -/* */ - -/** - * Expand input[v-model] with dyanmic type bindings into v-if-else chains - * Turn this: - * <input v-model="data[type]" :type="type"> - * into this: - * <input v-if="type === 'checkbox'" type="checkbox" v-model="data[type]"> - * <input v-else-if="type === 'radio'" type="radio" v-model="data[type]"> - * <input v-else :type="type" v-model="data[type]"> - */ - -function preTransformNode (el, options) { - if (el.tag === 'input') { - var map = el.attrsMap; - if (map['v-model'] && (map['v-bind:type'] || map[':type'])) { - var typeBinding = getBindingAttr(el, 'type'); - var ifCondition = getAndRemoveAttr(el, 'v-if', true); - var ifConditionExtra = ifCondition ? ("&&(" + ifCondition + ")") : ""; - var hasElse = getAndRemoveAttr(el, 'v-else', true) != null; - var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true); - // 1. checkbox - var branch0 = cloneASTElement(el); - // process for on the main node - processFor(branch0); - addRawAttr(branch0, 'type', 'checkbox'); - processElement(branch0, options); - branch0.processed = true; // prevent it from double-processed - branch0.if = "(" + typeBinding + ")==='checkbox'" + ifConditionExtra; - addIfCondition(branch0, { - exp: branch0.if, - block: branch0 - }); - // 2. add radio else-if condition - var branch1 = cloneASTElement(el); - getAndRemoveAttr(branch1, 'v-for', true); - addRawAttr(branch1, 'type', 'radio'); - processElement(branch1, options); - addIfCondition(branch0, { - exp: "(" + typeBinding + ")==='radio'" + ifConditionExtra, - block: branch1 - }); - // 3. other - var branch2 = cloneASTElement(el); - getAndRemoveAttr(branch2, 'v-for', true); - addRawAttr(branch2, ':type', typeBinding); - processElement(branch2, options); - addIfCondition(branch0, { - exp: ifCondition, - block: branch2 - }); - - if (hasElse) { - branch0.else = true; - } else if (elseIfCondition) { - branch0.elseif = elseIfCondition; + function genInlineTemplate(el, state) { + var ast = el.children[0]; + if ((el.children.length !== 1 || ast.type !== 1)) { + state.warn('Inline-template components must have exactly one child element.', { start: el.start }); + } + if (ast && ast.type === 1) { + var inlineRenderFns = generate(ast, state.options); + return "inlineTemplate:{render:function(){".concat(inlineRenderFns.render, "},staticRenderFns:[").concat(inlineRenderFns.staticRenderFns + .map(function (code) { return "function(){".concat(code, "}"); }) + .join(','), "]}"); } - - return branch0 - } } -} - -function cloneASTElement (el) { - return createASTElement(el.tag, el.attrsList.slice(), el.parent) -} - -var model$2 = { - preTransformNode: preTransformNode -}; - -var modules$1 = [ - klass$1, - style$1, - model$2 -]; - -/* */ - -function text (el, dir) { - if (dir.value) { - addProp(el, 'textContent', ("_s(" + (dir.value) + ")")); + function genScopedSlots(el, slots, state) { + // by default scoped slots are considered "stable", this allows child + // components with only scoped slots to skip forced updates from parent. + // but in some cases we have to bail-out of this optimization + // for example if the slot contains dynamic names, has v-if or v-for on them... + var needsForceUpdate = el.for || + Object.keys(slots).some(function (key) { + var slot = slots[key]; + return (slot.slotTargetDynamic || slot.if || slot.for || containsSlotChild(slot) // is passing down slot from parent which may be dynamic + ); + }); + // #9534: if a component with scoped slots is inside a conditional branch, + // it's possible for the same component to be reused but with different + // compiled slot content. To avoid that, we generate a unique key based on + // the generated code of all the slot contents. + var needsKey = !!el.if; + // OR when it is inside another scoped slot or v-for (the reactivity may be + // disconnected due to the intermediate scope variable) + // #9438, #9506 + // TODO: this can be further optimized by properly analyzing in-scope bindings + // and skip force updating ones that do not actually use scope variables. + if (!needsForceUpdate) { + var parent_2 = el.parent; + while (parent_2) { + if ((parent_2.slotScope && parent_2.slotScope !== emptySlotScopeToken) || + parent_2.for) { + needsForceUpdate = true; + break; + } + if (parent_2.if) { + needsKey = true; + } + parent_2 = parent_2.parent; + } + } + var generatedSlots = Object.keys(slots) + .map(function (key) { return genScopedSlot(slots[key], state); }) + .join(','); + return "scopedSlots:_u([".concat(generatedSlots, "]").concat(needsForceUpdate ? ",null,true" : "").concat(!needsForceUpdate && needsKey ? ",null,false,".concat(hash(generatedSlots)) : "", ")"); } -} - -/* */ - -function html (el, dir) { - if (dir.value) { - addProp(el, 'innerHTML', ("_s(" + (dir.value) + ")")); + function hash(str) { + var hash = 5381; + var i = str.length; + while (i) { + hash = (hash * 33) ^ str.charCodeAt(--i); + } + return hash >>> 0; } -} - -var directives$1 = { - model: model, - text: text, - html: html -}; - -/* */ - -var baseOptions = { - expectHTML: true, - modules: modules$1, - directives: directives$1, - isPreTag: isPreTag, - isUnaryTag: isUnaryTag, - mustUseProp: mustUseProp, - canBeLeftOpenTag: canBeLeftOpenTag, - isReservedTag: isReservedTag, - getTagNamespace: getTagNamespace, - staticKeys: genStaticKeys(modules$1) -}; - -/* */ - -var isStaticKey; -var isPlatformReservedTag; - -var genStaticKeysCached = cached(genStaticKeys$1); - -/** - * Goal of the optimizer: walk the generated template AST tree - * and detect sub-trees that are purely static, i.e. parts of - * the DOM that never needs to change. - * - * Once we detect these sub-trees, we can: - * - * 1. Hoist them into constants, so that we no longer need to - * create fresh nodes for them on each re-render; - * 2. Completely skip them in the patching process. - */ -function optimize (root, options) { - if (!root) { return } - isStaticKey = genStaticKeysCached(options.staticKeys || ''); - isPlatformReservedTag = options.isReservedTag || no; - // first pass: mark all non-static nodes. - markStatic$1(root); - // second pass: mark static roots. - markStaticRoots(root, false); -} - -function genStaticKeys$1 (keys) { - return makeMap( - 'type,tag,attrsList,attrsMap,plain,parent,children,attrs' + - (keys ? ',' + keys : '') - ) -} - -function markStatic$1 (node) { - node.static = isStatic(node); - if (node.type === 1) { - // do not make component slot content static. this avoids - // 1. components not able to mutate slot nodes - // 2. static slot content fails for hot-reloading - if ( - !isPlatformReservedTag(node.tag) && - node.tag !== 'slot' && - node.attrsMap['inline-template'] == null - ) { - return - } - for (var i = 0, l = node.children.length; i < l; i++) { - var child = node.children[i]; - markStatic$1(child); - if (!child.static) { - node.static = false; - } - } - if (node.ifConditions) { - for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) { - var block = node.ifConditions[i$1].block; - markStatic$1(block); - if (!block.static) { - node.static = false; - } - } - } - } -} - -function markStaticRoots (node, isInFor) { - if (node.type === 1) { - if (node.static || node.once) { - node.staticInFor = isInFor; - } - // For a node to qualify as a static root, it should have children that - // are not just static text. Otherwise the cost of hoisting out will - // outweigh the benefits and it's better off to just always render it fresh. - if (node.static && node.children.length && !( - node.children.length === 1 && - node.children[0].type === 3 - )) { - node.staticRoot = true; - return - } else { - node.staticRoot = false; - } - if (node.children) { - for (var i = 0, l = node.children.length; i < l; i++) { - markStaticRoots(node.children[i], isInFor || !!node.for); - } - } - if (node.ifConditions) { - for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) { - markStaticRoots(node.ifConditions[i$1].block, isInFor); - } - } - } -} - -function isStatic (node) { - if (node.type === 2) { // expression - return false - } - if (node.type === 3) { // text - return true - } - return !!(node.pre || ( - !node.hasBindings && // no dynamic bindings - !node.if && !node.for && // not v-if or v-for or v-else - !isBuiltInTag(node.tag) && // not a built-in - isPlatformReservedTag(node.tag) && // not a component - !isDirectChildOfTemplateFor(node) && - Object.keys(node).every(isStaticKey) - )) -} - -function isDirectChildOfTemplateFor (node) { - while (node.parent) { - node = node.parent; - if (node.tag !== 'template') { - return false - } - if (node.for) { - return true - } - } - return false -} - -/* */ - -var fnExpRE = /^\s*([\w$_]+|\([^)]*?\))\s*=>|^function\s*\(/; -var simplePathRE = /^\s*[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['.*?']|\[".*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*\s*$/; - -// keyCode aliases -var keyCodes = { - esc: 27, - tab: 9, - enter: 13, - space: 32, - up: 38, - left: 37, - right: 39, - down: 40, - 'delete': [8, 46] -}; - -// #4868: modifiers that prevent the execution of the listener -// need to explicitly return null so that we can determine whether to remove -// the listener for .once -var genGuard = function (condition) { return ("if(" + condition + ")return null;"); }; - -var modifierCode = { - stop: '$event.stopPropagation();', - prevent: '$event.preventDefault();', - self: genGuard("$event.target !== $event.currentTarget"), - ctrl: genGuard("!$event.ctrlKey"), - shift: genGuard("!$event.shiftKey"), - alt: genGuard("!$event.altKey"), - meta: genGuard("!$event.metaKey"), - left: genGuard("'button' in $event && $event.button !== 0"), - middle: genGuard("'button' in $event && $event.button !== 1"), - right: genGuard("'button' in $event && $event.button !== 2") -}; - -function genHandlers ( - events, - isNative, - warn -) { - var res = isNative ? 'nativeOn:{' : 'on:{'; - for (var name in events) { - res += "\"" + name + "\":" + (genHandler(name, events[name])) + ","; - } - return res.slice(0, -1) + '}' -} - -function genHandler ( - name, - handler -) { - if (!handler) { - return 'function(){}' - } - - if (Array.isArray(handler)) { - return ("[" + (handler.map(function (handler) { return genHandler(name, handler); }).join(',')) + "]") - } - - var isMethodPath = simplePathRE.test(handler.value); - var isFunctionExpression = fnExpRE.test(handler.value); - - if (!handler.modifiers) { - if (isMethodPath || isFunctionExpression) { - return handler.value - } - /* istanbul ignore if */ - return ("function($event){" + (handler.value) + "}") // inline statement - } else { - var code = ''; - var genModifierCode = ''; - var keys = []; - for (var key in handler.modifiers) { - if (modifierCode[key]) { - genModifierCode += modifierCode[key]; - // left/right - if (keyCodes[key]) { - keys.push(key); - } - } else if (key === 'exact') { - var modifiers = (handler.modifiers); - genModifierCode += genGuard( - ['ctrl', 'shift', 'alt', 'meta'] - .filter(function (keyModifier) { return !modifiers[keyModifier]; }) - .map(function (keyModifier) { return ("$event." + keyModifier + "Key"); }) - .join('||') - ); - } else { - keys.push(key); - } - } - if (keys.length) { - code += genKeyFilter(keys); - } - // Make sure modifiers like prevent and stop get executed after key filtering - if (genModifierCode) { - code += genModifierCode; - } - var handlerCode = isMethodPath - ? handler.value + '($event)' - : isFunctionExpression - ? ("(" + (handler.value) + ")($event)") - : handler.value; - /* istanbul ignore if */ - return ("function($event){" + code + handlerCode + "}") - } -} - -function genKeyFilter (keys) { - return ("if(!('button' in $event)&&" + (keys.map(genFilterCode).join('&&')) + ")return null;") -} - -function genFilterCode (key) { - var keyVal = parseInt(key, 10); - if (keyVal) { - return ("$event.keyCode!==" + keyVal) - } - var code = keyCodes[key]; - return ( - "_k($event.keyCode," + - (JSON.stringify(key)) + "," + - (JSON.stringify(code)) + "," + - "$event.key)" - ) -} - -/* */ - -function on (el, dir) { - if ("development" !== 'production' && dir.modifiers) { - warn("v-on without argument does not support modifiers."); - } - el.wrapListeners = function (code) { return ("_g(" + code + "," + (dir.value) + ")"); }; -} - -/* */ - -function bind$1 (el, dir) { - el.wrapData = function (code) { - return ("_b(" + code + ",'" + (el.tag) + "'," + (dir.value) + "," + (dir.modifiers && dir.modifiers.prop ? 'true' : 'false') + (dir.modifiers && dir.modifiers.sync ? ',true' : '') + ")") - }; -} - -/* */ - -var baseDirectives = { - on: on, - bind: bind$1, - cloak: noop -}; - -/* */ - -var CodegenState = function CodegenState (options) { - this.options = options; - this.warn = options.warn || baseWarn; - this.transforms = pluckModuleFunction(options.modules, 'transformCode'); - this.dataGenFns = pluckModuleFunction(options.modules, 'genData'); - this.directives = extend(extend({}, baseDirectives), options.directives); - var isReservedTag = options.isReservedTag || no; - this.maybeComponent = function (el) { return !isReservedTag(el.tag); }; - this.onceId = 0; - this.staticRenderFns = []; -}; - - - -function generate ( - ast, - options -) { - var state = new CodegenState(options); - var code = ast ? genElement(ast, state) : '_c("div")'; - return { - render: ("with(this){return " + code + "}"), - staticRenderFns: state.staticRenderFns - } -} - -function genElement (el, state) { - if (el.staticRoot && !el.staticProcessed) { - return genStatic(el, state) - } else if (el.once && !el.onceProcessed) { - return genOnce(el, state) - } else if (el.for && !el.forProcessed) { - return genFor(el, state) - } else if (el.if && !el.ifProcessed) { - return genIf(el, state) - } else if (el.tag === 'template' && !el.slotTarget) { - return genChildren(el, state) || 'void 0' - } else if (el.tag === 'slot') { - return genSlot(el, state) - } else { - // component or element - var code; - if (el.component) { - code = genComponent(el.component, el, state); - } else { - var data = el.plain ? undefined : genData$2(el, state); - + function containsSlotChild(el) { + if (el.type === 1) { + if (el.tag === 'slot') { + return true; + } + return el.children.some(containsSlotChild); + } + return false; + } + function genScopedSlot(el, state) { + var isLegacySyntax = el.attrsMap['slot-scope']; + if (el.if && !el.ifProcessed && !isLegacySyntax) { + return genIf(el, state, genScopedSlot, "null"); + } + if (el.for && !el.forProcessed) { + return genFor(el, state, genScopedSlot); + } + var slotScope = el.slotScope === emptySlotScopeToken ? "" : String(el.slotScope); + var fn = "function(".concat(slotScope, "){") + + "return ".concat(el.tag === 'template' + ? el.if && isLegacySyntax + ? "(".concat(el.if, ")?").concat(genChildren(el, state) || 'undefined', ":undefined") + : genChildren(el, state) || 'undefined' + : genElement(el, state), "}"); + // reverse proxy v-slot without scope on this.$slots + var reverseProxy = slotScope ? "" : ",proxy:true"; + return "{key:".concat(el.slotTarget || "\"default\"", ",fn:").concat(fn).concat(reverseProxy, "}"); + } + function genChildren(el, state, checkSkip, altGenElement, altGenNode) { + var children = el.children; + if (children.length) { + var el_1 = children[0]; + // optimize single v-for + if (children.length === 1 && + el_1.for && + el_1.tag !== 'template' && + el_1.tag !== 'slot') { + var normalizationType_1 = checkSkip + ? state.maybeComponent(el_1) + ? ",1" + : ",0" + : ""; + return "".concat((altGenElement || genElement)(el_1, state)).concat(normalizationType_1); + } + var normalizationType = checkSkip + ? getNormalizationType(children, state.maybeComponent) + : 0; + var gen_1 = altGenNode || genNode; + return "[".concat(children.map(function (c) { return gen_1(c, state); }).join(','), "]").concat(normalizationType ? ",".concat(normalizationType) : ''); + } + } + // determine the normalization needed for the children array. + // 0: no normalization needed + // 1: simple normalization needed (possible 1-level deep nested array) + // 2: full normalization needed + function getNormalizationType(children, maybeComponent) { + var res = 0; + for (var i = 0; i < children.length; i++) { + var el = children[i]; + if (el.type !== 1) { + continue; + } + if (needsNormalization(el) || + (el.ifConditions && + el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) { + res = 2; + break; + } + if (maybeComponent(el) || + (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) { + res = 1; + } + } + return res; + } + function needsNormalization(el) { + return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'; + } + function genNode(node, state) { + if (node.type === 1) { + return genElement(node, state); + } + else if (node.type === 3 && node.isComment) { + return genComment(node); + } + else { + return genText(node); + } + } + function genText(text) { + return "_v(".concat(text.type === 2 + ? text.expression // no need for () because already wrapped in _s() + : transformSpecialNewlines(JSON.stringify(text.text)), ")"); + } + function genComment(comment) { + return "_e(".concat(JSON.stringify(comment.text), ")"); + } + function genSlot(el, state) { + var slotName = el.slotName || '"default"'; + var children = genChildren(el, state); + var res = "_t(".concat(slotName).concat(children ? ",function(){return ".concat(children, "}") : ''); + var attrs = el.attrs || el.dynamicAttrs + ? genProps((el.attrs || []).concat(el.dynamicAttrs || []).map(function (attr) { return ({ + // slot props are camelized + name: camelize(attr.name), + value: attr.value, + dynamic: attr.dynamic + }); })) + : null; + var bind = el.attrsMap['v-bind']; + if ((attrs || bind) && !children) { + res += ",null"; + } + if (attrs) { + res += ",".concat(attrs); + } + if (bind) { + res += "".concat(attrs ? '' : ',null', ",").concat(bind); + } + return res + ')'; + } + // componentName is el.component, take it as argument to shun flow's pessimistic refinement + function genComponent(componentName, el, state) { var children = el.inlineTemplate ? null : genChildren(el, state, true); - code = "_c('" + (el.tag) + "'" + (data ? ("," + data) : '') + (children ? ("," + children) : '') + ")"; - } - // module transforms - for (var i = 0; i < state.transforms.length; i++) { - code = state.transforms[i](el, code); - } - return code - } -} - -// hoist static sub-trees out -function genStatic (el, state) { - el.staticProcessed = true; - state.staticRenderFns.push(("with(this){return " + (genElement(el, state)) + "}")); - return ("_m(" + (state.staticRenderFns.length - 1) + (el.staticInFor ? ',true' : '') + ")") -} - -// v-once -function genOnce (el, state) { - el.onceProcessed = true; - if (el.if && !el.ifProcessed) { - return genIf(el, state) - } else if (el.staticInFor) { - var key = ''; - var parent = el.parent; - while (parent) { - if (parent.for) { - key = parent.key; - break - } - parent = parent.parent; - } - if (!key) { - "development" !== 'production' && state.warn( - "v-once can only be used inside v-for that is keyed. " - ); - return genElement(el, state) - } - return ("_o(" + (genElement(el, state)) + "," + (state.onceId++) + "," + key + ")") - } else { - return genStatic(el, state) - } -} - -function genIf ( - el, - state, - altGen, - altEmpty -) { - el.ifProcessed = true; // avoid recursion - return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty) -} - -function genIfConditions ( - conditions, - state, - altGen, - altEmpty -) { - if (!conditions.length) { - return altEmpty || '_e()' - } - - var condition = conditions.shift(); - if (condition.exp) { - return ("(" + (condition.exp) + ")?" + (genTernaryExp(condition.block)) + ":" + (genIfConditions(conditions, state, altGen, altEmpty))) - } else { - return ("" + (genTernaryExp(condition.block))) - } - - // v-if with v-once should generate code like (a)?_m(0):_m(1) - function genTernaryExp (el) { - return altGen - ? altGen(el, state) - : el.once - ? genOnce(el, state) - : genElement(el, state) - } -} - -function genFor ( - el, - state, - altGen, - altHelper -) { - var exp = el.for; - var alias = el.alias; - var iterator1 = el.iterator1 ? ("," + (el.iterator1)) : ''; - var iterator2 = el.iterator2 ? ("," + (el.iterator2)) : ''; - - if ("development" !== 'production' && - state.maybeComponent(el) && - el.tag !== 'slot' && - el.tag !== 'template' && - !el.key - ) { - state.warn( - "<" + (el.tag) + " v-for=\"" + alias + " in " + exp + "\">: component lists rendered with " + - "v-for should have explicit keys. " + - "See https://vuejs.org/guide/list.html#key for more info.", - true /* tip */ - ); - } - - el.forProcessed = true; // avoid recursion - return (altHelper || '_l') + "((" + exp + ")," + - "function(" + alias + iterator1 + iterator2 + "){" + - "return " + ((altGen || genElement)(el, state)) + - '})' -} - -function genData$2 (el, state) { - var data = '{'; - - // directives first. - // directives may mutate the el's other properties before they are generated. - var dirs = genDirectives(el, state); - if (dirs) { data += dirs + ','; } - - // key - if (el.key) { - data += "key:" + (el.key) + ","; - } - // ref - if (el.ref) { - data += "ref:" + (el.ref) + ","; - } - if (el.refInFor) { - data += "refInFor:true,"; - } - // pre - if (el.pre) { - data += "pre:true,"; - } - // record original tag name for components using "is" attribute - if (el.component) { - data += "tag:\"" + (el.tag) + "\","; - } - // module data generation functions - for (var i = 0; i < state.dataGenFns.length; i++) { - data += state.dataGenFns[i](el); - } - // attributes - if (el.attrs) { - data += "attrs:{" + (genProps(el.attrs)) + "},"; - } - // DOM props - if (el.props) { - data += "domProps:{" + (genProps(el.props)) + "},"; - } - // event handlers - if (el.events) { - data += (genHandlers(el.events, false, state.warn)) + ","; - } - if (el.nativeEvents) { - data += (genHandlers(el.nativeEvents, true, state.warn)) + ","; - } - // slot target - // only for non-scoped slots - if (el.slotTarget && !el.slotScope) { - data += "slot:" + (el.slotTarget) + ","; - } - // scoped slots - if (el.scopedSlots) { - data += (genScopedSlots(el.scopedSlots, state)) + ","; - } - // component v-model - if (el.model) { - data += "model:{value:" + (el.model.value) + ",callback:" + (el.model.callback) + ",expression:" + (el.model.expression) + "},"; - } - // inline-template - if (el.inlineTemplate) { - var inlineTemplate = genInlineTemplate(el, state); - if (inlineTemplate) { - data += inlineTemplate + ","; - } - } - data = data.replace(/,$/, '') + '}'; - // v-bind data wrap - if (el.wrapData) { - data = el.wrapData(data); - } - // v-on data wrap - if (el.wrapListeners) { - data = el.wrapListeners(data); - } - return data -} - -function genDirectives (el, state) { - var dirs = el.directives; - if (!dirs) { return } - var res = 'directives:['; - var hasRuntime = false; - var i, l, dir, needRuntime; - for (i = 0, l = dirs.length; i < l; i++) { - dir = dirs[i]; - needRuntime = true; - var gen = state.directives[dir.name]; - if (gen) { - // compile-time directive that manipulates AST. - // returns true if it also needs a runtime counterpart. - needRuntime = !!gen(el, dir, state.warn); - } - if (needRuntime) { - hasRuntime = true; - res += "{name:\"" + (dir.name) + "\",rawName:\"" + (dir.rawName) + "\"" + (dir.value ? (",value:(" + (dir.value) + "),expression:" + (JSON.stringify(dir.value))) : '') + (dir.arg ? (",arg:\"" + (dir.arg) + "\"") : '') + (dir.modifiers ? (",modifiers:" + (JSON.stringify(dir.modifiers))) : '') + "},"; - } - } - if (hasRuntime) { - return res.slice(0, -1) + ']' - } -} - -function genInlineTemplate (el, state) { - var ast = el.children[0]; - if ("development" !== 'production' && ( - el.children.length !== 1 || ast.type !== 1 - )) { - state.warn('Inline-template components must have exactly one child element.'); - } - if (ast.type === 1) { - var inlineRenderFns = generate(ast, state.options); - return ("inlineTemplate:{render:function(){" + (inlineRenderFns.render) + "},staticRenderFns:[" + (inlineRenderFns.staticRenderFns.map(function (code) { return ("function(){" + code + "}"); }).join(',')) + "]}") - } -} - -function genScopedSlots ( - slots, - state -) { - return ("scopedSlots:_u([" + (Object.keys(slots).map(function (key) { - return genScopedSlot(key, slots[key], state) - }).join(',')) + "])") -} - -function genScopedSlot ( - key, - el, - state -) { - if (el.for && !el.forProcessed) { - return genForScopedSlot(key, el, state) - } - var fn = "function(" + (String(el.slotScope)) + "){" + - "return " + (el.tag === 'template' - ? el.if - ? ((el.if) + "?" + (genChildren(el, state) || 'undefined') + ":undefined") - : genChildren(el, state) || 'undefined' - : genElement(el, state)) + "}"; - return ("{key:" + key + ",fn:" + fn + "}") -} - -function genForScopedSlot ( - key, - el, - state -) { - var exp = el.for; - var alias = el.alias; - var iterator1 = el.iterator1 ? ("," + (el.iterator1)) : ''; - var iterator2 = el.iterator2 ? ("," + (el.iterator2)) : ''; - el.forProcessed = true; // avoid recursion - return "_l((" + exp + ")," + - "function(" + alias + iterator1 + iterator2 + "){" + - "return " + (genScopedSlot(key, el, state)) + - '})' -} - -function genChildren ( - el, - state, - checkSkip, - altGenElement, - altGenNode -) { - var children = el.children; - if (children.length) { - var el$1 = children[0]; - // optimize single v-for - if (children.length === 1 && - el$1.for && - el$1.tag !== 'template' && - el$1.tag !== 'slot' - ) { - return (altGenElement || genElement)(el$1, state) - } - var normalizationType = checkSkip - ? getNormalizationType(children, state.maybeComponent) - : 0; - var gen = altGenNode || genNode; - return ("[" + (children.map(function (c) { return gen(c, state); }).join(',')) + "]" + (normalizationType ? ("," + normalizationType) : '')) - } -} - -// determine the normalization needed for the children array. -// 0: no normalization needed -// 1: simple normalization needed (possible 1-level deep nested array) -// 2: full normalization needed -function getNormalizationType ( - children, - maybeComponent -) { - var res = 0; - for (var i = 0; i < children.length; i++) { - var el = children[i]; - if (el.type !== 1) { - continue - } - if (needsNormalization(el) || - (el.ifConditions && el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) { - res = 2; - break - } - if (maybeComponent(el) || - (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) { - res = 1; - } - } - return res -} - -function needsNormalization (el) { - return el.for !== undefined || el.tag === 'template' || el.tag === 'slot' -} - -function genNode (node, state) { - if (node.type === 1) { - return genElement(node, state) - } if (node.type === 3 && node.isComment) { - return genComment(node) - } else { - return genText(node) - } -} - -function genText (text) { - return ("_v(" + (text.type === 2 - ? text.expression // no need for () because already wrapped in _s() - : transformSpecialNewlines(JSON.stringify(text.text))) + ")") -} - -function genComment (comment) { - return ("_e(" + (JSON.stringify(comment.text)) + ")") -} - -function genSlot (el, state) { - var slotName = el.slotName || '"default"'; - var children = genChildren(el, state); - var res = "_t(" + slotName + (children ? ("," + children) : ''); - var attrs = el.attrs && ("{" + (el.attrs.map(function (a) { return ((camelize(a.name)) + ":" + (a.value)); }).join(',')) + "}"); - var bind$$1 = el.attrsMap['v-bind']; - if ((attrs || bind$$1) && !children) { - res += ",null"; - } - if (attrs) { - res += "," + attrs; - } - if (bind$$1) { - res += (attrs ? '' : ',null') + "," + bind$$1; - } - return res + ')' -} - -// componentName is el.component, take it as argument to shun flow's pessimistic refinement -function genComponent ( - componentName, - el, - state -) { - var children = el.inlineTemplate ? null : genChildren(el, state, true); - return ("_c(" + componentName + "," + (genData$2(el, state)) + (children ? ("," + children) : '') + ")") -} - -function genProps (props) { - var res = ''; - for (var i = 0; i < props.length; i++) { - var prop = props[i]; - /* istanbul ignore if */ - { - res += "\"" + (prop.name) + "\":" + (transformSpecialNewlines(prop.value)) + ","; - } - } - return res.slice(0, -1) -} - -// #3895, #4268 -function transformSpecialNewlines (text) { - return text - .replace(/\u2028/g, '\\u2028') - .replace(/\u2029/g, '\\u2029') -} - -/* */ - -// these keywords should not appear inside expressions, but operators like -// typeof, instanceof and in are allowed -var prohibitedKeywordRE = new RegExp('\\b' + ( - 'do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' + - 'super,throw,while,yield,delete,export,import,return,switch,default,' + - 'extends,finally,continue,debugger,function,arguments' -).split(',').join('\\b|\\b') + '\\b'); - -// these unary operators should not be used as property/method names -var unaryOperatorsRE = new RegExp('\\b' + ( - 'delete,typeof,void' -).split(',').join('\\s*\\([^\\)]*\\)|\\b') + '\\s*\\([^\\)]*\\)'); - -// strip strings in expressions -var stripStringRE = /'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`/g; - -// detect problematic expressions in a template -function detectErrors (ast) { - var errors = []; - if (ast) { - checkNode(ast, errors); - } - return errors -} - -function checkNode (node, errors) { - if (node.type === 1) { - for (var name in node.attrsMap) { - if (dirRE.test(name)) { - var value = node.attrsMap[name]; - if (value) { - if (name === 'v-for') { - checkFor(node, ("v-for=\"" + value + "\""), errors); - } else if (onRE.test(name)) { - checkEvent(value, (name + "=\"" + value + "\""), errors); - } else { - checkExpression(value, (name + "=\"" + value + "\""), errors); - } - } - } - } - if (node.children) { - for (var i = 0; i < node.children.length; i++) { - checkNode(node.children[i], errors); - } - } - } else if (node.type === 2) { - checkExpression(node.expression, node.text, errors); - } -} - -function checkEvent (exp, text, errors) { - var stipped = exp.replace(stripStringRE, ''); - var keywordMatch = stipped.match(unaryOperatorsRE); - if (keywordMatch && stipped.charAt(keywordMatch.index - 1) !== '$') { - errors.push( - "avoid using JavaScript unary operator as property name: " + - "\"" + (keywordMatch[0]) + "\" in expression " + (text.trim()) - ); - } - checkExpression(exp, text, errors); -} - -function checkFor (node, text, errors) { - checkExpression(node.for || '', text, errors); - checkIdentifier(node.alias, 'v-for alias', text, errors); - checkIdentifier(node.iterator1, 'v-for iterator', text, errors); - checkIdentifier(node.iterator2, 'v-for iterator', text, errors); -} - -function checkIdentifier ( - ident, - type, - text, - errors -) { - if (typeof ident === 'string') { - try { - new Function(("var " + ident + "=_")); - } catch (e) { - errors.push(("invalid " + type + " \"" + ident + "\" in expression: " + (text.trim()))); - } - } -} - -function checkExpression (exp, text, errors) { - try { - new Function(("return " + exp)); - } catch (e) { - var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE); - if (keywordMatch) { - errors.push( - "avoid using JavaScript keyword as property name: " + - "\"" + (keywordMatch[0]) + "\"\n Raw expression: " + (text.trim()) - ); - } else { - errors.push( - "invalid expression: " + (e.message) + " in\n\n" + - " " + exp + "\n\n" + - " Raw expression: " + (text.trim()) + "\n" - ); - } + return "_c(".concat(componentName, ",").concat(genData(el, state)).concat(children ? ",".concat(children) : '', ")"); + } + function genProps(props) { + var staticProps = ""; + var dynamicProps = ""; + for (var i = 0; i < props.length; i++) { + var prop = props[i]; + var value = transformSpecialNewlines(prop.value); + if (prop.dynamic) { + dynamicProps += "".concat(prop.name, ",").concat(value, ","); + } + else { + staticProps += "\"".concat(prop.name, "\":").concat(value, ","); + } + } + staticProps = "{".concat(staticProps.slice(0, -1), "}"); + if (dynamicProps) { + return "_d(".concat(staticProps, ",[").concat(dynamicProps.slice(0, -1), "])"); + } + else { + return staticProps; + } + } + // #3895, #4268 + function transformSpecialNewlines(text) { + return text.replace(/\u2028/g, '\\u2028').replace(/\u2029/g, '\\u2029'); + } + + // these keywords should not appear inside expressions, but operators like + // typeof, instanceof and in are allowed + var prohibitedKeywordRE = new RegExp('\\b' + + ('do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' + + 'super,throw,while,yield,delete,export,import,return,switch,default,' + + 'extends,finally,continue,debugger,function,arguments') + .split(',') + .join('\\b|\\b') + + '\\b'); + // these unary operators should not be used as property/method names + var unaryOperatorsRE = new RegExp('\\b' + + 'delete,typeof,void'.split(',').join('\\s*\\([^\\)]*\\)|\\b') + + '\\s*\\([^\\)]*\\)'); + // strip strings in expressions + var stripStringRE = /'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`/g; + // detect problematic expressions in a template + function detectErrors(ast, warn) { + if (ast) { + checkNode(ast, warn); + } + } + function checkNode(node, warn) { + if (node.type === 1) { + for (var name_1 in node.attrsMap) { + if (dirRE.test(name_1)) { + var value = node.attrsMap[name_1]; + if (value) { + var range = node.rawAttrsMap[name_1]; + if (name_1 === 'v-for') { + checkFor(node, "v-for=\"".concat(value, "\""), warn, range); + } + else if (name_1 === 'v-slot' || name_1[0] === '#') { + checkFunctionParameterExpression(value, "".concat(name_1, "=\"").concat(value, "\""), warn, range); + } + else if (onRE.test(name_1)) { + checkEvent(value, "".concat(name_1, "=\"").concat(value, "\""), warn, range); + } + else { + checkExpression(value, "".concat(name_1, "=\"").concat(value, "\""), warn, range); + } + } + } + } + if (node.children) { + for (var i = 0; i < node.children.length; i++) { + checkNode(node.children[i], warn); + } + } + } + else if (node.type === 2) { + checkExpression(node.expression, node.text, warn, node); + } } -} - -/* */ - -function createFunction (code, errors) { - try { - return new Function(code) - } catch (err) { - errors.push({ err: err, code: code }); - return noop + function checkEvent(exp, text, warn, range) { + var stripped = exp.replace(stripStringRE, ''); + var keywordMatch = stripped.match(unaryOperatorsRE); + if (keywordMatch && stripped.charAt(keywordMatch.index - 1) !== '$') { + warn("avoid using JavaScript unary operator as property name: " + + "\"".concat(keywordMatch[0], "\" in expression ").concat(text.trim()), range); + } + checkExpression(exp, text, warn, range); + } + function checkFor(node, text, warn, range) { + checkExpression(node.for || '', text, warn, range); + checkIdentifier(node.alias, 'v-for alias', text, warn, range); + checkIdentifier(node.iterator1, 'v-for iterator', text, warn, range); + checkIdentifier(node.iterator2, 'v-for iterator', text, warn, range); + } + function checkIdentifier(ident, type, text, warn, range) { + if (typeof ident === 'string') { + try { + new Function("var ".concat(ident, "=_")); + } + catch (e) { + warn("invalid ".concat(type, " \"").concat(ident, "\" in expression: ").concat(text.trim()), range); + } + } + } + function checkExpression(exp, text, warn, range) { + try { + new Function("return ".concat(exp)); + } + catch (e) { + var keywordMatch = exp + .replace(stripStringRE, '') + .match(prohibitedKeywordRE); + if (keywordMatch) { + warn("avoid using JavaScript keyword as property name: " + + "\"".concat(keywordMatch[0], "\"\n Raw expression: ").concat(text.trim()), range); + } + else { + warn("invalid expression: ".concat(e.message, " in\n\n") + + " ".concat(exp, "\n\n") + + " Raw expression: ".concat(text.trim(), "\n"), range); + } + } + } + function checkFunctionParameterExpression(exp, text, warn, range) { + try { + new Function(exp, ''); + } + catch (e) { + warn("invalid function parameter expression: ".concat(e.message, " in\n\n") + + " ".concat(exp, "\n\n") + + " Raw expression: ".concat(text.trim(), "\n"), range); + } + } + + var range = 2; + function generateCodeFrame(source, start, end) { + if (start === void 0) { start = 0; } + if (end === void 0) { end = source.length; } + var lines = source.split(/\r?\n/); + var count = 0; + var res = []; + for (var i = 0; i < lines.length; i++) { + count += lines[i].length + 1; + if (count >= start) { + for (var j = i - range; j <= i + range || end > count; j++) { + if (j < 0 || j >= lines.length) + continue; + res.push("".concat(j + 1).concat(repeat(" ", 3 - String(j + 1).length), "| ").concat(lines[j])); + var lineLength = lines[j].length; + if (j === i) { + // push underline + var pad = start - (count - lineLength) + 1; + var length_1 = end > count ? lineLength - pad : end - start; + res.push(" | " + repeat(" ", pad) + repeat("^", length_1)); + } + else if (j > i) { + if (end > count) { + var length_2 = Math.min(end - count, lineLength); + res.push(" | " + repeat("^", length_2)); + } + count += lineLength + 1; + } + } + break; + } + } + return res.join('\n'); + } + function repeat(str, n) { + var result = ''; + if (n > 0) { + // eslint-disable-next-line no-constant-condition + while (true) { + // eslint-disable-line + if (n & 1) + result += str; + n >>>= 1; + if (n <= 0) + break; + str += str; + } + } + return result; } -} - -function createCompileToFunctionFn (compile) { - var cache = Object.create(null); - - return function compileToFunctions ( - template, - options, - vm - ) { - options = extend({}, options); - var warn$$1 = options.warn || warn; - delete options.warn; - /* istanbul ignore if */ - { - // detect possible CSP restriction + function createFunction(code, errors) { try { - new Function('return 1'); - } catch (e) { - if (e.toString().match(/unsafe-eval|CSP/)) { - warn$$1( - 'It seems you are using the standalone build of Vue.js in an ' + - 'environment with Content Security Policy that prohibits unsafe-eval. ' + - 'The template compiler cannot work in this environment. Consider ' + - 'relaxing the policy to allow unsafe-eval or pre-compiling your ' + - 'templates into render functions.' - ); - } - } - } - - // check cache - var key = options.delimiters - ? String(options.delimiters) + template - : template; - if (cache[key]) { - return cache[key] - } - - // compile - var compiled = compile(template, options); - - // check compilation errors/tips - { - if (compiled.errors && compiled.errors.length) { - warn$$1( - "Error compiling template:\n\n" + template + "\n\n" + - compiled.errors.map(function (e) { return ("- " + e); }).join('\n') + '\n', - vm - ); - } - if (compiled.tips && compiled.tips.length) { - compiled.tips.forEach(function (msg) { return tip(msg, vm); }); - } - } - - // turn code into functions - var res = {}; - var fnGenErrors = []; - res.render = createFunction(compiled.render, fnGenErrors); - res.staticRenderFns = compiled.staticRenderFns.map(function (code) { - return createFunction(code, fnGenErrors) - }); - - // check function generation errors. - // this should only happen if there is a bug in the compiler itself. - // mostly for codegen development use - /* istanbul ignore if */ - { - if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) { - warn$$1( - "Failed to generate render function:\n\n" + - fnGenErrors.map(function (ref) { - var err = ref.err; - var code = ref.code; - - return ((err.toString()) + " in\n\n" + code + "\n"); - }).join('\n'), - vm - ); - } - } - - return (cache[key] = res) - } -} - -/* */ - -function createCompilerCreator (baseCompile) { - return function createCompiler (baseOptions) { - function compile ( - template, - options - ) { - var finalOptions = Object.create(baseOptions); - var errors = []; - var tips = []; - finalOptions.warn = function (msg, tip) { - (tip ? tips : errors).push(msg); + return new Function(code); + } + catch (err) { + errors.push({ err: err, code: code }); + return noop; + } + } + function createCompileToFunctionFn(compile) { + var cache = Object.create(null); + return function compileToFunctions(template, options, vm) { + options = extend({}, options); + var warn = options.warn || warn$2; + delete options.warn; + /* istanbul ignore if */ + { + // detect possible CSP restriction + try { + new Function('return 1'); + } + catch (e) { + if (e.toString().match(/unsafe-eval|CSP/)) { + warn('It seems you are using the standalone build of Vue.js in an ' + + 'environment with Content Security Policy that prohibits unsafe-eval. ' + + 'The template compiler cannot work in this environment. Consider ' + + 'relaxing the policy to allow unsafe-eval or pre-compiling your ' + + 'templates into render functions.'); + } + } + } + // check cache + var key = options.delimiters + ? String(options.delimiters) + template + : template; + if (cache[key]) { + return cache[key]; + } + // compile + var compiled = compile(template, options); + // check compilation errors/tips + { + if (compiled.errors && compiled.errors.length) { + if (options.outputSourceRange) { + compiled.errors.forEach(function (e) { + warn("Error compiling template:\n\n".concat(e.msg, "\n\n") + + generateCodeFrame(template, e.start, e.end), vm); + }); + } + else { + warn("Error compiling template:\n\n".concat(template, "\n\n") + + compiled.errors.map(function (e) { return "- ".concat(e); }).join('\n') + + '\n', vm); + } + } + if (compiled.tips && compiled.tips.length) { + if (options.outputSourceRange) { + compiled.tips.forEach(function (e) { return tip(e.msg, vm); }); + } + else { + compiled.tips.forEach(function (msg) { return tip(msg, vm); }); + } + } + } + // turn code into functions + var res = {}; + var fnGenErrors = []; + res.render = createFunction(compiled.render, fnGenErrors); + res.staticRenderFns = compiled.staticRenderFns.map(function (code) { + return createFunction(code, fnGenErrors); + }); + // check function generation errors. + // this should only happen if there is a bug in the compiler itself. + // mostly for codegen development use + /* istanbul ignore if */ + { + if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) { + warn("Failed to generate render function:\n\n" + + fnGenErrors + .map(function (_a) { + var err = _a.err, code = _a.code; + return "".concat(err.toString(), " in\n\n").concat(code, "\n"); + }) + .join('\n'), vm); + } + } + return (cache[key] = res); }; + } - if (options) { - // merge custom modules - if (options.modules) { - finalOptions.modules = - (baseOptions.modules || []).concat(options.modules); - } - // merge custom directives - if (options.directives) { - finalOptions.directives = extend( - Object.create(baseOptions.directives || null), - options.directives - ); - } - // copy other options - for (var key in options) { - if (key !== 'modules' && key !== 'directives') { - finalOptions[key] = options[key]; + function createCompilerCreator(baseCompile) { + return function createCompiler(baseOptions) { + function compile(template, options) { + var finalOptions = Object.create(baseOptions); + var errors = []; + var tips = []; + var warn = function (msg, range, tip) { + (tip ? tips : errors).push(msg); + }; + if (options) { + if (options.outputSourceRange) { + // $flow-disable-line + var leadingSpaceLength_1 = template.match(/^\s*/)[0].length; + warn = function (msg, range, tip) { + var data = typeof msg === 'string' ? { msg: msg } : msg; + if (range) { + if (range.start != null) { + data.start = range.start + leadingSpaceLength_1; + } + if (range.end != null) { + data.end = range.end + leadingSpaceLength_1; + } + } + (tip ? tips : errors).push(data); + }; + } + // merge custom modules + if (options.modules) { + finalOptions.modules = (baseOptions.modules || []).concat(options.modules); + } + // merge custom directives + if (options.directives) { + finalOptions.directives = extend(Object.create(baseOptions.directives || null), options.directives); + } + // copy other options + for (var key in options) { + if (key !== 'modules' && key !== 'directives') { + finalOptions[key] = options[key]; + } + } + } + finalOptions.warn = warn; + var compiled = baseCompile(template.trim(), finalOptions); + { + detectErrors(compiled.ast, warn); + } + compiled.errors = errors; + compiled.tips = tips; + return compiled; } - } - } - - var compiled = baseCompile(template, finalOptions); - { - errors.push.apply(errors, detectErrors(compiled.ast)); - } - compiled.errors = errors; - compiled.tips = tips; - return compiled - } - - return { - compile: compile, - compileToFunctions: createCompileToFunctionFn(compile) - } - } -} - -/* */ - -// `createCompilerCreator` allows creating compilers that use alternative -// parser/optimizer/codegen, e.g the SSR optimizing compiler. -// Here we just export a default compiler using the default parts. -var createCompiler = createCompilerCreator(function baseCompile ( - template, - options -) { - var ast = parse(template.trim(), options); - if (options.optimize !== false) { - optimize(ast, options); - } - var code = generate(ast, options); - return { - ast: ast, - render: code.render, - staticRenderFns: code.staticRenderFns - } -}); - -/* */ - -var ref$1 = createCompiler(baseOptions); -var compileToFunctions = ref$1.compileToFunctions; - -/* */ - -// check whether current browser encodes a char inside attribute values -var div; -function getShouldDecode (href) { - div = div || document.createElement('div'); - div.innerHTML = href ? "<a href=\"\n\"/>" : "<div a=\"\n\"/>"; - return div.innerHTML.indexOf(' ') > 0 -} - -// #3663: IE encodes newlines inside attribute values while other browsers don't -var shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false; -// #6828: chrome encodes content in a[href] -var shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false; - -/* */ - -var idToTemplate = cached(function (id) { - var el = query(id); - return el && el.innerHTML -}); - -var mount = Vue$3.prototype.$mount; -Vue$3.prototype.$mount = function ( - el, - hydrating -) { - el = el && query(el); + return { + compile: compile, + compileToFunctions: createCompileToFunctionFn(compile) + }; + }; + } - /* istanbul ignore if */ - if (el === document.body || el === document.documentElement) { - "development" !== 'production' && warn( - "Do not mount Vue to <html> or <body> - mount to normal elements instead." - ); - return this - } - - var options = this.$options; - // resolve template/el and convert to render function - if (!options.render) { - var template = options.template; - if (template) { - if (typeof template === 'string') { - if (template.charAt(0) === '#') { - template = idToTemplate(template); - /* istanbul ignore if */ - if ("development" !== 'production' && !template) { - warn( - ("Template element not found or is empty: " + (options.template)), - this - ); - } - } - } else if (template.nodeType) { - template = template.innerHTML; - } else { - { - warn('invalid template option:' + template, this); - } - return this - } - } else if (el) { - template = getOuterHTML(el); - } - if (template) { - /* istanbul ignore if */ - if ("development" !== 'production' && config.performance && mark) { - mark('compile'); + // `createCompilerCreator` allows creating compilers that use alternative + // parser/optimizer/codegen, e.g the SSR optimizing compiler. + // Here we just export a default compiler using the default parts. + var createCompiler = createCompilerCreator(function baseCompile(template, options) { + var ast = parse(template.trim(), options); + if (options.optimize !== false) { + optimize(ast, options); } + var code = generate(ast, options); + return { + ast: ast, + render: code.render, + staticRenderFns: code.staticRenderFns + }; + }); - var ref = compileToFunctions(template, { - shouldDecodeNewlines: shouldDecodeNewlines, - shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref, - delimiters: options.delimiters, - comments: options.comments - }, this); - var render = ref.render; - var staticRenderFns = ref.staticRenderFns; - options.render = render; - options.staticRenderFns = staticRenderFns; - + var _a = createCompiler(baseOptions), compileToFunctions = _a.compileToFunctions; + + // check whether current browser encodes a char inside attribute values + var div; + function getShouldDecode(href) { + div = div || document.createElement('div'); + div.innerHTML = href ? "<a href=\"\n\"/>" : "<div a=\"\n\"/>"; + return div.innerHTML.indexOf(' ') > 0; + } + // #3663: IE encodes newlines inside attribute values while other browsers don't + var shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false; + // #6828: chrome encodes content in a[href] + var shouldDecodeNewlinesForHref = inBrowser + ? getShouldDecode(true) + : false; + + var idToTemplate = cached(function (id) { + var el = query(id); + return el && el.innerHTML; + }); + var mount = Vue.prototype.$mount; + Vue.prototype.$mount = function (el, hydrating) { + el = el && query(el); /* istanbul ignore if */ - if ("development" !== 'production' && config.performance && mark) { - mark('compile end'); - measure(("vue " + (this._name) + " compile"), 'compile', 'compile end'); + if (el === document.body || el === document.documentElement) { + warn$2("Do not mount Vue to <html> or <body> - mount to normal elements instead."); + return this; + } + var options = this.$options; + // resolve template/el and convert to render function + if (!options.render) { + var template = options.template; + if (template) { + if (typeof template === 'string') { + if (template.charAt(0) === '#') { + template = idToTemplate(template); + /* istanbul ignore if */ + if (!template) { + warn$2("Template element not found or is empty: ".concat(options.template), this); + } + } + } + else if (template.nodeType) { + template = template.innerHTML; + } + else { + { + warn$2('invalid template option:' + template, this); + } + return this; + } + } + else if (el) { + // @ts-expect-error + template = getOuterHTML(el); + } + if (template) { + /* istanbul ignore if */ + if (config.performance && mark) { + mark('compile'); + } + var _a = compileToFunctions(template, { + outputSourceRange: true, + shouldDecodeNewlines: shouldDecodeNewlines, + shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref, + delimiters: options.delimiters, + comments: options.comments + }, this), render = _a.render, staticRenderFns = _a.staticRenderFns; + options.render = render; + options.staticRenderFns = staticRenderFns; + /* istanbul ignore if */ + if (config.performance && mark) { + mark('compile end'); + measure("vue ".concat(this._name, " compile"), 'compile', 'compile end'); + } + } + } + return mount.call(this, el, hydrating); + }; + /** + * Get outerHTML of elements, taking care + * of SVG elements in IE as well. + */ + function getOuterHTML(el) { + if (el.outerHTML) { + return el.outerHTML; + } + else { + var container = document.createElement('div'); + container.appendChild(el.cloneNode(true)); + return container.innerHTML; } - } } - return mount.call(this, el, hydrating) -}; + Vue.compile = compileToFunctions; -/** - * Get outerHTML of elements, taking care - * of SVG elements in IE as well. - */ -function getOuterHTML (el) { - if (el.outerHTML) { - return el.outerHTML - } else { - var container = document.createElement('div'); - container.appendChild(el.cloneNode(true)); - return container.innerHTML + // export type EffectScheduler = (...args: any[]) => any + /** + * @internal since we are not exposing this in Vue 2, it's used only for + * internal testing. + */ + function effect(fn, scheduler) { + var watcher = new Watcher(currentInstance, fn, noop, { + sync: true + }); + if (scheduler) { + watcher.update = function () { + scheduler(function () { return watcher.run(); }); + }; + } } -} -Vue$3.compile = compileToFunctions; + extend(Vue, vca); + Vue.effect = effect; -return Vue$3; + return Vue; -}))); +})); diff --git a/themes/vue/source/js/vue.min.js b/themes/vue/source/js/vue.min.js index 836793b4ca..efebcc61f5 100644 --- a/themes/vue/source/js/vue.min.js +++ b/themes/vue/source/js/vue.min.js @@ -1,6 +1,11 @@ /*! - * Vue.js v2.5.13 - * (c) 2014-2017 Evan You + * Vue.js v2.7.14 + * (c) 2014-2022 Evan You * Released under the MIT License. */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.Vue=e()}(this,function(){"use strict";function t(t){return void 0===t||null===t}function e(t){return void 0!==t&&null!==t}function n(t){return!0===t}function r(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function i(t){return null!==t&&"object"==typeof t}function o(t){return"[object Object]"===Nn.call(t)}function a(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function s(t){return null==t?"":"object"==typeof t?JSON.stringify(t,null,2):String(t)}function c(t){var e=parseFloat(t);return isNaN(e)?t:e}function u(t,e){for(var n=Object.create(null),r=t.split(","),i=0;i<r.length;i++)n[r[i]]=!0;return e?function(t){return n[t.toLowerCase()]}:function(t){return n[t]}}function l(t,e){if(t.length){var n=t.indexOf(e);if(n>-1)return t.splice(n,1)}}function f(t,e){return Mn.call(t,e)}function p(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}function d(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function v(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function h(t,e){for(var n in e)t[n]=e[n];return t}function m(t){for(var e={},n=0;n<t.length;n++)t[n]&&h(e,t[n]);return e}function y(t,e,n){}function g(t,e){if(t===e)return!0;var n=i(t),r=i(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{var o=Array.isArray(t),a=Array.isArray(e);if(o&&a)return t.length===e.length&&t.every(function(t,n){return g(t,e[n])});if(o||a)return!1;var s=Object.keys(t),c=Object.keys(e);return s.length===c.length&&s.every(function(n){return g(t[n],e[n])})}catch(t){return!1}}function _(t,e){for(var n=0;n<t.length;n++)if(g(t[n],e))return n;return-1}function b(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}function $(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}function C(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function w(t){return"function"==typeof t&&/native code/.test(t.toString())}function x(t){return new mr(void 0,void 0,void 0,String(t))}function k(t,e){var n=t.componentOptions,r=new mr(t.tag,t.data,t.children,t.text,t.elm,t.context,n,t.asyncFactory);return r.ns=t.ns,r.isStatic=t.isStatic,r.key=t.key,r.isComment=t.isComment,r.fnContext=t.fnContext,r.fnOptions=t.fnOptions,r.fnScopeId=t.fnScopeId,r.isCloned=!0,e&&(t.children&&(r.children=A(t.children,!0)),n&&n.children&&(n.children=A(n.children,!0))),r}function A(t,e){for(var n=t.length,r=new Array(n),i=0;i<n;i++)r[i]=k(t[i],e);return r}function O(t,e,n){t.__proto__=e}function S(t,e,n){for(var r=0,i=n.length;r<i;r++){var o=n[r];C(t,o,e[o])}}function T(t,e){if(i(t)&&!(t instanceof mr)){var n;return f(t,"__ob__")&&t.__ob__ instanceof wr?n=t.__ob__:Cr.shouldConvert&&!ur()&&(Array.isArray(t)||o(t))&&Object.isExtensible(t)&&!t._isVue&&(n=new wr(t)),e&&n&&n.vmCount++,n}}function E(t,e,n,r,i){var o=new vr,a=Object.getOwnPropertyDescriptor(t,e);if(!a||!1!==a.configurable){var s=a&&a.get,c=a&&a.set,u=!i&&T(n);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(t):n;return vr.target&&(o.depend(),u&&(u.dep.depend(),Array.isArray(e)&&I(e))),e},set:function(e){var r=s?s.call(t):n;e===r||e!=e&&r!=r||(c?c.call(t,e):n=e,u=!i&&T(e),o.notify())}})}}function j(t,e,n){if(Array.isArray(t)&&a(e))return t.length=Math.max(t.length,e),t.splice(e,1,n),n;if(e in t&&!(e in Object.prototype))return t[e]=n,n;var r=t.__ob__;return t._isVue||r&&r.vmCount?n:r?(E(r.value,e,n),r.dep.notify(),n):(t[e]=n,n)}function N(t,e){if(Array.isArray(t)&&a(e))t.splice(e,1);else{var n=t.__ob__;t._isVue||n&&n.vmCount||f(t,e)&&(delete t[e],n&&n.dep.notify())}}function I(t){for(var e=void 0,n=0,r=t.length;n<r;n++)(e=t[n])&&e.__ob__&&e.__ob__.dep.depend(),Array.isArray(e)&&I(e)}function L(t,e){if(!e)return t;for(var n,r,i,a=Object.keys(e),s=0;s<a.length;s++)r=t[n=a[s]],i=e[n],f(t,n)?o(r)&&o(i)&&L(r,i):j(t,n,i);return t}function M(t,e,n){return n?function(){var r="function"==typeof e?e.call(n,n):e,i="function"==typeof t?t.call(n,n):t;return r?L(r,i):i}:e?t?function(){return L("function"==typeof e?e.call(this,this):e,"function"==typeof t?t.call(this,this):t)}:e:t}function D(t,e){return e?t?t.concat(e):Array.isArray(e)?e:[e]:t}function P(t,e,n,r){var i=Object.create(t||null);return e?h(i,e):i}function F(t,e,n){function r(r){var i=xr[r]||Or;u[r]=i(t[r],e[r],n,r)}"function"==typeof e&&(e=e.options),function(t,e){var n=t.props;if(n){var r,i,a={};if(Array.isArray(n))for(r=n.length;r--;)"string"==typeof(i=n[r])&&(a[Pn(i)]={type:null});else if(o(n))for(var s in n)i=n[s],a[Pn(s)]=o(i)?i:{type:i};t.props=a}}(e),function(t,e){var n=t.inject;if(n){var r=t.inject={};if(Array.isArray(n))for(var i=0;i<n.length;i++)r[n[i]]={from:n[i]};else if(o(n))for(var a in n){var s=n[a];r[a]=o(s)?h({from:a},s):{from:s}}}}(e),function(t){var e=t.directives;if(e)for(var n in e){var r=e[n];"function"==typeof r&&(e[n]={bind:r,update:r})}}(e);var i=e.extends;if(i&&(t=F(t,i,n)),e.mixins)for(var a=0,s=e.mixins.length;a<s;a++)t=F(t,e.mixins[a],n);var c,u={};for(c in t)r(c);for(c in e)f(t,c)||r(c);return u}function R(t,e,n,r){if("string"==typeof n){var i=t[e];if(f(i,n))return i[n];var o=Pn(n);if(f(i,o))return i[o];var a=Fn(o);if(f(i,a))return i[a];return i[n]||i[o]||i[a]}}function H(t,e,n,r){var i=e[t],o=!f(n,t),a=n[t];if(U(Boolean,i.type)&&(o&&!f(i,"default")?a=!1:U(String,i.type)||""!==a&&a!==Hn(t)||(a=!0)),void 0===a){a=function(t,e,n){if(!f(e,"default"))return;var r=e.default;if(t&&t.$options.propsData&&void 0===t.$options.propsData[n]&&void 0!==t._props[n])return t._props[n];return"function"==typeof r&&"Function"!==B(e.type)?r.call(t):r}(r,i,t);var s=Cr.shouldConvert;Cr.shouldConvert=!0,T(a),Cr.shouldConvert=s}return a}function B(t){var e=t&&t.toString().match(/^\s*function (\w+)/);return e?e[1]:""}function U(t,e){if(!Array.isArray(e))return B(e)===B(t);for(var n=0,r=e.length;n<r;n++)if(B(e[n])===B(t))return!0;return!1}function V(t,e,n){if(e)for(var r=e;r=r.$parent;){var i=r.$options.errorCaptured;if(i)for(var o=0;o<i.length;o++)try{if(!1===i[o].call(r,t,e,n))return}catch(t){z(t,r,"errorCaptured hook")}}z(t,e,n)}function z(t,e,n){if(Jn.errorHandler)try{return Jn.errorHandler.call(null,t,e,n)}catch(t){K(t,null,"config.errorHandler")}K(t,e,n)}function K(t,e,n){if(!Gn&&!Zn||"undefined"==typeof console)throw t;console.error(t)}function J(){Tr=!1;var t=Sr.slice(0);Sr.length=0;for(var e=0;e<t.length;e++)t[e]()}function q(t,e){var n;if(Sr.push(function(){if(t)try{t.call(e)}catch(t){V(t,e,"nextTick")}else n&&n(e)}),Tr||(Tr=!0,Er?Ar():kr()),!t&&"undefined"!=typeof Promise)return new Promise(function(t){n=t})}function W(t){G(t,Mr),Mr.clear()}function G(t,e){var n,r,o=Array.isArray(t);if((o||i(t))&&!Object.isFrozen(t)){if(t.__ob__){var a=t.__ob__.dep.id;if(e.has(a))return;e.add(a)}if(o)for(n=t.length;n--;)G(t[n],e);else for(n=(r=Object.keys(t)).length;n--;)G(t[r[n]],e)}}function Z(t){function e(){var t=arguments,n=e.fns;if(!Array.isArray(n))return n.apply(null,arguments);for(var r=n.slice(),i=0;i<r.length;i++)r[i].apply(null,t)}return e.fns=t,e}function X(e,n,r,i,o){var a,s,c,u;for(a in e)s=e[a],c=n[a],u=Dr(a),t(s)||(t(c)?(t(s.fns)&&(s=e[a]=Z(s)),r(u.name,s,u.once,u.capture,u.passive,u.params)):s!==c&&(c.fns=s,e[a]=c));for(a in n)t(e[a])&&i((u=Dr(a)).name,n[a],u.capture)}function Y(r,i,o){function a(){o.apply(this,arguments),l(s.fns,a)}r instanceof mr&&(r=r.data.hook||(r.data.hook={}));var s,c=r[i];t(c)?s=Z([a]):e(c.fns)&&n(c.merged)?(s=c).fns.push(a):s=Z([c,a]),s.merged=!0,r[i]=s}function Q(t,n,r,i,o){if(e(n)){if(f(n,r))return t[r]=n[r],o||delete n[r],!0;if(f(n,i))return t[r]=n[i],o||delete n[i],!0}return!1}function tt(t){return e(t)&&e(t.text)&&function(t){return!1===t}(t.isComment)}function et(i,o){var a,s,c,u,l=[];for(a=0;a<i.length;a++)t(s=i[a])||"boolean"==typeof s||(u=l[c=l.length-1],Array.isArray(s)?s.length>0&&(tt((s=et(s,(o||"")+"_"+a))[0])&&tt(u)&&(l[c]=x(u.text+s[0].text),s.shift()),l.push.apply(l,s)):r(s)?tt(u)?l[c]=x(u.text+s):""!==s&&l.push(x(s)):tt(s)&&tt(u)?l[c]=x(u.text+s.text):(n(i._isVList)&&e(s.tag)&&t(s.key)&&e(o)&&(s.key="__vlist"+o+"_"+a+"__"),l.push(s)));return l}function nt(t,e){return(t.__esModule||fr&&"Module"===t[Symbol.toStringTag])&&(t=t.default),i(t)?e.extend(t):t}function rt(t){return t.isComment&&t.asyncFactory}function it(t){if(Array.isArray(t))for(var n=0;n<t.length;n++){var r=t[n];if(e(r)&&(e(r.componentOptions)||rt(r)))return r}}function ot(t,e,n){n?Lr.$once(t,e):Lr.$on(t,e)}function at(t,e){Lr.$off(t,e)}function st(t,e,n){Lr=t,X(e,n||{},ot,at),Lr=void 0}function ct(t,e){var n={};if(!t)return n;for(var r=0,i=t.length;r<i;r++){var o=t[r],a=o.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,o.context!==e&&o.fnContext!==e||!a||null==a.slot)(n.default||(n.default=[])).push(o);else{var s=a.slot,c=n[s]||(n[s]=[]);"template"===o.tag?c.push.apply(c,o.children||[]):c.push(o)}}for(var u in n)n[u].every(ut)&&delete n[u];return n}function ut(t){return t.isComment&&!t.asyncFactory||" "===t.text}function lt(t,e){e=e||{};for(var n=0;n<t.length;n++)Array.isArray(t[n])?lt(t[n],e):e[t[n].key]=t[n].fn;return e}function ft(t){for(;t&&(t=t.$parent);)if(t._inactive)return!0;return!1}function pt(t,e){if(e){if(t._directInactive=!1,ft(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var n=0;n<t.$children.length;n++)pt(t.$children[n]);vt(t,"activated")}}function dt(t,e){if(!(e&&(t._directInactive=!0,ft(t))||t._inactive)){t._inactive=!0;for(var n=0;n<t.$children.length;n++)dt(t.$children[n]);vt(t,"deactivated")}}function vt(t,e){var n=t.$options[e];if(n)for(var r=0,i=n.length;r<i;r++)try{n[r].call(t)}catch(n){V(n,t,e+" hook")}t._hasHookEvent&&t.$emit("hook:"+e)}function ht(){Ur=!0;var t,e;for(Fr.sort(function(t,e){return t.id-e.id}),Vr=0;Vr<Fr.length;Vr++)e=(t=Fr[Vr]).id,Hr[e]=null,t.run();var n=Rr.slice(),r=Fr.slice();Vr=Fr.length=Rr.length=0,Hr={},Br=Ur=!1,function(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,pt(t[e],!0)}(n),function(t){var e=t.length;for(;e--;){var n=t[e],r=n.vm;r._watcher===n&&r._isMounted&&vt(r,"updated")}}(r),lr&&Jn.devtools&&lr.emit("flush")}function mt(t,e,n){Jr.get=function(){return this[e][n]},Jr.set=function(t){this[e][n]=t},Object.defineProperty(t,n,Jr)}function yt(t){t._watchers=[];var e=t.$options;e.props&&function(t,e){var n=t.$options.propsData||{},r=t._props={},i=t.$options._propKeys=[],o=!t.$parent;Cr.shouldConvert=o;var a=function(o){i.push(o);var a=H(o,e,n,t);E(r,o,a),o in t||mt(t,"_props",o)};for(var s in e)a(s);Cr.shouldConvert=!0}(t,e.props),e.methods&&function(t,e){t.$options.props;for(var n in e)t[n]=null==e[n]?y:d(e[n],t)}(t,e.methods),e.data?function(t){var e=t.$options.data;e=t._data="function"==typeof e?function(t,e){try{return t.call(e,e)}catch(t){return V(t,e,"data()"),{}}}(e,t):e||{},o(e)||(e={});var n=Object.keys(e),r=t.$options.props,i=(t.$options.methods,n.length);for(;i--;){var a=n[i];r&&f(r,a)||$(a)||mt(t,"_data",a)}T(e,!0)}(t):T(t._data={},!0),e.computed&&function(t,e){var n=t._computedWatchers=Object.create(null),r=ur();for(var i in e){var o=e[i],a="function"==typeof o?o:o.get;r||(n[i]=new Kr(t,a||y,y,qr)),i in t||gt(t,i,o)}}(t,e.computed),e.watch&&e.watch!==ir&&function(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var i=0;i<r.length;i++)bt(t,n,r[i]);else bt(t,n,r)}}(t,e.watch)}function gt(t,e,n){var r=!ur();"function"==typeof n?(Jr.get=r?_t(e):n,Jr.set=y):(Jr.get=n.get?r&&!1!==n.cache?_t(e):n.get:y,Jr.set=n.set?n.set:y),Object.defineProperty(t,e,Jr)}function _t(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),vr.target&&e.depend(),e.value}}function bt(t,e,n,r){return o(n)&&(r=n,n=n.handler),"string"==typeof n&&(n=t[n]),t.$watch(e,n,r)}function $t(t,e){if(t){for(var n=Object.create(null),r=fr?Reflect.ownKeys(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}):Object.keys(t),i=0;i<r.length;i++){for(var o=r[i],a=t[o].from,s=e;s;){if(s._provided&&a in s._provided){n[o]=s._provided[a];break}s=s.$parent}if(!s&&"default"in t[o]){var c=t[o].default;n[o]="function"==typeof c?c.call(e):c}}return n}}function Ct(t,n){var r,o,a,s,c;if(Array.isArray(t)||"string"==typeof t)for(r=new Array(t.length),o=0,a=t.length;o<a;o++)r[o]=n(t[o],o);else if("number"==typeof t)for(r=new Array(t),o=0;o<t;o++)r[o]=n(o+1,o);else if(i(t))for(s=Object.keys(t),r=new Array(s.length),o=0,a=s.length;o<a;o++)c=s[o],r[o]=n(t[c],c,o);return e(r)&&(r._isVList=!0),r}function wt(t,e,n,r){var i,o=this.$scopedSlots[t];if(o)n=n||{},r&&(n=h(h({},r),n)),i=o(n)||e;else{var a=this.$slots[t];a&&(a._rendered=!0),i=a||e}var s=n&&n.slot;return s?this.$createElement("template",{slot:s},i):i}function xt(t){return R(this.$options,"filters",t)||Un}function kt(t,e,n,r){var i=Jn.keyCodes[e]||n;return i?Array.isArray(i)?-1===i.indexOf(t):i!==t:r?Hn(r)!==e:void 0}function At(t,e,n,r,o){if(n)if(i(n)){Array.isArray(n)&&(n=m(n));var a,s=function(i){if("class"===i||"style"===i||Ln(i))a=t;else{var s=t.attrs&&t.attrs.type;a=r||Jn.mustUseProp(e,s,i)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}if(!(i in a)&&(a[i]=n[i],o)){(t.on||(t.on={}))["update:"+i]=function(t){n[i]=t}}};for(var c in n)s(c)}else;return t}function Ot(t,e){var n=this._staticTrees||(this._staticTrees=[]),r=n[t];return r&&!e?Array.isArray(r)?A(r):k(r):(r=n[t]=this.$options.staticRenderFns[t].call(this._renderProxy,null,this),Tt(r,"__static__"+t,!1),r)}function St(t,e,n){return Tt(t,"__once__"+e+(n?"_"+n:""),!0),t}function Tt(t,e,n){if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]&&"string"!=typeof t[r]&&Et(t[r],e+"_"+r,n);else Et(t,e,n)}function Et(t,e,n){t.isStatic=!0,t.key=e,t.isOnce=n}function jt(t,e){if(e)if(o(e)){var n=t.on=t.on?h({},t.on):{};for(var r in e){var i=n[r],a=e[r];n[r]=i?[].concat(i,a):a}}else;return t}function Nt(t){t._o=St,t._n=c,t._s=s,t._l=Ct,t._t=wt,t._q=g,t._i=_,t._m=Ot,t._f=xt,t._k=kt,t._b=At,t._v=x,t._e=gr,t._u=lt,t._g=jt}function It(t,e,r,i,o){var a=o.options;this.data=t,this.props=e,this.children=r,this.parent=i,this.listeners=t.on||jn,this.injections=$t(a.inject,i),this.slots=function(){return ct(r,i)};var s=Object.create(i),c=n(a._compiled),u=!c;c&&(this.$options=a,this.$slots=this.slots(),this.$scopedSlots=t.scopedSlots||jn),a._scopeId?this._c=function(t,e,n,r){var o=Dt(s,t,e,n,r,u);return o&&(o.fnScopeId=a._scopeId,o.fnContext=i),o}:this._c=function(t,e,n,r){return Dt(s,t,e,n,r,u)}}function Lt(t,e){for(var n in e)t[Pn(n)]=e[n]}function Mt(r,o,a,s,c){if(!t(r)){var u=a.$options._base;if(i(r)&&(r=u.extend(r)),"function"==typeof r){var l;if(t(r.cid)&&(l=r,void 0===(r=function(r,o,a){if(n(r.error)&&e(r.errorComp))return r.errorComp;if(e(r.resolved))return r.resolved;if(n(r.loading)&&e(r.loadingComp))return r.loadingComp;if(!e(r.contexts)){var s=r.contexts=[a],c=!0,u=function(){for(var t=0,e=s.length;t<e;t++)s[t].$forceUpdate()},l=b(function(t){r.resolved=nt(t,o),c||u()}),f=b(function(t){e(r.errorComp)&&(r.error=!0,u())}),p=r(l,f);return i(p)&&("function"==typeof p.then?t(r.resolved)&&p.then(l,f):e(p.component)&&"function"==typeof p.component.then&&(p.component.then(l,f),e(p.error)&&(r.errorComp=nt(p.error,o)),e(p.loading)&&(r.loadingComp=nt(p.loading,o),0===p.delay?r.loading=!0:setTimeout(function(){t(r.resolved)&&t(r.error)&&(r.loading=!0,u())},p.delay||200)),e(p.timeout)&&setTimeout(function(){t(r.resolved)&&f(null)},p.timeout))),c=!1,r.loading?r.loadingComp:r.resolved}r.contexts.push(a)}(l,u,a))))return function(t,e,n,r,i){var o=gr();return o.asyncFactory=t,o.asyncMeta={data:e,context:n,children:r,tag:i},o}(l,o,a,s,c);o=o||{},Ft(r),e(o.model)&&function(t,n){var r=t.model&&t.model.prop||"value",i=t.model&&t.model.event||"input";(n.props||(n.props={}))[r]=n.model.value;var o=n.on||(n.on={});e(o[i])?o[i]=[n.model.callback].concat(o[i]):o[i]=n.model.callback}(r.options,o);var f=function(n,r,i){var o=r.options.props;if(!t(o)){var a={},s=n.attrs,c=n.props;if(e(s)||e(c))for(var u in o){var l=Hn(u);Q(a,c,u,l,!0)||Q(a,s,u,l,!1)}return a}}(o,r);if(n(r.options.functional))return function(t,n,r,i,o){var a=t.options,s={},c=a.props;if(e(c))for(var u in c)s[u]=H(u,c,n||jn);else e(r.attrs)&&Lt(s,r.attrs),e(r.props)&&Lt(s,r.props);var l=new It(r,s,o,i,t),f=a.render.call(null,l._c,l);return f instanceof mr&&(f.fnContext=i,f.fnOptions=a,r.slot&&((f.data||(f.data={})).slot=r.slot)),f}(r,f,o,a,s);var p=o.on;if(o.on=o.nativeOn,n(r.options.abstract)){var d=o.slot;o={},d&&(o.slot=d)}!function(t){t.hook||(t.hook={});for(var e=0;e<Gr.length;e++){var n=Gr[e],r=t.hook[n],i=Wr[n];t.hook[n]=r?function(t,e){return function(n,r,i,o){t(n,r,i,o),e(n,r,i,o)}}(i,r):i}}(o);var v=r.options.name||c;return new mr("vue-component-"+r.cid+(v?"-"+v:""),o,void 0,void 0,void 0,a,{Ctor:r,propsData:f,listeners:p,tag:c,children:s},l)}}}function Dt(t,i,o,a,s,c){return(Array.isArray(o)||r(o))&&(s=a,a=o,o=void 0),n(c)&&(s=Xr),function(t,n,i,o,a){if(e(i)&&e(i.__ob__))return gr();e(i)&&e(i.is)&&(n=i.is);if(!n)return gr();Array.isArray(o)&&"function"==typeof o[0]&&((i=i||{}).scopedSlots={default:o[0]},o.length=0);a===Xr?o=function(t){return r(t)?[x(t)]:Array.isArray(t)?et(t):void 0}(o):a===Zr&&(o=function(t){for(var e=0;e<t.length;e++)if(Array.isArray(t[e]))return Array.prototype.concat.apply([],t);return t}(o));var s,c;if("string"==typeof n){var u;c=t.$vnode&&t.$vnode.ns||Jn.getTagNamespace(n),s=Jn.isReservedTag(n)?new mr(Jn.parsePlatformTagName(n),i,o,void 0,void 0,t):e(u=R(t.$options,"components",n))?Mt(u,i,t,o,n):new mr(n,i,o,void 0,void 0,t)}else s=Mt(n,i,t,o);return e(s)?(c&&Pt(s,c),s):gr()}(t,i,o,a,s)}function Pt(r,i,o){if(r.ns=i,"foreignObject"===r.tag&&(i=void 0,o=!0),e(r.children))for(var a=0,s=r.children.length;a<s;a++){var c=r.children[a];e(c.tag)&&(t(c.ns)||n(o))&&Pt(c,i,o)}}function Ft(t){var e=t.options;if(t.super){var n=Ft(t.super);if(n!==t.superOptions){t.superOptions=n;var r=function(t){var e,n=t.options,r=t.extendOptions,i=t.sealedOptions;for(var o in n)n[o]!==i[o]&&(e||(e={}),e[o]=function(t,e,n){{if(Array.isArray(t)){var r=[];n=Array.isArray(n)?n:[n],e=Array.isArray(e)?e:[e];for(var i=0;i<t.length;i++)(e.indexOf(t[i])>=0||n.indexOf(t[i])<0)&&r.push(t[i]);return r}return t}}(n[o],r[o],i[o]));return e}(t);r&&h(t.extendOptions,r),(e=t.options=F(n,t.extendOptions)).name&&(e.components[e.name]=t)}}return e}function Rt(t){this._init(t)}function Ht(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var o=t.name||n.options.name,a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=F(n.options,t),a.super=n,a.options.props&&function(t){var e=t.options.props;for(var n in e)mt(t.prototype,"_props",n)}(a),a.options.computed&&function(t){var e=t.options.computed;for(var n in e)gt(t.prototype,n,e[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,zn.forEach(function(t){a[t]=n[t]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=h({},a.options),i[r]=a,a}}function Bt(t){return t&&(t.Ctor.options.name||t.tag)}function Ut(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!function(t){return"[object RegExp]"===Nn.call(t)}(t)&&t.test(e)}function Vt(t,e){var n=t.cache,r=t.keys,i=t._vnode;for(var o in n){var a=n[o];if(a){var s=Bt(a.componentOptions);s&&!e(s)&&zt(n,o,r,i)}}}function zt(t,e,n,r){var i=t[e];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),t[e]=null,l(n,e)}function Kt(t){for(var n=t.data,r=t,i=t;e(i.componentInstance);)(i=i.componentInstance._vnode)&&i.data&&(n=Jt(i.data,n));for(;e(r=r.parent);)r&&r.data&&(n=Jt(n,r.data));return function(t,n){if(e(t)||e(n))return qt(t,Wt(n));return""}(n.staticClass,n.class)}function Jt(t,n){return{staticClass:qt(t.staticClass,n.staticClass),class:e(t.class)?[t.class,n.class]:n.class}}function qt(t,e){return t?e?t+" "+e:t:e||""}function Wt(t){return Array.isArray(t)?function(t){for(var n,r="",i=0,o=t.length;i<o;i++)e(n=Wt(t[i]))&&""!==n&&(r&&(r+=" "),r+=n);return r}(t):i(t)?function(t){var e="";for(var n in t)t[n]&&(e&&(e+=" "),e+=n);return e}(t):"string"==typeof t?t:""}function Gt(t){return bi(t)?"svg":"math"===t?"math":void 0}function Zt(t){if("string"==typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}function Xt(t,e){var n=t.data.ref;if(n){var r=t.context,i=t.componentInstance||t.elm,o=r.$refs;e?Array.isArray(o[n])?l(o[n],i):o[n]===i&&(o[n]=void 0):t.data.refInFor?Array.isArray(o[n])?o[n].indexOf(i)<0&&o[n].push(i):o[n]=[i]:o[n]=i}}function Yt(r,i){return r.key===i.key&&(r.tag===i.tag&&r.isComment===i.isComment&&e(r.data)===e(i.data)&&function(t,n){if("input"!==t.tag)return!0;var r,i=e(r=t.data)&&e(r=r.attrs)&&r.type,o=e(r=n.data)&&e(r=r.attrs)&&r.type;return i===o||wi(i)&&wi(o)}(r,i)||n(r.isAsyncPlaceholder)&&r.asyncFactory===i.asyncFactory&&t(i.asyncFactory.error))}function Qt(t,n,r){var i,o,a={};for(i=n;i<=r;++i)e(o=t[i].key)&&(a[o]=i);return a}function te(t,e){(t.data.directives||e.data.directives)&&function(t,e){var n,r,i,o=t===Ai,a=e===Ai,s=ee(t.data.directives,t.context),c=ee(e.data.directives,e.context),u=[],l=[];for(n in c)r=s[n],i=c[n],r?(i.oldValue=r.value,ne(i,"update",e,t),i.def&&i.def.componentUpdated&&l.push(i)):(ne(i,"bind",e,t),i.def&&i.def.inserted&&u.push(i));if(u.length){var f=function(){for(var n=0;n<u.length;n++)ne(u[n],"inserted",e,t)};o?Y(e,"insert",f):f()}l.length&&Y(e,"postpatch",function(){for(var n=0;n<l.length;n++)ne(l[n],"componentUpdated",e,t)});if(!o)for(n in s)c[n]||ne(s[n],"unbind",t,t,a)}(t,e)}function ee(t,e){var n=Object.create(null);if(!t)return n;var r,i;for(r=0;r<t.length;r++)(i=t[r]).modifiers||(i.modifiers=Ti),n[function(t){return t.rawName||t.name+"."+Object.keys(t.modifiers||{}).join(".")}(i)]=i,i.def=R(e.$options,"directives",i.name);return n}function ne(t,e,n,r,i){var o=t.def&&t.def[e];if(o)try{o(n.elm,t,n,r,i)}catch(r){V(r,n.context,"directive "+t.name+" "+e+" hook")}}function re(n,r){var i=r.componentOptions;if(!(e(i)&&!1===i.Ctor.options.inheritAttrs||t(n.data.attrs)&&t(r.data.attrs))){var o,a,s=r.elm,c=n.data.attrs||{},u=r.data.attrs||{};e(u.__ob__)&&(u=r.data.attrs=h({},u));for(o in u)a=u[o],c[o]!==a&&ie(s,o,a);(Qn||er)&&u.value!==c.value&&ie(s,"value",u.value);for(o in c)t(u[o])&&(hi(o)?s.removeAttributeNS(vi,mi(o)):pi(o)||s.removeAttribute(o))}}function ie(t,e,n){if(di(e))yi(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n));else if(pi(e))t.setAttribute(e,yi(n)||"false"===n?"false":"true");else if(hi(e))yi(n)?t.removeAttributeNS(vi,mi(e)):t.setAttributeNS(vi,e,n);else if(yi(n))t.removeAttribute(e);else{if(Qn&&!tr&&"TEXTAREA"===t.tagName&&"placeholder"===e&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}function oe(n,r){var i=r.elm,o=r.data,a=n.data;if(!(t(o.staticClass)&&t(o.class)&&(t(a)||t(a.staticClass)&&t(a.class)))){var s=Kt(r),c=i._transitionClasses;e(c)&&(s=qt(s,Wt(c))),s!==i._prevClass&&(i.setAttribute("class",s),i._prevClass=s)}}function ae(t){function e(){(a||(a=[])).push(t.slice(v,i).trim()),v=i+1}var n,r,i,o,a,s=!1,c=!1,u=!1,l=!1,f=0,p=0,d=0,v=0;for(i=0;i<t.length;i++)if(r=n,n=t.charCodeAt(i),s)39===n&&92!==r&&(s=!1);else if(c)34===n&&92!==r&&(c=!1);else if(u)96===n&&92!==r&&(u=!1);else if(l)47===n&&92!==r&&(l=!1);else if(124!==n||124===t.charCodeAt(i+1)||124===t.charCodeAt(i-1)||f||p||d){switch(n){case 34:c=!0;break;case 39:s=!0;break;case 96:u=!0;break;case 40:d++;break;case 41:d--;break;case 91:p++;break;case 93:p--;break;case 123:f++;break;case 125:f--}if(47===n){for(var h=i-1,m=void 0;h>=0&&" "===(m=t.charAt(h));h--);m&&Ii.test(m)||(l=!0)}}else void 0===o?(v=i+1,o=t.slice(0,i).trim()):e();if(void 0===o?o=t.slice(0,i).trim():0!==v&&e(),a)for(i=0;i<a.length;i++)o=function(t,e){var n=e.indexOf("(");{if(n<0)return'_f("'+e+'")('+t+")";var r=e.slice(0,n),i=e.slice(n+1);return'_f("'+r+'")('+t+","+i}}(o,a[i]);return o}function se(t){console.error("[Vue compiler]: "+t)}function ce(t,e){return t?t.map(function(t){return t[e]}).filter(function(t){return t}):[]}function ue(t,e,n){(t.props||(t.props=[])).push({name:e,value:n}),t.plain=!1}function le(t,e,n){(t.attrs||(t.attrs=[])).push({name:e,value:n}),t.plain=!1}function fe(t,e,n){t.attrsMap[e]=n,t.attrsList.push({name:e,value:n})}function pe(t,e,n,r,i,o){(t.directives||(t.directives=[])).push({name:e,rawName:n,value:r,arg:i,modifiers:o}),t.plain=!1}function de(t,e,n,r,i,o){(r=r||jn).capture&&(delete r.capture,e="!"+e),r.once&&(delete r.once,e="~"+e),r.passive&&(delete r.passive,e="&"+e),"click"===e&&(r.right?(e="contextmenu",delete r.right):r.middle&&(e="mouseup"));var a;r.native?(delete r.native,a=t.nativeEvents||(t.nativeEvents={})):a=t.events||(t.events={});var s={value:n};r!==jn&&(s.modifiers=r);var c=a[e];Array.isArray(c)?i?c.unshift(s):c.push(s):a[e]=c?i?[s,c]:[c,s]:s,t.plain=!1}function ve(t,e,n){var r=he(t,":"+e)||he(t,"v-bind:"+e);if(null!=r)return ae(r);if(!1!==n){var i=he(t,e);if(null!=i)return JSON.stringify(i)}}function he(t,e,n){var r;if(null!=(r=t.attrsMap[e]))for(var i=t.attrsList,o=0,a=i.length;o<a;o++)if(i[o].name===e){i.splice(o,1);break}return n&&delete t.attrsMap[e],r}function me(t,e,n){var r=n||{},i="$$v";r.trim&&(i="(typeof $$v === 'string'? $$v.trim(): $$v)"),r.number&&(i="_n("+i+")");var o=ye(e,i);t.model={value:"("+e+")",expression:'"'+e+'"',callback:"function ($$v) {"+o+"}"}}function ye(t,e){var n=function(t){if(ei=t.length,t.indexOf("[")<0||t.lastIndexOf("]")<ei-1)return(ii=t.lastIndexOf("."))>-1?{exp:t.slice(0,ii),key:'"'+t.slice(ii+1)+'"'}:{exp:t,key:null};ni=t,ii=oi=ai=0;for(;!_e();)be(ri=ge())?$e(ri):91===ri&&function(t){var e=1;oi=ii;for(;!_e();)if(t=ge(),be(t))$e(t);else if(91===t&&e++,93===t&&e--,0===e){ai=ii;break}}(ri);return{exp:t.slice(0,oi),key:t.slice(oi+1,ai)}}(t);return null===n.key?t+"="+e:"$set("+n.exp+", "+n.key+", "+e+")"}function ge(){return ni.charCodeAt(++ii)}function _e(){return ii>=ei}function be(t){return 34===t||39===t}function $e(t){for(var e=t;!_e()&&(t=ge())!==e;);}function Ce(t,e,n,r,i){e=function(t){return t._withTask||(t._withTask=function(){Er=!0;var e=t.apply(null,arguments);return Er=!1,e})}(e),n&&(e=function(t,e,n){var r=si;return function i(){null!==t.apply(null,arguments)&&we(e,i,n,r)}}(e,t,r)),si.addEventListener(t,e,or?{capture:r,passive:i}:r)}function we(t,e,n,r){(r||si).removeEventListener(t,e._withTask||e,n)}function xe(n,r){if(!t(n.data.on)||!t(r.data.on)){var i=r.data.on||{},o=n.data.on||{};si=r.elm,function(t){if(e(t[Li])){var n=Qn?"change":"input";t[n]=[].concat(t[Li],t[n]||[]),delete t[Li]}e(t[Mi])&&(t.change=[].concat(t[Mi],t.change||[]),delete t[Mi])}(i),X(i,o,Ce,we,r.context),si=void 0}}function ke(n,r){if(!t(n.data.domProps)||!t(r.data.domProps)){var i,o,a=r.elm,s=n.data.domProps||{},u=r.data.domProps||{};e(u.__ob__)&&(u=r.data.domProps=h({},u));for(i in s)t(u[i])&&(a[i]="");for(i in u){if(o=u[i],"textContent"===i||"innerHTML"===i){if(r.children&&(r.children.length=0),o===s[i])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===i){a._value=o;var l=t(o)?"":String(o);(function(t,n){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,n)||function(t,n){var r=t.value,i=t._vModifiers;if(e(i)){if(i.lazy)return!1;if(i.number)return c(r)!==c(n);if(i.trim)return r.trim()!==n.trim()}return r!==n}(t,n))})(a,l)&&(a.value=l)}else a[i]=o}}}function Ae(t){var e=Oe(t.style);return t.staticStyle?h(t.staticStyle,e):e}function Oe(t){return Array.isArray(t)?m(t):"string"==typeof t?Fi(t):t}function Se(n,r){var i=r.data,o=n.data;if(!(t(i.staticStyle)&&t(i.style)&&t(o.staticStyle)&&t(o.style))){var a,s,c=r.elm,u=o.staticStyle,l=o.normalizedStyle||o.style||{},f=u||l,p=Oe(r.data.style)||{};r.data.normalizedStyle=e(p.__ob__)?h({},p):p;var d=function(t,e){var n,r={};if(e)for(var i=t;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(n=Ae(i.data))&&h(r,n);(n=Ae(t.data))&&h(r,n);for(var o=t;o=o.parent;)o.data&&(n=Ae(o.data))&&h(r,n);return r}(r,!0);for(s in f)t(d[s])&&Bi(c,s,"");for(s in d)(a=d[s])!==f[s]&&Bi(c,s,null==a?"":a)}}function Te(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function Ee(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function je(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&h(e,Ki(t.name||"v")),h(e,t),e}return"string"==typeof t?Ki(t):void 0}}function Ne(t){Qi(function(){Qi(t)})}function Ie(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Te(t,e))}function Le(t,e){t._transitionClasses&&l(t._transitionClasses,e),Ee(t,e)}function Me(t,e,n){var r=De(t,e),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===qi?Zi:Yi,c=0,u=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++c>=a&&u()};setTimeout(function(){c<a&&u()},o+1),t.addEventListener(s,l)}function De(t,e){var n,r=window.getComputedStyle(t),i=r[Gi+"Delay"].split(", "),o=r[Gi+"Duration"].split(", "),a=Pe(i,o),s=r[Xi+"Delay"].split(", "),c=r[Xi+"Duration"].split(", "),u=Pe(s,c),l=0,f=0;e===qi?a>0&&(n=qi,l=a,f=o.length):e===Wi?u>0&&(n=Wi,l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?qi:Wi:null)?n===qi?o.length:c.length:0;return{type:n,timeout:l,propCount:f,hasTransform:n===qi&&to.test(r[Gi+"Property"])}}function Pe(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max.apply(null,e.map(function(e,n){return Fe(e)+Fe(t[n])}))}function Fe(t){return 1e3*Number(t.slice(0,-1))}function Re(n,r){var o=n.elm;e(o._leaveCb)&&(o._leaveCb.cancelled=!0,o._leaveCb());var a=je(n.data.transition);if(!t(a)&&!e(o._enterCb)&&1===o.nodeType){for(var s=a.css,u=a.type,l=a.enterClass,f=a.enterToClass,p=a.enterActiveClass,d=a.appearClass,v=a.appearToClass,h=a.appearActiveClass,m=a.beforeEnter,y=a.enter,g=a.afterEnter,_=a.enterCancelled,$=a.beforeAppear,C=a.appear,w=a.afterAppear,x=a.appearCancelled,k=a.duration,A=Pr,O=Pr.$vnode;O&&O.parent;)A=(O=O.parent).context;var S=!A._isMounted||!n.isRootInsert;if(!S||C||""===C){var T=S&&d?d:l,E=S&&h?h:p,j=S&&v?v:f,N=S?$||m:m,I=S&&"function"==typeof C?C:y,L=S?w||g:g,M=S?x||_:_,D=c(i(k)?k.enter:k),P=!1!==s&&!tr,F=Ue(I),R=o._enterCb=b(function(){P&&(Le(o,j),Le(o,E)),R.cancelled?(P&&Le(o,T),M&&M(o)):L&&L(o),o._enterCb=null});n.data.show||Y(n,"insert",function(){var t=o.parentNode,e=t&&t._pending&&t._pending[n.key];e&&e.tag===n.tag&&e.elm._leaveCb&&e.elm._leaveCb(),I&&I(o,R)}),N&&N(o),P&&(Ie(o,T),Ie(o,E),Ne(function(){Ie(o,j),Le(o,T),R.cancelled||F||(Be(D)?setTimeout(R,D):Me(o,u,R))})),n.data.show&&(r&&r(),I&&I(o,R)),P||F||R()}}}function He(n,r){function o(){x.cancelled||(n.data.show||((a.parentNode._pending||(a.parentNode._pending={}))[n.key]=n),v&&v(a),$&&(Ie(a,f),Ie(a,d),Ne(function(){Ie(a,p),Le(a,f),x.cancelled||C||(Be(w)?setTimeout(x,w):Me(a,l,x))})),h&&h(a,x),$||C||x())}var a=n.elm;e(a._enterCb)&&(a._enterCb.cancelled=!0,a._enterCb());var s=je(n.data.transition);if(t(s)||1!==a.nodeType)return r();if(!e(a._leaveCb)){var u=s.css,l=s.type,f=s.leaveClass,p=s.leaveToClass,d=s.leaveActiveClass,v=s.beforeLeave,h=s.leave,m=s.afterLeave,y=s.leaveCancelled,g=s.delayLeave,_=s.duration,$=!1!==u&&!tr,C=Ue(h),w=c(i(_)?_.leave:_),x=a._leaveCb=b(function(){a.parentNode&&a.parentNode._pending&&(a.parentNode._pending[n.key]=null),$&&(Le(a,p),Le(a,d)),x.cancelled?($&&Le(a,f),y&&y(a)):(r(),m&&m(a)),a._leaveCb=null});g?g(o):o()}}function Be(t){return"number"==typeof t&&!isNaN(t)}function Ue(n){if(t(n))return!1;var r=n.fns;return e(r)?Ue(Array.isArray(r)?r[0]:r):(n._length||n.length)>1}function Ve(t,e){!0!==e.data.show&&Re(e)}function ze(t,e,n){Ke(t,e,n),(Qn||er)&&setTimeout(function(){Ke(t,e,n)},0)}function Ke(t,e,n){var r=e.value,i=t.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,c=t.options.length;s<c;s++)if(a=t.options[s],i)o=_(r,qe(a))>-1,a.selected!==o&&(a.selected=o);else if(g(qe(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));i||(t.selectedIndex=-1)}}function Je(t,e){return e.every(function(e){return!g(e,t)})}function qe(t){return"_value"in t?t._value:t.value}function We(t){t.target.composing=!0}function Ge(t){t.target.composing&&(t.target.composing=!1,Ze(t.target,"input"))}function Ze(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function Xe(t){return!t.componentInstance||t.data&&t.data.transition?t:Xe(t.componentInstance._vnode)}function Ye(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Ye(it(e.children)):t}function Qe(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var i=n._parentListeners;for(var o in i)e[Pn(o)]=i[o];return e}function tn(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function en(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function nn(t){t.data.newPos=t.elm.getBoundingClientRect()}function rn(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,i=e.top-n.top;if(r||i){t.data.moved=!0;var o=t.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}function on(t,e){var n=e?zo:Vo;return t.replace(n,function(t){return Uo[t]})}function an(t,e,n){return{type:1,tag:t,attrsList:e,attrsMap:function(t){for(var e={},n=0,r=t.length;n<r;n++)e[t[n].name]=t[n].value;return e}(e),parent:n,children:[]}}function sn(t,e){function n(t){t.pre&&(s=!1),Lo(t.tag)&&(c=!1);for(var n=0;n<Io.length;n++)Io[n](t,e)}To=e.warn||se,Lo=e.isPreTag||Bn,Mo=e.mustUseProp||Bn,Do=e.getTagNamespace||Bn,jo=ce(e.modules,"transformNode"),No=ce(e.modules,"preTransformNode"),Io=ce(e.modules,"postTransformNode"),Eo=e.delimiters;var r,i,o=[],a=!1!==e.preserveWhitespace,s=!1,c=!1;return function(t,e){function n(e){l+=e,t=t.substring(e)}function r(t,n,r){var i,s;if(null==n&&(n=l),null==r&&(r=l),t&&(s=t.toLowerCase()),t)for(i=a.length-1;i>=0&&a[i].lowerCasedTag!==s;i--);else i=0;if(i>=0){for(var c=a.length-1;c>=i;c--)e.end&&e.end(a[c].tag,n,r);a.length=i,o=i&&a[i-1].tag}else"br"===s?e.start&&e.start(t,[],!0,n,r):"p"===s&&(e.start&&e.start(t,[],!1,n,r),e.end&&e.end(t,n,r))}for(var i,o,a=[],s=e.expectHTML,c=e.isUnaryTag||Bn,u=e.canBeLeftOpenTag||Bn,l=0;t;){if(i=t,o&&Ho(o)){var f=0,p=o.toLowerCase(),d=Bo[p]||(Bo[p]=new RegExp("([\\s\\S]*?)(</"+p+"[^>]*>)","i")),v=t.replace(d,function(t,n,r){return f=r.length,Ho(p)||"noscript"===p||(n=n.replace(/<!--([\s\S]*?)-->/g,"$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g,"$1")),Jo(p,n)&&(n=n.slice(1)),e.chars&&e.chars(n),""});l+=t.length-v.length,t=v,r(p,l-f,l)}else{var h=t.indexOf("<");if(0===h){if(Ao.test(t)){var m=t.indexOf("--\x3e");if(m>=0){e.shouldKeepComment&&e.comment(t.substring(4,m)),n(m+3);continue}}if(Oo.test(t)){var y=t.indexOf("]>");if(y>=0){n(y+2);continue}}var g=t.match(ko);if(g){n(g[0].length);continue}var _=t.match(xo);if(_){var b=l;n(_[0].length),r(_[1],b,l);continue}var $=function(){var e=t.match(Co);if(e){var r={tagName:e[1],attrs:[],start:l};n(e[0].length);for(var i,o;!(i=t.match(wo))&&(o=t.match(_o));)n(o[0].length),r.attrs.push(o);if(i)return r.unarySlash=i[1],n(i[0].length),r.end=l,r}}();if($){!function(t){var n=t.tagName,i=t.unarySlash;s&&("p"===o&&go(n)&&r(o),u(n)&&o===n&&r(n));for(var l=c(n)||!!i,f=t.attrs.length,p=new Array(f),d=0;d<f;d++){var v=t.attrs[d];So&&-1===v[0].indexOf('""')&&(""===v[3]&&delete v[3],""===v[4]&&delete v[4],""===v[5]&&delete v[5]);var h=v[3]||v[4]||v[5]||"",m="a"===n&&"href"===v[1]?e.shouldDecodeNewlinesForHref:e.shouldDecodeNewlines;p[d]={name:v[1],value:on(h,m)}}l||(a.push({tag:n,lowerCasedTag:n.toLowerCase(),attrs:p}),o=n),e.start&&e.start(n,p,l,t.start,t.end)}($),Jo(o,t)&&n(1);continue}}var C=void 0,w=void 0,x=void 0;if(h>=0){for(w=t.slice(h);!(xo.test(w)||Co.test(w)||Ao.test(w)||Oo.test(w)||(x=w.indexOf("<",1))<0);)h+=x,w=t.slice(h);C=t.substring(0,h),n(h)}h<0&&(C=t,t=""),e.chars&&C&&e.chars(C)}if(t===i){e.chars&&e.chars(t);break}}r()}(t,{warn:To,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,start:function(t,a,u){var l=i&&i.ns||Do(t);Qn&&"svg"===l&&(a=function(t){for(var e=[],n=0;n<t.length;n++){var r=t[n];na.test(r.name)||(r.name=r.name.replace(ra,""),e.push(r))}return e}(a));var f=an(t,a,i);l&&(f.ns=l),function(t){return"style"===t.tag||"script"===t.tag&&(!t.attrsMap.type||"text/javascript"===t.attrsMap.type)}(f)&&!ur()&&(f.forbidden=!0);for(var p=0;p<No.length;p++)f=No[p](f,e)||f;if(s||(!function(t){null!=he(t,"v-pre")&&(t.pre=!0)}(f),f.pre&&(s=!0)),Lo(f.tag)&&(c=!0),s?function(t){var e=t.attrsList.length;if(e)for(var n=t.attrs=new Array(e),r=0;r<e;r++)n[r]={name:t.attrsList[r].name,value:JSON.stringify(t.attrsList[r].value)};else t.pre||(t.plain=!0)}(f):f.processed||(un(f),function(t){var e=he(t,"v-if");if(e)t.if=e,ln(t,{exp:e,block:t});else{null!=he(t,"v-else")&&(t.else=!0);var n=he(t,"v-else-if");n&&(t.elseif=n)}}(f),function(t){null!=he(t,"v-once")&&(t.once=!0)}(f),cn(f,e)),r?o.length||r.if&&(f.elseif||f.else)&&ln(r,{exp:f.elseif,block:f}):r=f,i&&!f.forbidden)if(f.elseif||f.else)!function(t,e){var n=function(t){var e=t.length;for(;e--;){if(1===t[e].type)return t[e];t.pop()}}(e.children);n&&n.if&&ln(n,{exp:t.elseif,block:t})}(f,i);else if(f.slotScope){i.plain=!1;var d=f.slotTarget||'"default"';(i.scopedSlots||(i.scopedSlots={}))[d]=f}else i.children.push(f),f.parent=i;u?n(f):(i=f,o.push(f))},end:function(){var t=o[o.length-1],e=t.children[t.children.length-1];e&&3===e.type&&" "===e.text&&!c&&t.children.pop(),o.length-=1,i=o[o.length-1],n(t)},chars:function(t){if(i&&(!Qn||"textarea"!==i.tag||i.attrsMap.placeholder!==t)){var e=i.children;if(t=c||t.trim()?function(t){return"script"===t.tag||"style"===t.tag}(i)?t:ea(t):a&&e.length?" ":""){var n;!s&&" "!==t&&(n=function(t,e){var n=e?fo(e):uo;if(n.test(t)){for(var r,i,o,a=[],s=[],c=n.lastIndex=0;r=n.exec(t);){(i=r.index)>c&&(s.push(o=t.slice(c,i)),a.push(JSON.stringify(o)));var u=ae(r[1].trim());a.push("_s("+u+")"),s.push({"@binding":u}),c=i+r[0].length}return c<t.length&&(s.push(o=t.slice(c)),a.push(JSON.stringify(o))),{expression:a.join("+"),tokens:s}}}(t,Eo))?e.push({type:2,expression:n.expression,tokens:n.tokens,text:t}):" "===t&&e.length&&" "===e[e.length-1].text||e.push({type:3,text:t})}}},comment:function(t){i.children.push({type:3,text:t,isComment:!0})}}),r}function cn(t,e){!function(t){var e=ve(t,"key");e&&(t.key=e)}(t),t.plain=!t.key&&!t.attrsList.length,function(t){var e=ve(t,"ref");e&&(t.ref=e,t.refInFor=function(t){var e=t;for(;e;){if(void 0!==e.for)return!0;e=e.parent}return!1}(t))}(t),function(t){if("slot"===t.tag)t.slotName=ve(t,"name");else{var e;"template"===t.tag?(e=he(t,"scope"),t.slotScope=e||he(t,"slot-scope")):(e=he(t,"slot-scope"))&&(t.slotScope=e);var n=ve(t,"slot");n&&(t.slotTarget='""'===n?'"default"':n,"template"===t.tag||t.slotScope||le(t,"slot",n))}}(t),function(t){var e;(e=ve(t,"is"))&&(t.component=e);null!=he(t,"inline-template")&&(t.inlineTemplate=!0)}(t);for(var n=0;n<jo.length;n++)t=jo[n](t,e)||t;!function(t){var e,n,r,i,o,a,s,c=t.attrsList;for(e=0,n=c.length;e<n;e++)if(r=i=c[e].name,o=c[e].value,Wo.test(r))if(t.hasBindings=!0,(a=function(t){var e=t.match(ta);if(e){var n={};return e.forEach(function(t){n[t.slice(1)]=!0}),n}}(r))&&(r=r.replace(ta,"")),Qo.test(r))r=r.replace(Qo,""),o=ae(o),s=!1,a&&(a.prop&&(s=!0,"innerHtml"===(r=Pn(r))&&(r="innerHTML")),a.camel&&(r=Pn(r)),a.sync&&de(t,"update:"+Pn(r),ye(o,"$event"))),s||!t.component&&Mo(t.tag,t.attrsMap.type,r)?ue(t,r,o):le(t,r,o);else if(qo.test(r))r=r.replace(qo,""),de(t,r,o,a,!1);else{var u=(r=r.replace(Wo,"")).match(Yo),l=u&&u[1];l&&(r=r.slice(0,-(l.length+1))),pe(t,r,i,o,l,a)}else le(t,r,JSON.stringify(o)),!t.component&&"muted"===r&&Mo(t.tag,t.attrsMap.type,r)&&ue(t,r,"true")}(t)}function un(t){var e;if(e=he(t,"v-for")){var n=function(t){var e=t.match(Go);if(!e)return;var n={};n.for=e[2].trim();var r=e[1].trim().replace(Xo,""),i=r.match(Zo);i?(n.alias=r.replace(Zo,""),n.iterator1=i[1].trim(),i[2]&&(n.iterator2=i[2].trim())):n.alias=r;return n}(e);n&&h(t,n)}}function ln(t,e){t.ifConditions||(t.ifConditions=[]),t.ifConditions.push(e)}function fn(t){return an(t.tag,t.attrsList.slice(),t.parent)}function pn(t){if(t.static=function(t){if(2===t.type)return!1;if(3===t.type)return!0;return!(!t.pre&&(t.hasBindings||t.if||t.for||In(t.tag)||!Fo(t.tag)||function(t){for(;t.parent;){if("template"!==(t=t.parent).tag)return!1;if(t.for)return!0}return!1}(t)||!Object.keys(t).every(Po)))}(t),1===t.type){if(!Fo(t.tag)&&"slot"!==t.tag&&null==t.attrsMap["inline-template"])return;for(var e=0,n=t.children.length;e<n;e++){var r=t.children[e];pn(r),r.static||(t.static=!1)}if(t.ifConditions)for(var i=1,o=t.ifConditions.length;i<o;i++){var a=t.ifConditions[i].block;pn(a),a.static||(t.static=!1)}}}function dn(t,e){if(1===t.type){if((t.static||t.once)&&(t.staticInFor=e),t.static&&t.children.length&&(1!==t.children.length||3!==t.children[0].type))return void(t.staticRoot=!0);if(t.staticRoot=!1,t.children)for(var n=0,r=t.children.length;n<r;n++)dn(t.children[n],e||!!t.for);if(t.ifConditions)for(var i=1,o=t.ifConditions.length;i<o;i++)dn(t.ifConditions[i].block,e)}}function vn(t,e,n){var r=e?"nativeOn:{":"on:{";for(var i in t)r+='"'+i+'":'+hn(i,t[i])+",";return r.slice(0,-1)+"}"}function hn(t,e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(e){return hn(t,e)}).join(",")+"]";var n=ca.test(e.value),r=sa.test(e.value);if(e.modifiers){var i="",o="",a=[];for(var s in e.modifiers)if(fa[s])o+=fa[s],ua[s]&&a.push(s);else if("exact"===s){var c=e.modifiers;o+=la(["ctrl","shift","alt","meta"].filter(function(t){return!c[t]}).map(function(t){return"$event."+t+"Key"}).join("||"))}else a.push(s);a.length&&(i+=function(t){return"if(!('button' in $event)&&"+t.map(mn).join("&&")+")return null;"}(a)),o&&(i+=o);return"function($event){"+i+(n?e.value+"($event)":r?"("+e.value+")($event)":e.value)+"}"}return n||r?e.value:"function($event){"+e.value+"}"}function mn(t){var e=parseInt(t,10);if(e)return"$event.keyCode!=="+e;var n=ua[t];return"_k($event.keyCode,"+JSON.stringify(t)+","+JSON.stringify(n)+",$event.key)"}function yn(t,e){var n=new da(e);return{render:"with(this){return "+(t?gn(t,n):'_c("div")')+"}",staticRenderFns:n.staticRenderFns}}function gn(t,e){if(t.staticRoot&&!t.staticProcessed)return _n(t,e);if(t.once&&!t.onceProcessed)return bn(t,e);if(t.for&&!t.forProcessed)return function(t,e,n,r){var i=t.for,o=t.alias,a=t.iterator1?","+t.iterator1:"",s=t.iterator2?","+t.iterator2:"";return t.forProcessed=!0,(r||"_l")+"(("+i+"),function("+o+a+s+"){return "+(n||gn)(t,e)+"})"}(t,e);if(t.if&&!t.ifProcessed)return $n(t,e);if("template"!==t.tag||t.slotTarget){if("slot"===t.tag)return function(t,e){var n=t.slotName||'"default"',r=kn(t,e),i="_t("+n+(r?","+r:""),o=t.attrs&&"{"+t.attrs.map(function(t){return Pn(t.name)+":"+t.value}).join(",")+"}",a=t.attrsMap["v-bind"];!o&&!a||r||(i+=",null");o&&(i+=","+o);a&&(i+=(o?"":",null")+","+a);return i+")"}(t,e);var n;if(t.component)n=function(t,e,n){var r=e.inlineTemplate?null:kn(e,n,!0);return"_c("+t+","+wn(e,n)+(r?","+r:"")+")"}(t.component,t,e);else{var r=t.plain?void 0:wn(t,e),i=t.inlineTemplate?null:kn(t,e,!0);n="_c('"+t.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var o=0;o<e.transforms.length;o++)n=e.transforms[o](t,n);return n}return kn(t,e)||"void 0"}function _n(t,e){return t.staticProcessed=!0,e.staticRenderFns.push("with(this){return "+gn(t,e)+"}"),"_m("+(e.staticRenderFns.length-1)+(t.staticInFor?",true":"")+")"}function bn(t,e){if(t.onceProcessed=!0,t.if&&!t.ifProcessed)return $n(t,e);if(t.staticInFor){for(var n="",r=t.parent;r;){if(r.for){n=r.key;break}r=r.parent}return n?"_o("+gn(t,e)+","+e.onceId+++","+n+")":gn(t,e)}return _n(t,e)}function $n(t,e,n,r){return t.ifProcessed=!0,Cn(t.ifConditions.slice(),e,n,r)}function Cn(t,e,n,r){function i(t){return n?n(t,e):t.once?bn(t,e):gn(t,e)}if(!t.length)return r||"_e()";var o=t.shift();return o.exp?"("+o.exp+")?"+i(o.block)+":"+Cn(t,e,n,r):""+i(o.block)}function wn(t,e){var n="{",r=function(t,e){var n=t.directives;if(!n)return;var r,i,o,a,s="directives:[",c=!1;for(r=0,i=n.length;r<i;r++){o=n[r],a=!0;var u=e.directives[o.name];u&&(a=!!u(t,o,e.warn)),a&&(c=!0,s+='{name:"'+o.name+'",rawName:"'+o.rawName+'"'+(o.value?",value:("+o.value+"),expression:"+JSON.stringify(o.value):"")+(o.arg?',arg:"'+o.arg+'"':"")+(o.modifiers?",modifiers:"+JSON.stringify(o.modifiers):"")+"},")}if(c)return s.slice(0,-1)+"]"}(t,e);r&&(n+=r+","),t.key&&(n+="key:"+t.key+","),t.ref&&(n+="ref:"+t.ref+","),t.refInFor&&(n+="refInFor:true,"),t.pre&&(n+="pre:true,"),t.component&&(n+='tag:"'+t.tag+'",');for(var i=0;i<e.dataGenFns.length;i++)n+=e.dataGenFns[i](t);if(t.attrs&&(n+="attrs:{"+On(t.attrs)+"},"),t.props&&(n+="domProps:{"+On(t.props)+"},"),t.events&&(n+=vn(t.events,!1,e.warn)+","),t.nativeEvents&&(n+=vn(t.nativeEvents,!0,e.warn)+","),t.slotTarget&&!t.slotScope&&(n+="slot:"+t.slotTarget+","),t.scopedSlots&&(n+=function(t,e){return"scopedSlots:_u(["+Object.keys(t).map(function(n){return xn(n,t[n],e)}).join(",")+"])"}(t.scopedSlots,e)+","),t.model&&(n+="model:{value:"+t.model.value+",callback:"+t.model.callback+",expression:"+t.model.expression+"},"),t.inlineTemplate){var o=function(t,e){var n=t.children[0];if(1===n.type){var r=yn(n,e.options);return"inlineTemplate:{render:function(){"+r.render+"},staticRenderFns:["+r.staticRenderFns.map(function(t){return"function(){"+t+"}"}).join(",")+"]}"}}(t,e);o&&(n+=o+",")}return n=n.replace(/,$/,"")+"}",t.wrapData&&(n=t.wrapData(n)),t.wrapListeners&&(n=t.wrapListeners(n)),n}function xn(t,e,n){if(e.for&&!e.forProcessed)return function(t,e,n){var r=e.for,i=e.alias,o=e.iterator1?","+e.iterator1:"",a=e.iterator2?","+e.iterator2:"";return e.forProcessed=!0,"_l(("+r+"),function("+i+o+a+"){return "+xn(t,e,n)+"})"}(t,e,n);return"{key:"+t+",fn:"+("function("+String(e.slotScope)+"){return "+("template"===e.tag?e.if?e.if+"?"+(kn(e,n)||"undefined")+":undefined":kn(e,n)||"undefined":gn(e,n))+"}")+"}"}function kn(t,e,n,r,i){var o=t.children;if(o.length){var a=o[0];if(1===o.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag)return(r||gn)(a,e);var s=n?function(t,e){for(var n=0,r=0;r<t.length;r++){var i=t[r];if(1===i.type){if(An(i)||i.ifConditions&&i.ifConditions.some(function(t){return An(t.block)})){n=2;break}(e(i)||i.ifConditions&&i.ifConditions.some(function(t){return e(t.block)}))&&(n=1)}}return n}(o,e.maybeComponent):0,c=i||function(t,e){if(1===t.type)return gn(t,e);return 3===t.type&&t.isComment?function(t){return"_e("+JSON.stringify(t.text)+")"}(t):function(t){return"_v("+(2===t.type?t.expression:Sn(JSON.stringify(t.text)))+")"}(t)};return"["+o.map(function(t){return c(t,e)}).join(",")+"]"+(s?","+s:"")}}function An(t){return void 0!==t.for||"template"===t.tag||"slot"===t.tag}function On(t){for(var e="",n=0;n<t.length;n++){var r=t[n];e+='"'+r.name+'":'+Sn(r.value)+","}return e.slice(0,-1)}function Sn(t){return t.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function Tn(t,e){try{return new Function(t)}catch(n){return e.push({err:n,code:t}),y}}function En(t){return Ro=Ro||document.createElement("div"),Ro.innerHTML=t?'<a href="\n"/>':'<div a="\n"/>',Ro.innerHTML.indexOf(" ")>0}var jn=Object.freeze({}),Nn=Object.prototype.toString,In=u("slot,component",!0),Ln=u("key,ref,slot,slot-scope,is"),Mn=Object.prototype.hasOwnProperty,Dn=/-(\w)/g,Pn=p(function(t){return t.replace(Dn,function(t,e){return e?e.toUpperCase():""})}),Fn=p(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),Rn=/\B([A-Z])/g,Hn=p(function(t){return t.replace(Rn,"-$1").toLowerCase()}),Bn=function(t,e,n){return!1},Un=function(t){return t},Vn="data-server-rendered",zn=["component","directive","filter"],Kn=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],Jn={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Bn,isReservedAttr:Bn,isUnknownElement:Bn,getTagNamespace:y,parsePlatformTagName:Un,mustUseProp:Bn,_lifecycleHooks:Kn},qn=/[^\w.$]/,Wn="__proto__"in{},Gn="undefined"!=typeof window,Zn="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,Xn=Zn&&WXEnvironment.platform.toLowerCase(),Yn=Gn&&window.navigator.userAgent.toLowerCase(),Qn=Yn&&/msie|trident/.test(Yn),tr=Yn&&Yn.indexOf("msie 9.0")>0,er=Yn&&Yn.indexOf("edge/")>0,nr=Yn&&Yn.indexOf("android")>0||"android"===Xn,rr=Yn&&/iphone|ipad|ipod|ios/.test(Yn)||"ios"===Xn,ir=(Yn&&/chrome\/\d+/.test(Yn),{}.watch),or=!1;if(Gn)try{var ar={};Object.defineProperty(ar,"passive",{get:function(){or=!0}}),window.addEventListener("test-passive",null,ar)}catch(t){}var sr,cr,ur=function(){return void 0===sr&&(sr=!Gn&&"undefined"!=typeof global&&"server"===global.process.env.VUE_ENV),sr},lr=Gn&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,fr="undefined"!=typeof Symbol&&w(Symbol)&&"undefined"!=typeof Reflect&&w(Reflect.ownKeys);cr="undefined"!=typeof Set&&w(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var pr=y,dr=0,vr=function(){this.id=dr++,this.subs=[]};vr.prototype.addSub=function(t){this.subs.push(t)},vr.prototype.removeSub=function(t){l(this.subs,t)},vr.prototype.depend=function(){vr.target&&vr.target.addDep(this)},vr.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;e<n;e++)t[e].update()},vr.target=null;var hr=[],mr=function(t,e,n,r,i,o,a,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=i,this.ns=void 0,this.context=o,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},yr={child:{configurable:!0}};yr.child.get=function(){return this.componentInstance},Object.defineProperties(mr.prototype,yr);var gr=function(t){void 0===t&&(t="");var e=new mr;return e.text=t,e.isComment=!0,e},_r=Array.prototype,br=Object.create(_r);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(t){var e=_r[t];C(br,t,function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];var i,o=e.apply(this,n),a=this.__ob__;switch(t){case"push":case"unshift":i=n;break;case"splice":i=n.slice(2)}return i&&a.observeArray(i),a.dep.notify(),o})});var $r=Object.getOwnPropertyNames(br),Cr={shouldConvert:!0},wr=function(t){if(this.value=t,this.dep=new vr,this.vmCount=0,C(t,"__ob__",this),Array.isArray(t)){(Wn?O:S)(t,br,$r),this.observeArray(t)}else this.walk(t)};wr.prototype.walk=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)E(t,e[n],t[e[n]])},wr.prototype.observeArray=function(t){for(var e=0,n=t.length;e<n;e++)T(t[e])};var xr=Jn.optionMergeStrategies;xr.data=function(t,e,n){return n?M(t,e,n):e&&"function"!=typeof e?t:M(t,e)},Kn.forEach(function(t){xr[t]=D}),zn.forEach(function(t){xr[t+"s"]=P}),xr.watch=function(t,e,n,r){if(t===ir&&(t=void 0),e===ir&&(e=void 0),!e)return Object.create(t||null);if(!t)return e;var i={};h(i,t);for(var o in e){var a=i[o],s=e[o];a&&!Array.isArray(a)&&(a=[a]),i[o]=a?a.concat(s):Array.isArray(s)?s:[s]}return i},xr.props=xr.methods=xr.inject=xr.computed=function(t,e,n,r){if(!t)return e;var i=Object.create(null);return h(i,t),e&&h(i,e),i},xr.provide=M;var kr,Ar,Or=function(t,e){return void 0===e?t:e},Sr=[],Tr=!1,Er=!1;if("undefined"!=typeof setImmediate&&w(setImmediate))Ar=function(){setImmediate(J)};else if("undefined"==typeof MessageChannel||!w(MessageChannel)&&"[object MessageChannelConstructor]"!==MessageChannel.toString())Ar=function(){setTimeout(J,0)};else{var jr=new MessageChannel,Nr=jr.port2;jr.port1.onmessage=J,Ar=function(){Nr.postMessage(1)}}if("undefined"!=typeof Promise&&w(Promise)){var Ir=Promise.resolve();kr=function(){Ir.then(J),rr&&setTimeout(y)}}else kr=Ar;var Lr,Mr=new cr,Dr=p(function(t){var e="&"===t.charAt(0),n="~"===(t=e?t.slice(1):t).charAt(0),r="!"===(t=n?t.slice(1):t).charAt(0);return t=r?t.slice(1):t,{name:t,once:n,capture:r,passive:e}}),Pr=null,Fr=[],Rr=[],Hr={},Br=!1,Ur=!1,Vr=0,zr=0,Kr=function(t,e,n,r,i){this.vm=t,i&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++zr,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new cr,this.newDepIds=new cr,this.expression="","function"==typeof e?this.getter=e:(this.getter=function(t){if(!qn.test(t)){var e=t.split(".");return function(t){for(var n=0;n<e.length;n++){if(!t)return;t=t[e[n]]}return t}}}(e),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};Kr.prototype.get=function(){!function(t){vr.target&&hr.push(vr.target),vr.target=t}(this);var t,e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;V(t,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&W(t),vr.target=hr.pop(),this.cleanupDeps()}return t},Kr.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},Kr.prototype.cleanupDeps=function(){for(var t=this.deps.length;t--;){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},Kr.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(t){var e=t.id;if(null==Hr[e]){if(Hr[e]=!0,Ur){for(var n=Fr.length-1;n>Vr&&Fr[n].id>t.id;)n--;Fr.splice(n+1,0,t)}else Fr.push(t);Br||(Br=!0,q(ht))}}(this)},Kr.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||i(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){V(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},Kr.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Kr.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},Kr.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||l(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var Jr={enumerable:!0,configurable:!0,get:y,set:y},qr={lazy:!0};Nt(It.prototype);var Wr={init:function(t,n,r,i){if(!t.componentInstance||t.componentInstance._isDestroyed){(t.componentInstance=function(t,n,r,i){var o={_isComponent:!0,parent:n,_parentVnode:t,_parentElm:r||null,_refElm:i||null},a=t.data.inlineTemplate;return e(a)&&(o.render=a.render,o.staticRenderFns=a.staticRenderFns),new t.componentOptions.Ctor(o)}(t,Pr,r,i)).$mount(n?t.elm:void 0,n)}else if(t.data.keepAlive){var o=t;Wr.prepatch(o,o)}},prepatch:function(t,e){var n=e.componentOptions;!function(t,e,n,r,i){var o=!!(i||t.$options._renderChildren||r.data.scopedSlots||t.$scopedSlots!==jn);if(t.$options._parentVnode=r,t.$vnode=r,t._vnode&&(t._vnode.parent=r),t.$options._renderChildren=i,t.$attrs=r.data&&r.data.attrs||jn,t.$listeners=n||jn,e&&t.$options.props){Cr.shouldConvert=!1;for(var a=t._props,s=t.$options._propKeys||[],c=0;c<s.length;c++){var u=s[c];a[u]=H(u,t.$options.props,e,t)}Cr.shouldConvert=!0,t.$options.propsData=e}if(n){var l=t.$options._parentListeners;t.$options._parentListeners=n,st(t,n,l)}o&&(t.$slots=ct(i,r.context),t.$forceUpdate())}(e.componentInstance=t.componentInstance,n.propsData,n.listeners,e,n.children)},insert:function(t){var e=t.context,n=t.componentInstance;n._isMounted||(n._isMounted=!0,vt(n,"mounted")),t.data.keepAlive&&(e._isMounted?function(t){t._inactive=!1,Rr.push(t)}(n):pt(n,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?dt(e,!0):e.$destroy())}},Gr=Object.keys(Wr),Zr=1,Xr=2,Yr=0;!function(t){t.prototype._init=function(t){this._uid=Yr++,this._isVue=!0,t&&t._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r,n._parentElm=e._parentElm,n._refElm=e._refElm;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(this,t):this.$options=F(Ft(this.constructor),t||{},this),this._renderProxy=this,this._self=this,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(this),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&st(t,e)}(this),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,r=n&&n.context;t.$slots=ct(e._renderChildren,r),t.$scopedSlots=jn,t._c=function(e,n,r,i){return Dt(t,e,n,r,i,!1)},t.$createElement=function(e,n,r,i){return Dt(t,e,n,r,i,!0)};var i=n&&n.data;E(t,"$attrs",i&&i.attrs||jn,0,!0),E(t,"$listeners",e._parentListeners||jn,0,!0)}(this),vt(this,"beforeCreate"),function(t){var e=$t(t.$options.inject,t);e&&(Cr.shouldConvert=!1,Object.keys(e).forEach(function(n){E(t,n,e[n])}),Cr.shouldConvert=!0)}(this),yt(this),function(t){var e=t.$options.provide;e&&(t._provided="function"==typeof e?e.call(t):e)}(this),vt(this,"created"),this.$options.el&&this.$mount(this.$options.el)}}(Rt),function(t){var e={};e.get=function(){return this._data};var n={};n.get=function(){return this._props},Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=j,t.prototype.$delete=N,t.prototype.$watch=function(t,e,n){if(o(e))return bt(this,t,e,n);(n=n||{}).user=!0;var r=new Kr(this,t,e,n);return n.immediate&&e.call(this,r.value),function(){r.teardown()}}}(Rt),function(t){var e=/^hook:/;t.prototype.$on=function(t,n){if(Array.isArray(t))for(var r=0,i=t.length;r<i;r++)this.$on(t[r],n);else(this._events[t]||(this._events[t]=[])).push(n),e.test(t)&&(this._hasHookEvent=!0);return this},t.prototype.$once=function(t,e){function n(){r.$off(t,n),e.apply(r,arguments)}var r=this;return n.fn=e,r.$on(t,n),r},t.prototype.$off=function(t,e){if(!arguments.length)return this._events=Object.create(null),this;if(Array.isArray(t)){for(var n=0,r=t.length;n<r;n++)this.$off(t[n],e);return this}var i=this._events[t];if(!i)return this;if(!e)return this._events[t]=null,this;if(e)for(var o,a=i.length;a--;)if((o=i[a])===e||o.fn===e){i.splice(a,1);break}return this},t.prototype.$emit=function(t){var e=this,n=e._events[t];if(n){n=n.length>1?v(n):n;for(var r=v(arguments,1),i=0,o=n.length;i<o;i++)try{n[i].apply(e,r)}catch(n){V(n,e,'event handler for "'+t+'"')}}return e}}(Rt),function(t){t.prototype._update=function(t,e){this._isMounted&&vt(this,"beforeUpdate");var n=this.$el,r=this._vnode,i=Pr;Pr=this,this._vnode=t,r?this.$el=this.__patch__(r,t):(this.$el=this.__patch__(this.$el,t,e,!1,this.$options._parentElm,this.$options._refElm),this.$options._parentElm=this.$options._refElm=null),Pr=i,n&&(n.__vue__=null),this.$el&&(this.$el.__vue__=this),this.$vnode&&this.$parent&&this.$vnode===this.$parent._vnode&&(this.$parent.$el=this.$el)},t.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},t.prototype.$destroy=function(){if(!this._isBeingDestroyed){vt(this,"beforeDestroy"),this._isBeingDestroyed=!0;var t=this.$parent;!t||t._isBeingDestroyed||this.$options.abstract||l(t.$children,this),this._watcher&&this._watcher.teardown();for(var e=this._watchers.length;e--;)this._watchers[e].teardown();this._data.__ob__&&this._data.__ob__.vmCount--,this._isDestroyed=!0,this.__patch__(this._vnode,null),vt(this,"destroyed"),this.$off(),this.$el&&(this.$el.__vue__=null),this.$vnode&&(this.$vnode.parent=null)}}}(Rt),function(t){Nt(t.prototype),t.prototype.$nextTick=function(t){return q(t,this)},t.prototype._render=function(){var t=this,e=t.$options,n=e.render,r=e._parentVnode;if(t._isMounted)for(var i in t.$slots){var o=t.$slots[i];(o._rendered||o[0]&&o[0].elm)&&(t.$slots[i]=A(o,!0))}t.$scopedSlots=r&&r.data.scopedSlots||jn,t.$vnode=r;var a;try{a=n.call(t._renderProxy,t.$createElement)}catch(e){V(e,t,"render"),a=t._vnode}return a instanceof mr||(a=gr()),a.parent=r,a}}(Rt);var Qr=[String,RegExp,Array],ti={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:Qr,exclude:Qr,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)zt(this.cache,t,this.keys)},watch:{include:function(t){Vt(this,function(e){return Ut(t,e)})},exclude:function(t){Vt(this,function(e){return!Ut(t,e)})}},render:function(){var t=this.$slots.default,e=it(t),n=e&&e.componentOptions;if(n){var r=Bt(n),i=this.include,o=this.exclude;if(i&&(!r||!Ut(i,r))||o&&r&&Ut(o,r))return e;var a=this.cache,s=this.keys,c=null==e.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):e.key;a[c]?(e.componentInstance=a[c].componentInstance,l(s,c),s.push(c)):(a[c]=e,s.push(c),this.max&&s.length>parseInt(this.max)&&zt(a,s[0],s,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={};e.get=function(){return Jn},Object.defineProperty(t,"config",e),t.util={warn:pr,extend:h,mergeOptions:F,defineReactive:E},t.set=j,t.delete=N,t.nextTick=q,t.options=Object.create(null),zn.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,h(t.options.components,ti),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=v(arguments,1);return n.unshift(this),"function"==typeof t.install?t.install.apply(t,n):"function"==typeof t&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=F(this.options,t),this}}(t),Ht(t),function(t){zn.forEach(function(e){t[e]=function(t,n){return n?("component"===e&&o(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}})}(t)}(Rt),Object.defineProperty(Rt.prototype,"$isServer",{get:ur}),Object.defineProperty(Rt.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Rt.version="2.5.13";var ei,ni,ri,ii,oi,ai,si,ci,ui=u("style,class"),li=u("input,textarea,option,select,progress"),fi=function(t,e,n){return"value"===n&&li(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},pi=u("contenteditable,draggable,spellcheck"),di=u("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),vi="http://www.w3.org/1999/xlink",hi=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},mi=function(t){return hi(t)?t.slice(6,t.length):""},yi=function(t){return null==t||!1===t},gi={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},_i=u("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),bi=u("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),$i=function(t){return _i(t)||bi(t)},Ci=Object.create(null),wi=u("text,number,password,search,email,tel,url"),xi=Object.freeze({createElement:function(t,e){var n=document.createElement(t);return"select"!==t?n:(e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)},createElementNS:function(t,e){return document.createElementNS(gi[t],e)},createTextNode:function(t){return document.createTextNode(t)},createComment:function(t){return document.createComment(t)},insertBefore:function(t,e,n){t.insertBefore(e,n)},removeChild:function(t,e){t.removeChild(e)},appendChild:function(t,e){t.appendChild(e)},parentNode:function(t){return t.parentNode},nextSibling:function(t){return t.nextSibling},tagName:function(t){return t.tagName},setTextContent:function(t,e){t.textContent=e},setAttribute:function(t,e,n){t.setAttribute(e,n)}}),ki={create:function(t,e){Xt(e)},update:function(t,e){t.data.ref!==e.data.ref&&(Xt(t,!0),Xt(e))},destroy:function(t){Xt(t,!0)}},Ai=new mr("",{},[]),Oi=["create","activate","update","remove","destroy"],Si={create:te,update:te,destroy:function(t){te(t,Ai)}},Ti=Object.create(null),Ei=[ki,Si],ji={create:re,update:re},Ni={create:oe,update:oe},Ii=/[\w).+\-_$\]]/,Li="__r",Mi="__c",Di={create:xe,update:xe},Pi={create:ke,update:ke},Fi=p(function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach(function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e}),Ri=/^--/,Hi=/\s*!important$/,Bi=function(t,e,n){if(Ri.test(e))t.style.setProperty(e,n);else if(Hi.test(n))t.style.setProperty(e,n.replace(Hi,""),"important");else{var r=Vi(e);if(Array.isArray(n))for(var i=0,o=n.length;i<o;i++)t.style[r]=n[i];else t.style[r]=n}},Ui=["Webkit","Moz","ms"],Vi=p(function(t){if(ci=ci||document.createElement("div").style,"filter"!==(t=Pn(t))&&t in ci)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<Ui.length;n++){var r=Ui[n]+e;if(r in ci)return r}}),zi={create:Se,update:Se},Ki=p(function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}}),Ji=Gn&&!tr,qi="transition",Wi="animation",Gi="transition",Zi="transitionend",Xi="animation",Yi="animationend";Ji&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Gi="WebkitTransition",Zi="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Xi="WebkitAnimation",Yi="webkitAnimationEnd"));var Qi=Gn?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()},to=/\b(transform|all)(,|$)/,eo=function(i){function o(t){var n=A.parentNode(t);e(n)&&A.removeChild(n,t)}function a(t,r,i,o,a){if(t.isRootInsert=!a,!function(t,r,i,o){var a=t.data;if(e(a)){var u=e(t.componentInstance)&&a.keepAlive;if(e(a=a.hook)&&e(a=a.init)&&a(t,!1,i,o),e(t.componentInstance))return s(t,r),n(u)&&function(t,n,r,i){for(var o,a=t;a.componentInstance;)if(a=a.componentInstance._vnode,e(o=a.data)&&e(o=o.transition)){for(o=0;o<x.activate.length;++o)x.activate[o](Ai,a);n.push(a);break}c(r,t.elm,i)}(t,r,i,o),!0}}(t,r,i,o)){var u=t.data,f=t.children,v=t.tag;e(v)?(t.elm=t.ns?A.createElementNS(t.ns,v):A.createElement(v,t),d(t),l(t,f,r),e(u)&&p(t,r),c(i,t.elm,o)):n(t.isComment)?(t.elm=A.createComment(t.text),c(i,t.elm,o)):(t.elm=A.createTextNode(t.text),c(i,t.elm,o))}}function s(t,n){e(t.data.pendingInsert)&&(n.push.apply(n,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,f(t)?(p(t,n),d(t)):(Xt(t),n.push(t))}function c(t,n,r){e(t)&&(e(r)?r.parentNode===t&&A.insertBefore(t,n,r):A.appendChild(t,n))}function l(t,e,n){if(Array.isArray(e))for(var i=0;i<e.length;++i)a(e[i],n,t.elm,null,!0);else r(t.text)&&A.appendChild(t.elm,A.createTextNode(String(t.text)))}function f(t){for(;t.componentInstance;)t=t.componentInstance._vnode;return e(t.tag)}function p(t,n){for(var r=0;r<x.create.length;++r)x.create[r](Ai,t);e(C=t.data.hook)&&(e(C.create)&&C.create(Ai,t),e(C.insert)&&n.push(t))}function d(t){var n;if(e(n=t.fnScopeId))A.setAttribute(t.elm,n,"");else for(var r=t;r;)e(n=r.context)&&e(n=n.$options._scopeId)&&A.setAttribute(t.elm,n,""),r=r.parent;e(n=Pr)&&n!==t.context&&n!==t.fnContext&&e(n=n.$options._scopeId)&&A.setAttribute(t.elm,n,"")}function v(t,e,n,r,i,o){for(;r<=i;++r)a(n[r],o,t,e)}function h(t){var n,r,i=t.data;if(e(i))for(e(n=i.hook)&&e(n=n.destroy)&&n(t),n=0;n<x.destroy.length;++n)x.destroy[n](t);if(e(n=t.children))for(r=0;r<t.children.length;++r)h(t.children[r])}function m(t,n,r,i){for(;r<=i;++r){var a=n[r];e(a)&&(e(a.tag)?(y(a),h(a)):o(a.elm))}}function y(t,n){if(e(n)||e(t.data)){var r,i=x.remove.length+1;for(e(n)?n.listeners+=i:n=function(t,e){function n(){0==--n.listeners&&o(t)}return n.listeners=e,n}(t.elm,i),e(r=t.componentInstance)&&e(r=r._vnode)&&e(r.data)&&y(r,n),r=0;r<x.remove.length;++r)x.remove[r](t,n);e(r=t.data.hook)&&e(r=r.remove)?r(t,n):n()}else o(t.elm)}function g(n,r,i,o,s){for(var c,u,l,f=0,p=0,d=r.length-1,h=r[0],y=r[d],g=i.length-1,b=i[0],$=i[g],C=!s;f<=d&&p<=g;)t(h)?h=r[++f]:t(y)?y=r[--d]:Yt(h,b)?(_(h,b,o),h=r[++f],b=i[++p]):Yt(y,$)?(_(y,$,o),y=r[--d],$=i[--g]):Yt(h,$)?(_(h,$,o),C&&A.insertBefore(n,h.elm,A.nextSibling(y.elm)),h=r[++f],$=i[--g]):Yt(y,b)?(_(y,b,o),C&&A.insertBefore(n,y.elm,h.elm),y=r[--d],b=i[++p]):(t(c)&&(c=Qt(r,f,d)),t(u=e(b.key)?c[b.key]:function(t,n,r,i){for(var o=r;o<i;o++){var a=n[o];if(e(a)&&Yt(t,a))return o}}(b,r,f,d))?a(b,o,n,h.elm):Yt(l=r[u],b)?(_(l,b,o),r[u]=void 0,C&&A.insertBefore(n,l.elm,h.elm)):a(b,o,n,h.elm),b=i[++p]);f>d?v(n,t(i[g+1])?null:i[g+1].elm,i,p,g,o):p>g&&m(0,r,f,d)}function _(r,i,o,a){if(r!==i){var s=i.elm=r.elm;if(n(r.isAsyncPlaceholder))e(i.asyncFactory.resolved)?$(r.elm,i,o):i.isAsyncPlaceholder=!0;else if(n(i.isStatic)&&n(r.isStatic)&&i.key===r.key&&(n(i.isCloned)||n(i.isOnce)))i.componentInstance=r.componentInstance;else{var c,u=i.data;e(u)&&e(c=u.hook)&&e(c=c.prepatch)&&c(r,i);var l=r.children,p=i.children;if(e(u)&&f(i)){for(c=0;c<x.update.length;++c)x.update[c](r,i);e(c=u.hook)&&e(c=c.update)&&c(r,i)}t(i.text)?e(l)&&e(p)?l!==p&&g(s,l,p,o,a):e(p)?(e(r.text)&&A.setTextContent(s,""),v(s,null,p,0,p.length-1,o)):e(l)?m(0,l,0,l.length-1):e(r.text)&&A.setTextContent(s,""):r.text!==i.text&&A.setTextContent(s,i.text),e(u)&&e(c=u.hook)&&e(c=c.postpatch)&&c(r,i)}}}function b(t,r,i){if(n(i)&&e(t.parent))t.parent.data.pendingInsert=r;else for(var o=0;o<r.length;++o)r[o].data.hook.insert(r[o])}function $(t,r,i,o){var a,c=r.tag,u=r.data,f=r.children;if(o=o||u&&u.pre,r.elm=t,n(r.isComment)&&e(r.asyncFactory))return r.isAsyncPlaceholder=!0,!0;if(e(u)&&(e(a=u.hook)&&e(a=a.init)&&a(r,!0),e(a=r.componentInstance)))return s(r,i),!0;if(e(c)){if(e(f))if(t.hasChildNodes())if(e(a=u)&&e(a=a.domProps)&&e(a=a.innerHTML)){if(a!==t.innerHTML)return!1}else{for(var d=!0,v=t.firstChild,h=0;h<f.length;h++){if(!v||!$(v,f[h],i,o)){d=!1;break}v=v.nextSibling}if(!d||v)return!1}else l(r,f,i);if(e(u)){var m=!1;for(var y in u)if(!O(y)){m=!0,p(r,i);break}!m&&u.class&&W(u.class)}}else t.data!==r.text&&(t.data=r.text);return!0}var C,w,x={},k=i.modules,A=i.nodeOps;for(C=0;C<Oi.length;++C)for(x[Oi[C]]=[],w=0;w<k.length;++w)e(k[w][Oi[C]])&&x[Oi[C]].push(k[w][Oi[C]]);var O=u("attrs,class,staticClass,staticStyle,key");return function(r,i,o,s,c,u){if(!t(i)){var l=!1,p=[];if(t(r))l=!0,a(i,p,c,u);else{var d=e(r.nodeType);if(!d&&Yt(r,i))_(r,i,p,s);else{if(d){if(1===r.nodeType&&r.hasAttribute(Vn)&&(r.removeAttribute(Vn),o=!0),n(o)&&$(r,i,p))return b(i,p,!0),r;r=function(t){return new mr(A.tagName(t).toLowerCase(),{},[],void 0,t)}(r)}var v=r.elm,y=A.parentNode(v);if(a(i,p,v._leaveCb?null:y,A.nextSibling(v)),e(i.parent))for(var g=i.parent,C=f(i);g;){for(var w=0;w<x.destroy.length;++w)x.destroy[w](g);if(g.elm=i.elm,C){for(var k=0;k<x.create.length;++k)x.create[k](Ai,g);var O=g.data.hook.insert;if(O.merged)for(var S=1;S<O.fns.length;S++)O.fns[S]()}else Xt(g);g=g.parent}e(y)?m(0,[r],0,0):e(r.tag)&&h(r)}}return b(i,p,l),i.elm}e(r)&&h(r)}}({nodeOps:xi,modules:[ji,Ni,Di,Pi,zi,Gn?{create:Ve,activate:Ve,remove:function(t,e){!0!==t.data.show?He(t,e):e()}}:{}].concat(Ei)});tr&&document.addEventListener("selectionchange",function(){var t=document.activeElement;t&&t.vmodel&&Ze(t,"input")});var no={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?Y(n,"postpatch",function(){no.componentUpdated(t,e,n)}):ze(t,e,n.context),t._vOptions=[].map.call(t.options,qe)):("textarea"===n.tag||wi(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("change",Ge),nr||(t.addEventListener("compositionstart",We),t.addEventListener("compositionend",Ge)),tr&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){ze(t,e,n.context);var r=t._vOptions,i=t._vOptions=[].map.call(t.options,qe);if(i.some(function(t,e){return!g(t,r[e])})){(t.multiple?e.value.some(function(t){return Je(t,i)}):e.value!==e.oldValue&&Je(e.value,i))&&Ze(t,"change")}}}},ro={model:no,show:{bind:function(t,e,n){var r=e.value,i=(n=Xe(n)).data&&n.data.transition,o=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&i?(n.data.show=!0,Re(n,function(){t.style.display=o})):t.style.display=r?o:"none"},update:function(t,e,n){var r=e.value;if(r!==e.oldValue){(n=Xe(n)).data&&n.data.transition?(n.data.show=!0,r?Re(n,function(){t.style.display=t.__vOriginalDisplay}):He(n,function(){t.style.display="none"})):t.style.display=r?t.__vOriginalDisplay:"none"}},unbind:function(t,e,n,r,i){i||(t.style.display=t.__vOriginalDisplay)}}},io={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]},oo={name:"transition",props:io,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(function(t){return t.tag||rt(t)})).length){var i=this.mode,o=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return o;var a=Ye(o);if(!a)return o;if(this._leaving)return tn(t,o);var s="__transition-"+this._uid+"-";a.key=null==a.key?a.isComment?s+"comment":s+a.tag:r(a.key)?0===String(a.key).indexOf(s)?a.key:s+a.key:a.key;var c=(a.data||(a.data={})).transition=Qe(this),u=this._vnode,l=Ye(u);if(a.data.directives&&a.data.directives.some(function(t){return"show"===t.name})&&(a.data.show=!0),l&&l.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(a,l)&&!rt(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=h({},c);if("out-in"===i)return this._leaving=!0,Y(f,"afterLeave",function(){e._leaving=!1,e.$forceUpdate()}),tn(t,o);if("in-out"===i){if(rt(a))return u;var p,d=function(){p()};Y(c,"afterEnter",d),Y(c,"enterCancelled",d),Y(f,"delayLeave",function(t){p=t})}}return o}}},ao=h({tag:String,moveClass:String},io);delete ao.mode;var so={Transition:oo,TransitionGroup:{props:ao,render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=Qe(this),s=0;s<i.length;s++){var c=i[s];c.tag&&null!=c.key&&0!==String(c.key).indexOf("__vlist")&&(o.push(c),n[c.key]=c,(c.data||(c.data={})).transition=a)}if(r){for(var u=[],l=[],f=0;f<r.length;f++){var p=r[f];p.data.transition=a,p.data.pos=p.elm.getBoundingClientRect(),n[p.key]?u.push(p):l.push(p)}this.kept=t(e,null,u),this.removed=l}return t(e,null,o)},beforeUpdate:function(){this.__patch__(this._vnode,this.kept,!1,!0),this._vnode=this.kept},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||"v")+"-move";t.length&&this.hasMove(t[0].elm,e)&&(t.forEach(en),t.forEach(nn),t.forEach(rn),this._reflow=document.body.offsetHeight,t.forEach(function(t){if(t.data.moved){var n=t.elm,r=n.style;Ie(n,e),r.transform=r.WebkitTransform=r.transitionDuration="",n.addEventListener(Zi,n._moveCb=function t(r){r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(Zi,t),n._moveCb=null,Le(n,e))})}}))},methods:{hasMove:function(t,e){if(!Ji)return!1;if(this._hasMove)return this._hasMove;var n=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach(function(t){Ee(n,t)}),Te(n,e),n.style.display="none",this.$el.appendChild(n);var r=De(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}}};Rt.config.mustUseProp=fi,Rt.config.isReservedTag=$i,Rt.config.isReservedAttr=ui,Rt.config.getTagNamespace=Gt,Rt.config.isUnknownElement=function(t){if(!Gn)return!0;if($i(t))return!1;if(t=t.toLowerCase(),null!=Ci[t])return Ci[t];var e=document.createElement(t);return t.indexOf("-")>-1?Ci[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Ci[t]=/HTMLUnknownElement/.test(e.toString())},h(Rt.options.directives,ro),h(Rt.options.components,so),Rt.prototype.__patch__=Gn?eo:y,Rt.prototype.$mount=function(t,e){return t=t&&Gn?Zt(t):void 0,function(t,e,n){t.$el=e,t.$options.render||(t.$options.render=gr),vt(t,"beforeMount");var r;return r=function(){t._update(t._render(),n)},new Kr(t,r,y,null,!0),n=!1,null==t.$vnode&&(t._isMounted=!0,vt(t,"mounted")),t}(this,t,e)},Rt.nextTick(function(){Jn.devtools&&lr&&lr.emit("init",Rt)},0);var co,uo=/\{\{((?:.|\n)+?)\}\}/g,lo=/[-.*+?^${}()|[\]\/\\]/g,fo=p(function(t){var e=t[0].replace(lo,"\\$&"),n=t[1].replace(lo,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+n,"g")}),po={staticKeys:["staticClass"],transformNode:function(t,e){e.warn;var n=he(t,"class");n&&(t.staticClass=JSON.stringify(n));var r=ve(t,"class",!1);r&&(t.classBinding=r)},genData:function(t){var e="";return t.staticClass&&(e+="staticClass:"+t.staticClass+","),t.classBinding&&(e+="class:"+t.classBinding+","),e}},vo={staticKeys:["staticStyle"],transformNode:function(t,e){e.warn;var n=he(t,"style");n&&(t.staticStyle=JSON.stringify(Fi(n)));var r=ve(t,"style",!1);r&&(t.styleBinding=r)},genData:function(t){var e="";return t.staticStyle&&(e+="staticStyle:"+t.staticStyle+","),t.styleBinding&&(e+="style:("+t.styleBinding+"),"),e}},ho=function(t){return co=co||document.createElement("div"),co.innerHTML=t,co.textContent},mo=u("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),yo=u("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),go=u("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),_o=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,bo="[a-zA-Z_][\\w\\-\\.]*",$o="((?:"+bo+"\\:)?"+bo+")",Co=new RegExp("^<"+$o),wo=/^\s*(\/?)>/,xo=new RegExp("^<\\/"+$o+"[^>]*>"),ko=/^<!DOCTYPE [^>]+>/i,Ao=/^<!--/,Oo=/^<!\[/,So=!1;"x".replace(/x(.)?/g,function(t,e){So=""===e});var To,Eo,jo,No,Io,Lo,Mo,Do,Po,Fo,Ro,Ho=u("script,style,textarea",!0),Bo={},Uo={"<":"<",">":">",""":'"',"&":"&"," ":"\n","	":"\t"},Vo=/&(?:lt|gt|quot|amp);/g,zo=/&(?:lt|gt|quot|amp|#10|#9);/g,Ko=u("pre,textarea",!0),Jo=function(t,e){return t&&Ko(t)&&"\n"===e[0]},qo=/^@|^v-on:/,Wo=/^v-|^@|^:/,Go=/(.*?)\s+(?:in|of)\s+(.*)/,Zo=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Xo=/^\(|\)$/g,Yo=/:(.*)$/,Qo=/^:|^v-bind:/,ta=/\.[^.]+/g,ea=p(ho),na=/^xmlns:NS\d+/,ra=/^NS\d+:/,ia=[po,vo,{preTransformNode:function(t,e){if("input"===t.tag){var n=t.attrsMap;if(n["v-model"]&&(n["v-bind:type"]||n[":type"])){var r=ve(t,"type"),i=he(t,"v-if",!0),o=i?"&&("+i+")":"",a=null!=he(t,"v-else",!0),s=he(t,"v-else-if",!0),c=fn(t);un(c),fe(c,"type","checkbox"),cn(c,e),c.processed=!0,c.if="("+r+")==='checkbox'"+o,ln(c,{exp:c.if,block:c});var u=fn(t);he(u,"v-for",!0),fe(u,"type","radio"),cn(u,e),ln(c,{exp:"("+r+")==='radio'"+o,block:u});var l=fn(t);return he(l,"v-for",!0),fe(l,":type",r),cn(l,e),ln(c,{exp:i,block:l}),a?c.else=!0:s&&(c.elseif=s),c}}}}],oa={expectHTML:!0,modules:ia,directives:{model:function(t,e,n){var r=e.value,i=e.modifiers,o=t.tag,a=t.attrsMap.type;if(t.component)return me(t,r,i),!1;if("select"===o)!function(t,e,n){var r='var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(n&&n.number?"_n(val)":"val")+"});";r=r+" "+ye(e,"$event.target.multiple ? $$selectedVal : $$selectedVal[0]"),de(t,"change",r,null,!0)}(t,r,i);else if("input"===o&&"checkbox"===a)!function(t,e,n){var r=n&&n.number,i=ve(t,"value")||"null",o=ve(t,"true-value")||"true",a=ve(t,"false-value")||"false";ue(t,"checked","Array.isArray("+e+")?_i("+e+","+i+")>-1"+("true"===o?":("+e+")":":_q("+e+","+o+")")),de(t,"change","var $$a="+e+",$$el=$event.target,$$c=$$el.checked?("+o+"):("+a+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+e+"=$$a.concat([$$v]))}else{$$i>-1&&("+e+"=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{"+ye(e,"$$c")+"}",null,!0)}(t,r,i);else if("input"===o&&"radio"===a)!function(t,e,n){var r=n&&n.number,i=ve(t,"value")||"null";ue(t,"checked","_q("+e+","+(i=r?"_n("+i+")":i)+")"),de(t,"change",ye(e,i),null,!0)}(t,r,i);else if("input"===o||"textarea"===o)!function(t,e,n){var r=t.attrsMap.type,i=n||{},o=i.lazy,a=i.number,s=i.trim,c=!o&&"range"!==r,u=o?"change":"range"===r?Li:"input",l="$event.target.value";s&&(l="$event.target.value.trim()"),a&&(l="_n("+l+")");var f=ye(e,l);c&&(f="if($event.target.composing)return;"+f),ue(t,"value","("+e+")"),de(t,u,f,null,!0),(s||a)&&de(t,"blur","$forceUpdate()")}(t,r,i);else if(!Jn.isReservedTag(o))return me(t,r,i),!1;return!0},text:function(t,e){e.value&&ue(t,"textContent","_s("+e.value+")")},html:function(t,e){e.value&&ue(t,"innerHTML","_s("+e.value+")")}},isPreTag:function(t){return"pre"===t},isUnaryTag:mo,mustUseProp:fi,canBeLeftOpenTag:yo,isReservedTag:$i,getTagNamespace:Gt,staticKeys:function(t){return t.reduce(function(t,e){return t.concat(e.staticKeys||[])},[]).join(",")}(ia)},aa=p(function(t){return u("type,tag,attrsList,attrsMap,plain,parent,children,attrs"+(t?","+t:""))}),sa=/^\s*([\w$_]+|\([^)]*?\))\s*=>|^function\s*\(/,ca=/^\s*[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['.*?']|\[".*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*\s*$/,ua={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},la=function(t){return"if("+t+")return null;"},fa={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:la("$event.target !== $event.currentTarget"),ctrl:la("!$event.ctrlKey"),shift:la("!$event.shiftKey"),alt:la("!$event.altKey"),meta:la("!$event.metaKey"),left:la("'button' in $event && $event.button !== 0"),middle:la("'button' in $event && $event.button !== 1"),right:la("'button' in $event && $event.button !== 2")},pa={on:function(t,e){t.wrapListeners=function(t){return"_g("+t+","+e.value+")"}},bind:function(t,e){t.wrapData=function(n){return"_b("+n+",'"+t.tag+"',"+e.value+","+(e.modifiers&&e.modifiers.prop?"true":"false")+(e.modifiers&&e.modifiers.sync?",true":"")+")"}},cloak:y},da=function(t){this.options=t,this.warn=t.warn||se,this.transforms=ce(t.modules,"transformCode"),this.dataGenFns=ce(t.modules,"genData"),this.directives=h(h({},pa),t.directives);var e=t.isReservedTag||Bn;this.maybeComponent=function(t){return!e(t.tag)},this.onceId=0,this.staticRenderFns=[]},va=(new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b"),new RegExp("\\b"+"delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b")+"\\s*\\([^\\)]*\\)"),function(t){return function(e){function n(n,r){var i=Object.create(e),o=[],a=[];if(i.warn=function(t,e){(e?a:o).push(t)},r){r.modules&&(i.modules=(e.modules||[]).concat(r.modules)),r.directives&&(i.directives=h(Object.create(e.directives||null),r.directives));for(var s in r)"modules"!==s&&"directives"!==s&&(i[s]=r[s])}var c=t(n,i);return c.errors=o,c.tips=a,c}return{compile:n,compileToFunctions:function(t){var e=Object.create(null);return function(n,r,i){(r=h({},r)).warn,delete r.warn;var o=r.delimiters?String(r.delimiters)+n:n;if(e[o])return e[o];var a=t(n,r),s={},c=[];return s.render=Tn(a.render,c),s.staticRenderFns=a.staticRenderFns.map(function(t){return Tn(t,c)}),e[o]=s}}(n)}}}(function(t,e){var n=sn(t.trim(),e);!1!==e.optimize&&function(t,e){t&&(Po=aa(e.staticKeys||""),Fo=e.isReservedTag||Bn,pn(t),dn(t,!1))}(n,e);var r=yn(n,e);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}})(oa).compileToFunctions),ha=!!Gn&&En(!1),ma=!!Gn&&En(!0),ya=p(function(t){var e=Zt(t);return e&&e.innerHTML}),ga=Rt.prototype.$mount;return Rt.prototype.$mount=function(t,e){if((t=t&&Zt(t))===document.body||t===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=ya(r));else{if(!r.nodeType)return this;r=r.innerHTML}else t&&(r=function(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement("div");return e.appendChild(t.cloneNode(!0)),e.innerHTML}(t));if(r){var i=va(r,{shouldDecodeNewlines:ha,shouldDecodeNewlinesForHref:ma,delimiters:n.delimiters,comments:n.comments},this),o=i.render,a=i.staticRenderFns;n.render=o,n.staticRenderFns=a}}return ga.call(this,t,e)},Rt.compile=va,Rt}); \ No newline at end of file +/*! + * Vue.js v2.7.14 + * (c) 2014-2022 Evan You + * Released under the MIT License. + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Vue=e()}(this,(function(){"use strict";var t=Object.freeze({}),e=Array.isArray;function n(t){return null==t}function r(t){return null!=t}function o(t){return!0===t}function i(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function a(t){return"function"==typeof t}function s(t){return null!==t&&"object"==typeof t}var c=Object.prototype.toString;function u(t){return"[object Object]"===c.call(t)}function l(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function f(t){return r(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function d(t){return null==t?"":Array.isArray(t)||u(t)&&t.toString===c?JSON.stringify(t,null,2):String(t)}function p(t){var e=parseFloat(t);return isNaN(e)?t:e}function v(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o<r.length;o++)n[r[o]]=!0;return e?function(t){return n[t.toLowerCase()]}:function(t){return n[t]}}var h=v("slot,component",!0),m=v("key,ref,slot,slot-scope,is");function g(t,e){var n=t.length;if(n){if(e===t[n-1])return void(t.length=n-1);var r=t.indexOf(e);if(r>-1)return t.splice(r,1)}}var y=Object.prototype.hasOwnProperty;function _(t,e){return y.call(t,e)}function b(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var $=/-(\w)/g,w=b((function(t){return t.replace($,(function(t,e){return e?e.toUpperCase():""}))})),x=b((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),C=/\B([A-Z])/g,k=b((function(t){return t.replace(C,"-$1").toLowerCase()}));var S=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function O(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function T(t,e){for(var n in e)t[n]=e[n];return t}function A(t){for(var e={},n=0;n<t.length;n++)t[n]&&T(e,t[n]);return e}function j(t,e,n){}var E=function(t,e,n){return!1},N=function(t){return t};function P(t,e){if(t===e)return!0;var n=s(t),r=s(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{var o=Array.isArray(t),i=Array.isArray(e);if(o&&i)return t.length===e.length&&t.every((function(t,n){return P(t,e[n])}));if(t instanceof Date&&e instanceof Date)return t.getTime()===e.getTime();if(o||i)return!1;var a=Object.keys(t),c=Object.keys(e);return a.length===c.length&&a.every((function(n){return P(t[n],e[n])}))}catch(t){return!1}}function D(t,e){for(var n=0;n<t.length;n++)if(P(t[n],e))return n;return-1}function M(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}function I(t,e){return t===e?0===t&&1/t!=1/e:t==t||e==e}var L="data-server-rendered",R=["component","directive","filter"],F=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch","renderTracked","renderTriggered"],H={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:E,isReservedAttr:E,isUnknownElement:E,getTagNamespace:j,parsePlatformTagName:N,mustUseProp:E,async:!0,_lifecycleHooks:F},B=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function U(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}function z(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var V=new RegExp("[^".concat(B.source,".$_\\d]"));var K="__proto__"in{},J="undefined"!=typeof window,q=J&&window.navigator.userAgent.toLowerCase(),W=q&&/msie|trident/.test(q),Z=q&&q.indexOf("msie 9.0")>0,G=q&&q.indexOf("edge/")>0;q&&q.indexOf("android");var X=q&&/iphone|ipad|ipod|ios/.test(q);q&&/chrome\/\d+/.test(q),q&&/phantomjs/.test(q);var Y,Q=q&&q.match(/firefox\/(\d+)/),tt={}.watch,et=!1;if(J)try{var nt={};Object.defineProperty(nt,"passive",{get:function(){et=!0}}),window.addEventListener("test-passive",null,nt)}catch(t){}var rt=function(){return void 0===Y&&(Y=!J&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),Y},ot=J&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function it(t){return"function"==typeof t&&/native code/.test(t.toString())}var at,st="undefined"!=typeof Symbol&&it(Symbol)&&"undefined"!=typeof Reflect&&it(Reflect.ownKeys);at="undefined"!=typeof Set&&it(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var ct=null;function ut(t){void 0===t&&(t=null),t||ct&&ct._scope.off(),ct=t,t&&t._scope.on()}var lt=function(){function t(t,e,n,r,o,i,a,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(t.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),t}(),ft=function(t){void 0===t&&(t="");var e=new lt;return e.text=t,e.isComment=!0,e};function dt(t){return new lt(void 0,void 0,void 0,String(t))}function pt(t){var e=new lt(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}var vt=0,ht=[],mt=function(){function t(){this._pending=!1,this.id=vt++,this.subs=[]}return t.prototype.addSub=function(t){this.subs.push(t)},t.prototype.removeSub=function(t){this.subs[this.subs.indexOf(t)]=null,this._pending||(this._pending=!0,ht.push(this))},t.prototype.depend=function(e){t.target&&t.target.addDep(this)},t.prototype.notify=function(t){for(var e=this.subs.filter((function(t){return t})),n=0,r=e.length;n<r;n++){e[n].update()}},t}();mt.target=null;var gt=[];function yt(t){gt.push(t),mt.target=t}function _t(){gt.pop(),mt.target=gt[gt.length-1]}var bt=Array.prototype,$t=Object.create(bt);["push","pop","shift","unshift","splice","sort","reverse"].forEach((function(t){var e=bt[t];z($t,t,(function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var o,i=e.apply(this,n),a=this.__ob__;switch(t){case"push":case"unshift":o=n;break;case"splice":o=n.slice(2)}return o&&a.observeArray(o),a.dep.notify(),i}))}));var wt=Object.getOwnPropertyNames($t),xt={},Ct=!0;function kt(t){Ct=t}var St={notify:j,depend:j,addSub:j,removeSub:j},Ot=function(){function t(t,n,r){if(void 0===n&&(n=!1),void 0===r&&(r=!1),this.value=t,this.shallow=n,this.mock=r,this.dep=r?St:new mt,this.vmCount=0,z(t,"__ob__",this),e(t)){if(!r)if(K)t.__proto__=$t;else for(var o=0,i=wt.length;o<i;o++){z(t,s=wt[o],$t[s])}n||this.observeArray(t)}else{var a=Object.keys(t);for(o=0;o<a.length;o++){var s;At(t,s=a[o],xt,void 0,n,r)}}}return t.prototype.observeArray=function(t){for(var e=0,n=t.length;e<n;e++)Tt(t[e],!1,this.mock)},t}();function Tt(t,n,r){return t&&_(t,"__ob__")&&t.__ob__ instanceof Ot?t.__ob__:!Ct||!r&&rt()||!e(t)&&!u(t)||!Object.isExtensible(t)||t.__v_skip||Ft(t)||t instanceof lt?void 0:new Ot(t,n,r)}function At(t,n,r,o,i,a){var s=new mt,c=Object.getOwnPropertyDescriptor(t,n);if(!c||!1!==c.configurable){var u=c&&c.get,l=c&&c.set;u&&!l||r!==xt&&2!==arguments.length||(r=t[n]);var f=!i&&Tt(r,!1,a);return Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:function(){var n=u?u.call(t):r;return mt.target&&(s.depend(),f&&(f.dep.depend(),e(n)&&Nt(n))),Ft(n)&&!i?n.value:n},set:function(e){var n=u?u.call(t):r;if(I(n,e)){if(l)l.call(t,e);else{if(u)return;if(!i&&Ft(n)&&!Ft(e))return void(n.value=e);r=e}f=!i&&Tt(e,!1,a),s.notify()}}}),s}}function jt(t,n,r){if(!Lt(t)){var o=t.__ob__;return e(t)&&l(n)?(t.length=Math.max(t.length,n),t.splice(n,1,r),o&&!o.shallow&&o.mock&&Tt(r,!1,!0),r):n in t&&!(n in Object.prototype)?(t[n]=r,r):t._isVue||o&&o.vmCount?r:o?(At(o.value,n,r,void 0,o.shallow,o.mock),o.dep.notify(),r):(t[n]=r,r)}}function Et(t,n){if(e(t)&&l(n))t.splice(n,1);else{var r=t.__ob__;t._isVue||r&&r.vmCount||Lt(t)||_(t,n)&&(delete t[n],r&&r.dep.notify())}}function Nt(t){for(var n=void 0,r=0,o=t.length;r<o;r++)(n=t[r])&&n.__ob__&&n.__ob__.dep.depend(),e(n)&&Nt(n)}function Pt(t){return Dt(t,!0),z(t,"__v_isShallow",!0),t}function Dt(t,e){Lt(t)||Tt(t,e,rt())}function Mt(t){return Lt(t)?Mt(t.__v_raw):!(!t||!t.__ob__)}function It(t){return!(!t||!t.__v_isShallow)}function Lt(t){return!(!t||!t.__v_isReadonly)}var Rt="__v_isRef";function Ft(t){return!(!t||!0!==t.__v_isRef)}function Ht(t,e){if(Ft(t))return t;var n={};return z(n,Rt,!0),z(n,"__v_isShallow",e),z(n,"dep",At(n,"value",t,null,e,rt())),n}function Bt(t,e,n){Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:function(){var t=e[n];if(Ft(t))return t.value;var r=t&&t.__ob__;return r&&r.dep.depend(),t},set:function(t){var r=e[n];Ft(r)&&!Ft(t)?r.value=t:e[n]=t}})}function Ut(t,e,n){var r=t[e];if(Ft(r))return r;var o={get value(){var r=t[e];return void 0===r?n:r},set value(n){t[e]=n}};return z(o,Rt,!0),o}function zt(t){return Vt(t,!1)}function Vt(t,e){if(!u(t))return t;if(Lt(t))return t;var n=e?"__v_rawToShallowReadonly":"__v_rawToReadonly",r=t[n];if(r)return r;var o=Object.create(Object.getPrototypeOf(t));z(t,n,o),z(o,"__v_isReadonly",!0),z(o,"__v_raw",t),Ft(t)&&z(o,Rt,!0),(e||It(t))&&z(o,"__v_isShallow",!0);for(var i=Object.keys(t),a=0;a<i.length;a++)Kt(o,t,i[a],e);return o}function Kt(t,e,n,r){Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:function(){var t=e[n];return r||!u(t)?t:zt(t)},set:function(){}})}var Jt=b((function(t){var e="&"===t.charAt(0),n="~"===(t=e?t.slice(1):t).charAt(0),r="!"===(t=n?t.slice(1):t).charAt(0);return{name:t=r?t.slice(1):t,once:n,capture:r,passive:e}}));function qt(t,n){function r(){var t=r.fns;if(!e(t))return dn(t,null,arguments,n,"v-on handler");for(var o=t.slice(),i=0;i<o.length;i++)dn(o[i],null,arguments,n,"v-on handler")}return r.fns=t,r}function Wt(t,e,r,i,a,s){var c,u,l,f;for(c in t)u=t[c],l=e[c],f=Jt(c),n(u)||(n(l)?(n(u.fns)&&(u=t[c]=qt(u,s)),o(f.once)&&(u=t[c]=a(f.name,u,f.capture)),r(f.name,u,f.capture,f.passive,f.params)):u!==l&&(l.fns=u,t[c]=l));for(c in e)n(t[c])&&i((f=Jt(c)).name,e[c],f.capture)}function Zt(t,e,i){var a;t instanceof lt&&(t=t.data.hook||(t.data.hook={}));var s=t[e];function c(){i.apply(this,arguments),g(a.fns,c)}n(s)?a=qt([c]):r(s.fns)&&o(s.merged)?(a=s).fns.push(c):a=qt([s,c]),a.merged=!0,t[e]=a}function Gt(t,e,n,o,i){if(r(e)){if(_(e,n))return t[n]=e[n],i||delete e[n],!0;if(_(e,o))return t[n]=e[o],i||delete e[o],!0}return!1}function Xt(t){return i(t)?[dt(t)]:e(t)?Qt(t):void 0}function Yt(t){return r(t)&&r(t.text)&&!1===t.isComment}function Qt(t,a){var s,c,u,l,f=[];for(s=0;s<t.length;s++)n(c=t[s])||"boolean"==typeof c||(l=f[u=f.length-1],e(c)?c.length>0&&(Yt((c=Qt(c,"".concat(a||"","_").concat(s)))[0])&&Yt(l)&&(f[u]=dt(l.text+c[0].text),c.shift()),f.push.apply(f,c)):i(c)?Yt(l)?f[u]=dt(l.text+c):""!==c&&f.push(dt(c)):Yt(c)&&Yt(l)?f[u]=dt(l.text+c.text):(o(t._isVList)&&r(c.tag)&&n(c.key)&&r(a)&&(c.key="__vlist".concat(a,"_").concat(s,"__")),f.push(c)));return f}function te(t,n,c,u,l,f){return(e(c)||i(c))&&(l=u,u=c,c=void 0),o(f)&&(l=2),function(t,n,o,i,c){if(r(o)&&r(o.__ob__))return ft();r(o)&&r(o.is)&&(n=o.is);if(!n)return ft();e(i)&&a(i[0])&&((o=o||{}).scopedSlots={default:i[0]},i.length=0);2===c?i=Xt(i):1===c&&(i=function(t){for(var n=0;n<t.length;n++)if(e(t[n]))return Array.prototype.concat.apply([],t);return t}(i));var u,l;if("string"==typeof n){var f=void 0;l=t.$vnode&&t.$vnode.ns||H.getTagNamespace(n),u=H.isReservedTag(n)?new lt(H.parsePlatformTagName(n),o,i,void 0,void 0,t):o&&o.pre||!r(f=yr(t.$options,"components",n))?new lt(n,o,i,void 0,void 0,t):cr(f,o,t,i,n)}else u=cr(n,o,t,i);return e(u)?u:r(u)?(r(l)&&ee(u,l),r(o)&&function(t){s(t.style)&&Bn(t.style);s(t.class)&&Bn(t.class)}(o),u):ft()}(t,n,c,u,l)}function ee(t,e,i){if(t.ns=e,"foreignObject"===t.tag&&(e=void 0,i=!0),r(t.children))for(var a=0,s=t.children.length;a<s;a++){var c=t.children[a];r(c.tag)&&(n(c.ns)||o(i)&&"svg"!==c.tag)&&ee(c,e,i)}}function ne(t,n){var o,i,a,c,u=null;if(e(t)||"string"==typeof t)for(u=new Array(t.length),o=0,i=t.length;o<i;o++)u[o]=n(t[o],o);else if("number"==typeof t)for(u=new Array(t),o=0;o<t;o++)u[o]=n(o+1,o);else if(s(t))if(st&&t[Symbol.iterator]){u=[];for(var l=t[Symbol.iterator](),f=l.next();!f.done;)u.push(n(f.value,u.length)),f=l.next()}else for(a=Object.keys(t),u=new Array(a.length),o=0,i=a.length;o<i;o++)c=a[o],u[o]=n(t[c],c,o);return r(u)||(u=[]),u._isVList=!0,u}function re(t,e,n,r){var o,i=this.$scopedSlots[t];i?(n=n||{},r&&(n=T(T({},r),n)),o=i(n)||(a(e)?e():e)):o=this.$slots[t]||(a(e)?e():e);var s=n&&n.slot;return s?this.$createElement("template",{slot:s},o):o}function oe(t){return yr(this.$options,"filters",t)||N}function ie(t,n){return e(t)?-1===t.indexOf(n):t!==n}function ae(t,e,n,r,o){var i=H.keyCodes[e]||n;return o&&r&&!H.keyCodes[e]?ie(o,r):i?ie(i,t):r?k(r)!==e:void 0===t}function se(t,n,r,o,i){if(r)if(s(r)){e(r)&&(r=A(r));var a=void 0,c=function(e){if("class"===e||"style"===e||m(e))a=t;else{var s=t.attrs&&t.attrs.type;a=o||H.mustUseProp(n,s,e)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}var c=w(e),u=k(e);c in a||u in a||(a[e]=r[e],i&&((t.on||(t.on={}))["update:".concat(e)]=function(t){r[e]=t}))};for(var u in r)c(u)}else;return t}function ce(t,e){var n=this._staticTrees||(this._staticTrees=[]),r=n[t];return r&&!e||le(r=n[t]=this.$options.staticRenderFns[t].call(this._renderProxy,this._c,this),"__static__".concat(t),!1),r}function ue(t,e,n){return le(t,"__once__".concat(e).concat(n?"_".concat(n):""),!0),t}function le(t,n,r){if(e(t))for(var o=0;o<t.length;o++)t[o]&&"string"!=typeof t[o]&&fe(t[o],"".concat(n,"_").concat(o),r);else fe(t,n,r)}function fe(t,e,n){t.isStatic=!0,t.key=e,t.isOnce=n}function de(t,e){if(e)if(u(e)){var n=t.on=t.on?T({},t.on):{};for(var r in e){var o=n[r],i=e[r];n[r]=o?[].concat(o,i):i}}else;return t}function pe(t,n,r,o){n=n||{$stable:!r};for(var i=0;i<t.length;i++){var a=t[i];e(a)?pe(a,n,r):a&&(a.proxy&&(a.fn.proxy=!0),n[a.key]=a.fn)}return o&&(n.$key=o),n}function ve(t,e){for(var n=0;n<e.length;n+=2){var r=e[n];"string"==typeof r&&r&&(t[e[n]]=e[n+1])}return t}function he(t,e){return"string"==typeof t?e+t:t}function me(t){t._o=ue,t._n=p,t._s=d,t._l=ne,t._t=re,t._q=P,t._i=D,t._m=ce,t._f=oe,t._k=ae,t._b=se,t._v=dt,t._e=ft,t._u=pe,t._g=de,t._d=ve,t._p=he}function ge(t,e){if(!t||!t.length)return{};for(var n={},r=0,o=t.length;r<o;r++){var i=t[r],a=i.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,i.context!==e&&i.fnContext!==e||!a||null==a.slot)(n.default||(n.default=[])).push(i);else{var s=a.slot,c=n[s]||(n[s]=[]);"template"===i.tag?c.push.apply(c,i.children||[]):c.push(i)}}for(var u in n)n[u].every(ye)&&delete n[u];return n}function ye(t){return t.isComment&&!t.asyncFactory||" "===t.text}function _e(t){return t.isComment&&t.asyncFactory}function be(e,n,r,o){var i,a=Object.keys(r).length>0,s=n?!!n.$stable:!a,c=n&&n.$key;if(n){if(n._normalized)return n._normalized;if(s&&o&&o!==t&&c===o.$key&&!a&&!o.$hasNormal)return o;for(var u in i={},n)n[u]&&"$"!==u[0]&&(i[u]=$e(e,r,u,n[u]))}else i={};for(var l in r)l in i||(i[l]=we(r,l));return n&&Object.isExtensible(n)&&(n._normalized=i),z(i,"$stable",s),z(i,"$key",c),z(i,"$hasNormal",a),i}function $e(t,n,r,o){var i=function(){var n=ct;ut(t);var r=arguments.length?o.apply(null,arguments):o({}),i=(r=r&&"object"==typeof r&&!e(r)?[r]:Xt(r))&&r[0];return ut(n),r&&(!i||1===r.length&&i.isComment&&!_e(i))?void 0:r};return o.proxy&&Object.defineProperty(n,r,{get:i,enumerable:!0,configurable:!0}),i}function we(t,e){return function(){return t[e]}}function xe(e){return{get attrs(){if(!e._attrsProxy){var n=e._attrsProxy={};z(n,"_v_attr_proxy",!0),Ce(n,e.$attrs,t,e,"$attrs")}return e._attrsProxy},get listeners(){e._listenersProxy||Ce(e._listenersProxy={},e.$listeners,t,e,"$listeners");return e._listenersProxy},get slots(){return function(t){t._slotsProxy||Se(t._slotsProxy={},t.$scopedSlots);return t._slotsProxy}(e)},emit:S(e.$emit,e),expose:function(t){t&&Object.keys(t).forEach((function(n){return Bt(e,t,n)}))}}}function Ce(t,e,n,r,o){var i=!1;for(var a in e)a in t?e[a]!==n[a]&&(i=!0):(i=!0,ke(t,a,r,o));for(var a in t)a in e||(i=!0,delete t[a]);return i}function ke(t,e,n,r){Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){return n[r][e]}})}function Se(t,e){for(var n in e)t[n]=e[n];for(var n in t)n in e||delete t[n]}function Oe(){var t=ct;return t._setupContext||(t._setupContext=xe(t))}var Te,Ae=null;function je(t,e){return(t.__esModule||st&&"Module"===t[Symbol.toStringTag])&&(t=t.default),s(t)?e.extend(t):t}function Ee(t){if(e(t))for(var n=0;n<t.length;n++){var o=t[n];if(r(o)&&(r(o.componentOptions)||_e(o)))return o}}function Ne(t,e){Te.$on(t,e)}function Pe(t,e){Te.$off(t,e)}function De(t,e){var n=Te;return function r(){var o=e.apply(null,arguments);null!==o&&n.$off(t,r)}}function Me(t,e,n){Te=t,Wt(e,n||{},Ne,Pe,De,t),Te=void 0}var Ie=null;function Le(t){var e=Ie;return Ie=t,function(){Ie=e}}function Re(t){for(;t&&(t=t.$parent);)if(t._inactive)return!0;return!1}function Fe(t,e){if(e){if(t._directInactive=!1,Re(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var n=0;n<t.$children.length;n++)Fe(t.$children[n]);Be(t,"activated")}}function He(t,e){if(!(e&&(t._directInactive=!0,Re(t))||t._inactive)){t._inactive=!0;for(var n=0;n<t.$children.length;n++)He(t.$children[n]);Be(t,"deactivated")}}function Be(t,e,n,r){void 0===r&&(r=!0),yt();var o=ct;r&&ut(t);var i=t.$options[e],a="".concat(e," hook");if(i)for(var s=0,c=i.length;s<c;s++)dn(i[s],t,n||null,t,a);t._hasHookEvent&&t.$emit("hook:"+e),r&&ut(o),_t()}var Ue=[],ze=[],Ve={},Ke=!1,Je=!1,qe=0;var We=0,Ze=Date.now;if(J&&!W){var Ge=window.performance;Ge&&"function"==typeof Ge.now&&Ze()>document.createEvent("Event").timeStamp&&(Ze=function(){return Ge.now()})}var Xe=function(t,e){if(t.post){if(!e.post)return 1}else if(e.post)return-1;return t.id-e.id};function Ye(){var t,e;for(We=Ze(),Je=!0,Ue.sort(Xe),qe=0;qe<Ue.length;qe++)(t=Ue[qe]).before&&t.before(),e=t.id,Ve[e]=null,t.run();var n=ze.slice(),r=Ue.slice();qe=Ue.length=ze.length=0,Ve={},Ke=Je=!1,function(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,Fe(t[e],!0)}(n),function(t){var e=t.length;for(;e--;){var n=t[e],r=n.vm;r&&r._watcher===n&&r._isMounted&&!r._isDestroyed&&Be(r,"updated")}}(r),function(){for(var t=0;t<ht.length;t++){var e=ht[t];e.subs=e.subs.filter((function(t){return t})),e._pending=!1}ht.length=0}(),ot&&H.devtools&&ot.emit("flush")}function Qe(t){var e=t.id;if(null==Ve[e]&&(t!==mt.target||!t.noRecurse)){if(Ve[e]=!0,Je){for(var n=Ue.length-1;n>qe&&Ue[n].id>t.id;)n--;Ue.splice(n+1,0,t)}else Ue.push(t);Ke||(Ke=!0,Cn(Ye))}}var tn="watcher",en="".concat(tn," callback"),nn="".concat(tn," getter"),rn="".concat(tn," cleanup");function on(t,e){return cn(t,null,{flush:"post"})}var an,sn={};function cn(n,r,o){var i=void 0===o?t:o,s=i.immediate,c=i.deep,u=i.flush,l=void 0===u?"pre":u;i.onTrack,i.onTrigger;var f,d,p=ct,v=function(t,e,n){return void 0===n&&(n=null),dn(t,null,n,p,e)},h=!1,m=!1;if(Ft(n)?(f=function(){return n.value},h=It(n)):Mt(n)?(f=function(){return n.__ob__.dep.depend(),n},c=!0):e(n)?(m=!0,h=n.some((function(t){return Mt(t)||It(t)})),f=function(){return n.map((function(t){return Ft(t)?t.value:Mt(t)?Bn(t):a(t)?v(t,nn):void 0}))}):f=a(n)?r?function(){return v(n,nn)}:function(){if(!p||!p._isDestroyed)return d&&d(),v(n,tn,[y])}:j,r&&c){var g=f;f=function(){return Bn(g())}}var y=function(t){d=_.onStop=function(){v(t,rn)}};if(rt())return y=j,r?s&&v(r,en,[f(),m?[]:void 0,y]):f(),j;var _=new Vn(ct,f,j,{lazy:!0});_.noRecurse=!r;var b=m?[]:sn;return _.run=function(){if(_.active)if(r){var t=_.get();(c||h||(m?t.some((function(t,e){return I(t,b[e])})):I(t,b)))&&(d&&d(),v(r,en,[t,b===sn?void 0:b,y]),b=t)}else _.get()},"sync"===l?_.update=_.run:"post"===l?(_.post=!0,_.update=function(){return Qe(_)}):_.update=function(){if(p&&p===ct&&!p._isMounted){var t=p._preWatchers||(p._preWatchers=[]);t.indexOf(_)<0&&t.push(_)}else Qe(_)},r?s?_.run():b=_.get():"post"===l&&p?p.$once("hook:mounted",(function(){return _.get()})):_.get(),function(){_.teardown()}}var un=function(){function t(t){void 0===t&&(t=!1),this.detached=t,this.active=!0,this.effects=[],this.cleanups=[],this.parent=an,!t&&an&&(this.index=(an.scopes||(an.scopes=[])).push(this)-1)}return t.prototype.run=function(t){if(this.active){var e=an;try{return an=this,t()}finally{an=e}}},t.prototype.on=function(){an=this},t.prototype.off=function(){an=this.parent},t.prototype.stop=function(t){if(this.active){var e=void 0,n=void 0;for(e=0,n=this.effects.length;e<n;e++)this.effects[e].teardown();for(e=0,n=this.cleanups.length;e<n;e++)this.cleanups[e]();if(this.scopes)for(e=0,n=this.scopes.length;e<n;e++)this.scopes[e].stop(!0);if(!this.detached&&this.parent&&!t){var r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0,this.active=!1}},t}();function ln(t){var e=t._provided,n=t.$parent&&t.$parent._provided;return n===e?t._provided=Object.create(n):e}function fn(t,e,n){yt();try{if(e)for(var r=e;r=r.$parent;){var o=r.$options.errorCaptured;if(o)for(var i=0;i<o.length;i++)try{if(!1===o[i].call(r,t,e,n))return}catch(t){pn(t,r,"errorCaptured hook")}}pn(t,e,n)}finally{_t()}}function dn(t,e,n,r,o){var i;try{(i=n?t.apply(e,n):t.call(e))&&!i._isVue&&f(i)&&!i._handled&&(i.catch((function(t){return fn(t,r,o+" (Promise/async)")})),i._handled=!0)}catch(t){fn(t,r,o)}return i}function pn(t,e,n){if(H.errorHandler)try{return H.errorHandler.call(null,t,e,n)}catch(e){e!==t&&vn(e)}vn(t)}function vn(t,e,n){if(!J||"undefined"==typeof console)throw t;console.error(t)}var hn,mn=!1,gn=[],yn=!1;function _n(){yn=!1;var t=gn.slice(0);gn.length=0;for(var e=0;e<t.length;e++)t[e]()}if("undefined"!=typeof Promise&&it(Promise)){var bn=Promise.resolve();hn=function(){bn.then(_n),X&&setTimeout(j)},mn=!0}else if(W||"undefined"==typeof MutationObserver||!it(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())hn="undefined"!=typeof setImmediate&&it(setImmediate)?function(){setImmediate(_n)}:function(){setTimeout(_n,0)};else{var $n=1,wn=new MutationObserver(_n),xn=document.createTextNode(String($n));wn.observe(xn,{characterData:!0}),hn=function(){$n=($n+1)%2,xn.data=String($n)},mn=!0}function Cn(t,e){var n;if(gn.push((function(){if(t)try{t.call(e)}catch(t){fn(t,e,"nextTick")}else n&&n(e)})),yn||(yn=!0,hn()),!t&&"undefined"!=typeof Promise)return new Promise((function(t){n=t}))}function kn(t){return function(e,n){if(void 0===n&&(n=ct),n)return function(t,e,n){var r=t.$options;r[e]=vr(r[e],n)}(n,t,e)}}var Sn=kn("beforeMount"),On=kn("mounted"),Tn=kn("beforeUpdate"),An=kn("updated"),jn=kn("beforeDestroy"),En=kn("destroyed"),Nn=kn("activated"),Pn=kn("deactivated"),Dn=kn("serverPrefetch"),Mn=kn("renderTracked"),In=kn("renderTriggered"),Ln=kn("errorCaptured");var Rn="2.7.14";var Fn=Object.freeze({__proto__:null,version:Rn,defineComponent:function(t){return t},ref:function(t){return Ht(t,!1)},shallowRef:function(t){return Ht(t,!0)},isRef:Ft,toRef:Ut,toRefs:function(t){var n=e(t)?new Array(t.length):{};for(var r in t)n[r]=Ut(t,r);return n},unref:function(t){return Ft(t)?t.value:t},proxyRefs:function(t){if(Mt(t))return t;for(var e={},n=Object.keys(t),r=0;r<n.length;r++)Bt(e,t,n[r]);return e},customRef:function(t){var e=new mt,n=t((function(){e.depend()}),(function(){e.notify()})),r=n.get,o=n.set,i={get value(){return r()},set value(t){o(t)}};return z(i,Rt,!0),i},triggerRef:function(t){t.dep&&t.dep.notify()},reactive:function(t){return Dt(t,!1),t},isReactive:Mt,isReadonly:Lt,isShallow:It,isProxy:function(t){return Mt(t)||Lt(t)},shallowReactive:Pt,markRaw:function(t){return Object.isExtensible(t)&&z(t,"__v_skip",!0),t},toRaw:function t(e){var n=e&&e.__v_raw;return n?t(n):e},readonly:zt,shallowReadonly:function(t){return Vt(t,!0)},computed:function(t,e){var n,r,o=a(t);o?(n=t,r=j):(n=t.get,r=t.set);var i=rt()?null:new Vn(ct,n,j,{lazy:!0}),s={effect:i,get value(){return i?(i.dirty&&i.evaluate(),mt.target&&i.depend(),i.value):n()},set value(t){r(t)}};return z(s,Rt,!0),z(s,"__v_isReadonly",o),s},watch:function(t,e,n){return cn(t,e,n)},watchEffect:function(t,e){return cn(t,null,e)},watchPostEffect:on,watchSyncEffect:function(t,e){return cn(t,null,{flush:"sync"})},EffectScope:un,effectScope:function(t){return new un(t)},onScopeDispose:function(t){an&&an.cleanups.push(t)},getCurrentScope:function(){return an},provide:function(t,e){ct&&(ln(ct)[t]=e)},inject:function(t,e,n){void 0===n&&(n=!1);var r=ct;if(r){var o=r.$parent&&r.$parent._provided;if(o&&t in o)return o[t];if(arguments.length>1)return n&&a(e)?e.call(r):e}},h:function(t,e,n){return te(ct,t,e,n,2,!0)},getCurrentInstance:function(){return ct&&{proxy:ct}},useSlots:function(){return Oe().slots},useAttrs:function(){return Oe().attrs},useListeners:function(){return Oe().listeners},mergeDefaults:function(t,n){var r=e(t)?t.reduce((function(t,e){return t[e]={},t}),{}):t;for(var o in n){var i=r[o];i?e(i)||a(i)?r[o]={type:i,default:n[o]}:i.default=n[o]:null===i&&(r[o]={default:n[o]})}return r},nextTick:Cn,set:jt,del:Et,useCssModule:function(e){return t},useCssVars:function(t){if(J){var e=ct;e&&on((function(){var n=e.$el,r=t(e,e._setupProxy);if(n&&1===n.nodeType){var o=n.style;for(var i in r)o.setProperty("--".concat(i),r[i])}}))}},defineAsyncComponent:function(t){a(t)&&(t={loader:t});var e=t.loader,n=t.loadingComponent,r=t.errorComponent,o=t.delay,i=void 0===o?200:o,s=t.timeout;t.suspensible;var c=t.onError,u=null,l=0,f=function(){var t;return u||(t=u=e().catch((function(t){if(t=t instanceof Error?t:new Error(String(t)),c)return new Promise((function(e,n){c(t,(function(){return e((l++,u=null,f()))}),(function(){return n(t)}),l+1)}));throw t})).then((function(e){return t!==u&&u?u:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),e)})))};return function(){return{component:f(),delay:i,timeout:s,error:r,loading:n}}},onBeforeMount:Sn,onMounted:On,onBeforeUpdate:Tn,onUpdated:An,onBeforeUnmount:jn,onUnmounted:En,onActivated:Nn,onDeactivated:Pn,onServerPrefetch:Dn,onRenderTracked:Mn,onRenderTriggered:In,onErrorCaptured:function(t,e){void 0===e&&(e=ct),Ln(t,e)}}),Hn=new at;function Bn(t){return Un(t,Hn),Hn.clear(),t}function Un(t,n){var r,o,i=e(t);if(!(!i&&!s(t)||t.__v_skip||Object.isFrozen(t)||t instanceof lt)){if(t.__ob__){var a=t.__ob__.dep.id;if(n.has(a))return;n.add(a)}if(i)for(r=t.length;r--;)Un(t[r],n);else if(Ft(t))Un(t.value,n);else for(r=(o=Object.keys(t)).length;r--;)Un(t[o[r]],n)}}var zn=0,Vn=function(){function t(t,e,n,r,o){!function(t,e){void 0===e&&(e=an),e&&e.active&&e.effects.push(t)}(this,an&&!an._vm?an:t?t._scope:void 0),(this.vm=t)&&o&&(t._watcher=this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++zn,this.active=!0,this.post=!1,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new at,this.newDepIds=new at,this.expression="",a(e)?this.getter=e:(this.getter=function(t){if(!V.test(t)){var e=t.split(".");return function(t){for(var n=0;n<e.length;n++){if(!t)return;t=t[e[n]]}return t}}}(e),this.getter||(this.getter=j)),this.value=this.lazy?void 0:this.get()}return t.prototype.get=function(){var t;yt(this);var e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;fn(t,e,'getter for watcher "'.concat(this.expression,'"'))}finally{this.deep&&Bn(t),_t(),this.cleanupDeps()}return t},t.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},t.prototype.cleanupDeps=function(){for(var t=this.deps.length;t--;){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},t.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():Qe(this)},t.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||s(t)||this.deep){var e=this.value;if(this.value=t,this.user){var n='callback for watcher "'.concat(this.expression,'"');dn(this.cb,this.vm,[t,e],this.vm,n)}else this.cb.call(this.vm,t,e)}}},t.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},t.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},t.prototype.teardown=function(){if(this.vm&&!this.vm._isBeingDestroyed&&g(this.vm._scope.effects,this),this.active){for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1,this.onStop&&this.onStop()}},t}(),Kn={enumerable:!0,configurable:!0,get:j,set:j};function Jn(t,e,n){Kn.get=function(){return this[e][n]},Kn.set=function(t){this[e][n]=t},Object.defineProperty(t,n,Kn)}function qn(t){var n=t.$options;if(n.props&&function(t,e){var n=t.$options.propsData||{},r=t._props=Pt({}),o=t.$options._propKeys=[];t.$parent&&kt(!1);var i=function(i){o.push(i);var a=_r(i,e,n,t);At(r,i,a),i in t||Jn(t,"_props",i)};for(var a in e)i(a);kt(!0)}(t,n.props),function(t){var e=t.$options,n=e.setup;if(n){var r=t._setupContext=xe(t);ut(t),yt();var o=dn(n,null,[t._props||Pt({}),r],t,"setup");if(_t(),ut(),a(o))e.render=o;else if(s(o))if(t._setupState=o,o.__sfc){var i=t._setupProxy={};for(var c in o)"__sfc"!==c&&Bt(i,o,c)}else for(var c in o)U(c)||Bt(t,o,c)}}(t),n.methods&&function(t,e){for(var n in t.$options.props,e)t[n]="function"!=typeof e[n]?j:S(e[n],t)}(t,n.methods),n.data)!function(t){var e=t.$options.data;u(e=t._data=a(e)?function(t,e){yt();try{return t.call(e,e)}catch(t){return fn(t,e,"data()"),{}}finally{_t()}}(e,t):e||{})||(e={});var n=Object.keys(e),r=t.$options.props;t.$options.methods;var o=n.length;for(;o--;){var i=n[o];r&&_(r,i)||U(i)||Jn(t,"_data",i)}var s=Tt(e);s&&s.vmCount++}(t);else{var r=Tt(t._data={});r&&r.vmCount++}n.computed&&function(t,e){var n=t._computedWatchers=Object.create(null),r=rt();for(var o in e){var i=e[o],s=a(i)?i:i.get;r||(n[o]=new Vn(t,s||j,j,Wn)),o in t||Zn(t,o,i)}}(t,n.computed),n.watch&&n.watch!==tt&&function(t,n){for(var r in n){var o=n[r];if(e(o))for(var i=0;i<o.length;i++)Yn(t,r,o[i]);else Yn(t,r,o)}}(t,n.watch)}var Wn={lazy:!0};function Zn(t,e,n){var r=!rt();a(n)?(Kn.get=r?Gn(e):Xn(n),Kn.set=j):(Kn.get=n.get?r&&!1!==n.cache?Gn(e):Xn(n.get):j,Kn.set=n.set||j),Object.defineProperty(t,e,Kn)}function Gn(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),mt.target&&e.depend(),e.value}}function Xn(t){return function(){return t.call(this,this)}}function Yn(t,e,n,r){return u(n)&&(r=n,n=n.handler),"string"==typeof n&&(n=t[n]),t.$watch(e,n,r)}function Qn(t,e){if(t){for(var n=Object.create(null),r=st?Reflect.ownKeys(t):Object.keys(t),o=0;o<r.length;o++){var i=r[o];if("__ob__"!==i){var s=t[i].from;if(s in e._provided)n[i]=e._provided[s];else if("default"in t[i]){var c=t[i].default;n[i]=a(c)?c.call(e):c}}}return n}}var tr=0;function er(t){var e=t.options;if(t.super){var n=er(t.super);if(n!==t.superOptions){t.superOptions=n;var r=function(t){var e,n=t.options,r=t.sealedOptions;for(var o in n)n[o]!==r[o]&&(e||(e={}),e[o]=n[o]);return e}(t);r&&T(t.extendOptions,r),(e=t.options=gr(n,t.extendOptions)).name&&(e.components[e.name]=t)}}return e}function nr(n,r,i,a,s){var c,u=this,l=s.options;_(a,"_uid")?(c=Object.create(a))._original=a:(c=a,a=a._original);var f=o(l._compiled),d=!f;this.data=n,this.props=r,this.children=i,this.parent=a,this.listeners=n.on||t,this.injections=Qn(l.inject,a),this.slots=function(){return u.$slots||be(a,n.scopedSlots,u.$slots=ge(i,a)),u.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return be(a,n.scopedSlots,this.slots())}}),f&&(this.$options=l,this.$slots=this.slots(),this.$scopedSlots=be(a,n.scopedSlots,this.$slots)),l._scopeId?this._c=function(t,n,r,o){var i=te(c,t,n,r,o,d);return i&&!e(i)&&(i.fnScopeId=l._scopeId,i.fnContext=a),i}:this._c=function(t,e,n,r){return te(c,t,e,n,r,d)}}function rr(t,e,n,r,o){var i=pt(t);return i.fnContext=n,i.fnOptions=r,e.slot&&((i.data||(i.data={})).slot=e.slot),i}function or(t,e){for(var n in e)t[w(n)]=e[n]}function ir(t){return t.name||t.__name||t._componentTag}me(nr.prototype);var ar={init:function(t,e){if(t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive){var n=t;ar.prepatch(n,n)}else{(t.componentInstance=function(t,e){var n={_isComponent:!0,_parentVnode:t,parent:e},o=t.data.inlineTemplate;r(o)&&(n.render=o.render,n.staticRenderFns=o.staticRenderFns);return new t.componentOptions.Ctor(n)}(t,Ie)).$mount(e?t.elm:void 0,e)}},prepatch:function(e,n){var r=n.componentOptions;!function(e,n,r,o,i){var a=o.data.scopedSlots,s=e.$scopedSlots,c=!!(a&&!a.$stable||s!==t&&!s.$stable||a&&e.$scopedSlots.$key!==a.$key||!a&&e.$scopedSlots.$key),u=!!(i||e.$options._renderChildren||c),l=e.$vnode;e.$options._parentVnode=o,e.$vnode=o,e._vnode&&(e._vnode.parent=o),e.$options._renderChildren=i;var f=o.data.attrs||t;e._attrsProxy&&Ce(e._attrsProxy,f,l.data&&l.data.attrs||t,e,"$attrs")&&(u=!0),e.$attrs=f,r=r||t;var d=e.$options._parentListeners;if(e._listenersProxy&&Ce(e._listenersProxy,r,d||t,e,"$listeners"),e.$listeners=e.$options._parentListeners=r,Me(e,r,d),n&&e.$options.props){kt(!1);for(var p=e._props,v=e.$options._propKeys||[],h=0;h<v.length;h++){var m=v[h],g=e.$options.props;p[m]=_r(m,g,n,e)}kt(!0),e.$options.propsData=n}u&&(e.$slots=ge(i,o.context),e.$forceUpdate())}(n.componentInstance=e.componentInstance,r.propsData,r.listeners,n,r.children)},insert:function(t){var e,n=t.context,r=t.componentInstance;r._isMounted||(r._isMounted=!0,Be(r,"mounted")),t.data.keepAlive&&(n._isMounted?((e=r)._inactive=!1,ze.push(e)):Fe(r,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?He(e,!0):e.$destroy())}},sr=Object.keys(ar);function cr(i,a,c,u,l){if(!n(i)){var d=c.$options._base;if(s(i)&&(i=d.extend(i)),"function"==typeof i){var p;if(n(i.cid)&&(i=function(t,e){if(o(t.error)&&r(t.errorComp))return t.errorComp;if(r(t.resolved))return t.resolved;var i=Ae;if(i&&r(t.owners)&&-1===t.owners.indexOf(i)&&t.owners.push(i),o(t.loading)&&r(t.loadingComp))return t.loadingComp;if(i&&!r(t.owners)){var a=t.owners=[i],c=!0,u=null,l=null;i.$on("hook:destroyed",(function(){return g(a,i)}));var d=function(t){for(var e=0,n=a.length;e<n;e++)a[e].$forceUpdate();t&&(a.length=0,null!==u&&(clearTimeout(u),u=null),null!==l&&(clearTimeout(l),l=null))},p=M((function(n){t.resolved=je(n,e),c?a.length=0:d(!0)})),v=M((function(e){r(t.errorComp)&&(t.error=!0,d(!0))})),h=t(p,v);return s(h)&&(f(h)?n(t.resolved)&&h.then(p,v):f(h.component)&&(h.component.then(p,v),r(h.error)&&(t.errorComp=je(h.error,e)),r(h.loading)&&(t.loadingComp=je(h.loading,e),0===h.delay?t.loading=!0:u=setTimeout((function(){u=null,n(t.resolved)&&n(t.error)&&(t.loading=!0,d(!1))}),h.delay||200)),r(h.timeout)&&(l=setTimeout((function(){l=null,n(t.resolved)&&v(null)}),h.timeout)))),c=!1,t.loading?t.loadingComp:t.resolved}}(p=i,d),void 0===i))return function(t,e,n,r,o){var i=ft();return i.asyncFactory=t,i.asyncMeta={data:e,context:n,children:r,tag:o},i}(p,a,c,u,l);a=a||{},er(i),r(a.model)&&function(t,n){var o=t.model&&t.model.prop||"value",i=t.model&&t.model.event||"input";(n.attrs||(n.attrs={}))[o]=n.model.value;var a=n.on||(n.on={}),s=a[i],c=n.model.callback;r(s)?(e(s)?-1===s.indexOf(c):s!==c)&&(a[i]=[c].concat(s)):a[i]=c}(i.options,a);var v=function(t,e,o){var i=e.options.props;if(!n(i)){var a={},s=t.attrs,c=t.props;if(r(s)||r(c))for(var u in i){var l=k(u);Gt(a,c,u,l,!0)||Gt(a,s,u,l,!1)}return a}}(a,i);if(o(i.options.functional))return function(n,o,i,a,s){var c=n.options,u={},l=c.props;if(r(l))for(var f in l)u[f]=_r(f,l,o||t);else r(i.attrs)&&or(u,i.attrs),r(i.props)&&or(u,i.props);var d=new nr(i,u,s,a,n),p=c.render.call(null,d._c,d);if(p instanceof lt)return rr(p,i,d.parent,c);if(e(p)){for(var v=Xt(p)||[],h=new Array(v.length),m=0;m<v.length;m++)h[m]=rr(v[m],i,d.parent,c);return h}}(i,v,a,c,u);var h=a.on;if(a.on=a.nativeOn,o(i.options.abstract)){var m=a.slot;a={},m&&(a.slot=m)}!function(t){for(var e=t.hook||(t.hook={}),n=0;n<sr.length;n++){var r=sr[n],o=e[r],i=ar[r];o===i||o&&o._merged||(e[r]=o?ur(i,o):i)}}(a);var y=ir(i.options)||l;return new lt("vue-component-".concat(i.cid).concat(y?"-".concat(y):""),a,void 0,void 0,void 0,c,{Ctor:i,propsData:v,listeners:h,tag:l,children:u},p)}}}function ur(t,e){var n=function(n,r){t(n,r),e(n,r)};return n._merged=!0,n}var lr=j,fr=H.optionMergeStrategies;function dr(t,e,n){if(void 0===n&&(n=!0),!e)return t;for(var r,o,i,a=st?Reflect.ownKeys(e):Object.keys(e),s=0;s<a.length;s++)"__ob__"!==(r=a[s])&&(o=t[r],i=e[r],n&&_(t,r)?o!==i&&u(o)&&u(i)&&dr(o,i):jt(t,r,i));return t}function pr(t,e,n){return n?function(){var r=a(e)?e.call(n,n):e,o=a(t)?t.call(n,n):t;return r?dr(r,o):o}:e?t?function(){return dr(a(e)?e.call(this,this):e,a(t)?t.call(this,this):t)}:e:t}function vr(t,n){var r=n?t?t.concat(n):e(n)?n:[n]:t;return r?function(t){for(var e=[],n=0;n<t.length;n++)-1===e.indexOf(t[n])&&e.push(t[n]);return e}(r):r}function hr(t,e,n,r){var o=Object.create(t||null);return e?T(o,e):o}fr.data=function(t,e,n){return n?pr(t,e,n):e&&"function"!=typeof e?t:pr(t,e)},F.forEach((function(t){fr[t]=vr})),R.forEach((function(t){fr[t+"s"]=hr})),fr.watch=function(t,n,r,o){if(t===tt&&(t=void 0),n===tt&&(n=void 0),!n)return Object.create(t||null);if(!t)return n;var i={};for(var a in T(i,t),n){var s=i[a],c=n[a];s&&!e(s)&&(s=[s]),i[a]=s?s.concat(c):e(c)?c:[c]}return i},fr.props=fr.methods=fr.inject=fr.computed=function(t,e,n,r){if(!t)return e;var o=Object.create(null);return T(o,t),e&&T(o,e),o},fr.provide=function(t,e){return t?function(){var n=Object.create(null);return dr(n,a(t)?t.call(this):t),e&&dr(n,a(e)?e.call(this):e,!1),n}:e};var mr=function(t,e){return void 0===e?t:e};function gr(t,n,r){if(a(n)&&(n=n.options),function(t,n){var r=t.props;if(r){var o,i,a={};if(e(r))for(o=r.length;o--;)"string"==typeof(i=r[o])&&(a[w(i)]={type:null});else if(u(r))for(var s in r)i=r[s],a[w(s)]=u(i)?i:{type:i};t.props=a}}(n),function(t,n){var r=t.inject;if(r){var o=t.inject={};if(e(r))for(var i=0;i<r.length;i++)o[r[i]]={from:r[i]};else if(u(r))for(var a in r){var s=r[a];o[a]=u(s)?T({from:a},s):{from:s}}}}(n),function(t){var e=t.directives;if(e)for(var n in e){var r=e[n];a(r)&&(e[n]={bind:r,update:r})}}(n),!n._base&&(n.extends&&(t=gr(t,n.extends,r)),n.mixins))for(var o=0,i=n.mixins.length;o<i;o++)t=gr(t,n.mixins[o],r);var s,c={};for(s in t)l(s);for(s in n)_(t,s)||l(s);function l(e){var o=fr[e]||mr;c[e]=o(t[e],n[e],r,e)}return c}function yr(t,e,n,r){if("string"==typeof n){var o=t[e];if(_(o,n))return o[n];var i=w(n);if(_(o,i))return o[i];var a=x(i);return _(o,a)?o[a]:o[n]||o[i]||o[a]}}function _r(t,e,n,r){var o=e[t],i=!_(n,t),s=n[t],c=xr(Boolean,o.type);if(c>-1)if(i&&!_(o,"default"))s=!1;else if(""===s||s===k(t)){var u=xr(String,o.type);(u<0||c<u)&&(s=!0)}if(void 0===s){s=function(t,e,n){if(!_(e,"default"))return;var r=e.default;if(t&&t.$options.propsData&&void 0===t.$options.propsData[n]&&void 0!==t._props[n])return t._props[n];return a(r)&&"Function"!==$r(e.type)?r.call(t):r}(r,o,t);var l=Ct;kt(!0),Tt(s),kt(l)}return s}var br=/^\s*function (\w+)/;function $r(t){var e=t&&t.toString().match(br);return e?e[1]:""}function wr(t,e){return $r(t)===$r(e)}function xr(t,n){if(!e(n))return wr(n,t)?0:-1;for(var r=0,o=n.length;r<o;r++)if(wr(n[r],t))return r;return-1}function Cr(t){this._init(t)}function kr(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,o=t._Ctor||(t._Ctor={});if(o[r])return o[r];var i=ir(t)||ir(n.options),a=function(t){this._init(t)};return(a.prototype=Object.create(n.prototype)).constructor=a,a.cid=e++,a.options=gr(n.options,t),a.super=n,a.options.props&&function(t){var e=t.options.props;for(var n in e)Jn(t.prototype,"_props",n)}(a),a.options.computed&&function(t){var e=t.options.computed;for(var n in e)Zn(t.prototype,n,e[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,R.forEach((function(t){a[t]=n[t]})),i&&(a.options.components[i]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=T({},a.options),o[r]=a,a}}function Sr(t){return t&&(ir(t.Ctor.options)||t.tag)}function Or(t,n){return e(t)?t.indexOf(n)>-1:"string"==typeof t?t.split(",").indexOf(n)>-1:(r=t,"[object RegExp]"===c.call(r)&&t.test(n));var r}function Tr(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a=n[i];if(a){var s=a.name;s&&!e(s)&&Ar(n,i,r,o)}}}function Ar(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,g(n,e)}!function(e){e.prototype._init=function(e){var n=this;n._uid=tr++,n._isVue=!0,n.__v_skip=!0,n._scope=new un(!0),n._scope._vm=!0,e&&e._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(n,e):n.$options=gr(er(n.constructor),e||{},n),n._renderProxy=n,n._self=n,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._provided=n?n._provided:Object.create(null),t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(n),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&Me(t,e)}(n),function(e){e._vnode=null,e._staticTrees=null;var n=e.$options,r=e.$vnode=n._parentVnode,o=r&&r.context;e.$slots=ge(n._renderChildren,o),e.$scopedSlots=r?be(e.$parent,r.data.scopedSlots,e.$slots):t,e._c=function(t,n,r,o){return te(e,t,n,r,o,!1)},e.$createElement=function(t,n,r,o){return te(e,t,n,r,o,!0)};var i=r&&r.data;At(e,"$attrs",i&&i.attrs||t,null,!0),At(e,"$listeners",n._parentListeners||t,null,!0)}(n),Be(n,"beforeCreate",void 0,!1),function(t){var e=Qn(t.$options.inject,t);e&&(kt(!1),Object.keys(e).forEach((function(n){At(t,n,e[n])})),kt(!0))}(n),qn(n),function(t){var e=t.$options.provide;if(e){var n=a(e)?e.call(t):e;if(!s(n))return;for(var r=ln(t),o=st?Reflect.ownKeys(n):Object.keys(n),i=0;i<o.length;i++){var c=o[i];Object.defineProperty(r,c,Object.getOwnPropertyDescriptor(n,c))}}}(n),Be(n,"created"),n.$options.el&&n.$mount(n.$options.el)}}(Cr),function(t){var e={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=jt,t.prototype.$delete=Et,t.prototype.$watch=function(t,e,n){var r=this;if(u(e))return Yn(r,t,e,n);(n=n||{}).user=!0;var o=new Vn(r,t,e,n);if(n.immediate){var i='callback for immediate watcher "'.concat(o.expression,'"');yt(),dn(e,r,[o.value],r,i),_t()}return function(){o.teardown()}}}(Cr),function(t){var n=/^hook:/;t.prototype.$on=function(t,r){var o=this;if(e(t))for(var i=0,a=t.length;i<a;i++)o.$on(t[i],r);else(o._events[t]||(o._events[t]=[])).push(r),n.test(t)&&(o._hasHookEvent=!0);return o},t.prototype.$once=function(t,e){var n=this;function r(){n.$off(t,r),e.apply(n,arguments)}return r.fn=e,n.$on(t,r),n},t.prototype.$off=function(t,n){var r=this;if(!arguments.length)return r._events=Object.create(null),r;if(e(t)){for(var o=0,i=t.length;o<i;o++)r.$off(t[o],n);return r}var a,s=r._events[t];if(!s)return r;if(!n)return r._events[t]=null,r;for(var c=s.length;c--;)if((a=s[c])===n||a.fn===n){s.splice(c,1);break}return r},t.prototype.$emit=function(t){var e=this,n=e._events[t];if(n){n=n.length>1?O(n):n;for(var r=O(arguments,1),o='event handler for "'.concat(t,'"'),i=0,a=n.length;i<a;i++)dn(n[i],e,r,e,o)}return e}}(Cr),function(t){t.prototype._update=function(t,e){var n=this,r=n.$el,o=n._vnode,i=Le(n);n._vnode=t,n.$el=o?n.__patch__(o,t):n.__patch__(n.$el,t,e,!1),i(),r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n);for(var a=n;a&&a.$vnode&&a.$parent&&a.$vnode===a.$parent._vnode;)a.$parent.$el=a.$el,a=a.$parent},t.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){Be(t,"beforeDestroy"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||g(e.$children,t),t._scope.stop(),t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),Be(t,"destroyed"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}}}(Cr),function(t){me(t.prototype),t.prototype.$nextTick=function(t){return Cn(t,this)},t.prototype._render=function(){var t,n=this,r=n.$options,o=r.render,i=r._parentVnode;i&&n._isMounted&&(n.$scopedSlots=be(n.$parent,i.data.scopedSlots,n.$slots,n.$scopedSlots),n._slotsProxy&&Se(n._slotsProxy,n.$scopedSlots)),n.$vnode=i;try{ut(n),Ae=n,t=o.call(n._renderProxy,n.$createElement)}catch(e){fn(e,n,"render"),t=n._vnode}finally{Ae=null,ut()}return e(t)&&1===t.length&&(t=t[0]),t instanceof lt||(t=ft()),t.parent=i,t}}(Cr);var jr=[String,RegExp,Array],Er={name:"keep-alive",abstract:!0,props:{include:jr,exclude:jr,max:[String,Number]},methods:{cacheVNode:function(){var t=this,e=t.cache,n=t.keys,r=t.vnodeToCache,o=t.keyToCache;if(r){var i=r.tag,a=r.componentInstance,s=r.componentOptions;e[o]={name:Sr(s),tag:i,componentInstance:a},n.push(o),this.max&&n.length>parseInt(this.max)&&Ar(e,n[0],n,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Ar(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",(function(e){Tr(t,(function(t){return Or(e,t)}))})),this.$watch("exclude",(function(e){Tr(t,(function(t){return!Or(e,t)}))}))},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=Ee(t),n=e&&e.componentOptions;if(n){var r=Sr(n),o=this.include,i=this.exclude;if(o&&(!r||!Or(o,r))||i&&r&&Or(i,r))return e;var a=this.cache,s=this.keys,c=null==e.key?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):e.key;a[c]?(e.componentInstance=a[c].componentInstance,g(s,c),s.push(c)):(this.vnodeToCache=e,this.keyToCache=c),e.data.keepAlive=!0}return e||t&&t[0]}},Nr={KeepAlive:Er};!function(t){var e={get:function(){return H}};Object.defineProperty(t,"config",e),t.util={warn:lr,extend:T,mergeOptions:gr,defineReactive:At},t.set=jt,t.delete=Et,t.nextTick=Cn,t.observable=function(t){return Tt(t),t},t.options=Object.create(null),R.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,T(t.options.components,Nr),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=O(arguments,1);return n.unshift(this),a(t.install)?t.install.apply(t,n):a(t)&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=gr(this.options,t),this}}(t),kr(t),function(t){R.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&u(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&a(n)&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}(t)}(Cr),Object.defineProperty(Cr.prototype,"$isServer",{get:rt}),Object.defineProperty(Cr.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Cr,"FunctionalRenderContext",{value:nr}),Cr.version=Rn;var Pr=v("style,class"),Dr=v("input,textarea,option,select,progress"),Mr=function(t,e,n){return"value"===n&&Dr(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},Ir=v("contenteditable,draggable,spellcheck"),Lr=v("events,caret,typing,plaintext-only"),Rr=v("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),Fr="http://www.w3.org/1999/xlink",Hr=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Br=function(t){return Hr(t)?t.slice(6,t.length):""},Ur=function(t){return null==t||!1===t};function zr(t){for(var e=t.data,n=t,o=t;r(o.componentInstance);)(o=o.componentInstance._vnode)&&o.data&&(e=Vr(o.data,e));for(;r(n=n.parent);)n&&n.data&&(e=Vr(e,n.data));return function(t,e){if(r(t)||r(e))return Kr(t,Jr(e));return""}(e.staticClass,e.class)}function Vr(t,e){return{staticClass:Kr(t.staticClass,e.staticClass),class:r(t.class)?[t.class,e.class]:e.class}}function Kr(t,e){return t?e?t+" "+e:t:e||""}function Jr(t){return Array.isArray(t)?function(t){for(var e,n="",o=0,i=t.length;o<i;o++)r(e=Jr(t[o]))&&""!==e&&(n&&(n+=" "),n+=e);return n}(t):s(t)?function(t){var e="";for(var n in t)t[n]&&(e&&(e+=" "),e+=n);return e}(t):"string"==typeof t?t:""}var qr={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},Wr=v("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),Zr=v("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Gr=function(t){return Wr(t)||Zr(t)};function Xr(t){return Zr(t)?"svg":"math"===t?"math":void 0}var Yr=Object.create(null);var Qr=v("text,number,password,search,email,tel,url");function to(t){if("string"==typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}var eo=Object.freeze({__proto__:null,createElement:function(t,e){var n=document.createElement(t);return"select"!==t||e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n},createElementNS:function(t,e){return document.createElementNS(qr[t],e)},createTextNode:function(t){return document.createTextNode(t)},createComment:function(t){return document.createComment(t)},insertBefore:function(t,e,n){t.insertBefore(e,n)},removeChild:function(t,e){t.removeChild(e)},appendChild:function(t,e){t.appendChild(e)},parentNode:function(t){return t.parentNode},nextSibling:function(t){return t.nextSibling},tagName:function(t){return t.tagName},setTextContent:function(t,e){t.textContent=e},setStyleScope:function(t,e){t.setAttribute(e,"")}}),no={create:function(t,e){ro(e)},update:function(t,e){t.data.ref!==e.data.ref&&(ro(t,!0),ro(e))},destroy:function(t){ro(t,!0)}};function ro(t,n){var o=t.data.ref;if(r(o)){var i=t.context,s=t.componentInstance||t.elm,c=n?null:s,u=n?void 0:s;if(a(o))dn(o,i,[c],i,"template ref function");else{var l=t.data.refInFor,f="string"==typeof o||"number"==typeof o,d=Ft(o),p=i.$refs;if(f||d)if(l){var v=f?p[o]:o.value;n?e(v)&&g(v,s):e(v)?v.includes(s)||v.push(s):f?(p[o]=[s],oo(i,o,p[o])):o.value=[s]}else if(f){if(n&&p[o]!==s)return;p[o]=u,oo(i,o,c)}else if(d){if(n&&o.value!==s)return;o.value=c}}}}function oo(t,e,n){var r=t._setupState;r&&_(r,e)&&(Ft(r[e])?r[e].value=n:r[e]=n)}var io=new lt("",{},[]),ao=["create","activate","update","remove","destroy"];function so(t,e){return t.key===e.key&&t.asyncFactory===e.asyncFactory&&(t.tag===e.tag&&t.isComment===e.isComment&&r(t.data)===r(e.data)&&function(t,e){if("input"!==t.tag)return!0;var n,o=r(n=t.data)&&r(n=n.attrs)&&n.type,i=r(n=e.data)&&r(n=n.attrs)&&n.type;return o===i||Qr(o)&&Qr(i)}(t,e)||o(t.isAsyncPlaceholder)&&n(e.asyncFactory.error))}function co(t,e,n){var o,i,a={};for(o=e;o<=n;++o)r(i=t[o].key)&&(a[i]=o);return a}var uo={create:lo,update:lo,destroy:function(t){lo(t,io)}};function lo(t,e){(t.data.directives||e.data.directives)&&function(t,e){var n,r,o,i=t===io,a=e===io,s=po(t.data.directives,t.context),c=po(e.data.directives,e.context),u=[],l=[];for(n in c)r=s[n],o=c[n],r?(o.oldValue=r.value,o.oldArg=r.arg,ho(o,"update",e,t),o.def&&o.def.componentUpdated&&l.push(o)):(ho(o,"bind",e,t),o.def&&o.def.inserted&&u.push(o));if(u.length){var f=function(){for(var n=0;n<u.length;n++)ho(u[n],"inserted",e,t)};i?Zt(e,"insert",f):f()}l.length&&Zt(e,"postpatch",(function(){for(var n=0;n<l.length;n++)ho(l[n],"componentUpdated",e,t)}));if(!i)for(n in s)c[n]||ho(s[n],"unbind",t,t,a)}(t,e)}var fo=Object.create(null);function po(t,e){var n,r,o=Object.create(null);if(!t)return o;for(n=0;n<t.length;n++){if((r=t[n]).modifiers||(r.modifiers=fo),o[vo(r)]=r,e._setupState&&e._setupState.__sfc){var i=r.def||yr(e,"_setupState","v-"+r.name);r.def="function"==typeof i?{bind:i,update:i}:i}r.def=r.def||yr(e.$options,"directives",r.name)}return o}function vo(t){return t.rawName||"".concat(t.name,".").concat(Object.keys(t.modifiers||{}).join("."))}function ho(t,e,n,r,o){var i=t.def&&t.def[e];if(i)try{i(n.elm,t,n,r,o)}catch(r){fn(r,n.context,"directive ".concat(t.name," ").concat(e," hook"))}}var mo=[no,uo];function go(t,e){var i=e.componentOptions;if(!(r(i)&&!1===i.Ctor.options.inheritAttrs||n(t.data.attrs)&&n(e.data.attrs))){var a,s,c=e.elm,u=t.data.attrs||{},l=e.data.attrs||{};for(a in(r(l.__ob__)||o(l._v_attr_proxy))&&(l=e.data.attrs=T({},l)),l)s=l[a],u[a]!==s&&yo(c,a,s,e.data.pre);for(a in(W||G)&&l.value!==u.value&&yo(c,"value",l.value),u)n(l[a])&&(Hr(a)?c.removeAttributeNS(Fr,Br(a)):Ir(a)||c.removeAttribute(a))}}function yo(t,e,n,r){r||t.tagName.indexOf("-")>-1?_o(t,e,n):Rr(e)?Ur(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Ir(e)?t.setAttribute(e,function(t,e){return Ur(e)||"false"===e?"false":"contenteditable"===t&&Lr(e)?e:"true"}(e,n)):Hr(e)?Ur(n)?t.removeAttributeNS(Fr,Br(e)):t.setAttributeNS(Fr,e,n):_o(t,e,n)}function _o(t,e,n){if(Ur(n))t.removeAttribute(e);else{if(W&&!Z&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var bo={create:go,update:go};function $o(t,e){var o=e.elm,i=e.data,a=t.data;if(!(n(i.staticClass)&&n(i.class)&&(n(a)||n(a.staticClass)&&n(a.class)))){var s=zr(e),c=o._transitionClasses;r(c)&&(s=Kr(s,Jr(c))),s!==o._prevClass&&(o.setAttribute("class",s),o._prevClass=s)}}var wo,xo,Co,ko,So,Oo,To={create:$o,update:$o},Ao=/[\w).+\-_$\]]/;function jo(t){var e,n,r,o,i,a=!1,s=!1,c=!1,u=!1,l=0,f=0,d=0,p=0;for(r=0;r<t.length;r++)if(n=e,e=t.charCodeAt(r),a)39===e&&92!==n&&(a=!1);else if(s)34===e&&92!==n&&(s=!1);else if(c)96===e&&92!==n&&(c=!1);else if(u)47===e&&92!==n&&(u=!1);else if(124!==e||124===t.charCodeAt(r+1)||124===t.charCodeAt(r-1)||l||f||d){switch(e){case 34:s=!0;break;case 39:a=!0;break;case 96:c=!0;break;case 40:d++;break;case 41:d--;break;case 91:f++;break;case 93:f--;break;case 123:l++;break;case 125:l--}if(47===e){for(var v=r-1,h=void 0;v>=0&&" "===(h=t.charAt(v));v--);h&&Ao.test(h)||(u=!0)}}else void 0===o?(p=r+1,o=t.slice(0,r).trim()):m();function m(){(i||(i=[])).push(t.slice(p,r).trim()),p=r+1}if(void 0===o?o=t.slice(0,r).trim():0!==p&&m(),i)for(r=0;r<i.length;r++)o=Eo(o,i[r]);return o}function Eo(t,e){var n=e.indexOf("(");if(n<0)return'_f("'.concat(e,'")(').concat(t,")");var r=e.slice(0,n),o=e.slice(n+1);return'_f("'.concat(r,'")(').concat(t).concat(")"!==o?","+o:o)}function No(t,e){console.error("[Vue compiler]: ".concat(t))}function Po(t,e){return t?t.map((function(t){return t[e]})).filter((function(t){return t})):[]}function Do(t,e,n,r,o){(t.props||(t.props=[])).push(zo({name:e,value:n,dynamic:o},r)),t.plain=!1}function Mo(t,e,n,r,o){(o?t.dynamicAttrs||(t.dynamicAttrs=[]):t.attrs||(t.attrs=[])).push(zo({name:e,value:n,dynamic:o},r)),t.plain=!1}function Io(t,e,n,r){t.attrsMap[e]=n,t.attrsList.push(zo({name:e,value:n},r))}function Lo(t,e,n,r,o,i,a,s){(t.directives||(t.directives=[])).push(zo({name:e,rawName:n,value:r,arg:o,isDynamicArg:i,modifiers:a},s)),t.plain=!1}function Ro(t,e,n){return n?"_p(".concat(e,',"').concat(t,'")'):t+e}function Fo(e,n,r,o,i,a,s,c){var u;(o=o||t).right?c?n="(".concat(n,")==='click'?'contextmenu':(").concat(n,")"):"click"===n&&(n="contextmenu",delete o.right):o.middle&&(c?n="(".concat(n,")==='click'?'mouseup':(").concat(n,")"):"click"===n&&(n="mouseup")),o.capture&&(delete o.capture,n=Ro("!",n,c)),o.once&&(delete o.once,n=Ro("~",n,c)),o.passive&&(delete o.passive,n=Ro("&",n,c)),o.native?(delete o.native,u=e.nativeEvents||(e.nativeEvents={})):u=e.events||(e.events={});var l=zo({value:r.trim(),dynamic:c},s);o!==t&&(l.modifiers=o);var f=u[n];Array.isArray(f)?i?f.unshift(l):f.push(l):u[n]=f?i?[l,f]:[f,l]:l,e.plain=!1}function Ho(t,e,n){var r=Bo(t,":"+e)||Bo(t,"v-bind:"+e);if(null!=r)return jo(r);if(!1!==n){var o=Bo(t,e);if(null!=o)return JSON.stringify(o)}}function Bo(t,e,n){var r;if(null!=(r=t.attrsMap[e]))for(var o=t.attrsList,i=0,a=o.length;i<a;i++)if(o[i].name===e){o.splice(i,1);break}return n&&delete t.attrsMap[e],r}function Uo(t,e){for(var n=t.attrsList,r=0,o=n.length;r<o;r++){var i=n[r];if(e.test(i.name))return n.splice(r,1),i}}function zo(t,e){return e&&(null!=e.start&&(t.start=e.start),null!=e.end&&(t.end=e.end)),t}function Vo(t,e,n){var r=n||{},o=r.number,i="$$v",a=i;r.trim&&(a="(typeof ".concat(i," === 'string'")+"? ".concat(i,".trim()")+": ".concat(i,")")),o&&(a="_n(".concat(a,")"));var s=Ko(e,a);t.model={value:"(".concat(e,")"),expression:JSON.stringify(e),callback:"function (".concat(i,") {").concat(s,"}")}}function Ko(t,e){var n=function(t){if(t=t.trim(),wo=t.length,t.indexOf("[")<0||t.lastIndexOf("]")<wo-1)return(ko=t.lastIndexOf("."))>-1?{exp:t.slice(0,ko),key:'"'+t.slice(ko+1)+'"'}:{exp:t,key:null};xo=t,ko=So=Oo=0;for(;!qo();)Wo(Co=Jo())?Go(Co):91===Co&&Zo(Co);return{exp:t.slice(0,So),key:t.slice(So+1,Oo)}}(t);return null===n.key?"".concat(t,"=").concat(e):"$set(".concat(n.exp,", ").concat(n.key,", ").concat(e,")")}function Jo(){return xo.charCodeAt(++ko)}function qo(){return ko>=wo}function Wo(t){return 34===t||39===t}function Zo(t){var e=1;for(So=ko;!qo();)if(Wo(t=Jo()))Go(t);else if(91===t&&e++,93===t&&e--,0===e){Oo=ko;break}}function Go(t){for(var e=t;!qo()&&(t=Jo())!==e;);}var Xo,Yo="__r";function Qo(t,e,n){var r=Xo;return function o(){var i=e.apply(null,arguments);null!==i&&ni(t,o,n,r)}}var ti=mn&&!(Q&&Number(Q[1])<=53);function ei(t,e,n,r){if(ti){var o=We,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}Xo.addEventListener(t,e,et?{capture:n,passive:r}:n)}function ni(t,e,n,r){(r||Xo).removeEventListener(t,e._wrapper||e,n)}function ri(t,e){if(!n(t.data.on)||!n(e.data.on)){var o=e.data.on||{},i=t.data.on||{};Xo=e.elm||t.elm,function(t){if(r(t.__r)){var e=W?"change":"input";t[e]=[].concat(t.__r,t[e]||[]),delete t.__r}r(t.__c)&&(t.change=[].concat(t.__c,t.change||[]),delete t.__c)}(o),Wt(o,i,ei,ni,Qo,e.context),Xo=void 0}}var oi,ii={create:ri,update:ri,destroy:function(t){return ri(t,io)}};function ai(t,e){if(!n(t.data.domProps)||!n(e.data.domProps)){var i,a,s=e.elm,c=t.data.domProps||{},u=e.data.domProps||{};for(i in(r(u.__ob__)||o(u._v_attr_proxy))&&(u=e.data.domProps=T({},u)),c)i in u||(s[i]="");for(i in u){if(a=u[i],"textContent"===i||"innerHTML"===i){if(e.children&&(e.children.length=0),a===c[i])continue;1===s.childNodes.length&&s.removeChild(s.childNodes[0])}if("value"===i&&"PROGRESS"!==s.tagName){s._value=a;var l=n(a)?"":String(a);si(s,l)&&(s.value=l)}else if("innerHTML"===i&&Zr(s.tagName)&&n(s.innerHTML)){(oi=oi||document.createElement("div")).innerHTML="<svg>".concat(a,"</svg>");for(var f=oi.firstChild;s.firstChild;)s.removeChild(s.firstChild);for(;f.firstChild;)s.appendChild(f.firstChild)}else if(a!==c[i])try{s[i]=a}catch(t){}}}}function si(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,o=t._vModifiers;if(r(o)){if(o.number)return p(n)!==p(e);if(o.trim)return n.trim()!==e.trim()}return n!==e}(t,e))}var ci={create:ai,update:ai},ui=b((function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach((function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}})),e}));function li(t){var e=fi(t.style);return t.staticStyle?T(t.staticStyle,e):e}function fi(t){return Array.isArray(t)?A(t):"string"==typeof t?ui(t):t}var di,pi=/^--/,vi=/\s*!important$/,hi=function(t,e,n){if(pi.test(e))t.style.setProperty(e,n);else if(vi.test(n))t.style.setProperty(k(e),n.replace(vi,""),"important");else{var r=gi(e);if(Array.isArray(n))for(var o=0,i=n.length;o<i;o++)t.style[r]=n[o];else t.style[r]=n}},mi=["Webkit","Moz","ms"],gi=b((function(t){if(di=di||document.createElement("div").style,"filter"!==(t=w(t))&&t in di)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<mi.length;n++){var r=mi[n]+e;if(r in di)return r}}));function yi(t,e){var o=e.data,i=t.data;if(!(n(o.staticStyle)&&n(o.style)&&n(i.staticStyle)&&n(i.style))){var a,s,c=e.elm,u=i.staticStyle,l=i.normalizedStyle||i.style||{},f=u||l,d=fi(e.data.style)||{};e.data.normalizedStyle=r(d.__ob__)?T({},d):d;var p=function(t,e){var n,r={};if(e)for(var o=t;o.componentInstance;)(o=o.componentInstance._vnode)&&o.data&&(n=li(o.data))&&T(r,n);(n=li(t.data))&&T(r,n);for(var i=t;i=i.parent;)i.data&&(n=li(i.data))&&T(r,n);return r}(e,!0);for(s in f)n(p[s])&&hi(c,s,"");for(s in p)(a=p[s])!==f[s]&&hi(c,s,null==a?"":a)}}var _i={create:yi,update:yi},bi=/\s+/;function $i(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(bi).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" ".concat(t.getAttribute("class")||""," ");n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function wi(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(bi).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" ".concat(t.getAttribute("class")||""," "),r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function xi(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&T(e,Ci(t.name||"v")),T(e,t),e}return"string"==typeof t?Ci(t):void 0}}var Ci=b((function(t){return{enterClass:"".concat(t,"-enter"),enterToClass:"".concat(t,"-enter-to"),enterActiveClass:"".concat(t,"-enter-active"),leaveClass:"".concat(t,"-leave"),leaveToClass:"".concat(t,"-leave-to"),leaveActiveClass:"".concat(t,"-leave-active")}})),ki=J&&!Z,Si="transition",Oi="animation",Ti="transition",Ai="transitionend",ji="animation",Ei="animationend";ki&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Ti="WebkitTransition",Ai="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(ji="WebkitAnimation",Ei="webkitAnimationEnd"));var Ni=J?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function Pi(t){Ni((function(){Ni(t)}))}function Di(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),$i(t,e))}function Mi(t,e){t._transitionClasses&&g(t._transitionClasses,e),wi(t,e)}function Ii(t,e,n){var r=Ri(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s=o===Si?Ai:Ei,c=0,u=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++c>=a&&u()};setTimeout((function(){c<a&&u()}),i+1),t.addEventListener(s,l)}var Li=/\b(transform|all)(,|$)/;function Ri(t,e){var n,r=window.getComputedStyle(t),o=(r[Ti+"Delay"]||"").split(", "),i=(r[Ti+"Duration"]||"").split(", "),a=Fi(o,i),s=(r[ji+"Delay"]||"").split(", "),c=(r[ji+"Duration"]||"").split(", "),u=Fi(s,c),l=0,f=0;return e===Si?a>0&&(n=Si,l=a,f=i.length):e===Oi?u>0&&(n=Oi,l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?Si:Oi:null)?n===Si?i.length:c.length:0,{type:n,timeout:l,propCount:f,hasTransform:n===Si&&Li.test(r[Ti+"Property"])}}function Fi(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max.apply(null,e.map((function(e,n){return Hi(e)+Hi(t[n])})))}function Hi(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function Bi(t,e){var o=t.elm;r(o._leaveCb)&&(o._leaveCb.cancelled=!0,o._leaveCb());var i=xi(t.data.transition);if(!n(i)&&!r(o._enterCb)&&1===o.nodeType){for(var c=i.css,u=i.type,l=i.enterClass,f=i.enterToClass,d=i.enterActiveClass,v=i.appearClass,h=i.appearToClass,m=i.appearActiveClass,g=i.beforeEnter,y=i.enter,_=i.afterEnter,b=i.enterCancelled,$=i.beforeAppear,w=i.appear,x=i.afterAppear,C=i.appearCancelled,k=i.duration,S=Ie,O=Ie.$vnode;O&&O.parent;)S=O.context,O=O.parent;var T=!S._isMounted||!t.isRootInsert;if(!T||w||""===w){var A=T&&v?v:l,j=T&&m?m:d,E=T&&h?h:f,N=T&&$||g,P=T&&a(w)?w:y,D=T&&x||_,I=T&&C||b,L=p(s(k)?k.enter:k),R=!1!==c&&!Z,F=Vi(P),H=o._enterCb=M((function(){R&&(Mi(o,E),Mi(o,j)),H.cancelled?(R&&Mi(o,A),I&&I(o)):D&&D(o),o._enterCb=null}));t.data.show||Zt(t,"insert",(function(){var e=o.parentNode,n=e&&e._pending&&e._pending[t.key];n&&n.tag===t.tag&&n.elm._leaveCb&&n.elm._leaveCb(),P&&P(o,H)})),N&&N(o),R&&(Di(o,A),Di(o,j),Pi((function(){Mi(o,A),H.cancelled||(Di(o,E),F||(zi(L)?setTimeout(H,L):Ii(o,u,H)))}))),t.data.show&&(e&&e(),P&&P(o,H)),R||F||H()}}}function Ui(t,e){var o=t.elm;r(o._enterCb)&&(o._enterCb.cancelled=!0,o._enterCb());var i=xi(t.data.transition);if(n(i)||1!==o.nodeType)return e();if(!r(o._leaveCb)){var a=i.css,c=i.type,u=i.leaveClass,l=i.leaveToClass,f=i.leaveActiveClass,d=i.beforeLeave,v=i.leave,h=i.afterLeave,m=i.leaveCancelled,g=i.delayLeave,y=i.duration,_=!1!==a&&!Z,b=Vi(v),$=p(s(y)?y.leave:y),w=o._leaveCb=M((function(){o.parentNode&&o.parentNode._pending&&(o.parentNode._pending[t.key]=null),_&&(Mi(o,l),Mi(o,f)),w.cancelled?(_&&Mi(o,u),m&&m(o)):(e(),h&&h(o)),o._leaveCb=null}));g?g(x):x()}function x(){w.cancelled||(!t.data.show&&o.parentNode&&((o.parentNode._pending||(o.parentNode._pending={}))[t.key]=t),d&&d(o),_&&(Di(o,u),Di(o,f),Pi((function(){Mi(o,u),w.cancelled||(Di(o,l),b||(zi($)?setTimeout(w,$):Ii(o,c,w)))}))),v&&v(o,w),_||b||w())}}function zi(t){return"number"==typeof t&&!isNaN(t)}function Vi(t){if(n(t))return!1;var e=t.fns;return r(e)?Vi(Array.isArray(e)?e[0]:e):(t._length||t.length)>1}function Ki(t,e){!0!==e.data.show&&Bi(e)}var Ji=function(t){var a,s,c={},u=t.modules,l=t.nodeOps;for(a=0;a<ao.length;++a)for(c[ao[a]]=[],s=0;s<u.length;++s)r(u[s][ao[a]])&&c[ao[a]].push(u[s][ao[a]]);function f(t){var e=l.parentNode(t);r(e)&&l.removeChild(e,t)}function d(t,e,n,i,a,s,u){if(r(t.elm)&&r(s)&&(t=s[u]=pt(t)),t.isRootInsert=!a,!function(t,e,n,i){var a=t.data;if(r(a)){var s=r(t.componentInstance)&&a.keepAlive;if(r(a=a.hook)&&r(a=a.init)&&a(t,!1),r(t.componentInstance))return p(t,e),h(n,t.elm,i),o(s)&&function(t,e,n,o){var i,a=t;for(;a.componentInstance;)if(r(i=(a=a.componentInstance._vnode).data)&&r(i=i.transition)){for(i=0;i<c.activate.length;++i)c.activate[i](io,a);e.push(a);break}h(n,t.elm,o)}(t,e,n,i),!0}}(t,e,n,i)){var f=t.data,d=t.children,v=t.tag;r(v)?(t.elm=t.ns?l.createElementNS(t.ns,v):l.createElement(v,t),_(t),m(t,d,e),r(f)&&y(t,e),h(n,t.elm,i)):o(t.isComment)?(t.elm=l.createComment(t.text),h(n,t.elm,i)):(t.elm=l.createTextNode(t.text),h(n,t.elm,i))}}function p(t,e){r(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,g(t)?(y(t,e),_(t)):(ro(t),e.push(t))}function h(t,e,n){r(t)&&(r(n)?l.parentNode(n)===t&&l.insertBefore(t,e,n):l.appendChild(t,e))}function m(t,n,r){if(e(n))for(var o=0;o<n.length;++o)d(n[o],r,t.elm,null,!0,n,o);else i(t.text)&&l.appendChild(t.elm,l.createTextNode(String(t.text)))}function g(t){for(;t.componentInstance;)t=t.componentInstance._vnode;return r(t.tag)}function y(t,e){for(var n=0;n<c.create.length;++n)c.create[n](io,t);r(a=t.data.hook)&&(r(a.create)&&a.create(io,t),r(a.insert)&&e.push(t))}function _(t){var e;if(r(e=t.fnScopeId))l.setStyleScope(t.elm,e);else for(var n=t;n;)r(e=n.context)&&r(e=e.$options._scopeId)&&l.setStyleScope(t.elm,e),n=n.parent;r(e=Ie)&&e!==t.context&&e!==t.fnContext&&r(e=e.$options._scopeId)&&l.setStyleScope(t.elm,e)}function b(t,e,n,r,o,i){for(;r<=o;++r)d(n[r],i,t,e,!1,n,r)}function $(t){var e,n,o=t.data;if(r(o))for(r(e=o.hook)&&r(e=e.destroy)&&e(t),e=0;e<c.destroy.length;++e)c.destroy[e](t);if(r(e=t.children))for(n=0;n<t.children.length;++n)$(t.children[n])}function w(t,e,n){for(;e<=n;++e){var o=t[e];r(o)&&(r(o.tag)?(x(o),$(o)):f(o.elm))}}function x(t,e){if(r(e)||r(t.data)){var n,o=c.remove.length+1;for(r(e)?e.listeners+=o:e=function(t,e){function n(){0==--n.listeners&&f(t)}return n.listeners=e,n}(t.elm,o),r(n=t.componentInstance)&&r(n=n._vnode)&&r(n.data)&&x(n,e),n=0;n<c.remove.length;++n)c.remove[n](t,e);r(n=t.data.hook)&&r(n=n.remove)?n(t,e):e()}else f(t.elm)}function C(t,e,n,o){for(var i=n;i<o;i++){var a=e[i];if(r(a)&&so(t,a))return i}}function k(t,e,i,a,s,u){if(t!==e){r(e.elm)&&r(a)&&(e=a[s]=pt(e));var f=e.elm=t.elm;if(o(t.isAsyncPlaceholder))r(e.asyncFactory.resolved)?T(t.elm,e,i):e.isAsyncPlaceholder=!0;else if(o(e.isStatic)&&o(t.isStatic)&&e.key===t.key&&(o(e.isCloned)||o(e.isOnce)))e.componentInstance=t.componentInstance;else{var p,v=e.data;r(v)&&r(p=v.hook)&&r(p=p.prepatch)&&p(t,e);var h=t.children,m=e.children;if(r(v)&&g(e)){for(p=0;p<c.update.length;++p)c.update[p](t,e);r(p=v.hook)&&r(p=p.update)&&p(t,e)}n(e.text)?r(h)&&r(m)?h!==m&&function(t,e,o,i,a){for(var s,c,u,f=0,p=0,v=e.length-1,h=e[0],m=e[v],g=o.length-1,y=o[0],_=o[g],$=!a;f<=v&&p<=g;)n(h)?h=e[++f]:n(m)?m=e[--v]:so(h,y)?(k(h,y,i,o,p),h=e[++f],y=o[++p]):so(m,_)?(k(m,_,i,o,g),m=e[--v],_=o[--g]):so(h,_)?(k(h,_,i,o,g),$&&l.insertBefore(t,h.elm,l.nextSibling(m.elm)),h=e[++f],_=o[--g]):so(m,y)?(k(m,y,i,o,p),$&&l.insertBefore(t,m.elm,h.elm),m=e[--v],y=o[++p]):(n(s)&&(s=co(e,f,v)),n(c=r(y.key)?s[y.key]:C(y,e,f,v))?d(y,i,t,h.elm,!1,o,p):so(u=e[c],y)?(k(u,y,i,o,p),e[c]=void 0,$&&l.insertBefore(t,u.elm,h.elm)):d(y,i,t,h.elm,!1,o,p),y=o[++p]);f>v?b(t,n(o[g+1])?null:o[g+1].elm,o,p,g,i):p>g&&w(e,f,v)}(f,h,m,i,u):r(m)?(r(t.text)&&l.setTextContent(f,""),b(f,null,m,0,m.length-1,i)):r(h)?w(h,0,h.length-1):r(t.text)&&l.setTextContent(f,""):t.text!==e.text&&l.setTextContent(f,e.text),r(v)&&r(p=v.hook)&&r(p=p.postpatch)&&p(t,e)}}}function S(t,e,n){if(o(n)&&r(t.parent))t.parent.data.pendingInsert=e;else for(var i=0;i<e.length;++i)e[i].data.hook.insert(e[i])}var O=v("attrs,class,staticClass,staticStyle,key");function T(t,e,n,i){var a,s=e.tag,c=e.data,u=e.children;if(i=i||c&&c.pre,e.elm=t,o(e.isComment)&&r(e.asyncFactory))return e.isAsyncPlaceholder=!0,!0;if(r(c)&&(r(a=c.hook)&&r(a=a.init)&&a(e,!0),r(a=e.componentInstance)))return p(e,n),!0;if(r(s)){if(r(u))if(t.hasChildNodes())if(r(a=c)&&r(a=a.domProps)&&r(a=a.innerHTML)){if(a!==t.innerHTML)return!1}else{for(var l=!0,f=t.firstChild,d=0;d<u.length;d++){if(!f||!T(f,u[d],n,i)){l=!1;break}f=f.nextSibling}if(!l||f)return!1}else m(e,u,n);if(r(c)){var v=!1;for(var h in c)if(!O(h)){v=!0,y(e,n);break}!v&&c.class&&Bn(c.class)}}else t.data!==e.text&&(t.data=e.text);return!0}return function(t,e,i,a){if(!n(e)){var s,u=!1,f=[];if(n(t))u=!0,d(e,f);else{var p=r(t.nodeType);if(!p&&so(t,e))k(t,e,f,null,null,a);else{if(p){if(1===t.nodeType&&t.hasAttribute(L)&&(t.removeAttribute(L),i=!0),o(i)&&T(t,e,f))return S(e,f,!0),t;s=t,t=new lt(l.tagName(s).toLowerCase(),{},[],void 0,s)}var v=t.elm,h=l.parentNode(v);if(d(e,f,v._leaveCb?null:h,l.nextSibling(v)),r(e.parent))for(var m=e.parent,y=g(e);m;){for(var _=0;_<c.destroy.length;++_)c.destroy[_](m);if(m.elm=e.elm,y){for(var b=0;b<c.create.length;++b)c.create[b](io,m);var x=m.data.hook.insert;if(x.merged)for(var C=1;C<x.fns.length;C++)x.fns[C]()}else ro(m);m=m.parent}r(h)?w([t],0,0):r(t.tag)&&$(t)}}return S(e,f,u),e.elm}r(t)&&$(t)}}({nodeOps:eo,modules:[bo,To,ii,ci,_i,J?{create:Ki,activate:Ki,remove:function(t,e){!0!==t.data.show?Ui(t,e):e()}}:{}].concat(mo)});Z&&document.addEventListener("selectionchange",(function(){var t=document.activeElement;t&&t.vmodel&&ta(t,"input")}));var qi={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?Zt(n,"postpatch",(function(){qi.componentUpdated(t,e,n)})):Wi(t,e,n.context),t._vOptions=[].map.call(t.options,Xi)):("textarea"===n.tag||Qr(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",Yi),t.addEventListener("compositionend",Qi),t.addEventListener("change",Qi),Z&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){Wi(t,e,n.context);var r=t._vOptions,o=t._vOptions=[].map.call(t.options,Xi);if(o.some((function(t,e){return!P(t,r[e])})))(t.multiple?e.value.some((function(t){return Gi(t,o)})):e.value!==e.oldValue&&Gi(e.value,o))&&ta(t,"change")}}};function Wi(t,e,n){Zi(t,e),(W||G)&&setTimeout((function(){Zi(t,e)}),0)}function Zi(t,e,n){var r=e.value,o=t.multiple;if(!o||Array.isArray(r)){for(var i,a,s=0,c=t.options.length;s<c;s++)if(a=t.options[s],o)i=D(r,Xi(a))>-1,a.selected!==i&&(a.selected=i);else if(P(Xi(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));o||(t.selectedIndex=-1)}}function Gi(t,e){return e.every((function(e){return!P(e,t)}))}function Xi(t){return"_value"in t?t._value:t.value}function Yi(t){t.target.composing=!0}function Qi(t){t.target.composing&&(t.target.composing=!1,ta(t.target,"input"))}function ta(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function ea(t){return!t.componentInstance||t.data&&t.data.transition?t:ea(t.componentInstance._vnode)}var na={bind:function(t,e,n){var r=e.value,o=(n=ea(n)).data&&n.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,Bi(n,(function(){t.style.display=i}))):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=ea(n)).data&&n.data.transition?(n.data.show=!0,r?Bi(n,(function(){t.style.display=t.__vOriginalDisplay})):Ui(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}},ra={model:qi,show:na},oa={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function ia(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?ia(Ee(e.children)):t}function aa(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var r in o)e[w(r)]=o[r];return e}function sa(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var ca=function(t){return t.tag||_e(t)},ua=function(t){return"show"===t.name},la={name:"transition",props:oa,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(ca)).length){var r=this.mode,o=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return o;var a=ia(o);if(!a)return o;if(this._leaving)return sa(t,o);var s="__transition-".concat(this._uid,"-");a.key=null==a.key?a.isComment?s+"comment":s+a.tag:i(a.key)?0===String(a.key).indexOf(s)?a.key:s+a.key:a.key;var c=(a.data||(a.data={})).transition=aa(this),u=this._vnode,l=ia(u);if(a.data.directives&&a.data.directives.some(ua)&&(a.data.show=!0),l&&l.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(a,l)&&!_e(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=T({},c);if("out-in"===r)return this._leaving=!0,Zt(f,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),sa(t,o);if("in-out"===r){if(_e(a))return u;var d,p=function(){d()};Zt(c,"afterEnter",p),Zt(c,"enterCancelled",p),Zt(f,"delayLeave",(function(t){d=t}))}}return o}}},fa=T({tag:String,moveClass:String},oa);delete fa.mode;var da={props:fa,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=Le(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=aa(this),s=0;s<o.length;s++){(l=o[s]).tag&&null!=l.key&&0!==String(l.key).indexOf("__vlist")&&(i.push(l),n[l.key]=l,(l.data||(l.data={})).transition=a)}if(r){var c=[],u=[];for(s=0;s<r.length;s++){var l;(l=r[s]).data.transition=a,l.data.pos=l.elm.getBoundingClientRect(),n[l.key]?c.push(l):u.push(l)}this.kept=t(e,null,c),this.removed=u}return t(e,null,i)},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||"v")+"-move";t.length&&this.hasMove(t[0].elm,e)&&(t.forEach(pa),t.forEach(va),t.forEach(ha),this._reflow=document.body.offsetHeight,t.forEach((function(t){if(t.data.moved){var n=t.elm,r=n.style;Di(n,e),r.transform=r.WebkitTransform=r.transitionDuration="",n.addEventListener(Ai,n._moveCb=function t(r){r&&r.target!==n||r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(Ai,t),n._moveCb=null,Mi(n,e))})}})))},methods:{hasMove:function(t,e){if(!ki)return!1;if(this._hasMove)return this._hasMove;var n=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach((function(t){wi(n,t)})),$i(n,e),n.style.display="none",this.$el.appendChild(n);var r=Ri(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}};function pa(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function va(t){t.data.newPos=t.elm.getBoundingClientRect()}function ha(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-n.top;if(r||o){t.data.moved=!0;var i=t.elm.style;i.transform=i.WebkitTransform="translate(".concat(r,"px,").concat(o,"px)"),i.transitionDuration="0s"}}var ma={Transition:la,TransitionGroup:da};Cr.config.mustUseProp=Mr,Cr.config.isReservedTag=Gr,Cr.config.isReservedAttr=Pr,Cr.config.getTagNamespace=Xr,Cr.config.isUnknownElement=function(t){if(!J)return!0;if(Gr(t))return!1;if(t=t.toLowerCase(),null!=Yr[t])return Yr[t];var e=document.createElement(t);return t.indexOf("-")>-1?Yr[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Yr[t]=/HTMLUnknownElement/.test(e.toString())},T(Cr.options.directives,ra),T(Cr.options.components,ma),Cr.prototype.__patch__=J?Ji:j,Cr.prototype.$mount=function(t,e){return function(t,e,n){var r;t.$el=e,t.$options.render||(t.$options.render=ft),Be(t,"beforeMount"),r=function(){t._update(t._render(),n)},new Vn(t,r,j,{before:function(){t._isMounted&&!t._isDestroyed&&Be(t,"beforeUpdate")}},!0),n=!1;var o=t._preWatchers;if(o)for(var i=0;i<o.length;i++)o[i].run();return null==t.$vnode&&(t._isMounted=!0,Be(t,"mounted")),t}(this,t=t&&J?to(t):void 0,e)},J&&setTimeout((function(){H.devtools&&ot&&ot.emit("init",Cr)}),0);var ga=/\{\{((?:.|\r?\n)+?)\}\}/g,ya=/[-.*+?^${}()|[\]\/\\]/g,_a=b((function(t){var e=t[0].replace(ya,"\\$&"),n=t[1].replace(ya,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+n,"g")}));var ba={staticKeys:["staticClass"],transformNode:function(t,e){e.warn;var n=Bo(t,"class");n&&(t.staticClass=JSON.stringify(n.replace(/\s+/g," ").trim()));var r=Ho(t,"class",!1);r&&(t.classBinding=r)},genData:function(t){var e="";return t.staticClass&&(e+="staticClass:".concat(t.staticClass,",")),t.classBinding&&(e+="class:".concat(t.classBinding,",")),e}};var $a,wa={staticKeys:["staticStyle"],transformNode:function(t,e){e.warn;var n=Bo(t,"style");n&&(t.staticStyle=JSON.stringify(ui(n)));var r=Ho(t,"style",!1);r&&(t.styleBinding=r)},genData:function(t){var e="";return t.staticStyle&&(e+="staticStyle:".concat(t.staticStyle,",")),t.styleBinding&&(e+="style:(".concat(t.styleBinding,"),")),e}},xa=function(t){return($a=$a||document.createElement("div")).innerHTML=t,$a.textContent},Ca=v("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),ka=v("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),Sa=v("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),Oa=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Ta=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Aa="[a-zA-Z_][\\-\\.0-9_a-zA-Z".concat(B.source,"]*"),ja="((?:".concat(Aa,"\\:)?").concat(Aa,")"),Ea=new RegExp("^<".concat(ja)),Na=/^\s*(\/?)>/,Pa=new RegExp("^<\\/".concat(ja,"[^>]*>")),Da=/^<!DOCTYPE [^>]+>/i,Ma=/^<!\--/,Ia=/^<!\[/,La=v("script,style,textarea",!0),Ra={},Fa={"<":"<",">":">",""":'"',"&":"&"," ":"\n","	":"\t","'":"'"},Ha=/&(?:lt|gt|quot|amp|#39);/g,Ba=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,Ua=v("pre,textarea",!0),za=function(t,e){return t&&Ua(t)&&"\n"===e[0]};function Va(t,e){var n=e?Ba:Ha;return t.replace(n,(function(t){return Fa[t]}))}function Ka(t,e){for(var n,r,o=[],i=e.expectHTML,a=e.isUnaryTag||E,s=e.canBeLeftOpenTag||E,c=0,u=function(){if(n=t,r&&La(r)){var u=0,d=r.toLowerCase(),p=Ra[d]||(Ra[d]=new RegExp("([\\s\\S]*?)(</"+d+"[^>]*>)","i"));w=t.replace(p,(function(t,n,r){return u=r.length,La(d)||"noscript"===d||(n=n.replace(/<!\--([\s\S]*?)-->/g,"$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g,"$1")),za(d,n)&&(n=n.slice(1)),e.chars&&e.chars(n),""}));c+=t.length-w.length,t=w,f(d,c-u,c)}else{var v=t.indexOf("<");if(0===v){if(Ma.test(t)){var h=t.indexOf("--\x3e");if(h>=0)return e.shouldKeepComment&&e.comment&&e.comment(t.substring(4,h),c,c+h+3),l(h+3),"continue"}if(Ia.test(t)){var m=t.indexOf("]>");if(m>=0)return l(m+2),"continue"}var g=t.match(Da);if(g)return l(g[0].length),"continue";var y=t.match(Pa);if(y){var _=c;return l(y[0].length),f(y[1],_,c),"continue"}var b=function(){var e=t.match(Ea);if(e){var n={tagName:e[1],attrs:[],start:c};l(e[0].length);for(var r=void 0,o=void 0;!(r=t.match(Na))&&(o=t.match(Ta)||t.match(Oa));)o.start=c,l(o[0].length),o.end=c,n.attrs.push(o);if(r)return n.unarySlash=r[1],l(r[0].length),n.end=c,n}}();if(b)return function(t){var n=t.tagName,c=t.unarySlash;i&&("p"===r&&Sa(n)&&f(r),s(n)&&r===n&&f(n));for(var u=a(n)||!!c,l=t.attrs.length,d=new Array(l),p=0;p<l;p++){var v=t.attrs[p],h=v[3]||v[4]||v[5]||"",m="a"===n&&"href"===v[1]?e.shouldDecodeNewlinesForHref:e.shouldDecodeNewlines;d[p]={name:v[1],value:Va(h,m)}}u||(o.push({tag:n,lowerCasedTag:n.toLowerCase(),attrs:d,start:t.start,end:t.end}),r=n);e.start&&e.start(n,d,u,t.start,t.end)}(b),za(b.tagName,t)&&l(1),"continue"}var $=void 0,w=void 0,x=void 0;if(v>=0){for(w=t.slice(v);!(Pa.test(w)||Ea.test(w)||Ma.test(w)||Ia.test(w)||(x=w.indexOf("<",1))<0);)v+=x,w=t.slice(v);$=t.substring(0,v)}v<0&&($=t),$&&l($.length),e.chars&&$&&e.chars($,c-$.length,c)}if(t===n)return e.chars&&e.chars(t),"break"};t;){if("break"===u())break}function l(e){c+=e,t=t.substring(e)}function f(t,n,i){var a,s;if(null==n&&(n=c),null==i&&(i=c),t)for(s=t.toLowerCase(),a=o.length-1;a>=0&&o[a].lowerCasedTag!==s;a--);else a=0;if(a>=0){for(var u=o.length-1;u>=a;u--)e.end&&e.end(o[u].tag,n,i);o.length=a,r=a&&o[a-1].tag}else"br"===s?e.start&&e.start(t,[],!0,n,i):"p"===s&&(e.start&&e.start(t,[],!1,n,i),e.end&&e.end(t,n,i))}f()}var Ja,qa,Wa,Za,Ga,Xa,Ya,Qa,ts=/^@|^v-on:/,es=/^v-|^@|^:|^#/,ns=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,rs=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,os=/^\(|\)$/g,is=/^\[.*\]$/,as=/:(.*)$/,ss=/^:|^\.|^v-bind:/,cs=/\.[^.\]]+(?=[^\]]*$)/g,us=/^v-slot(:|$)|^#/,ls=/[\r\n]/,fs=/[ \f\t\r\n]+/g,ds=b(xa),ps="_empty_";function vs(t,e,n){return{type:1,tag:t,attrsList:e,attrsMap:$s(e),rawAttrsMap:{},parent:n,children:[]}}function hs(t,e){Ja=e.warn||No,Xa=e.isPreTag||E,Ya=e.mustUseProp||E,Qa=e.getTagNamespace||E,e.isReservedTag,Wa=Po(e.modules,"transformNode"),Za=Po(e.modules,"preTransformNode"),Ga=Po(e.modules,"postTransformNode"),qa=e.delimiters;var n,r,o=[],i=!1!==e.preserveWhitespace,a=e.whitespace,s=!1,c=!1;function u(t){if(l(t),s||t.processed||(t=ms(t,e)),o.length||t===n||n.if&&(t.elseif||t.else)&&ys(n,{exp:t.elseif,block:t}),r&&!t.forbidden)if(t.elseif||t.else)a=t,u=function(t){for(var e=t.length;e--;){if(1===t[e].type)return t[e];t.pop()}}(r.children),u&&u.if&&ys(u,{exp:a.elseif,block:a});else{if(t.slotScope){var i=t.slotTarget||'"default"';(r.scopedSlots||(r.scopedSlots={}))[i]=t}r.children.push(t),t.parent=r}var a,u;t.children=t.children.filter((function(t){return!t.slotScope})),l(t),t.pre&&(s=!1),Xa(t.tag)&&(c=!1);for(var f=0;f<Ga.length;f++)Ga[f](t,e)}function l(t){if(!c)for(var e=void 0;(e=t.children[t.children.length-1])&&3===e.type&&" "===e.text;)t.children.pop()}return Ka(t,{warn:Ja,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,outputSourceRange:e.outputSourceRange,start:function(t,i,a,l,f){var d=r&&r.ns||Qa(t);W&&"svg"===d&&(i=function(t){for(var e=[],n=0;n<t.length;n++){var r=t[n];ws.test(r.name)||(r.name=r.name.replace(xs,""),e.push(r))}return e}(i));var p,v=vs(t,i,r);d&&(v.ns=d),"style"!==(p=v).tag&&("script"!==p.tag||p.attrsMap.type&&"text/javascript"!==p.attrsMap.type)||rt()||(v.forbidden=!0);for(var h=0;h<Za.length;h++)v=Za[h](v,e)||v;s||(!function(t){null!=Bo(t,"v-pre")&&(t.pre=!0)}(v),v.pre&&(s=!0)),Xa(v.tag)&&(c=!0),s?function(t){var e=t.attrsList,n=e.length;if(n)for(var r=t.attrs=new Array(n),o=0;o<n;o++)r[o]={name:e[o].name,value:JSON.stringify(e[o].value)},null!=e[o].start&&(r[o].start=e[o].start,r[o].end=e[o].end);else t.pre||(t.plain=!0)}(v):v.processed||(gs(v),function(t){var e=Bo(t,"v-if");if(e)t.if=e,ys(t,{exp:e,block:t});else{null!=Bo(t,"v-else")&&(t.else=!0);var n=Bo(t,"v-else-if");n&&(t.elseif=n)}}(v),function(t){null!=Bo(t,"v-once")&&(t.once=!0)}(v)),n||(n=v),a?u(v):(r=v,o.push(v))},end:function(t,e,n){var i=o[o.length-1];o.length-=1,r=o[o.length-1],u(i)},chars:function(t,e,n){if(r&&(!W||"textarea"!==r.tag||r.attrsMap.placeholder!==t)){var o,u=r.children;if(t=c||t.trim()?"script"===(o=r).tag||"style"===o.tag?t:ds(t):u.length?a?"condense"===a&&ls.test(t)?"":" ":i?" ":"":""){c||"condense"!==a||(t=t.replace(fs," "));var l=void 0,f=void 0;!s&&" "!==t&&(l=function(t,e){var n=e?_a(e):ga;if(n.test(t)){for(var r,o,i,a=[],s=[],c=n.lastIndex=0;r=n.exec(t);){(o=r.index)>c&&(s.push(i=t.slice(c,o)),a.push(JSON.stringify(i)));var u=jo(r[1].trim());a.push("_s(".concat(u,")")),s.push({"@binding":u}),c=o+r[0].length}return c<t.length&&(s.push(i=t.slice(c)),a.push(JSON.stringify(i))),{expression:a.join("+"),tokens:s}}}(t,qa))?f={type:2,expression:l.expression,tokens:l.tokens,text:t}:" "===t&&u.length&&" "===u[u.length-1].text||(f={type:3,text:t}),f&&u.push(f)}}},comment:function(t,e,n){if(r){var o={type:3,text:t,isComment:!0};r.children.push(o)}}}),n}function ms(t,e){var n,r;(r=Ho(n=t,"key"))&&(n.key=r),t.plain=!t.key&&!t.scopedSlots&&!t.attrsList.length,function(t){var e=Ho(t,"ref");e&&(t.ref=e,t.refInFor=function(t){var e=t;for(;e;){if(void 0!==e.for)return!0;e=e.parent}return!1}(t))}(t),function(t){var e;"template"===t.tag?(e=Bo(t,"scope"),t.slotScope=e||Bo(t,"slot-scope")):(e=Bo(t,"slot-scope"))&&(t.slotScope=e);var n=Ho(t,"slot");n&&(t.slotTarget='""'===n?'"default"':n,t.slotTargetDynamic=!(!t.attrsMap[":slot"]&&!t.attrsMap["v-bind:slot"]),"template"===t.tag||t.slotScope||Mo(t,"slot",n,function(t,e){return t.rawAttrsMap[":"+e]||t.rawAttrsMap["v-bind:"+e]||t.rawAttrsMap[e]}(t,"slot")));if("template"===t.tag){if(a=Uo(t,us)){var r=_s(a),o=r.name,i=r.dynamic;t.slotTarget=o,t.slotTargetDynamic=i,t.slotScope=a.value||ps}}else{var a;if(a=Uo(t,us)){var s=t.scopedSlots||(t.scopedSlots={}),c=_s(a),u=c.name,l=(i=c.dynamic,s[u]=vs("template",[],t));l.slotTarget=u,l.slotTargetDynamic=i,l.children=t.children.filter((function(t){if(!t.slotScope)return t.parent=l,!0})),l.slotScope=a.value||ps,t.children=[],t.plain=!1}}}(t),function(t){"slot"===t.tag&&(t.slotName=Ho(t,"name"))}(t),function(t){var e;(e=Ho(t,"is"))&&(t.component=e);null!=Bo(t,"inline-template")&&(t.inlineTemplate=!0)}(t);for(var o=0;o<Wa.length;o++)t=Wa[o](t,e)||t;return function(t){var e,n,r,o,i,a,s,c,u=t.attrsList;for(e=0,n=u.length;e<n;e++)if(r=o=u[e].name,i=u[e].value,es.test(r))if(t.hasBindings=!0,(a=bs(r.replace(es,"")))&&(r=r.replace(cs,"")),ss.test(r))r=r.replace(ss,""),i=jo(i),(c=is.test(r))&&(r=r.slice(1,-1)),a&&(a.prop&&!c&&"innerHtml"===(r=w(r))&&(r="innerHTML"),a.camel&&!c&&(r=w(r)),a.sync&&(s=Ko(i,"$event"),c?Fo(t,'"update:"+('.concat(r,")"),s,null,!1,0,u[e],!0):(Fo(t,"update:".concat(w(r)),s,null,!1,0,u[e]),k(r)!==w(r)&&Fo(t,"update:".concat(k(r)),s,null,!1,0,u[e])))),a&&a.prop||!t.component&&Ya(t.tag,t.attrsMap.type,r)?Do(t,r,i,u[e],c):Mo(t,r,i,u[e],c);else if(ts.test(r))r=r.replace(ts,""),(c=is.test(r))&&(r=r.slice(1,-1)),Fo(t,r,i,a,!1,0,u[e],c);else{var l=(r=r.replace(es,"")).match(as),f=l&&l[1];c=!1,f&&(r=r.slice(0,-(f.length+1)),is.test(f)&&(f=f.slice(1,-1),c=!0)),Lo(t,r,o,i,f,c,a,u[e])}else Mo(t,r,JSON.stringify(i),u[e]),!t.component&&"muted"===r&&Ya(t.tag,t.attrsMap.type,r)&&Do(t,r,"true",u[e])}(t),t}function gs(t){var e;if(e=Bo(t,"v-for")){var n=function(t){var e=t.match(ns);if(!e)return;var n={};n.for=e[2].trim();var r=e[1].trim().replace(os,""),o=r.match(rs);o?(n.alias=r.replace(rs,"").trim(),n.iterator1=o[1].trim(),o[2]&&(n.iterator2=o[2].trim())):n.alias=r;return n}(e);n&&T(t,n)}}function ys(t,e){t.ifConditions||(t.ifConditions=[]),t.ifConditions.push(e)}function _s(t){var e=t.name.replace(us,"");return e||"#"!==t.name[0]&&(e="default"),is.test(e)?{name:e.slice(1,-1),dynamic:!0}:{name:'"'.concat(e,'"'),dynamic:!1}}function bs(t){var e=t.match(cs);if(e){var n={};return e.forEach((function(t){n[t.slice(1)]=!0})),n}}function $s(t){for(var e={},n=0,r=t.length;n<r;n++)e[t[n].name]=t[n].value;return e}var ws=/^xmlns:NS\d+/,xs=/^NS\d+:/;function Cs(t){return vs(t.tag,t.attrsList.slice(),t.parent)}var ks=[ba,wa,{preTransformNode:function(t,e){if("input"===t.tag){var n=t.attrsMap;if(!n["v-model"])return;var r=void 0;if((n[":type"]||n["v-bind:type"])&&(r=Ho(t,"type")),n.type||r||!n["v-bind"]||(r="(".concat(n["v-bind"],").type")),r){var o=Bo(t,"v-if",!0),i=o?"&&(".concat(o,")"):"",a=null!=Bo(t,"v-else",!0),s=Bo(t,"v-else-if",!0),c=Cs(t);gs(c),Io(c,"type","checkbox"),ms(c,e),c.processed=!0,c.if="(".concat(r,")==='checkbox'")+i,ys(c,{exp:c.if,block:c});var u=Cs(t);Bo(u,"v-for",!0),Io(u,"type","radio"),ms(u,e),ys(c,{exp:"(".concat(r,")==='radio'")+i,block:u});var l=Cs(t);return Bo(l,"v-for",!0),Io(l,":type",r),ms(l,e),ys(c,{exp:o,block:l}),a?c.else=!0:s&&(c.elseif=s),c}}}}];var Ss,Os,Ts={model:function(t,e,n){var r=e.value,o=e.modifiers,i=t.tag,a=t.attrsMap.type;if(t.component)return Vo(t,r,o),!1;if("select"===i)!function(t,e,n){var r=n&&n.number,o='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;'+"return ".concat(r?"_n(val)":"val","})"),i="$event.target.multiple ? $$selectedVal : $$selectedVal[0]",a="var $$selectedVal = ".concat(o,";");a="".concat(a," ").concat(Ko(e,i)),Fo(t,"change",a,null,!0)}(t,r,o);else if("input"===i&&"checkbox"===a)!function(t,e,n){var r=n&&n.number,o=Ho(t,"value")||"null",i=Ho(t,"true-value")||"true",a=Ho(t,"false-value")||"false";Do(t,"checked","Array.isArray(".concat(e,")")+"?_i(".concat(e,",").concat(o,")>-1")+("true"===i?":(".concat(e,")"):":_q(".concat(e,",").concat(i,")"))),Fo(t,"change","var $$a=".concat(e,",")+"$$el=$event.target,"+"$$c=$$el.checked?(".concat(i,"):(").concat(a,");")+"if(Array.isArray($$a)){"+"var $$v=".concat(r?"_n("+o+")":o,",")+"$$i=_i($$a,$$v);"+"if($$el.checked){$$i<0&&(".concat(Ko(e,"$$a.concat([$$v])"),")}")+"else{$$i>-1&&(".concat(Ko(e,"$$a.slice(0,$$i).concat($$a.slice($$i+1))"),")}")+"}else{".concat(Ko(e,"$$c"),"}"),null,!0)}(t,r,o);else if("input"===i&&"radio"===a)!function(t,e,n){var r=n&&n.number,o=Ho(t,"value")||"null";o=r?"_n(".concat(o,")"):o,Do(t,"checked","_q(".concat(e,",").concat(o,")")),Fo(t,"change",Ko(e,o),null,!0)}(t,r,o);else if("input"===i||"textarea"===i)!function(t,e,n){var r=t.attrsMap.type,o=n||{},i=o.lazy,a=o.number,s=o.trim,c=!i&&"range"!==r,u=i?"change":"range"===r?Yo:"input",l="$event.target.value";s&&(l="$event.target.value.trim()");a&&(l="_n(".concat(l,")"));var f=Ko(e,l);c&&(f="if($event.target.composing)return;".concat(f));Do(t,"value","(".concat(e,")")),Fo(t,u,f,null,!0),(s||a)&&Fo(t,"blur","$forceUpdate()")}(t,r,o);else if(!H.isReservedTag(i))return Vo(t,r,o),!1;return!0},text:function(t,e){e.value&&Do(t,"textContent","_s(".concat(e.value,")"),e)},html:function(t,e){e.value&&Do(t,"innerHTML","_s(".concat(e.value,")"),e)}},As={expectHTML:!0,modules:ks,directives:Ts,isPreTag:function(t){return"pre"===t},isUnaryTag:Ca,mustUseProp:Mr,canBeLeftOpenTag:ka,isReservedTag:Gr,getTagNamespace:Xr,staticKeys:function(t){return t.reduce((function(t,e){return t.concat(e.staticKeys||[])}),[]).join(",")}(ks)},js=b((function(t){return v("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(t?","+t:""))}));function Es(t,e){t&&(Ss=js(e.staticKeys||""),Os=e.isReservedTag||E,Ns(t),Ps(t,!1))}function Ns(t){if(t.static=function(t){if(2===t.type)return!1;if(3===t.type)return!0;return!(!t.pre&&(t.hasBindings||t.if||t.for||h(t.tag)||!Os(t.tag)||function(t){for(;t.parent;){if("template"!==(t=t.parent).tag)return!1;if(t.for)return!0}return!1}(t)||!Object.keys(t).every(Ss)))}(t),1===t.type){if(!Os(t.tag)&&"slot"!==t.tag&&null==t.attrsMap["inline-template"])return;for(var e=0,n=t.children.length;e<n;e++){var r=t.children[e];Ns(r),r.static||(t.static=!1)}if(t.ifConditions)for(e=1,n=t.ifConditions.length;e<n;e++){var o=t.ifConditions[e].block;Ns(o),o.static||(t.static=!1)}}}function Ps(t,e){if(1===t.type){if((t.static||t.once)&&(t.staticInFor=e),t.static&&t.children.length&&(1!==t.children.length||3!==t.children[0].type))return void(t.staticRoot=!0);if(t.staticRoot=!1,t.children)for(var n=0,r=t.children.length;n<r;n++)Ps(t.children[n],e||!!t.for);if(t.ifConditions)for(n=1,r=t.ifConditions.length;n<r;n++)Ps(t.ifConditions[n].block,e)}}var Ds=/^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/,Ms=/\([^)]*?\);*$/,Is=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,Ls={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Rs={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},Fs=function(t){return"if(".concat(t,")return null;")},Hs={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:Fs("$event.target !== $event.currentTarget"),ctrl:Fs("!$event.ctrlKey"),shift:Fs("!$event.shiftKey"),alt:Fs("!$event.altKey"),meta:Fs("!$event.metaKey"),left:Fs("'button' in $event && $event.button !== 0"),middle:Fs("'button' in $event && $event.button !== 1"),right:Fs("'button' in $event && $event.button !== 2")};function Bs(t,e){var n=e?"nativeOn:":"on:",r="",o="";for(var i in t){var a=Us(t[i]);t[i]&&t[i].dynamic?o+="".concat(i,",").concat(a,","):r+='"'.concat(i,'":').concat(a,",")}return r="{".concat(r.slice(0,-1),"}"),o?n+"_d(".concat(r,",[").concat(o.slice(0,-1),"])"):n+r}function Us(t){if(!t)return"function(){}";if(Array.isArray(t))return"[".concat(t.map((function(t){return Us(t)})).join(","),"]");var e=Is.test(t.value),n=Ds.test(t.value),r=Is.test(t.value.replace(Ms,""));if(t.modifiers){var o="",i="",a=[],s=function(e){if(Hs[e])i+=Hs[e],Ls[e]&&a.push(e);else if("exact"===e){var n=t.modifiers;i+=Fs(["ctrl","shift","alt","meta"].filter((function(t){return!n[t]})).map((function(t){return"$event.".concat(t,"Key")})).join("||"))}else a.push(e)};for(var c in t.modifiers)s(c);a.length&&(o+=function(t){return"if(!$event.type.indexOf('key')&&"+"".concat(t.map(zs).join("&&"),")return null;")}(a)),i&&(o+=i);var u=e?"return ".concat(t.value,".apply(null, arguments)"):n?"return (".concat(t.value,").apply(null, arguments)"):r?"return ".concat(t.value):t.value;return"function($event){".concat(o).concat(u,"}")}return e||n?t.value:"function($event){".concat(r?"return ".concat(t.value):t.value,"}")}function zs(t){var e=parseInt(t,10);if(e)return"$event.keyCode!==".concat(e);var n=Ls[t],r=Rs[t];return"_k($event.keyCode,"+"".concat(JSON.stringify(t),",")+"".concat(JSON.stringify(n),",")+"$event.key,"+"".concat(JSON.stringify(r))+")"}var Vs={on:function(t,e){t.wrapListeners=function(t){return"_g(".concat(t,",").concat(e.value,")")}},bind:function(t,e){t.wrapData=function(n){return"_b(".concat(n,",'").concat(t.tag,"',").concat(e.value,",").concat(e.modifiers&&e.modifiers.prop?"true":"false").concat(e.modifiers&&e.modifiers.sync?",true":"",")")}},cloak:j},Ks=function(t){this.options=t,this.warn=t.warn||No,this.transforms=Po(t.modules,"transformCode"),this.dataGenFns=Po(t.modules,"genData"),this.directives=T(T({},Vs),t.directives);var e=t.isReservedTag||E;this.maybeComponent=function(t){return!!t.component||!e(t.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function Js(t,e){var n=new Ks(e),r=t?"script"===t.tag?"null":qs(t,n):'_c("div")';return{render:"with(this){return ".concat(r,"}"),staticRenderFns:n.staticRenderFns}}function qs(t,e){if(t.parent&&(t.pre=t.pre||t.parent.pre),t.staticRoot&&!t.staticProcessed)return Ws(t,e);if(t.once&&!t.onceProcessed)return Zs(t,e);if(t.for&&!t.forProcessed)return Ys(t,e);if(t.if&&!t.ifProcessed)return Gs(t,e);if("template"!==t.tag||t.slotTarget||e.pre){if("slot"===t.tag)return function(t,e){var n=t.slotName||'"default"',r=nc(t,e),o="_t(".concat(n).concat(r?",function(){return ".concat(r,"}"):""),i=t.attrs||t.dynamicAttrs?ic((t.attrs||[]).concat(t.dynamicAttrs||[]).map((function(t){return{name:w(t.name),value:t.value,dynamic:t.dynamic}}))):null,a=t.attrsMap["v-bind"];!i&&!a||r||(o+=",null");i&&(o+=",".concat(i));a&&(o+="".concat(i?"":",null",",").concat(a));return o+")"}(t,e);var n=void 0;if(t.component)n=function(t,e,n){var r=e.inlineTemplate?null:nc(e,n,!0);return"_c(".concat(t,",").concat(Qs(e,n)).concat(r?",".concat(r):"",")")}(t.component,t,e);else{var r=void 0,o=e.maybeComponent(t);(!t.plain||t.pre&&o)&&(r=Qs(t,e));var i=void 0,a=e.options.bindings;o&&a&&!1!==a.__isScriptSetup&&(i=function(t,e){var n=w(e),r=x(n),o=function(o){return t[e]===o?e:t[n]===o?n:t[r]===o?r:void 0},i=o("setup-const")||o("setup-reactive-const");if(i)return i;var a=o("setup-let")||o("setup-ref")||o("setup-maybe-ref");if(a)return a}(a,t.tag)),i||(i="'".concat(t.tag,"'"));var s=t.inlineTemplate?null:nc(t,e,!0);n="_c(".concat(i).concat(r?",".concat(r):"").concat(s?",".concat(s):"",")")}for(var c=0;c<e.transforms.length;c++)n=e.transforms[c](t,n);return n}return nc(t,e)||"void 0"}function Ws(t,e){t.staticProcessed=!0;var n=e.pre;return t.pre&&(e.pre=t.pre),e.staticRenderFns.push("with(this){return ".concat(qs(t,e),"}")),e.pre=n,"_m(".concat(e.staticRenderFns.length-1).concat(t.staticInFor?",true":"",")")}function Zs(t,e){if(t.onceProcessed=!0,t.if&&!t.ifProcessed)return Gs(t,e);if(t.staticInFor){for(var n="",r=t.parent;r;){if(r.for){n=r.key;break}r=r.parent}return n?"_o(".concat(qs(t,e),",").concat(e.onceId++,",").concat(n,")"):qs(t,e)}return Ws(t,e)}function Gs(t,e,n,r){return t.ifProcessed=!0,Xs(t.ifConditions.slice(),e,n,r)}function Xs(t,e,n,r){if(!t.length)return r||"_e()";var o=t.shift();return o.exp?"(".concat(o.exp,")?").concat(i(o.block),":").concat(Xs(t,e,n,r)):"".concat(i(o.block));function i(t){return n?n(t,e):t.once?Zs(t,e):qs(t,e)}}function Ys(t,e,n,r){var o=t.for,i=t.alias,a=t.iterator1?",".concat(t.iterator1):"",s=t.iterator2?",".concat(t.iterator2):"";return t.forProcessed=!0,"".concat(r||"_l","((").concat(o,"),")+"function(".concat(i).concat(a).concat(s,"){")+"return ".concat((n||qs)(t,e))+"})"}function Qs(t,e){var n="{",r=function(t,e){var n=t.directives;if(!n)return;var r,o,i,a,s="directives:[",c=!1;for(r=0,o=n.length;r<o;r++){i=n[r],a=!0;var u=e.directives[i.name];u&&(a=!!u(t,i,e.warn)),a&&(c=!0,s+='{name:"'.concat(i.name,'",rawName:"').concat(i.rawName,'"').concat(i.value?",value:(".concat(i.value,"),expression:").concat(JSON.stringify(i.value)):"").concat(i.arg?",arg:".concat(i.isDynamicArg?i.arg:'"'.concat(i.arg,'"')):"").concat(i.modifiers?",modifiers:".concat(JSON.stringify(i.modifiers)):"","},"))}if(c)return s.slice(0,-1)+"]"}(t,e);r&&(n+=r+","),t.key&&(n+="key:".concat(t.key,",")),t.ref&&(n+="ref:".concat(t.ref,",")),t.refInFor&&(n+="refInFor:true,"),t.pre&&(n+="pre:true,"),t.component&&(n+='tag:"'.concat(t.tag,'",'));for(var o=0;o<e.dataGenFns.length;o++)n+=e.dataGenFns[o](t);if(t.attrs&&(n+="attrs:".concat(ic(t.attrs),",")),t.props&&(n+="domProps:".concat(ic(t.props),",")),t.events&&(n+="".concat(Bs(t.events,!1),",")),t.nativeEvents&&(n+="".concat(Bs(t.nativeEvents,!0),",")),t.slotTarget&&!t.slotScope&&(n+="slot:".concat(t.slotTarget,",")),t.scopedSlots&&(n+="".concat(function(t,e,n){var r=t.for||Object.keys(e).some((function(t){var n=e[t];return n.slotTargetDynamic||n.if||n.for||tc(n)})),o=!!t.if;if(!r)for(var i=t.parent;i;){if(i.slotScope&&i.slotScope!==ps||i.for){r=!0;break}i.if&&(o=!0),i=i.parent}var a=Object.keys(e).map((function(t){return ec(e[t],n)})).join(",");return"scopedSlots:_u([".concat(a,"]").concat(r?",null,true":"").concat(!r&&o?",null,false,".concat(function(t){var e=5381,n=t.length;for(;n;)e=33*e^t.charCodeAt(--n);return e>>>0}(a)):"",")")}(t,t.scopedSlots,e),",")),t.model&&(n+="model:{value:".concat(t.model.value,",callback:").concat(t.model.callback,",expression:").concat(t.model.expression,"},")),t.inlineTemplate){var i=function(t,e){var n=t.children[0];if(n&&1===n.type){var r=Js(n,e.options);return"inlineTemplate:{render:function(){".concat(r.render,"},staticRenderFns:[").concat(r.staticRenderFns.map((function(t){return"function(){".concat(t,"}")})).join(","),"]}")}}(t,e);i&&(n+="".concat(i,","))}return n=n.replace(/,$/,"")+"}",t.dynamicAttrs&&(n="_b(".concat(n,',"').concat(t.tag,'",').concat(ic(t.dynamicAttrs),")")),t.wrapData&&(n=t.wrapData(n)),t.wrapListeners&&(n=t.wrapListeners(n)),n}function tc(t){return 1===t.type&&("slot"===t.tag||t.children.some(tc))}function ec(t,e){var n=t.attrsMap["slot-scope"];if(t.if&&!t.ifProcessed&&!n)return Gs(t,e,ec,"null");if(t.for&&!t.forProcessed)return Ys(t,e,ec);var r=t.slotScope===ps?"":String(t.slotScope),o="function(".concat(r,"){")+"return ".concat("template"===t.tag?t.if&&n?"(".concat(t.if,")?").concat(nc(t,e)||"undefined",":undefined"):nc(t,e)||"undefined":qs(t,e),"}"),i=r?"":",proxy:true";return"{key:".concat(t.slotTarget||'"default"',",fn:").concat(o).concat(i,"}")}function nc(t,e,n,r,o){var i=t.children;if(i.length){var a=i[0];if(1===i.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag){var s=n?e.maybeComponent(a)?",1":",0":"";return"".concat((r||qs)(a,e)).concat(s)}var c=n?function(t,e){for(var n=0,r=0;r<t.length;r++){var o=t[r];if(1===o.type){if(rc(o)||o.ifConditions&&o.ifConditions.some((function(t){return rc(t.block)}))){n=2;break}(e(o)||o.ifConditions&&o.ifConditions.some((function(t){return e(t.block)})))&&(n=1)}}return n}(i,e.maybeComponent):0,u=o||oc;return"[".concat(i.map((function(t){return u(t,e)})).join(","),"]").concat(c?",".concat(c):"")}}function rc(t){return void 0!==t.for||"template"===t.tag||"slot"===t.tag}function oc(t,e){return 1===t.type?qs(t,e):3===t.type&&t.isComment?function(t){return"_e(".concat(JSON.stringify(t.text),")")}(t):function(t){return"_v(".concat(2===t.type?t.expression:ac(JSON.stringify(t.text)),")")}(t)}function ic(t){for(var e="",n="",r=0;r<t.length;r++){var o=t[r],i=ac(o.value);o.dynamic?n+="".concat(o.name,",").concat(i,","):e+='"'.concat(o.name,'":').concat(i,",")}return e="{".concat(e.slice(0,-1),"}"),n?"_d(".concat(e,",[").concat(n.slice(0,-1),"])"):e}function ac(t){return t.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function sc(t,e){try{return new Function(t)}catch(n){return e.push({err:n,code:t}),j}}function cc(t){var e=Object.create(null);return function(n,r,o){(r=T({},r)).warn,delete r.warn;var i=r.delimiters?String(r.delimiters)+n:n;if(e[i])return e[i];var a=t(n,r),s={},c=[];return s.render=sc(a.render,c),s.staticRenderFns=a.staticRenderFns.map((function(t){return sc(t,c)})),e[i]=s}}new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b"),new RegExp("\\b"+"delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b")+"\\s*\\([^\\)]*\\)");var uc,lc,fc=(uc=function(t,e){var n=hs(t.trim(),e);!1!==e.optimize&&Es(n,e);var r=Js(n,e);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}},function(t){function e(e,n){var r=Object.create(t),o=[],i=[];if(n)for(var a in n.modules&&(r.modules=(t.modules||[]).concat(n.modules)),n.directives&&(r.directives=T(Object.create(t.directives||null),n.directives)),n)"modules"!==a&&"directives"!==a&&(r[a]=n[a]);r.warn=function(t,e,n){(n?i:o).push(t)};var s=uc(e.trim(),r);return s.errors=o,s.tips=i,s}return{compile:e,compileToFunctions:cc(e)}}),dc=fc(As).compileToFunctions;function pc(t){return(lc=lc||document.createElement("div")).innerHTML=t?'<a href="\n"/>':'<div a="\n"/>',lc.innerHTML.indexOf(" ")>0}var vc=!!J&&pc(!1),hc=!!J&&pc(!0),mc=b((function(t){var e=to(t);return e&&e.innerHTML})),gc=Cr.prototype.$mount;return Cr.prototype.$mount=function(t,e){if((t=t&&to(t))===document.body||t===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=mc(r));else{if(!r.nodeType)return this;r=r.innerHTML}else t&&(r=function(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement("div");return e.appendChild(t.cloneNode(!0)),e.innerHTML}(t));if(r){var o=dc(r,{outputSourceRange:!1,shouldDecodeNewlines:vc,shouldDecodeNewlinesForHref:hc,delimiters:n.delimiters,comments:n.comments},this),i=o.render,a=o.staticRenderFns;n.render=i,n.staticRenderFns=a}}return gc.call(this,t,e)},Cr.compile=dc,T(Cr,Fn),Cr.effect=function(t,e){var n=new Vn(ct,t,j,{sync:!0});e&&(n.update=function(){e((function(){return n.run()}))})},Cr})); \ No newline at end of file diff --git a/writing-guide.md b/writing-guide.md new file mode 100644 index 0000000000..f74b2d7ea0 --- /dev/null +++ b/writing-guide.md @@ -0,0 +1,96 @@ +# Vue Docs Writing Guide + +Writing documentation is an exercise in empathy. We're not describing an objective reality - the source code already does that. Our job is to help shape the relationship between users and the Vue ecosystem. This ever-evolving guide provides some rules and recommendations on how to do that consistently within the Vue ecosystem. + +## Principles + +- **A feature doesn't exist until it's well documented.** +- **Respect users' cognitive capacity (i.e. brain power).** When a user starts reading, they begin with a certain amount of limited brain power and when they run out, they stop learning. + - Cognitive capacity is **depleted faster** by complex sentences, having to learn more than one concept at a time, and abstract examples that don't directly relate to a user's work. + - Cognitive capacity is **depleted more slowly** when we help them feel consistently smart, powerful, and curious. Breaking things down into digestible pieces and minding the flow of the document can help keep them in this state. +- **Always try to see from the user's perspective.** When we understand something thoroughly, it becomes obvious to us. This is called _the curse of knowledge_. In order to write good documentation, try to remember what you first needed to know when learning this concept. What jargon did you need to learn? What did you misunderstand? What took a long time to really grasp? Good documentation meets users where they are. It can be helpful to practice explaining the concept to people in person before +- **Describe the _problem_ first, then the solution.** Before showing how a feature works, it's important to explain why it exists. Otherwise, users won't have the context to know if this information is important to them (is it a problem they experience?) or what prior knowledge/experience to connect it to. +- **While writing, don't be afraid to ask questions**, _especially_ if you're afraid they might be "dumb". Being vulnerable is hard, but it's the only way for us to more fully understand what we need to explain. +- **Be involved in feature discussions.** The best APIs come from documentation-driven development, where we build features that are easy to explain, rather than trying to figure out how to explain them later. Asking questions (especially "dumb" questions) earlier often helps reveal confusions, inconsistencies, and problematic behavior before a breaking change would be required to fix them. + +## Organization + +- **Installation/Integration**: Provide a thorough overview of how to integrate the software into as many different kinds of projects as necessary. +- **Introduction/Getting Started**: + - Provide a less than 10 minute overview of the problems the project solves and why it exists. + - Provide a less than 30 minute overview of the problems the project solves and how, including when and why to use the project and some simple code examples. At the end, link to both to Installation page and the beginning of the Essentials Guide. +- **Guide**: Make users feel smart, powerful, and curious, then maintain this state so that users maintain the motivation and cognitive capacity to keep learning more. Guide pages are meant to be read sequentially, so should generally be ordered from the highest to lowest power/effort ratio. + - **Essentials**: It should take no longer than 5 hours to read the Essentials, though shorter is better. Its goal is to provide the 20% of knowledge that will help users handle 80% of use cases. Essentials can link to more advanced guides and the API, though, in most cases, you should avoid such links. When they are provided, you need also provide a context so users are aware if they should follow this link on their first reading. Otherwise, many users end up exhausting their cognitive capacity link-hopping, trying to fully learn every aspect of a feature before moving on, and as a result, never finish that first read-through of the Essentials. Remember that a smooth read is more important than being thorough. We want to give people the information they need to avoid a frustrating experience, but they can always come back and read further, or Google a less common problem when they encounter it. + - **Advanced**: While the Essentials helps people handle ~80% of use cases, subsequent guides help get users to 95% of use cases, plus more detailed information on non-essential features (e.g. transitions, animations), more complex convenience features (e.g. mixins, custom directives), and dev experience improvements (e.g. JSX, plugins). The final 5% of use cases that are more niche, complex, and/or prone to abuse will be left to the cookbook and API reference, which can be linked to from these advanced guides. +- **Reference/API**: Provide a complete list of features, including type information, descriptions of the problem each solves, examples of every combination of options, and links to guides, cookbook recipes, and other internal resources providing more detail. Unlike other pages, this one is not meant to be read top-to-bottom, so plenty of detail can be provided. These references must also be more easily skimmable than the guides, so the format should be closer to dictionary entries than the story-telling format of the guides. +- **Migrations**: + - **Versions**: When important changes are made, it's useful to include a full list of changes, including a detailed explanation of why the change was made and how to migrate their projects. + - **From other projects**: How does this software compare to similar software? This is important to help users understand what additional problems we might solve or create for them, and to what extent they can transfer knowledge they already have. +- **Style Guide**: There are necessarily some key pieces in development that need a decision, but are not core to the API. The style guide provides educated, opinionated recommendations to help guide these decisions. They shouldn't be followed blindly, but can help teams save time by being aligned on smaller details. +- **Cookbook**: Recipes in the cookbook are written with some assumption of familiarity with Vue and its ecosystem. Each is a highly structured document that walks through some common implementation details that a Vue dev might encounter. + +## Writing & Grammar + +### Style + +- **Headings should describe problems**, not solutions. For example, a less effective heading might be "Using props", because it describes a solution. A better heading might be "Passing Data to Child Components with Props", because it provides the context of the problem props solve. Users won't really start paying attention to the explanation of a feature until they have some idea of why/when they'd use it. +- **When you assume knowledge, declare it** at the beginning and link to resources for less common knowledge that you're expecting. +- **Introduce only one new concept at a time whenever possible** (including both text and code examples). Even if many people are able to understand when you introduce more than one, there are also many who will become lost - and even those who don't become lost will have depleted more of their cognitive capacity. +- **Avoid special content blocks for tips and caveats when possible.** It's generally preferable to blend these more naturally into the main content, e.g. by building on examples to demonstrate an edge case. +- **Don't include more than two interwoven tips and caveats per page.** If you find that more than two tips are needed in a page, consider adding a caveats section to address these issues. The guide is meant to be read straight through, and tips and caveats can be overwhelming or distracting to someone trying to understand the base concepts. +- **Avoid appeals to authority** (e.g. "you should do X, because that's a best practice" or "X is best because it gives you full separation of concerns"). Instead, demonstrate with examples the specific human problems caused and/or solved by a pattern. +- **When deciding what to teach first, think of what knowledge will provide the best power/effort ratio.** That means teaching whatever will help users solve the greatest pains or greatest number of problems, with the relatively least effort to learn. This helps learners feel smart, powerful, and curious, so their cognitive capacity will drain more slowly. +- **Unless the context assumes a string template or build system, only write code that works in any environment by the software (e.g. Vue, Vuex, etc).** +- **Show, don't tell.** For example, "To use Vue on a page, you can add this to your HTML" (then show the script tag), instead of "To use Vue on a page, you can add a script element with a src attribute, the value of which should be a link to Vue's compiled source". +- **Almost always avoid humor (for English docs)**, especially sarcasm and pop culture references, as it doesn't translate well across cultures. +- **Never assume a more advanced context than you have to.** +- **In most cases, prefer links between sections of the docs over repeating the same content in multiple sections.** Some repetition in content is unavoidable and even essential for learning. However, too much repetition also makes the docs more difficult to maintain, because a change in the API will require changes in many places and it's easy to miss something. This is a difficult balance to strike. +- **Specific is better than generic.** For example, a `<BlogPost>` component example is better than `<ComponentA>`. +- **Relatable is better than obscure.** For example, a `<BlogPost>` component example is better than `<CurrencyExchangeSettings>`. +- **Be emotionally relevant.** Explanations and examples that relate to something people have experience with and care about will always be more effective. +- **Always prefer simpler, plainer language over complex or jargony language.** For example: + - "you can use Vue with a script element" instead of "in order to initiate the usage of Vue, one possible option is to actually inject it via a script HTML element" + - "function that returns a function" instead of "higher order function" +- **Avoid language that invalidate struggle**, such as "easy", "just", "obviously", etc. For reference, see [Words To Avoid in Educational Writing](https://css-tricks.com/words-avoid-educational-writing/). + +### Grammar + +- **Avoid abbreviations** in writing and code examples (e.g. `attribute` is better than `attr`, `message` is better than `msg`), unless you are specifically referencing an abbreviation in an API (e.g. `$attrs`). Abbreviation symbols included on standard keyboards (e.g. `@`, `#`, `&`) are OK. +- **When referencing a directly following example, use a colon (`:`) to end a sentence**, rather than a period (`.`). +- **Use the Oxford comma** (e.g. "a, b, and c" instead of "a, b and c").  +- **When referencing the name of a project, prioritize the broader conventions of English over internal branding conventions of that project.** For example, "webpack" and "npm" both disregard conventions such as "always start a word at the beginning of a sentence with a capital letter", "project names always use Title Case", and "acronyms are always capitalized". Instead, always write "Webpack and NPM" to provide a more consistent experience in the docs and avoid sentences like "If you don't want to use Vue CLI, you can use webpack or Rollup directly by installing them via npm or Yarn". +- **Use Title Case for headings** - at least for now, since it's what we use through the rest of the docs. There's research suggesting that sentence case (only first word of the heading starts with a capital) is actually superior for legibility and also reduces the cognitive overhead for documentation writers, since they don't have to try to remember whether to capitalize words like "and", "with", and "about". +- **Don't use emojis (except in discussions).** Emojis are cute and friendly, but they can be a distraction in documentation and some emoji even convey different meanings in different cultures. + +## Iteration & Communication + +- **Excellence comes from iteration.** First drafts are always bad, but writing them is a vital part of the process. It's extremely difficult to avoid the slow progression of Bad -> OK -> Good -> Great -> Inspiring -> Transcendent. +- **Only wait until something is "Good" before publishing.** The community will help you push it further down the chain. +- **Try not to get defensive when receiving feedback.** Our writing can be very personal to us, but if we get upset with the people who help us make it better, they will either stop giving feedback or start limiting the kind of feedback they give. +- **Proof-read your own work before showing it to others.** If you show someone work with a lot of spelling/grammar mistakes, you'll get feedback about spelling grammar/mistakes instead of more valuable notes about whether the writing is achieving your goals. +- **When you ask people for feedback, tell reviewers what:** + - **you're trying to do** + - **your fears are** + - **balances you're trying to strike** +- **When someone reports a problem, there is almost always a problem**, even if the solution they proposed isn't quite right. Keep asking follow-up questions to learn more. +- People need to feel safe asking questions when contributing/reviewing content. Here's how you can do that: + - **Thank people for their contributions/reviews, even if you're feeling grumpy.** For example: + - "Great question!" + - "Thanks for taking the time to explain. 🙂" + - "This is actually intentional, but thanks for taking the time to contribute. 😊" + - **Listen to what people are saying and mirror if you're not sure you're understanding correctly.** This can help validate people's feelings and experiences, while also understanding if *you're* understanding *them* correctly. + - **Use a lot of positive and empathetic emojis.** It's always better to seem a little strange than mean or impatient. + - **Kindly communicate rules/boundaries.** If someone behaves in a way that's abusive/inappropriate, respond only with kindness and maturity, but also make it clear that this behavior is not acceptable and what will happen (according to the code of conduct) if they continue behaving poorly. + +## Resources + +### Software + +- [Grammarly](https://www.grammarly.com/): Desktop app and browser extension for checking spelling and grammar (though grammar checking doesn't catch everything and occasionally shows a false positive). +- [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker): An extension for VS Code to help you check spelling within markdown and code examples. + +### Books + +- [On Writing Well](https://www.amazon.com/Writing-Well-30th-Anniversary-Nonfiction-ebook/dp/B0090RVGW0) (see [popular quotes](https://www.goodreads.com/work/quotes/1139032-on-writing-well-the-classic-guide-to-writing-nonfiction)) +- [Bird by Bird](https://www.amazon.com/Bird-Some-Instructions-Writing-Life/dp/0385480016) (see [popular quotes](https://www.goodreads.com/work/quotes/841198-bird-by-bird-some-instructions-on-writing-and-life)) +- [Cognitive Load Theory](https://www.amazon.com/Cognitive-Explorations-Instructional-Performance-Technologies/dp/144198125X/) diff --git a/yarn.lock b/yarn.lock index c3b39502ba..a6571d151b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,1172 +2,631 @@ # yarn lockfile v1 -JSONStream@^1.0.7: - version "1.3.1" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a" - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - a-sync-waterfall@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/a-sync-waterfall/-/a-sync-waterfall-1.0.0.tgz#38e8319d79379e24628845b53b96722b29e0e47c" + version "1.0.1" + resolved "https://registry.yarnpkg.com/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz#75b6b6aa72598b497a125e7a2770f14f4c8a1fa7" + integrity sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA== -abbrev@1, abbrev@^1.0.7: +abbrev@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== -accepts@~1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f" +accepts@~1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" + integrity sha1-63d99gEXI6OxTopywIBcjoZ0a9I= dependencies: - mime-types "~2.1.16" + mime-types "~2.1.18" negotiator "0.6.1" -ajv@^4.9.1: - version "4.11.8" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" - dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" - -ajv@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.3.0.tgz#4414ff74a50879c208ee5fdc826e32c303549eda" - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - -ansi-align@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-1.1.0.tgz#2f0c1658829739add5ebb15e6b0c6e3423f016ba" - dependencies: - string-width "^1.0.1" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: - color-convert "^1.9.0" + color-convert "^2.0.1" -anymatch@^1.3.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== dependencies: - micromatch "^2.1.5" - normalize-path "^2.0.0" - -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + normalize-path "^3.0.0" + picomatch "^2.0.4" archy@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= -are-we-there-yet@~1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -argparse@^1.0.7: - version "1.0.9" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - dependencies: - arr-flatten "^1.0.1" - -arr-flatten@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== asap@^2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= -asn1@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - -assert-plus@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" - -async-each@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" - -async@~0.2.6: - version "0.2.10" - resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" +async@^3.2.3: + version "3.2.4" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -aws-sign2@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - -aws4@^1.2.1, aws4@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" - -babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-eslint@^7.2.1: - version "7.2.3" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827" - dependencies: - babel-code-frame "^6.22.0" - babel-traverse "^6.23.1" - babel-types "^6.23.0" - babylon "^6.17.0" - -babel-messages@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" - dependencies: - babel-runtime "^6.22.0" - -babel-runtime@^6.22.0, babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babel-traverse@^6.23.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" - dependencies: - babel-code-frame "^6.26.0" - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - debug "^2.6.8" - globals "^9.18.0" - invariant "^2.2.2" - lodash "^4.17.4" +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -babel-types@^6.23.0, babel-types@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" +axios@^0.27.2: + version "0.27.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" + integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== dependencies: - babel-runtime "^6.26.0" - esutils "^2.0.2" - lodash "^4.17.4" - to-fast-properties "^1.0.3" - -babylon@^6.17.0, babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + follow-redirects "^1.14.9" + form-data "^4.0.0" balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - -basic-auth@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.0.tgz#015db3f353e02e56377755f962742e8981e7bbba" - dependencies: - safe-buffer "5.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" - dependencies: - tweetnacl "^0.14.3" - -binary-extensions@^1.0.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.10.0.tgz#9aeb9a6c5e88638aad171e167f5900abe24835d0" - -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - dependencies: - inherits "~2.0.0" - -bluebird@^3.0.6, bluebird@^3.2.2, bluebird@^3.4.0, bluebird@^3.5.0, bluebird@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" - -boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -boom@2.x.x: - version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" +basic-auth@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" + integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== dependencies: - hoek "2.x.x" + safe-buffer "5.1.2" -boom@4.x.x: - version "4.3.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" - dependencies: - hoek "4.x.x" +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -boom@5.x.x: - version "5.2.0" - resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" - dependencies: - hoek "4.x.x" +bluebird@^3.2.2, bluebird@^3.4.0, bluebird@^3.5.1: + version "3.5.3" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" + integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw== -boxen@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-0.6.0.tgz#8364d4248ac34ff0ef1b2f2bf49a6c60ce0d81b6" - dependencies: - ansi-align "^1.1.0" - camelcase "^2.1.0" - chalk "^1.1.1" - cli-boxes "^1.0.0" - filled-array "^1.0.0" - object-assign "^4.0.1" - repeating "^2.0.0" - string-width "^1.0.1" - widest-line "^1.0.0" +bluebird@^3.5.2, bluebird@^3.5.5, bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== brace-expansion@^1.1.7: - version "1.1.8" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -browser-fingerprint@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/browser-fingerprint/-/browser-fingerprint-0.0.1.tgz#8df3cdca25bf7d5b3542d61545d730053fce604a" + balanced-match "^1.0.0" -builtin-modules@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= camel-case@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= dependencies: no-case "^2.2.0" upper-case "^1.1.1" -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - -camelcase@^2.0.0, camelcase@^2.0.1, camelcase@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - -capture-stack-trace@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - -center-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" - -chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" +camel-case@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" + pascal-case "^3.1.2" + tslib "^2.0.3" -chalk@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.2.tgz#250dc96b07491bfd601e648d66ddf5f60c7a5c65" - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -cheerio@0.22.0: - version "0.22.0" - resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e" - dependencies: - css-select "~1.2.0" - dom-serializer "~0.1.0" - entities "~1.1.1" - htmlparser2 "^3.9.1" - lodash.assignin "^4.0.9" - lodash.bind "^4.1.4" - lodash.defaults "^4.0.1" - lodash.filter "^4.4.0" - lodash.flatten "^4.2.0" - lodash.foreach "^4.3.0" - lodash.map "^4.4.0" - lodash.merge "^4.4.0" - lodash.pick "^4.2.1" - lodash.reduce "^4.4.0" - lodash.reject "^4.4.0" - lodash.some "^4.4.0" - -chokidar@^1.5.2, chokidar@^1.6.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" - dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" +chalk@^4.0.0, chalk@^4.0.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@^3.0.0: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" optionalDependencies: - fsevents "^1.0.0" - -cli-boxes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" - -cliui@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - -cliui@^3.0.3: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + fsevents "~2.3.2" -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - -color-convert@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: - color-name "^1.1.1" + color-name "~1.1.4" -color-name@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" -command-exists@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.2.tgz#12819c64faf95446ec0ae07fe6cafb6eb3708b22" +command-exists@^1.2.8: + version "1.2.9" + resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" + integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== -compressible@~2.0.11: - version "2.0.12" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.12.tgz#c59a5c99db76767e9876500e271ef63b3493bd66" +commander@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== dependencies: - mime-db ">= 1.30.0 < 2" + mime-db ">= 1.43.0 < 2" -compression@^1.6.0: - version "1.7.1" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.1.tgz#eff2603efc2e22cf86f35d2eb93589f9875373db" +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== dependencies: - accepts "~1.3.4" + accepts "~1.3.5" bytes "3.0.0" - compressible "~2.0.11" + compressible "~2.0.16" debug "2.6.9" - on-headers "~1.0.1" - safe-buffer "5.1.1" + on-headers "~1.0.2" + safe-buffer "5.1.2" vary "~1.1.2" concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -configstore@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-2.1.0.tgz#737a3a7036e9886102aa6099e47bb33ab1aba1a1" - dependencies: - dot-prop "^3.0.0" - graceful-fs "^4.1.2" - mkdirp "^0.5.0" - object-assign "^4.0.1" - os-tmpdir "^1.0.0" - osenv "^0.1.0" - uuid "^2.0.1" - write-file-atomic "^1.1.2" - xdg-basedir "^2.0.0" - -connect@3.x: - version "3.6.5" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.5.tgz#fb8dde7ba0763877d0ec9df9dac0b4b40e72c7da" +connect@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" + integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== dependencies: debug "2.6.9" - finalhandler "1.0.6" - parseurl "~1.3.2" + finalhandler "1.1.2" + parseurl "~1.3.3" utils-merge "1.0.1" -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - -core-js@^1.1.1: - version "1.2.7" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" - -core-js@^2.4.0: - version "2.5.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e" - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - -create-error-class@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" - dependencies: - capture-stack-trace "^1.0.0" - -cross-spawn@^4.0.0, cross-spawn@^4.0.2: +cross-spawn@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" + integrity sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE= dependencies: lru-cache "^4.0.1" which "^1.2.9" -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" - dependencies: - boom "2.x.x" - -cryptiles@3.x.x: - version "3.1.2" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" - dependencies: - boom "5.x.x" - -css-parse@1.7.x: - version "1.7.0" - resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-1.7.0.tgz#321f6cf73782a6ff751111390fc05e2c657d8c9b" - -css-select@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" - -css-what@2.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" - -cuid@~1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/cuid/-/cuid-1.3.8.tgz#4b875e0969bad764f7ec0706cf44f5fb0831f6b7" +cross-spawn@^7.0.0: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: - browser-fingerprint "0.0.1" - core-js "^1.1.1" - node-fingerprint "0.0.2" + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - dependencies: - array-find-index "^1.0.1" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" +css@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" + integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ== dependencies: - assert-plus "^1.0.0" + inherits "^2.0.4" + source-map "^0.6.1" + source-map-resolve "^0.6.0" -debug@*: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - dependencies: - ms "2.0.0" +cuid@^2.1.4: + version "2.1.8" + resolved "https://registry.yarnpkg.com/cuid/-/cuid-2.1.8.tgz#cbb88f954171e0d5747606c0139fb65c5101eac0" + integrity sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg== -debug@2.6.9, debug@^2.2.0, debug@^2.6.8: +debug@2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" +debug@^4.3.2: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" -deep-extend@~0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" +decode-uri-component@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - -depd@1.1.1, depd@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - -detect-libc@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.2.tgz#71ad5d204bf17a6a6ca8f450c61454066ef461e1" - -dom-serializer@0, dom-serializer@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" - dependencies: - domelementtype "~1.1.1" - entities "~1.1.1" - -dom-urls@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/dom-urls/-/dom-urls-1.1.0.tgz#001ddf81628cd1e706125c7176f53ccec55d918e" - dependencies: - urijs "^1.16.1" - -domelementtype@1, domelementtype@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" - -domelementtype@~1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" - -domhandler@^2.3.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259" - dependencies: - domelementtype "1" +depd@2.0.0, depd@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== -domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - dependencies: - dom-serializer "0" - domelementtype "1" +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== -domutils@^1.5.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== dependencies: - dom-serializer "0" - domelementtype "1" + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" - dependencies: - is-obj "^1.0.0" +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== -duplexer2@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" +domhandler@^4.2.0, domhandler@^4.2.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== dependencies: - readable-stream "^2.0.2" + domelementtype "^2.2.0" -ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" +domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== dependencies: - jsbn "~0.1.0" + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -ejs@^2.3.4: - version "2.5.7" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.7.tgz#cc872c168880ae3c7189762fd5ffc00896c9518a" - -encodeurl@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" +ejs@^3.1.6: + version "3.1.8" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b" + integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ== + dependencies: + jake "^10.8.5" -entities@^1.1.1, entities@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -error-ex@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" - dependencies: - is-arrayish "^0.2.1" +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== -es6-promise@^4.0.5: - version "4.1.1" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.1.1.tgz#8811e90915d9a0dba36274f0b242dbda78f9c92a" +entities@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" + integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -esprima@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" - -esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" +esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - dependencies: - is-posix-bracket "^0.1.0" - -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - dependencies: - fill-range "^2.1.0" - -extend@~3.0.0, extend@~3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" +fast-equals@^3.0.1: + version "3.0.3" + resolved "https://registry.yarnpkg.com/fast-equals/-/fast-equals-3.0.3.tgz#8e6cb4e51ca1018d87dd41982ef92758b3e4197f" + integrity sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg== -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" +filelist@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== dependencies: - is-extglob "^1.0.0" - -extsprintf@1.3.0, extsprintf@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - -fast-deep-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" - -fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + minimatch "^5.0.1" -fill-range@^2.1.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^1.1.3" - repeat-element "^1.1.2" - repeat-string "^1.5.2" + to-regex-range "^5.0.1" -filled-array@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84" - -finalhandler@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.6.tgz#007aea33d1a4d3e42017f624848ad58d212f814f" +finalhandler@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== dependencies: debug "2.6.9" - encodeurl "~1.0.1" + encodeurl "~1.0.2" escape-html "~1.0.3" on-finished "~2.3.0" - parseurl "~1.3.2" - statuses "~1.3.1" + parseurl "~1.3.3" + statuses "~1.5.0" unpipe "~1.0.0" -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -for-in@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - -for-own@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - dependencies: - for-in "^1.0.1" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - -form-data@~2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" +follow-redirects@^1.14.9: + version "1.15.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" + integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== -form-data@~2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf" +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== dependencies: asynckit "^0.4.0" - combined-stream "^1.0.5" + combined-stream "^1.0.8" mime-types "^2.1.12" fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.2.tgz#3282b713fb3ad80ede0e9fcf4611b5aa6fc033f4" - dependencies: - nan "^2.3.0" - node-pre-gyp "^0.6.36" - -fstream-ignore@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" - dependencies: - fstream "^1.0.0" - inherits "2" - minimatch "^3.0.0" - -fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: - version "1.0.11" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - dependencies: - assert-plus "^1.0.0" +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: - is-glob "^2.0.0" + is-glob "^4.0.1" -glob@7.0.x: - version "7.0.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" +glob@^7.1.6: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^6.0.1: - version "6.0.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" + minimatch "^3.1.1" once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.5, glob@^7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" +graceful-fs@^4.1.11, graceful-fs@^4.1.3: + version "4.1.15" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== -globals@^9.18.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" - -got@^5.0.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" - dependencies: - create-error-class "^3.0.1" - duplexer2 "^0.1.4" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - node-status-codes "^1.0.0" - object-assign "^4.0.1" - parse-json "^2.1.0" - pinkie-promise "^2.0.0" - read-all-stream "^3.0.0" - readable-stream "^2.0.5" - timed-out "^3.0.0" - unzip-response "^1.0.2" - url-parse-lax "^1.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.4: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - -har-schema@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -har-validator@~4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hexo-cli@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/hexo-cli/-/hexo-cli-4.3.0.tgz#4bb2bf11a30fae601f2f53ac0cb833fee3187649" + integrity sha512-lr46h1tK1RNQJAQZbzKYAWGsmqF5DLrW6xKEakqv/o9JqgdeempBjIm7HqjcZEUBpWij4EO65X6YJiDmT9LR7g== + dependencies: + abbrev "^1.1.1" + bluebird "^3.5.5" + chalk "^4.0.0" + command-exists "^1.2.8" + hexo-fs "^3.0.1" + hexo-log "^2.0.0" + hexo-util "^2.0.0" + minimist "^1.2.5" + resolve "^1.11.0" + tildify "^2.0.0" + +hexo-front-matter@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/hexo-front-matter/-/hexo-front-matter-3.0.0.tgz#b9a473c6cb910c73f9fea49f506e98540fcea6cb" + integrity sha512-hSQTPUmB/BCe1BFYmXRkPyLk8rqbBqHCQq+rjwwOJuEfOADrFaVK2VPZb90tJzPyXE1xSxpgCxE/AZq0CyTVwg== dependencies: - ajv "^4.9.1" - har-schema "^1.0.5" + js-yaml "^4.1.0" -har-validator@~5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" - dependencies: - ajv "^5.1.0" - har-schema "^2.0.0" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - -hawk@3.1.3, hawk@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" - -hawk@~6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" - dependencies: - boom "4.x.x" - cryptiles "3.x.x" - hoek "4.x.x" - sntp "2.x.x" - -hexo-bunyan@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hexo-bunyan/-/hexo-bunyan-1.0.0.tgz#b2106b26547b232f0195db863cb5d5ff8527fd36" - optionalDependencies: - moment "^2.10.6" - mv "~2" - safe-json-stringify "~1" - -hexo-cli@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/hexo-cli/-/hexo-cli-1.1.0.tgz#496d238d4646dbfd1cf047b6dc5271bfb5cb798f" - dependencies: - abbrev "^1.0.7" - bluebird "^3.4.0" - chalk "^1.1.3" - command-exists "^1.2.0" - hexo-fs "^0.2.0" - hexo-log "^0.2.0" - hexo-util "^0.6.0" - minimist "^1.2.0" - object-assign "^4.1.0" - resolve "^1.5.0" - tildify "^1.2.0" - -hexo-deployer-git@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/hexo-deployer-git/-/hexo-deployer-git-0.3.1.tgz#26b085ecc50e2cc99ecd33d56c254c5544c02d21" - dependencies: - babel-eslint "^7.2.1" - bluebird "^3.5.0" - chalk "^1.1.3" - hexo-fs "^0.2.0" - hexo-util "^0.6.0" - moment "^2.18.0" - swig "^1.4.2" - -hexo-front-matter@^0.2.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/hexo-front-matter/-/hexo-front-matter-0.2.3.tgz#c7ca8ef420ea36bd85e8408a2e8c9bf49efa605e" - dependencies: - js-yaml "^3.6.1" - -hexo-fs@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/hexo-fs/-/hexo-fs-0.2.2.tgz#0b97b79f68df121f765d1291b8e90fae326d000e" +hexo-fs@^3.0.1, hexo-fs@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hexo-fs/-/hexo-fs-3.1.0.tgz#2052ff72c68cda2c577a87aa0ea7980ae503fa99" + integrity sha512-SfoDH7zlU9Iop+bAfEONXezbNIkpVX1QqjNCBYpapilZR+xVOCfTEdlNixanrKBbLGPb2fXqrdDBFgrKuiVGQQ== dependencies: - bluebird "^3.4.0" - chokidar "^1.5.2" - escape-string-regexp "^1.0.5" - graceful-fs "^4.1.4" + bluebird "^3.5.1" + chokidar "^3.0.0" + graceful-fs "^4.1.11" + hexo-util "^2.0.0" "hexo-generator-alias@git+https://github.com/chrisvfritz/vuejs.org-hexo-generator-alias.git": version "0.1.3" resolved "git+https://github.com/chrisvfritz/vuejs.org-hexo-generator-alias.git#67adb814a76750f3c841825f955bd5dd92cd1f20" -hexo-generator-archive@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/hexo-generator-archive/-/hexo-generator-archive-0.1.5.tgz#a979214cdddee2693e0551809c294bedadbb69b3" +hexo-generator-archive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hexo-generator-archive/-/hexo-generator-archive-1.0.0.tgz#ad2afb12232a65e2f8608fc1ca3f19162fb63786" + integrity sha512-24TeanDGpMBUIq37DHpSESQbeN6ssZ06edsGSI76tN4Yit50TgsgzP5g5DSu0yJk0jUtHJntysWE8NYAlFXibA== dependencies: - hexo-pagination "0.0.2" - object-assign "^2.0.0" + hexo-pagination "1.0.0" -hexo-generator-category@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/hexo-generator-category/-/hexo-generator-category-0.1.3.tgz#b9e6a5862530a83bdd7da4c819c1b9f3e4ccb4b2" +hexo-generator-category@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hexo-generator-category/-/hexo-generator-category-1.0.0.tgz#cd2a2b03eb326da3ef821d6e29408488cc132eb5" + integrity sha512-kmtwT1SHYL2ismbGnYQXNtqLFSeTdtHNbJIqno3LKROpCK8ybST5QVXF1bZI9LkFcXV/H8ilt8gfg4/dNNcQQQ== dependencies: - hexo-pagination "0.0.2" - object-assign "^2.0.0" + hexo-pagination "1.0.0" -hexo-generator-feed@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/hexo-generator-feed/-/hexo-generator-feed-1.2.2.tgz#9516d1596509b157f4d044fb49b2bae398b82ba7" +hexo-generator-feed@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/hexo-generator-feed/-/hexo-generator-feed-3.0.0.tgz#4126ef5e308264c42599fb0efdaf88ed11fa599e" + integrity sha512-Jo35VSRSNeMitS2JmjCq3OHAXXYU4+JIODujHtubdG/NRj2++b3Tgyz9pwTmROx6Yxr2php/hC8og5AGZHh8UQ== dependencies: + hexo-util "^2.1.0" nunjucks "^3.0.0" - object-assign "^4.1.1" -hexo-generator-index@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/hexo-generator-index/-/hexo-generator-index-0.2.1.tgz#9042229fcac79aaf700575da19332bf3f7ee5c5d" +hexo-generator-index@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hexo-generator-index/-/hexo-generator-index-2.0.0.tgz#15e71f4d28ee9d2172e2d77e8d1dba04882edc8f" + integrity sha512-q/29Vj9BZs0dwBcF+s9IT8ymS4aYZsDwBEYDnh96C8tsX+KPY5v6TzCdttz58BchifaJpP/l9mi6u9rZuYqA0g== dependencies: - hexo-pagination "0.0.2" - object-assign "^4.0.1" + hexo-pagination "1.0.0" + timsort "^0.3.0" -hexo-generator-tag@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/hexo-generator-tag/-/hexo-generator-tag-0.2.0.tgz#c5715846bb41e57d9c20c1d66d7db21a1abf7a62" +hexo-generator-tag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hexo-generator-tag/-/hexo-generator-tag-1.0.0.tgz#54ec23de9409c75584ea81e36057a59031b022f1" + integrity sha512-JDoB2T1EncRlyGSjuAhkGxRfKkN8tq0i8tFlk9I4q2L6iYxPaUnFenhji0oxufTADC16/IchuPjmMk//dt8Msg== dependencies: - hexo-pagination "0.0.2" - object-assign "^4.0.1" + hexo-pagination "1.0.0" -hexo-i18n@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/hexo-i18n/-/hexo-i18n-0.2.1.tgz#84f141432bf09d8b558ed878c728164b6d1cd6de" +hexo-i18n@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hexo-i18n/-/hexo-i18n-1.0.0.tgz#7983fb3a313e90615b84dd8fa946a71c489ef5bd" + integrity sha512-yw90JHr7ybUHN/QOkpHmlWJj1luVk5/v8CUU5NRA0n4TFp6av8NT7ujZ10GDawgnQEdMHnN5PUfAbNIVGR6axg== dependencies: - sprintf-js "^1.0.2" + sprintf-js "^1.0.3" -hexo-log@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/hexo-log/-/hexo-log-0.2.0.tgz#d30fd45e1a12a83c88033586640485efc5df5a6f" +hexo-log@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hexo-log/-/hexo-log-2.0.0.tgz#1dcc8e960029b08b21994fe2c56c4e3d6346e893" + integrity sha512-U7zdDae74pXcyhQEyNmpJdq3UI6zWKxQ7/zLoMr/d3CBRdIfB5yO8DWqKUnewfibYv0gODyTWUIhxQDWuwloow== dependencies: - chalk "^1.1.1" - hexo-bunyan "^1.0.0" + chalk "^4.0.0" -hexo-offline@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/hexo-offline/-/hexo-offline-0.2.3.tgz#d08715f8118a9cc44401ac04fc2007165a454e56" +hexo-log@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/hexo-log/-/hexo-log-3.0.0.tgz#bbdb75eabef3bf7aee83400a3969db06d5539b61" + integrity sha512-fd87qXYznpNTa8SLov+wjDsrPssk4yKSgdIQg1wJPcuthy8ngvbXYdqaJ4vWMSADZ+D257EmKXTJHJyaxJQhVw== dependencies: - sw-precache "^5.1.0" + nanocolors "^0.2.12" -hexo-pagination@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/hexo-pagination/-/hexo-pagination-0.0.2.tgz#8cf470c7db0de5b18a3926a76deb194015df7f2b" - dependencies: - utils-merge "^1.0.0" +hexo-pagination@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hexo-pagination/-/hexo-pagination-1.0.0.tgz#c9c0ca3665267b9e9d0a89fc3edcaf3276907dc1" + integrity sha512-miEVFgxchPr2qNWxw0JWpJ9R/Yaf7HjHBZVjvCCcqfbsLyYtCvIfJDxcEwz1sDOC/fLzYPqNnhUI73uNxBHRSA== -hexo-renderer-ejs@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/hexo-renderer-ejs/-/hexo-renderer-ejs-0.3.1.tgz#c0c1a3757532d47e5b7d9dc908b5dfd98c94be2c" +hexo-renderer-ejs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hexo-renderer-ejs/-/hexo-renderer-ejs-2.0.0.tgz#56e0c3de5f6b0e1e68b923c65a7c8bfe9ff715eb" + integrity sha512-qCjE1IdwgDgv65qyb0KMVCwCdSVAkH0vwAe9XihjvaKWkmb9dtt8DgErOdqCXn0HReSyWiEVP2BrLRj3gyHwOQ== dependencies: - ejs "^2.3.4" - object-assign "^4.0.1" + ejs "^3.1.6" -hexo-renderer-marked@^0.3.0: +hexo-renderer-marked@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/hexo-renderer-marked/-/hexo-renderer-marked-0.3.2.tgz#d6a37af9ff195e30f9ef6ede1a06ea1fe4322966" + integrity sha512-joSLeHB0YRkuViIPQlRz4A+zfJKPNHT+rABFgPHiT1zL9eeTUPxoLL4h7kcgOwRLAontVScaxP2Sie15mNitFg== dependencies: hexo-util "^0.6.2" marked "^0.3.9" object-assign "^4.1.1" strip-indent "^2.0.0" -hexo-renderer-stylus@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/hexo-renderer-stylus/-/hexo-renderer-stylus-0.3.3.tgz#c54ea27e1fd8e3c8a9a7a84cfba8ad354122ca7f" - dependencies: - nib "^1.1.2" - stylus "^0.54.5" - -hexo-server@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/hexo-server/-/hexo-server-0.3.1.tgz#86956fe7ff6bb9407f99a113666c3f1278a47979" - dependencies: - bluebird "^3.0.6" - chalk "^1.1.1" - compression "^1.6.0" - connect "3.x" - mime "^1.3.4" - morgan "^1.6.1" - object-assign "^4.0.1" - opn "^4.0.0" - serve-static "^1.10.0" - -hexo-util@^0.6.0: - version "0.6.2" - resolved "https://registry.yarnpkg.com/hexo-util/-/hexo-util-0.6.2.tgz#bfc8de63f373e05b3430526d40f25851376587fe" +hexo-renderer-stylus@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/hexo-renderer-stylus/-/hexo-renderer-stylus-2.1.0.tgz#4cbae08d36c7390b791c2cc3df7c53c3ff615106" + integrity sha512-Nef4YCr7JX8jaRaByhzXMSsWnDed+RgJj6aU/ARnYu3Bn5xz/qRz52VJG7KqD0Xuysxa9TIBdVUgNzBrSFn3DQ== dependencies: - bluebird "^3.5.1" - camel-case "^3.0.0" - cross-spawn "^4.0.2" - highlight.js "^9.12.0" - html-entities "^1.2.1" - striptags "^2.2.1" + nib "^1.2.0" + stylus "^0.57.0" -hexo-util@^0.6.2, hexo-util@^0.6.3: +hexo-server@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/hexo-server/-/hexo-server-3.0.0.tgz#fcc597b29b72ee1f035824c5ebd3d92f7e1adb1c" + integrity sha512-u4s0ty9Aew6jV+a9oMrXBwhrRpUQ0U8PWM/88a5aHgDru58VY81mVrxOFxs788NAsWQ8OvsJtF5m7mnXoRnSIA== + dependencies: + bluebird "^3.5.5" + compression "^1.7.4" + connect "^3.7.0" + mime "^3.0.0" + morgan "^1.9.1" + open "^8.0.9" + picocolors "^1.0.0" + serve-static "^1.14.1" + +hexo-util@^0.6.2: version "0.6.3" resolved "https://registry.yarnpkg.com/hexo-util/-/hexo-util-0.6.3.tgz#16a2ade457bef955af0dfd22a3fe6f0a49a9137c" + integrity sha512-zPxaqCWZz3/25SAB4FlrRtWktJ+Pr+vBiv/nyHpXKgXPt1m70liViKlRwWLqDmRjJ72x6/k4qCEeXHajvcGHUw== dependencies: bluebird "^3.4.0" camel-case "^3.0.0" @@ -1176,1609 +635,750 @@ hexo-util@^0.6.2, hexo-util@^0.6.3: html-entities "^1.2.0" striptags "^2.1.1" -hexo@^3.6.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/hexo/-/hexo-3.7.0.tgz#5a2092bcf45518eb65952faa00eccea2135939b7" - dependencies: - abbrev "^1.0.7" +hexo-util@^2.0.0, hexo-util@^2.1.0, hexo-util@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/hexo-util/-/hexo-util-2.6.1.tgz#19b79a1ec751a735ffe34766b65d8e2039c00519" + integrity sha512-xj1jUrId2qTe8L/tRizWWRl+j7X1Zzh5rCVtffboOU0p/EfbPomxIxDvntTHT3fcqgvLHsncqJF9V5j7+buOqA== + dependencies: + bluebird "^3.5.2" + camel-case "^4.0.0" + cross-spawn "^7.0.0" + deepmerge "^4.2.2" + highlight.js "^11.0.1" + htmlparser2 "^7.0.0" + prismjs "^1.17.1" + strip-indent "^3.0.0" + +hexo@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/hexo/-/hexo-6.2.0.tgz#5a62a4c731bf89431d2004326b07af0ec0490242" + integrity sha512-HOpt3vUOz/T0rWTDb/CtWuBJwYARPwbpvGwsaz0RPu/l5I6AmKE+UA0lJZf14iPS3JIt/HiOcTZ3Qz22A+PE8w== + dependencies: + abbrev "^1.1.1" archy "^1.0.0" - bluebird "^3.4.0" - chalk "^2.3.1" - cheerio "0.22.0" - hexo-cli "^1.1.0" - hexo-front-matter "^0.2.2" - hexo-fs "^0.2.0" - hexo-i18n "^0.2.1" - hexo-log "^0.2.0" - hexo-util "^0.6.3" - js-yaml "^3.6.1" - lodash "^4.17.5" - minimatch "^3.0.4" - moment "^2.19.4" - moment-timezone "^0.5.14" - nunjucks "^3.1.2" - pretty-hrtime "^1.0.2" - resolve "^1.5.0" - strip-ansi "^4.0.0" - strip-indent "^2.0.0" - swig-extras "0.0.1" - swig-templates "^2.0.2" + bluebird "^3.7.2" + hexo-cli "^4.3.0" + hexo-front-matter "^3.0.0" + hexo-fs "^3.1.0" + hexo-i18n "^1.0.0" + hexo-log "^3.0.0" + hexo-util "^2.6.1" + js-yaml "^4.1.0" + js-yaml-js-types "^1.0.0" + micromatch "^4.0.4" + moize "^6.1.0" + moment "^2.29.1" + moment-timezone "^0.5.34" + nunjucks "^3.2.3" + picocolors "^1.0.0" + pretty-hrtime "^1.0.3" + resolve "^1.22.0" + strip-ansi "^6.0.0" text-table "^0.2.0" - tildify "^1.2.0" - titlecase "^1.1.2" - warehouse "^2.2.0" - -highlight.js@^9.12.0, highlight.js@^9.4.0: - version "9.12.0" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.12.0.tgz#e6d9dbe57cbefe60751f02af336195870c90c01e" - -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - -hoek@4.x.x: - version "4.2.0" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d" - -hosted-git-info@^2.1.4: - version "2.5.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" - -html-entities@^1.2.0, html-entities@^1.2.1: + tildify "^2.0.0" + titlecase "^1.1.3" + warehouse "^4.0.1" + +highlight.js@^11.0.1: + version "11.6.0" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-11.6.0.tgz#a50e9da05763f1bb0c1322c8f4f755242cff3f5a" + integrity sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw== + +highlight.js@^9.4.0: + version "9.18.5" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.5.tgz#d18a359867f378c138d6819edfc2a8acd5f29825" + integrity sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA== + +hoek@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-6.1.2.tgz#99e6d070561839de74ee427b61aa476bd6bddfd6" + integrity sha512-6qhh/wahGYZHFSFw12tBbJw5fsAhhwrrG/y3Cs0YMTv2WzMnL0oLPnQJjv1QJvEfylRSOFuP+xCu+tdx0tD16Q== + +html-entities@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" + integrity sha1-DfKTUfByEWNRXfueVUPl9u7VFi8= -htmlparser2@^3.9.1: - version "3.9.2" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338" - dependencies: - domelementtype "^1.3.0" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^2.0.2" - -http-errors@~1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" - dependencies: - depd "1.1.1" - inherits "2.0.3" - setprototypeof "1.0.3" - statuses ">= 1.3.1 < 2" - -http-signature@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" - dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" +htmlparser2@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-7.2.0.tgz#8817cdea38bbc324392a90b1990908e81a65f5a5" + integrity sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" + domelementtype "^2.0.1" + domhandler "^4.2.2" + domutils "^2.8.0" + entities "^3.0.1" -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== dependencies: - repeating "^2.0.0" + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= dependencies: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.3: +inherits@2, inherits@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@~1.3.0: - version "1.3.4" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" - -invariant@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.3.tgz#1a827dfde7dcbd7c323f0ca826be8fa7c5e9d688" - dependencies: - loose-envify "^1.0.0" - -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - dependencies: - binary-extensions "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - dependencies: - builtin-modules "^1.0.0" - -is-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - dependencies: - is-primitive "^2.0.0" - -is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" +inherits@2.0.4, inherits@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -is-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: - number-is-nan "^1.0.0" + binary-extensions "^2.0.0" -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" +is-core-module@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" + integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== dependencies: - number-is-nan "^1.0.0" + has "^1.0.3" -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - dependencies: - is-extglob "^1.0.0" +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== -is-npm@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: - kind-of "^3.0.2" + is-extglob "^2.1.1" -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - dependencies: - kind-of "^3.0.2" +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== -is-plain-object@^2.0.1: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== dependencies: - isobject "^3.0.1" - -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - -is-retry-allowed@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" - -is-stream@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + is-docker "^2.0.0" isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" +jake@^10.8.5: + version "10.8.5" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46" + integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw== dependencies: - isarray "1.0.0" - -isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - -js-tokens@^3.0.0, js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.1" + minimatch "^3.0.4" -js-yaml@^3.6.1: - version "3.10.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" +js-yaml-js-types@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/js-yaml-js-types/-/js-yaml-js-types-1.0.0.tgz#bf17cb75c7587c698294d15bbfa5f9b8b10b874b" + integrity sha512-UNjPwuoaj4mcHkJCJSF6l4MgkzoFjG+JJkBXMYNvjgO3yE9gTeRt+E6PN022vduz/daZZ7HmlEiSEE36NrGE4w== dependencies: - argparse "^1.0.7" - esprima "^4.0.0" + esprima "^4.0.1" -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: - jsonify "~0.0.0" - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + argparse "^2.0.1" -jsonparse@^1.2.0: +jsonparse@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -kind-of@^3.0.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - dependencies: - is-buffer "^1.1.5" - -latest-version@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-2.0.0.tgz#56f8d6139620847b8017f8f1f4d78e211324168b" - dependencies: - package-json "^2.0.0" - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - -lazy-req@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-1.1.0.tgz#bdaebead30f8d824039ce0ce149d4daa07ba1fac" +lower-case@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== dependencies: - invert-kv "^1.0.0" + tslib "^2.0.3" -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -lodash._reinterpolate@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - -lodash.assignin@^4.0.9: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2" - -lodash.bind@^4.1.4: - version "4.2.1" - resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35" - -lodash.defaults@^4.0.1, lodash.defaults@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" - -lodash.filter@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace" - -lodash.flatten@^4.2.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - -lodash.foreach@^4.3.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" - -lodash.map@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" - -lodash.merge@^4.4.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.1.tgz#adc25d9cb99b9391c59624f379fbba60d7111d54" - -lodash.pick@^4.2.1: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" - -lodash.reduce@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b" - -lodash.reject@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415" + pseudomap "^1.0.2" + yallist "^2.1.2" -lodash.some@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" +marked@^0.3.9: + version "0.3.19" + resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790" + integrity sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg== -lodash.template@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" - dependencies: - lodash._reinterpolate "~3.0.0" - lodash.templatesettings "^4.0.0" +micro-memoize@^4.0.9: + version "4.0.10" + resolved "https://registry.yarnpkg.com/micro-memoize/-/micro-memoize-4.0.10.tgz#cedf7682df990cd2290700af4537afa6dba7d4e9" + integrity sha512-rk0OlvEQkShjbr2EvGn1+GdCsgLDgABQyM9ZV6VoHNU7hiNM+eSOkjGWhiNabU/XWiEalWbjNQrNO+zcqd+pEA== -lodash.templatesettings@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: - lodash._reinterpolate "~3.0.0" + braces "^3.0.2" + picomatch "^2.3.1" -lodash@^4.17.4, lodash@^4.17.5: - version "4.17.5" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" +"mime-db@>= 1.43.0 < 2": + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -lodash@^4.2.1: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" +mime-db@~1.37.0: + version "1.37.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" + integrity sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg== -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - -loose-envify@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" +mime-types@^2.1.12, mime-types@~2.1.18: + version "2.1.21" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96" + integrity sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg== dependencies: - js-tokens "^3.0.0" + mime-db "~1.37.0" -loud-rejection@^1.0.0: +mime@1.6.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -lower-case@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" - -lowercase-keys@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" - -lru-cache@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" +mime@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" + integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== -map-obj@^1.0.0, map-obj@^1.0.1: +min-indent@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - -markdown@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/markdown/-/markdown-0.5.0.tgz#28205b565a8ae7592de207463d6637dc182722b2" - dependencies: - nopt "~2.1.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -marked@^0.3.9: - version "0.3.17" - resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.17.tgz#607f06668b3c6b1246b28f13da76116ac1aa2d2b" - -meow@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -micromatch@^2.1.5: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -"mime-db@>= 1.30.0 < 2": - version "1.31.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.31.0.tgz#a49cd8f3ebf3ed1a482b60561d9105ad40ca74cb" - -mime-db@~1.30.0: - version "1.30.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" - -mime-types@^2.1.12, mime-types@~2.1.16, mime-types@~2.1.17, mime-types@~2.1.7: - version "2.1.17" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" - dependencies: - mime-db "~1.30.0" - -mime@1.4.1, mime@^1.3.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" - -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" +minimatch@^3.0.4, minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" +minimatch@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" + integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== + dependencies: + brace-expansion "^2.0.1" -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" +minimist@^1.2.5: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== -mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" +moize@^6.1.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/moize/-/moize-6.1.1.tgz#e75f18734fcb22aec30205681eb97cd7eb3ffa51" + integrity sha512-6bryLehIBVByDdAkXhoaPP1fknkoq1hNPmVCDYIb/w5zwfidT02zLSto1uGbmnv1GKu02ysgAEaJ5Ic7QQaGQA== dependencies: - minimist "0.0.8" + fast-equals "^3.0.1" + micro-memoize "^4.0.9" -moment-timezone@^0.5.14: - version "0.5.14" - resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.14.tgz#4eb38ff9538b80108ba467a458f3ed4268ccfcb1" +moment-timezone@^0.5.34: + version "0.5.37" + resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.37.tgz#adf97f719c4e458fdb12e2b4e87b8bec9f4eef1e" + integrity sha512-uEDzDNFhfaywRl+vwXxffjjq1q0Vzr+fcQpQ1bU0kbzorfS7zVtZnCnGc8mhWmF39d4g4YriF6kwA75mJKE/Zg== dependencies: moment ">= 2.9.0" -"moment@>= 2.9.0", moment@^2.10.6: - version "2.19.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.19.1.tgz#56da1a2d1cbf01d38b7e1afc31c10bcfa1929167" +"moment@>= 2.9.0", moment@^2.29.1: + version "2.29.4" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== -moment@^2.18.0, moment@^2.19.4: - version "2.21.0" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.21.0.tgz#2a114b51d2a6ec9e6d83cf803f838a878d8a023a" - -morgan@^1.6.1: - version "1.9.0" - resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.9.0.tgz#d01fa6c65859b76fcf31b3cb53a3821a311d8051" +morgan@^1.9.1: + version "1.10.0" + resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7" + integrity sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ== dependencies: - basic-auth "~2.0.0" + basic-auth "~2.0.1" debug "2.6.9" - depd "~1.1.1" + depd "~2.0.0" on-finished "~2.3.0" - on-headers "~1.0.1" + on-headers "~1.0.2" ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -mv@~2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2" - dependencies: - mkdirp "~0.5.1" - ncp "~2.0.0" - rimraf "~2.4.0" +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -nan@^2.3.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46" +ms@2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -ncp@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" +nanocolors@^0.2.12: + version "0.2.13" + resolved "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.2.13.tgz#dfd1ed0bfab05e9fe540eb6874525f0a1684099b" + integrity sha512-0n3mSAQLPpGLV9ORXT5+C/D4mwew7Ebws69Hx4E2sgz2ZA5+32Q80B9tL8PbL7XHnRDiAxH/pnrUJ9a4fkTNTA== negotiator@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + integrity sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk= -nib@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/nib/-/nib-1.1.2.tgz#6a69ede4081b95c0def8be024a4c8ae0c2cbb6c7" - dependencies: - stylus "0.54.5" +nib@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/nib/-/nib-1.2.0.tgz#cf650a975307edaa8683470430f82ba132bf9f7b" + integrity sha512-7HgrnMl/3yOmWykueO8/D0q+0iWwe7Z+CK2Eaq/xQV8w1hK80WN1oReRQkfkrztbAAnp/nTHkUSl5EcVkor6JQ== no-case@^2.2.0: version "2.3.2" resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== dependencies: lower-case "^1.1.1" -node-fingerprint@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/node-fingerprint/-/node-fingerprint-0.0.2.tgz#31cbabeb71a67ae7dd5a7dc042e51c3c75868501" - -node-pre-gyp@^0.6.36: - version "0.6.39" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" - dependencies: - detect-libc "^1.0.2" - hawk "3.1.3" - mkdirp "^0.5.1" - nopt "^4.0.1" - npmlog "^4.0.2" - rc "^1.1.7" - request "2.81.0" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^2.2.1" - tar-pack "^3.4.0" - -node-status-codes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f" - -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - dependencies: - abbrev "1" - osenv "^0.1.4" - -nopt@~2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-2.1.2.tgz#6cccd977b80132a07731d6e8ce58c2c8303cf9af" - dependencies: - abbrev "1" - -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.4.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.0.0, normalize-path@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - dependencies: - remove-trailing-separator "^1.0.1" - -npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -nth-check@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== dependencies: - boolbase "~1.0.0" + lower-case "^2.0.2" + tslib "^2.0.3" -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -nunjucks@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/nunjucks/-/nunjucks-3.0.1.tgz#4de74a3e550baf6fa3370323f3d1c7c2a86bdc4d" +nunjucks@^3.0.0, nunjucks@^3.2.3: + version "3.2.4" + resolved "https://registry.yarnpkg.com/nunjucks/-/nunjucks-3.2.4.tgz#f0878eef528ce7b0aa35d67cc6898635fd74649e" + integrity sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ== dependencies: a-sync-waterfall "^1.0.0" asap "^2.0.3" - yargs "^3.32.0" - optionalDependencies: - chokidar "^1.6.0" + commander "^5.1.0" -nunjucks@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/nunjucks/-/nunjucks-3.1.2.tgz#85945a66bb8239bb37ecef83dab4cc1f152aabb9" - dependencies: - a-sync-waterfall "^1.0.0" - asap "^2.0.3" - postinstall-build "^5.0.1" - yargs "^3.32.0" - optionalDependencies: - chokidar "^1.6.0" - -oauth-sign@~0.8.1, oauth-sign@~0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" - -object-assign@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa" - -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" + ee-first "1.1.1" on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= dependencies: ee-first "1.1.1" -on-headers@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== -once@^1.3.0, once@^1.3.3: +once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: wrappy "1" -opn@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" - dependencies: - object-assign "^4.0.1" - pinkie-promise "^2.0.0" - -optimist@~0.6: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - -os-locale@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" - dependencies: - lcid "^1.0.0" - -os-tmpdir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - -osenv@^0.1.0, osenv@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -package-json@^2.0.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-2.4.0.tgz#0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb" +open@^8.0.9: + version "8.4.0" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" + integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== dependencies: - got "^5.0.0" - registry-auth-token "^3.0.1" - registry-url "^3.0.3" - semver "^5.1.0" + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== -parse-json@^2.1.0, parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - dependencies: - error-ex "^1.2.0" - -parseurl@~1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== dependencies: - pinkie-promise "^2.0.0" + no-case "^3.0.4" + tslib "^2.0.3" path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-parse@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" - -path-to-regexp@^1.0.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" - dependencies: - isarray "0.0.1" - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -performance-now@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - -postinstall-build@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postinstall-build/-/postinstall-build-5.0.1.tgz#b917a9079b26178d9a24af5a5cd8cb4a991d11b9" - -prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -pretty-bytes@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9" +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pretty-hrtime@^1.0.2: +pretty-hrtime@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" + integrity sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A== -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" +prismjs@^1.17.1: + version "1.28.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.28.0.tgz#0d8f561fa0f7cf6ebca901747828b149147044b6" + integrity sha512-8aaXdYvl1F7iC7Xm1spqSaY/OJBpYW3v+KJ+F17iYxvdc8sfjW194COK5wVhMZX45tGteiBQgdvD/nhxcRwylw== pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - -qs@~6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - -qs@~6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" - -randomatic@^1.1.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -range-parser@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" - -rc@^1.0.1, rc@^1.1.6, rc@^1.1.7: - version "1.2.2" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.2.tgz#d8ce9cb57e8d64d9c7badd9876c7c34cbe3c7077" - dependencies: - deep-extend "~0.4.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -read-all-stream@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" - dependencies: - pinkie-promise "^2.0.0" - readable-stream "^2.0.0" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4: - version "2.3.3" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - safe-buffer "~5.1.1" - string_decoder "~1.0.3" - util-deprecate "~1.0.1" - -readdirp@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" - dependencies: - graceful-fs "^4.1.2" - minimatch "^3.0.2" - readable-stream "^2.0.2" - set-immediate-shim "^1.0.1" - -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - -regex-cache@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" - dependencies: - is-equal-shallow "^0.1.3" - -registry-auth-token@^3.0.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.1.tgz#fb0d3289ee0d9ada2cbb52af5dfe66cb070d3006" - dependencies: - rc "^1.1.6" - safe-buffer "^5.0.1" - -registry-url@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" - dependencies: - rc "^1.0.1" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - -repeat-element@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" - -repeat-string@^1.5.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - dependencies: - is-finite "^1.0.0" - -request@2.81.0: - version "2.81.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~4.2.1" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - performance-now "^0.2.0" - qs "~6.4.0" - safe-buffer "^5.0.1" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "^0.6.0" - uuid "^3.0.0" - -request@^2.85.0: - version "2.85.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.85.0.tgz#5a03615a47c61420b3eb99b7dba204f83603e1fa" - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.6.0" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.1" - forever-agent "~0.6.1" - form-data "~2.3.1" - har-validator "~5.0.3" - hawk "~6.0.2" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.17" - oauth-sign "~0.8.2" - performance-now "^2.1.0" - qs "~6.5.1" - safe-buffer "^5.1.1" - stringstream "~0.0.5" - tough-cookie "~2.3.3" - tunnel-agent "^0.6.0" - uuid "^3.1.0" - -resolve@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36" - dependencies: - path-parse "^1.0.5" +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -right-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" +readable-stream@3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== dependencies: - align-text "^0.1.1" + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" -rimraf@2, rimraf@^2.5.1, rimraf@^2.6.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: - glob "^7.0.5" + picomatch "^2.2.1" -rimraf@~2.4.0: - version "2.4.5" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da" +resolve@^1.11.0, resolve@^1.22.0: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== dependencies: - glob "^6.0.1" + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" -safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" - -safe-json-stringify@~1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.0.4.tgz#81a098f447e4bbc3ff3312a243521bc060ef5911" +rfdc@^1.1.4: + version "1.3.0" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" + integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== -sax@0.5.x: - version "0.5.8" - resolved "https://registry.yarnpkg.com/sax/-/sax-0.5.8.tgz#d472db228eb331c2506b0e8c15524adb939d12c1" +safe-buffer@5.1.2, safe-buffer@~5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -semver-diff@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" - dependencies: - semver "^5.0.3" +safer-buffer@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" +sax@~1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -send@0.16.1: - version "0.16.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3" +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== dependencies: debug "2.6.9" - depd "~1.1.1" - destroy "~1.0.4" - encodeurl "~1.0.1" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" fresh "0.5.2" - http-errors "~1.6.2" - mime "1.4.1" - ms "2.0.0" - on-finished "~2.3.0" - range-parser "~1.2.0" - statuses "~1.3.1" - -serve-static@^1.10.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719" - dependencies: - encodeurl "~1.0.1" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serve-static@^1.14.1: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" escape-html "~1.0.3" - parseurl "~1.3.2" - send "0.16.1" + parseurl "~1.3.3" + send "0.18.0" -serviceworker-cache-polyfill@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/serviceworker-cache-polyfill/-/serviceworker-cache-polyfill-4.0.0.tgz#de19ee73bef21ab3c0740a37b33db62464babdeb" +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== -set-blocking@~2.0.0: +shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - -set-immediate-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - -setprototypeof@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" - -signal-exit@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - -slide@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" - -sntp@1.x.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" - dependencies: - hoek "2.x.x" - -sntp@2.x.x: - version "2.1.0" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8" - dependencies: - hoek "4.x.x" - -source-map@0.1.34: - version "0.1.34" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.34.tgz#a7cfe89aec7b1682c3b198d0acfb47d7d090566b" - dependencies: - amdefine ">=0.0.4" - -source-map@0.1.x: - version "0.1.43" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: - amdefine ">=0.0.4" + shebang-regex "^3.0.0" -source-map@~0.5.1: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -spdx-correct@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" +source-map-resolve@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" + integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== dependencies: - spdx-license-ids "^1.0.2" - -spdx-expression-parse@~1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + atob "^2.1.2" + decode-uri-component "^0.2.0" -spdx-license-ids@^1.0.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" - -sprintf-js@^1.0.2: - version "1.1.1" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.1.tgz#36be78320afe5801f6cea3ee78b6e5aab940ea0c" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" +source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -sshpk@^1.7.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - dashdash "^1.12.0" - getpass "^0.1.1" - optionalDependencies: - bcrypt-pbkdf "^1.0.0" - ecc-jsbn "~0.1.1" - jsbn "~0.1.0" - tweetnacl "~0.14.0" +source-map@^0.7.3: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== -"statuses@>= 1.3.1 < 2": - version "1.4.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" +sprintf-js@^1.0.3: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" + integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== -statuses@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== -string-width@^1.0.1, string-width@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" +statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== -string_decoder@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" +string_decoder@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" + integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== dependencies: safe-buffer "~5.1.0" -stringstream@~0.0.4, stringstream@~0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - dependencies: - ansi-regex "^3.0.0" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - dependencies: - is-utf8 "^0.2.0" - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" +strip-ansi@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: - get-stdin "^4.0.1" + ansi-regex "^5.0.1" strip-indent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" -striptags@^2.1.1, striptags@^2.2.1: +striptags@^2.1.1: version "2.2.1" resolved "https://registry.yarnpkg.com/striptags/-/striptags-2.2.1.tgz#4c450b708d41b8bf39cf24c49ff234fc6aabfd32" + integrity sha1-TEULcI1BuL85zyTEn/I0/Gqr/TI= -stylus@0.54.5, stylus@^0.54.5: - version "0.54.5" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.5.tgz#42b9560931ca7090ce8515a798ba9e6aa3d6dc79" - dependencies: - css-parse "1.7.x" - debug "*" - glob "7.0.x" - mkdirp "0.5.x" - sax "0.5.x" - source-map "0.1.x" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - -supports-color@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.3.0.tgz#5b24ac15db80fa927cf5227a4a33fd3c4c7676c0" - dependencies: - has-flag "^3.0.0" - -sw-precache@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/sw-precache/-/sw-precache-5.2.0.tgz#eb6225ce580ceaae148194578a0ad01ab7ea199c" - dependencies: - dom-urls "^1.1.0" - es6-promise "^4.0.5" - glob "^7.1.1" - lodash.defaults "^4.2.0" - lodash.template "^4.4.0" - meow "^3.7.0" - mkdirp "^0.5.1" - pretty-bytes "^4.0.2" - sw-toolbox "^3.4.0" - update-notifier "^1.0.3" - -sw-toolbox@^3.4.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/sw-toolbox/-/sw-toolbox-3.6.0.tgz#26df1d1c70348658e4dea2884319149b7b3183b5" - dependencies: - path-to-regexp "^1.0.1" - serviceworker-cache-polyfill "^4.0.0" - -swig-extras@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/swig-extras/-/swig-extras-0.0.1.tgz#b503fede372ab9c24c6ac68caf656bcef1872328" - dependencies: - markdown "~0.5.0" - -swig-templates@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/swig-templates/-/swig-templates-2.0.2.tgz#d2502a7303019356f4ea76ea9065d4f58af6ab75" - dependencies: - optimist "~0.6" - uglify-js "2.6.0" - -swig@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/swig/-/swig-1.4.2.tgz#4085ca0453369104b5d483e2841b39b7ae1aaba5" +stylus@^0.57.0: + version "0.57.0" + resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.57.0.tgz#a46f04f426c19ceef54abb1a9d189fd4e886df41" + integrity sha512-yOI6G8WYfr0q8v8rRvE91wbxFU+rJPo760Va4MF6K0I6BZjO4r+xSynkvyPBP9tV1CIEUeRsiidjIs2rzb1CnQ== dependencies: - optimist "~0.6" - uglify-js "~2.4" + css "^3.0.0" + debug "^4.3.2" + glob "^7.1.6" + safer-buffer "^2.1.2" + sax "~1.2.4" + source-map "^0.7.3" -tar-pack@^3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: - debug "^2.2.0" - fstream "^1.0.10" - fstream-ignore "^1.0.5" - once "^1.3.3" - readable-stream "^2.1.4" - rimraf "^2.5.1" - tar "^2.2.1" - uid-number "^0.0.6" + has-flag "^4.0.0" -tar@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" - dependencies: - block-stream "*" - fstream "^1.0.2" - inherits "2" +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -"through@>=2.2.7 <3": - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - -tildify@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a" - dependencies: - os-homedir "^1.0.0" - -timed-out@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217" - -titlecase@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/titlecase/-/titlecase-1.1.2.tgz#78113d1108086b8326331a3247dea8f5a49ea853" - -to-fast-properties@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" - -tough-cookie@~2.3.0, tough-cookie@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" +through2@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== dependencies: - punycode "^1.4.1" + readable-stream "3" -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - dependencies: - safe-buffer "^5.0.1" +tildify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tildify/-/tildify-2.0.0.tgz#f205f3674d677ce698b7067a99e949ce03b4754a" + integrity sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw== -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A== -uglify-js@2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.6.0.tgz#25eaa1cc3550e39410ceefafd1cfbb6b6d15f001" - dependencies: - async "~0.2.6" - source-map "~0.5.1" - uglify-to-browserify "~1.0.0" - yargs "~3.10.0" +titlecase@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/titlecase/-/titlecase-1.1.3.tgz#fc6d65ff582b0602410768ef1a09b70506313dc3" + integrity sha512-pQX4oiemzjBEELPqgK4WE+q0yhAqjp/yzusGtlSJsOuiDys0RQxggepYmo0BuegIDppYS3b3cpdegRwkpyN3hw== -uglify-js@~2.4: - version "2.4.24" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.4.24.tgz#fad5755c1e1577658bb06ff9ab6e548c95bebd6e" +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: - async "~0.2.6" - source-map "0.1.34" - uglify-to-browserify "~1.0.0" - yargs "~3.5.4" + is-number "^7.0.0" -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -uid-number@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" +tslib@^2.0.3: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - -unzip-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" - -update-notifier@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-1.0.3.tgz#8f92c515482bd6831b7c93013e70f87552c7cf5a" - dependencies: - boxen "^0.6.0" - chalk "^1.0.0" - configstore "^2.0.0" - is-npm "^1.0.0" - latest-version "^2.0.0" - lazy-req "^1.1.0" - semver-diff "^2.0.0" - xdg-basedir "^2.0.0" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= upper-case@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= -urijs@^1.16.1: - version "1.19.0" - resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.0.tgz#d8aa284d0e7469703a6988ad045c4cbfdf08ada0" - -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - dependencies: - prepend-http "^1.0.1" - -util-deprecate@~1.0.1: +util-deprecate@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -utils-merge@1.0.1, utils-merge@^1.0.0: +utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - -uuid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" - -uuid@^3.0.0, uuid@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" - -validate-npm-package-license@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" - dependencies: - spdx-correct "~1.0.0" - spdx-expression-parse "~1.0.0" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -warehouse@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/warehouse/-/warehouse-2.2.0.tgz#5d09d64942992be667d8f7c86a09c2b8aea04062" +warehouse@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/warehouse/-/warehouse-4.0.2.tgz#5ea59381c59e2187bcd77d25d8a628b1e1ffc53d" + integrity sha512-GixS7SolBGu81rnxYM6bScxdElLM97Jx/kr0a6B6PGBWFqvHeuWFj7QbgEX1YWZSxiJt/aR6dBVQKC/PvvihdQ== dependencies: - JSONStream "^1.0.7" bluebird "^3.2.2" - cuid "~1.3.8" + cuid "^2.1.4" graceful-fs "^4.1.3" - is-plain-object "^2.0.1" - lodash "^4.2.1" + hexo-log "^3.0.0" + is-plain-object "^5.0.0" + jsonparse "^1.3.1" + rfdc "^1.1.4" + through2 "^4.0.2" which@^1.2.9: - version "1.3.0" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" -wide-align@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" - dependencies: - string-width "^1.0.2" - -widest-line@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" - dependencies: - string-width "^1.0.1" - -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - -window-size@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" - -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" + isexe "^2.0.0" wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -write-file-atomic@^1.1.2: - version "1.3.4" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - slide "^1.1.5" - -xdg-basedir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" - dependencies: - os-homedir "^1.0.0" - -y18n@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - -yargs@^3.32.0: - version "3.32.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" - dependencies: - camelcase "^2.0.1" - cliui "^3.0.3" - decamelize "^1.1.1" - os-locale "^1.4.0" - string-width "^1.0.1" - window-size "^0.1.4" - y18n "^3.2.0" - -yargs@~3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" - -yargs@~3.5.4: - version "3.5.4" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.5.4.tgz#d8aff8f665e94c34bd259bdebd1bfaf0ddd35361" - dependencies: - camelcase "^1.0.2" - decamelize "^1.0.0" - window-size "0.1.0" - wordwrap "0.0.2" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=