Merge commit 'eb16165694f868d73e57b6aed5c26ba5e98229de'
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 12 Dec 2018 08:06:42 +0000 (09:06 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 12 Dec 2018 08:06:42 +0000 (09:06 +0100)
129 files changed:
1  2 
docs/.github/stale.yml
docs/content/en/content-management/front-matter.md
docs/content/en/content-management/multilingual.md
docs/content/en/content-management/shortcodes.md
docs/content/en/contribute/themes.md
docs/content/en/functions/dict.md
docs/content/en/functions/imageConfig.md
docs/content/en/functions/intersect.md
docs/content/en/functions/lang.Merge.md
docs/content/en/functions/partialCached.md
docs/content/en/functions/path.Base.md
docs/content/en/functions/path.Dir.md
docs/content/en/functions/path.Ext.md
docs/content/en/functions/path.Join.md
docs/content/en/functions/path.Split.md
docs/content/en/functions/render.md
docs/content/en/functions/templates.Exists.md
docs/content/en/functions/union.md
docs/content/en/getting-started/configuration.md
docs/content/en/hosting-and-deployment/hosting-on-netlify.md
docs/content/en/news/0.50-relnotes/featured-hugo-50-poster.png
docs/content/en/news/0.50-relnotes/index.md
docs/content/en/news/0.51-relnotes/featured-hugo-51-poster.png
docs/content/en/news/0.51-relnotes/index.md
docs/content/en/news/0.52-relnotes/featured-hugo-52-poster.png
docs/content/en/news/0.52-relnotes/index.md
docs/content/en/templates/files.md
docs/content/en/templates/partials.md
docs/content/en/themes/creating.md
docs/content/en/tools/search.md
docs/content/en/variables/files.md
docs/content/en/variables/page.md
docs/netlify.toml
docs/resources/_gen/assets/css/output/css/app.css_d11fe7b62c27961c87ecd0f2490357b9.content
docs/resources/_gen/assets/css/output/css/app.css_d11fe7b62c27961c87ecd0f2490357b9.json
docs/resources/_gen/assets/js/output/js/app.js_8848f55d07695b7ff7188138f23d69e3.content
docs/resources/_gen/assets/js/output/js/app.js_8848f55d07695b7ff7188138f23d69e3.json
docs/resources/_gen/images/news/0.50-relnotes/featured-hugo-50-poster_hudcbbb9a5a0079d08447101e6cfae6e40_227240_480x0_resize_catmullrom_2.png
docs/resources/_gen/images/news/0.50-relnotes/featured-hugo-50-poster_hudcbbb9a5a0079d08447101e6cfae6e40_227240_640x0_resize_catmullrom_2.png
docs/resources/_gen/images/news/0.51-relnotes/featured-hugo-51-poster_hu25ab021d1365edeedf46d92fdb888ccf_117678_480x0_resize_catmullrom_2.png
docs/resources/_gen/images/news/0.51-relnotes/featured-hugo-51-poster_hu25ab021d1365edeedf46d92fdb888ccf_117678_640x0_resize_catmullrom_2.png
docs/resources/_gen/images/news/0.52-relnotes/featured-hugo-52-poster_hu7f2ed09038efabda07872a275a935ada_336810_480x0_resize_catmullrom_2.png
docs/resources/_gen/images/news/0.52-relnotes/featured-hugo-52-poster_hu7f2ed09038efabda07872a275a935ada_336810_640x0_resize_catmullrom_2.png
docs/themes/gohugoioTheme/README.md
docs/themes/gohugoioTheme/assets/css/_algolia.css
docs/themes/gohugoioTheme/assets/css/_anchorforid.css
docs/themes/gohugoioTheme/assets/css/_animation.css
docs/themes/gohugoioTheme/assets/css/_carousel.css
docs/themes/gohugoioTheme/assets/css/_chroma.css
docs/themes/gohugoioTheme/assets/css/_code.css
docs/themes/gohugoioTheme/assets/css/_color-scheme.css
docs/themes/gohugoioTheme/assets/css/_columns.css
docs/themes/gohugoioTheme/assets/css/_content-tables.css
docs/themes/gohugoioTheme/assets/css/_content.css
docs/themes/gohugoioTheme/assets/css/_definition-lists.css
docs/themes/gohugoioTheme/assets/css/_documentation-styles.css
docs/themes/gohugoioTheme/assets/css/_fluid-type.css
docs/themes/gohugoioTheme/assets/css/_font-family.css
docs/themes/gohugoioTheme/assets/css/_hljs.css
docs/themes/gohugoioTheme/assets/css/_hugo-internal-template-styling.css
docs/themes/gohugoioTheme/assets/css/_no-js.css
docs/themes/gohugoioTheme/assets/css/_social-icons.css
docs/themes/gohugoioTheme/assets/css/_stickyheader.css
docs/themes/gohugoioTheme/assets/css/_svg.css
docs/themes/gohugoioTheme/assets/css/_tabs.css
docs/themes/gohugoioTheme/assets/css/_tachyons.css
docs/themes/gohugoioTheme/assets/css/_variables.css
docs/themes/gohugoioTheme/assets/css/main.css
docs/themes/gohugoioTheme/assets/index.js
docs/themes/gohugoioTheme/assets/js/anchorforid.js
docs/themes/gohugoioTheme/assets/js/clipboardjs.js
docs/themes/gohugoioTheme/assets/js/codeblocks.js
docs/themes/gohugoioTheme/assets/js/docsearch.js
docs/themes/gohugoioTheme/assets/js/filesaver.js
docs/themes/gohugoioTheme/assets/js/hljs.js
docs/themes/gohugoioTheme/assets/js/lazysizes.js
docs/themes/gohugoioTheme/assets/js/main.js
docs/themes/gohugoioTheme/assets/js/menutoggle.js
docs/themes/gohugoioTheme/assets/js/nojs.js
docs/themes/gohugoioTheme/assets/js/scrolldir.js
docs/themes/gohugoioTheme/assets/js/smoothscroll.js
docs/themes/gohugoioTheme/assets/js/tabs.js
docs/themes/gohugoioTheme/assets/output/css/app.css
docs/themes/gohugoioTheme/assets/output/js/app.js
docs/themes/gohugoioTheme/layouts/404.html
docs/themes/gohugoioTheme/layouts/_default/baseof.html
docs/themes/gohugoioTheme/layouts/index.headers
docs/themes/gohugoioTheme/layouts/partials/head-additions.html
docs/themes/gohugoioTheme/layouts/partials/hero.html
docs/themes/gohugoioTheme/layouts/partials/home-page-sections/installation.html
docs/themes/gohugoioTheme/layouts/partials/site-footer.html
docs/themes/gohugoioTheme/layouts/partials/site-manifest.html
docs/themes/gohugoioTheme/layouts/partials/site-nav.html
docs/themes/gohugoioTheme/layouts/partials/site-scripts.html
docs/themes/gohugoioTheme/layouts/partials/site-search.html
docs/themes/gohugoioTheme/layouts/showcase/single.html
docs/themes/gohugoioTheme/package-lock.json
docs/themes/gohugoioTheme/package.json
docs/themes/gohugoioTheme/static/fonts/muli-latin-200.woff
docs/themes/gohugoioTheme/static/fonts/muli-latin-200.woff2
docs/themes/gohugoioTheme/static/fonts/muli-latin-200italic.woff
docs/themes/gohugoioTheme/static/fonts/muli-latin-200italic.woff2
docs/themes/gohugoioTheme/static/fonts/muli-latin-300.woff
docs/themes/gohugoioTheme/static/fonts/muli-latin-300.woff2
docs/themes/gohugoioTheme/static/fonts/muli-latin-300italic.woff
docs/themes/gohugoioTheme/static/fonts/muli-latin-300italic.woff2
docs/themes/gohugoioTheme/static/fonts/muli-latin-400.woff
docs/themes/gohugoioTheme/static/fonts/muli-latin-400.woff2
docs/themes/gohugoioTheme/static/fonts/muli-latin-400italic.woff
docs/themes/gohugoioTheme/static/fonts/muli-latin-400italic.woff2
docs/themes/gohugoioTheme/static/fonts/muli-latin-600.woff
docs/themes/gohugoioTheme/static/fonts/muli-latin-600.woff2
docs/themes/gohugoioTheme/static/fonts/muli-latin-600italic.woff
docs/themes/gohugoioTheme/static/fonts/muli-latin-600italic.woff2
docs/themes/gohugoioTheme/static/fonts/muli-latin-700.woff
docs/themes/gohugoioTheme/static/fonts/muli-latin-700.woff2
docs/themes/gohugoioTheme/static/fonts/muli-latin-700italic.woff
docs/themes/gohugoioTheme/static/fonts/muli-latin-700italic.woff2
docs/themes/gohugoioTheme/static/fonts/muli-latin-800.woff
docs/themes/gohugoioTheme/static/fonts/muli-latin-800.woff2
docs/themes/gohugoioTheme/static/fonts/muli-latin-800italic.woff
docs/themes/gohugoioTheme/static/fonts/muli-latin-800italic.woff2
docs/themes/gohugoioTheme/static/fonts/muli-latin-900.woff
docs/themes/gohugoioTheme/static/fonts/muli-latin-900.woff2
docs/themes/gohugoioTheme/static/fonts/muli-latin-900italic.woff
docs/themes/gohugoioTheme/static/fonts/muli-latin-900italic.woff2
docs/themes/gohugoioTheme/static/images/gopher-hero.svg
docs/themes/gohugoioTheme/static/images/hugo-logo-wide.svg
docs/themes/gohugoioTheme/webpack.config.js

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f10747618119ccb0264957bdea81cc686af4b031
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,21 @@@
++# Number of days of inactivity before an issue becomes stale
++daysUntilStale: 120
++# Number of days of inactivity before a stale issue is closed
++daysUntilClose: 30
++# Issues with these labels will never be considered stale
++exemptLabels:
++  - Keep
++  - Security
++# Label to use when marking an issue as stale
++staleLabel: Stale
++# Comment to post when marking an issue as stale. Set to `false` to disable
++markComment: >
++  This issue has been automatically marked as stale because it has not had
++  recent activity. The resources of the Hugo team are limited, and so we are asking for your help.
++
++  If you still think this is important, please tell us why.
++
++  This issue will automatically be closed in the near future if no further activity occurs. Thank you for all your contributions.
++  
++# Comment to post when closing a stale issue. Set to `false` to disable
++closeComment: false
index 4cf6825da861b74ec6a01fd8d8ebb0fcd02ed757,0000000000000000000000000000000000000000..1301609173842754f2fb87652551b0bdba2c66ac
mode 100644,000000..100644
--- /dev/null
@@@ -1,186 -1,0 +1,184 @@@
- +++
 +---
 +title: Front Matter
 +linktitle:
 +description: Hugo allows you to add front matter in yaml, toml, or json to your content files.
 +date: 2017-01-09
 +publishdate: 2017-01-09
 +lastmod: 2017-02-24
 +categories: [content management]
 +keywords: ["front matter", "yaml", "toml", "json", "metadata", "archetypes"]
 +menu:
 +  docs:
 +    parent: "content-management"
 +    weight: 30
 +weight: 30    #rem
 +draft: false
 +aliases: [/content/front-matter/]
 +toc: true
 +---
 +
 +**Front matter** allows you to keep metadata attached to an instance of a [content type][]---i.e., embedded inside a content file---and is one of the many features that gives Hugo its strength.
 +
 +{{< youtube Yh2xKRJGff4 >}}
 +
 +## Front Matter Formats
 +
 +Hugo supports three formats for front matter, each with their own identifying tokens.
 +
 +TOML
 +: identified by opening and closing `+++`.
 +
 +YAML
 +: identified by opening and closing `---`.
 +
 +JSON
 +: a single JSON object surrounded by '`{`' and '`}`', followed by a new line.
 +
 +### Example
 +
 +{{< code-toggle >}}
- +++
- {{</ code-toggle >}}
 +title = "spf13-vim 3.0 release and new website"
 +description = "spf13-vim is a cross platform distribution of vim plugins and resources for Vim."
 +tags = [ ".vimrc", "plugins", "spf13-vim", "vim" ]
 +date = "2012-04-06"
 +categories = [
 +  "Development",
 +  "VIM"
 +]
 +slug = "spf13-vim-3-0-release-and-new-website"
++{{< /code-toggle >}}
 +
 +## Front Matter Variables
 +
 +### Predefined
 +
 +There are a few predefined variables that Hugo is aware of. See [Page Variables][pagevars] for how to call many of these predefined variables in your templates.
 +
 +aliases
 +: an array of one or more aliases (e.g., old published paths of renamed content) that will be created in the output directory structure . See [Aliases][aliases] for details.
 +
 +audio
 +: an array of paths to audio files related to the page; used by the `opengraph` [internal template](/templates/internal) to populate `og:audio`.
 +
 +date
 +: the datetime at which the content was created; note this value is auto-populated according to Hugo's built-in [archetype][].
 +
 +description
 +: the description for the content.
 +
 +draft
 +: if `true`, the content will not be rendered unless the `--buildDrafts` flag is passed to the `hugo` command.
 +
 +expiryDate
 +: the datetime at which the content should no longer be published by Hugo; expired content will not be rendered unless the `--buildExpired` flag is passed to the `hugo` command.
 +
 +headless
 +: if `true`, sets a leaf bundle to be [headless][headless-bundle].
 +
 +images
 +: an array of paths to images related to the page; used by [internal templates](/templates/internal) such as `_internal/twitter_cards.html`.
 +
 +isCJKLanguage
 +: if `true`, Hugo will explicitly treat the content as a CJK language; both `.Summary` and `.WordCount` work properly in CJK languages.
 +
 +keywords
 +: the meta keywords for the content.
 +
 +layout
 +: the layout Hugo should select from the [lookup order][lookup] when rendering the content. If a `type` is not specified in the front matter, Hugo will look for the layout of the same name in the layout directory that corresponds with a content's section. See ["Defining a Content Type"][definetype]
 +
 +lastmod
 +: the datetime at which the content was last modified.
 +
 +linkTitle
 +: used for creating links to content; if set, Hugo defaults to using the `linktitle` before the `title`. Hugo can also [order lists of content by `linktitle`][bylinktitle].
 +
 +markup
 +: **experimental**; specify `"rst"` for reStructuredText (requires`rst2html`) or `"md"` (default) for Markdown.
 +
 +outputs
 +: allows you to specify output formats specific to the content. See [output formats][outputs].
 +
 +publishDate
 +: if in the future, content will not be rendered unless the `--buildFuture` flag is passed to `hugo`.
 +
 +resources
 +: used for configuring page bundle resources. See [Page Resources][page-resources].
 +
 +series
 +: an array of series this page belongs to, as a subset of the `series` [taxonomy](/content-management/taxonomies/); used by the `opengraph` [internal template](/templates/internal) to populate `og:see_also`.
 +
 +slug
 +: appears as the tail of the output URL. A value specified in front matter will override the segment of the URL based on the filename.
 +
 +title
 +: the title for the content.
 +
 +type
 +: the type of the content; this value will be automatically derived from the directory (i.e., the [section][]) if not specified in front matter.
 +
 +url
 +: the full path to the content from the web root. It makes no assumptions about the path of the content file. It also ignores any language prefixes of
 +the multilingual feature.
 +
 +videos
 +: an array of paths to videos related to the page; used by the `opengraph` [internal template](/templates/internal) to populate `og:video`.
 +
 +weight
 +: used for [ordering your content in lists][ordering]. Lower weight gets higher precedence. So content with lower weight will come first.
 +
 +\<taxonomies\>
 +: field name of the *plural* form of the index. See `tags` and `categories` in the above front matter examples. _Note that the plural form of user-defined taxonomies cannot be the same as any of the predefined front matter variables._
 +
 +{{% note "Hugo's Default URL Destinations" %}}
 +If neither `slug` nor `url` is present and [permalinks are not configured otherwise in your site `config` file](/content-management/urls/#permalinks), Hugo will use the filename of your content to create the output URL. See [Content Organization](/content-management/organization) for an explanation of paths in Hugo and [URL Management](/content-management/urls/) for ways to customize Hugo's default behaviors.
 +{{% /note %}}
 +
 +### User-Defined
 +
 +You can add fields to your front matter arbitrarily to meet your needs. These user-defined key-values are placed into a single `.Params` variable for use in your templates.
 +
 +The following fields can be accessed via `.Params.include_toc` and `.Params.show_comments`, respectively. The [Variables][] section provides more information on using Hugo's page- and site-level variables in your templates.
 +
 +{{< code-toggle copy="false" >}}
 +include_toc: true
 +show_comments: false
 +{{</ code-toggle >}}
 +
 +
 +## Order Content Through Front Matter
 +
 +You can assign content-specific `weight` in the front matter of your content. These values are especially useful for [ordering][ordering] in list views. You can use `weight` for ordering of content and the convention of [`<TAXONOMY>_weight`][taxweight] for ordering content within a taxonomy. See [Ordering and Grouping Hugo Lists][lists] to see how `weight` can be used to organize your content in list views.
 +
 +## Override Global Markdown Configuration
 +
 +It's possible to set some options for Markdown rendering in a content's front matter as an override to the [BlackFriday rendering options set in your project configuration][config].
 +
 +## Front Matter Format Specs
 +
 +* [TOML Spec][toml]
 +* [YAML Spec][yaml]
 +* [JSON Spec][json]
 +
 +[variables]: /variables/
 +[aliases]: /content-management/urls/#aliases/
 +[archetype]: /content-management/archetypes/
 +[bylinktitle]: /templates/lists/#by-link-title
 +[config]: /getting-started/configuration/ "Hugo documentation for site configuration"
 +[content type]: /content-management/types/
 +[contentorg]: /content-management/organization/
 +[definetype]: /content-management/types/#defining-a-content-type "Learn how to specify a type and a layout in a content's front matter"
 +[headless-bundle]: /content-management/page-bundles/#headless-bundle
 +[json]: https://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf "Specification for JSON, JavaScript Object Notation"
 +[lists]: /templates/lists/#ordering-content "See how to order content in list pages; for example, templates that look to specific _index.md for content and front matter."
 +[lookup]: /templates/lookup-order/ "Hugo traverses your templates in a specific order when rendering content to allow for DRYer templating."
 +[ordering]: /templates/lists/ "Hugo provides multiple ways to sort and order your content in list templates"
 +[outputs]: /templates/output-formats/ "With the release of v22, you can output your content to any text format using Hugo's familiar templating"
 +[page-resources]: /content-management/page-resources/
 +[pagevars]: /variables/page/
 +[section]: /content-management/sections/
 +[taxweight]: /content-management/taxonomies/
 +[toml]: https://github.com/toml-lang/toml "Specification for TOML, Tom's Obvious Minimal Language"
 +[urls]: /content-management/urls/
 +[variables]: /variables/
 +[yaml]: http://yaml.org/spec/ "Specification for YAML, YAML Ain't Markup Language"
index c72cb50cec0003c8b80180f1f3af55635cb11e55,0000000000000000000000000000000000000000..e8d2291aed7497cc1ed5f9eec9b2c864fc0e19bf
mode 100644,000000..100644
--- /dev/null
@@@ -1,462 -1,0 +1,463 @@@
- To track down missing translation strings, run Hugo with the `--i18n-warnings` flag:
- ```
-  hugo --i18n-warnings | grep i18n
- i18n|MISSING_TRANSLATION|en|wordCount
- ```
 +---
 +title: Multilingual Mode
 +linktitle: Multilingual and i18n
 +description: Hugo supports the creation of websites with multiple languages side by side.
 +date: 2017-01-10
 +publishdate: 2017-01-10
 +lastmod: 2017-01-10
 +categories: [content management]
 +keywords: [multilingual,i18n, internationalization]
 +menu:
 +  docs:
 +    parent: "content-management"
 +    weight: 150
 +weight: 150   #rem
 +draft: false
 +aliases: [/content/multilingual/,/tutorials/create-a-multilingual-site/]
 +toc: true
 +---
 +
 +You should define the available languages in a `languages` section in your site configuration.
 +
 +> Also See [Hugo Multilingual Part 1: Content translation](https://regisphilibert.com/blog/2018/08/hugo-multilingual-part-1-managing-content-translation/)
 +
 +## Configure Languages
 +
 +The following is an example of a site configuration for a multilingual Hugo project:
 +
 +{{< code-toggle file="config" >}}
 +DefaultContentLanguage = "en"
 +copyright = "Everything is mine"
 +
 +[params]
 +[params.navigation]
 +help  = "Help"
 +
 +[languages]
 +[languages.en]
 +title = "My blog"
 +weight = 1
 +[languages.en.params]
 +linkedin = "https://linkedin.com/whoever"
 +
 +[languages.fr]
 +title = "Mon blogue"
 +weight = 2
 +[languages.fr.params]
 +linkedin = "https://linkedin.com/fr/whoever"
 +[languages.fr.params.navigation]
 +help  = "Aide"
 +{{< /code-toggle >}}
 +
 +Anything not defined in a `[languages]` block will fall back to the global value for that key (e.g., `copyright` for the English [`en`] language). This also works for `params`, as demonstrated witgh `help` above: You will get the value `Aide` in French and `Help` in all the languages without this parameter set.
 +
 +With the configuration above, all content, sitemap, RSS feeds, paginations,
 +and taxonomy pages will be rendered below `/` in English (your default content language) and then below `/fr` in French.
 +
 +When working with front matter `Params` in [single page templates][singles], omit the `params` in the key for the translation.
 +
 +`defaultContentLanguage` sets the project's default language. If not set, the default language will be `en`.
 +
 +If the default language needs to be rendererd below its own language code (`/en`) like the others, set `defaultContentLanguageInSubdir: true`.
 +
 +Only the obvious non-global options can be overridden per language. Examples of global options are `baseURL`, `buildDrafts`, etc.
 +
 +### Disable a Language
 +
 +You can disable one or more languages. This can be useful when working on a new translation.
 +
 +```toml
 +disableLanguages = ["fr", "ja"]
 +```
 +
 +Note that you cannot disable the default content language.
 +
 +We kept this as a standalone setting to make it easier to set via [OS environment](/getting-started/configuration/#configure-with-environment-variables):
 +
 +```bash
 +HUGO_DISABLELANGUAGES="fr ja" hugo
 +```
 +If you have already a list of disabled languages in `config.toml`, you can enable them in development like this:
 +
 +```bash
 +HUGO_DISABLELANGUAGES=" " hugo server
 +```
 +
 +
 +### Configure Multilingual Multihost
 +
 +From **Hugo 0.31** we support multiple languages in a multihost configuration. See [this issue](https://github.com/gohugoio/hugo/issues/4027) for details.
 +
 +This means that you can now configure a `baseURL` per `language`:
 +
 +
 +> If a `baseURL` is set on the `language` level, then all languages must have one and they must all be different.
 +
 +Example:
 +
 +{{< code-toggle file="config" >}}
 +[languages]
 +[languages.fr]
 +baseURL = "https://example.fr"
 +languageName = "Français"
 +weight = 1
 +title = "En Français"
 +
 +[languages.en]
 +baseURL = "https://example.com"
 +languageName = "English"
 +weight = 2
 +title = "In English"
 +{{</ code-toggle >}}
 +
 +With the above, the two sites will be generated into `public` with their own root:
 +
 +```bash
 +public
 +├── en
 +└── no
 +```
 +
 +**All URLs (i.e `.Permalink` etc.) will be generated from that root. So the English home page above will have its `.Permalink` set to `https://example.com/`.**
 +
 +When you run `hugo server` we will start multiple HTTP servers. You will typlically see something like this in the console:
 +
 +```bash
 +Web Server is available at 127.0.0.1:1313 (bind address 127.0.0.1)
 +Web Server is available at 127.0.0.1:1314 (bind address 127.0.0.1)
 +Press Ctrl+C to stop
 +```
 +
 +Live reload and `--navigateToChanged` between the servers work as expected.
 +
 +### Taxonomies and Blackfriday
 +
 +Taxonomies and [Blackfriday configuration][config] can also be set per language:
 +
 +
 +{{< code-toggle file="config" >}}
 +[Taxonomies]
 +tag = "tags"
 +
 +[blackfriday]
 +angledQuotes = true
 +hrefTargetBlank = true
 +
 +[languages]
 +[languages.en]
 +weight = 1
 +title = "English"
 +[languages.en.blackfriday]
 +angledQuotes = false
 +
 +[languages.fr]
 +weight = 2
 +title = "Français"
 +[languages.fr.Taxonomies]
 +plaque = "plaques"
 +{{</ code-toggle >}}
 +
 +## Translate Your Content
 +
 +There are two ways to manage your content translation, both ensures each page is assigned a language and linked to its translations.
 +
 +### Translation by filename
 +
 +Considering the following example:
 +
 +1. `/content/about.en.md`
 +2. `/content/about.fr.md`
 +
 +The first file is assigned the english language and linked to the second.
 +The second file is assigned the french language and linked to the first.
 +
 +Their language is __assigned__ according to the language code added as __suffix to the filename__. 
 +
 +By having the same **path and base filename**, the content pieces are __linked__ together as translated pages.
 +{{< note >}}
 +
 +If a file is missing any language code, it will be assigned the default language.
 +
 +{{</ note >}}
 +### Translation by content directory
 +
 +This system uses different content directories for each of the languages. Each language's content directory is set using the `contentDir` param.
 +
 +{{< code-toggle file="config" >}}
 +
 +languages:
 +  en:
 +    weight: 10
 +    languageName: "English"
 +    contentDir: "content/english"
 +  nn:
 +    weight: 20
 +    languageName: "Français"
 +    contentDir: "content/french"
 +
 +{{< /code-toggle >}}
 +
 +The value of `contentDir` can be any valid path, even absolute path references. The only restriction is that the content directories cannot overlap.
 +
 +Considering the following example in conjunction with the configuration above: 
 +
 +1. `/content/english/about.md`
 +2. `/content/french/about.md`
 +
 +The first file is assigned the english language and is linked to the second.
 +<br>The second file is assigned the french language and is linked to the first.
 +
 +Their language is __assigned__ according to the content directory they are __placed__ in.
 +
 +By having the same **path and basename** (relative to their language content directory), the content pieces are __linked__ together as translated pages.
 +
 +### Bypassing default linking.
 +
 +Any pages sharing the same `translationKey`  set in front matter will be linked as translated pages regardless of basename or location.
 +
 +Considering the following example:
 +
 +1. `/content/about-us.en.md`
 +2. `/content/om.nn.md`
 +3. `/content/presentation/a-propos.fr.md`
 +
 +```yaml
 +# set in all three pages
 +translationKey: "about"
 +```
 +
 +By setting the `translationKey` front matter param to `about` in all three pages, they will be __linked__ as translated pages.
 +
 +
 +### Localizing permalinks
 +
 +Because paths and filenames are used to handle linking, all translated pages, except for the language part, will be sharing the same url.
 +
 +To localize the URLs, the [`slug`]({{< ref "/content-management/organization/index.md#slug" >}}) or [`url`]({{< ref "/content-management/organization/index.md#url" >}}) front matter param can be set in any of the non-default language file. 
 +
 +For example, a french translation (`content/about.fr.md`) can have its own localized slug.
 +
 +{{< code-toggle >}}
 +Title: A Propos
 +slug: "a-propos"
 +{{< /code-toggle >}}
 +
 +
 +At render, Hugo will build both `/about/` and `fr/a-propos/` while maintaning their translation linking.
 +{{% note %}}
 +If using `url`, remember to include the language part as well: `fr/compagnie/a-propos/`.
 +{{%/ note %}}
 +
 +### Page Bundles
 +
 +To avoid the burden of having to duplicate files, each Page Bundle inherits the resources of its linked translated pages' bundles except for the content files (markdown files, html files etc...).
 +
 +Therefore, from within a template, the page will have access to the files from all linked pages' bundles.
 +
 +If, across the linked bundles, two or more files share the same basenname, only one will be included and chosen as follows:
 +
 +* File from current language Bundle, if present.
 +* First file found across bundles by order of language `Weight`.
 +
 +{{% note %}}
 +
 +Page Bundle's resources follow the same language assignement logic as content files, be it by filename (`image.jpg`, `image.fr.jpg`) or by directory (`english/about/header.jpg`, `french/about/header.jpg`).
 +
 +{{%/ note %}}
 +
 +## Reference the Translated Content
 +
 +To create a list of links to translated content, use a template similar to the following:
 +
 +{{< code file="layouts/partials/i18nlist.html" >}}
 +{{ if .IsTranslated }}
 +<h4>{{ i18n "translations" }}</h4>
 +<ul>
 +    {{ range .Translations }}
 +    <li>
 +        <a href="{{ .Permalink }}">{{ .Lang }}: {{ .Title }}{{ if .IsPage }} ({{ i18n "wordCount" . }}){{ end }}</a>
 +    </li>
 +    {{ end}}
 +</ul>
 +{{ end }}
 +{{< /code >}}
 +
 +The above can be put in a `partial` (i.e., inside `layouts/partials/`) and included in any template, be it for a [single content page][contenttemplate] or the [homepage][]. It will not print anything if there are no translations for a given page.
 +
 +The above also uses the [`i18n` function][i18func] described in the next section.
 +
 +### List All Available Languages
 +
 +`.AllTranslations` on a `Page` can be used to list all translations, including itself. Called on the home page it can be used to build a language navigator:
 +
 +
 +{{< code file="layouts/partials/allLanguages.html" >}}
 +<ul>
 +{{ range $.Site.Home.AllTranslations }}
 +<li><a href="{{ .Permalink }}">{{ .Language.LanguageName }}</a></li>
 +{{ end }}
 +</ul>
 +{{< /code >}}
 +
 +## Translation of Strings
 +
 +Hugo uses [go-i18n][] to support string translations. [See the project's source repository][go-i18n-source] to find tools that will help you manage your translation workflows.
 +
 +Translations are collected from the `themes/<THEME>/i18n/` folder (built into the theme), as well as translations present in `i18n/` at the root of your project. In the `i18n`, the translations will be merged and take precedence over what is in the theme folder. Language files should be named according to [RFC 5646][] with names such as `en-US.toml`, `fr.toml`, etc.
 +
 +{{% note %}}
 +From **Hugo 0.31** you no longer need to use a valid language code. It _can be_ anything.
 +
 +See https://github.com/gohugoio/hugo/issues/3564
 +
 +{{% /note %}}
 +
 +From within your templates, use the `i18n` function like this:
 +
 +```
 +{{ i18n "home" }}
 +```
 +
 +This uses a definition like this one in `i18n/en-US.toml`:
 +
 +```
 +[home]
 +other = "Home"
 +```
 +
 +Often you will want to use to the page variables in the translations strings. To do that, pass on the "." context when calling `i18n`:
 +
 +```
 +{{ i18n "wordCount" . }}
 +```
 +
 +This uses a definition like this one in `i18n/en-US.toml`:
 +
 +```
 +[wordCount]
 +other = "This article has {{ .WordCount }} words."
 +```
 +An example of singular and plural form:
 +
 +```
 +[readingTime]
 +one = "One minute read"
 +other = "{{.Count}} minutes read"
 +```
 +And then in the template:
 +
 +```
 +{{ i18n "readingTime" .ReadingTime }}
 +```
 +
 +## Customize Dates
 +
 +At the time of this writing, Go does not yet have support for internationalized locales, but if you do some work, you can simulate it. For example, if you want to use French month names, you can add a data file like ``data/mois.yaml`` with this content:
 +
 +~~~yaml
 +1: "janvier"
 +2: "février"
 +3: "mars"
 +4: "avril"
 +5: "mai"
 +6: "juin"
 +7: "juillet"
 +8: "août"
 +9: "septembre"
 +10: "octobre"
 +11: "novembre"
 +12: "décembre"
 +~~~
 +
 +... then index the non-English date names in your templates like so:
 +
 +~~~html
 +<time class="post-date" datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" | safeHTML }}">
 +  Article publié le {{ .Date.Day }} {{ index $.Site.Data.mois (printf "%d" .Date.Month) }} {{ .Date.Year }} (dernière modification le {{ .Lastmod.Day }} {{ index $.Site.Data.mois (printf "%d" .Lastmod.Month) }} {{ .Lastmod.Year }})
 +</time>
 +~~~
 +
 +This technique extracts the day, month and year by specifying ``.Date.Day``, ``.Date.Month``, and ``.Date.Year``, and uses the month number as a key, when indexing the month name data file.
 +
 +## Menus
 +
 +You can define your menus for each language independently. The [creation of a menu][menus] works analogous to earlier versions of Hugo, except that they have to be defined in their language-specific block in the configuration file:
 +
 +```
 +defaultContentLanguage = "en"
 +
 +[languages.en]
 +weight = 0
 +languageName = "English"
 +
 +[[languages.en.menu.main]]
 +url    = "/"
 +name   = "Home"
 +weight = 0
 +
 +
 +[languages.de]
 +weight = 10
 +languageName = "Deutsch"
 +
 +[[languages.de.menu.main]]
 +url    = "/"
 +name   = "Startseite"
 +weight = 0
 +```
 +
 +The rendering of the main navigation works as usual. `.Site.Menus` will just contain the menu of the current language. Pay attention to the generation of the menu links. `absLangURL` takes care that you link to the correct locale of your website. Otherwise, both menu entries would link to the English version as the default content language that resides in the root directory.
 +
 +```
 +<ul>
 +    {{- $currentPage := . -}}
 +    {{ range .Site.Menus.main -}}
 +    <li class="{{ if $currentPage.IsMenuCurrent "main" . }}active{{ end }}">
 +        <a href="{{ .URL | absLangURL }}">{{ .Name }}</a>
 +    </li>
 +    {{- end }}
 +</ul>
 +
 +```
 +
 +## Missing Translations
 +
 +If a string does not have a translation for the current language, Hugo will use the value from the default language. If no default value is set, an empty string will be shown.
 +
 +While translating a Hugo website, it can be handy to have a visual indicator of missing translations. The [`enableMissingTranslationPlaceholders` configuration option][config] will flag all untranslated strings with the placeholder `[i18n] identifier`, where `identifier` is the id of the missing translation.
 +
 +{{% note %}}
 +Hugo will generate your website with these missing translation placeholders. It might not be suited for production environments.
 +{{% /note %}}
 +
 +For merging of content from other languages (i.e. missing content translations), see [lang.Merge](/functions/lang.merge/).
 +
++To track down missing translation strings, run Hugo with the `--i18n-warnings` flag:
++
++```
++ hugo --i18n-warnings | grep i18n
++i18n|MISSING_TRANSLATION|en|wordCount
++```
++
 +## Multilingual Themes support
 +
 +To support Multilingual mode in your themes, some considerations must be taken for the URLs in the templates. If there is more than one language, URLs must meet the following criteria:
 +
 +* Come from the built-in `.Permalink` or `.RelPermalink`
 +* Be constructed with
 +    * The [`relLangURL` template function][rellangurl] or the [`absLangURL` template function][abslangurl] **OR**
 +    * Prefixed with `{{ .LanguagePrefix }}`
 +
 +If there is more than one language defined, the `LanguagePrefix` variable will equal `/en` (or whatever your `CurrentLanguage` is). If not enabled, it will be an empty string and is therefore harmless for single-language Hugo websites.
 +
 +[abslangurl]: /functions/abslangurl
 +[config]: /getting-started/configuration/
 +[contenttemplate]: /templates/single-page-templates/
 +[go-i18n-source]: https://github.com/nicksnyder/go-i18n
 +[go-i18n]: https://github.com/nicksnyder/go-i18n
 +[homepage]: /templates/homepage/
 +[i18func]: /functions/i18n/
 +[menus]: /content-management/menus/
 +[rellangurl]: /functions/rellangurl
 +[RFC 5646]: https://tools.ietf.org/html/rfc5646
 +[singles]: /templates/single-page-templates/
index 5bb404fb22b6d21e64627bcf8026a18ed46703a5,0000000000000000000000000000000000000000..1990cce5ad75237b14add4bd59c2080825772445
mode 100644,000000..100644
--- /dev/null
@@@ -1,419 -1,0 +1,419 @@@
- Since `testparam` is a param defined in front matter of this page wi the value `Hugo Rocks!`, the above will print:
 +---
 +title: Shortcodes
 +linktitle:
 +description: Shortcodes are simple snippets inside your content files calling built-in or custom templates.
 +godocref:
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-03-31
 +menu:
 +  docs:
 +    parent: "content-management"
 +    weight: 35
 +weight: 35    #rem
 +categories: [content management]
 +keywords: [markdown,content,shortcodes]
 +draft: false
 +aliases: [/extras/shortcodes/]
 +testparam: "Hugo Rocks!"
 +toc: true
 +---
 +
 +## What a Shortcode is
 +
 +Hugo loves Markdown because of its simple content format, but there are times when Markdown falls short. Often, content authors are forced to add raw HTML (e.g., video `<iframes>`) to Markdown content. We think this contradicts the beautiful simplicity of Markdown's syntax.
 +
 +Hugo created **shortcodes** to circumvent these limitations.
 +
 +A shortcode is a simple snippet inside a content file that Hugo will render using a predefined template. Note that shortcodes will not work in template files. If you need the type of drop-in functionality that shortcodes provide but in a template, you most likely want a [partial template][partials] instead.
 +
 +In addition to cleaner Markdown, shortcodes can be updated any time to reflect new classes, techniques, or standards. At the point of site generation, Hugo shortcodes will easily merge in your changes. You avoid a possibly complicated search and replace operation.
 +
 +## Use Shortcodes
 +
 +{{< youtube 2xkNJL4gJ9E >}}
 +
 +In your content files, a shortcode can be called by calling `{{%/* shortcodename parameters */%}}`. Shortcode parameters are space delimited, and parameters with internal spaces can be quoted.
 +
 +The first word in the shortcode declaration is always the name of the shortcode. Parameters follow the name. Depending upon how the shortcode is defined, the parameters may be named, positional, or both, although you can't mix parameter types in a single call. The format for named parameters models that of HTML with the format `name="value"`.
 +
 +Some shortcodes use or require closing shortcodes. Again like HTML, the opening and closing shortcodes match (name only) with the closing declaration, which is prepended with a slash.
 +
 +Here are two examples of paired shortcodes:
 +
 +```
 +{{%/* mdshortcode */%}}Stuff to `process` in the *center*.{{%/* /mdshortcode */%}}
 +```
 +
 +```
 +{{</* highlight go */>}} A bunch of code here {{</* /highlight */>}}
 +```
 +
 +The examples above use two different delimiters, the difference being the `%` character in the first and the `<>` characters in the second.
 +
 +### Shortcodes with Markdown
 +
 +The `%` character indicates that the shortcode's inner content---called in the [shortcode template][sctemps] with the [`.Inner` variable][scvars]---needs further processing by the page's rendering processor (i.e. markdown via Blackfriday). In the following example, Blackfriday would convert `**World**` to `<strong>World</strong>`:
 +
 +```
 +{{%/* myshortcode */%}}Hello **World!**{{%/* /myshortcode */%}}
 +```
 +
 +### Shortcodes Without Markdown
 +
 +The `<` character indicates that the shortcode's inner content does *not* need further rendering. Often shortcodes without markdown include internal HTML:
 +
 +```
 +{{</* myshortcode */>}}<p>Hello <strong>World!</strong></p>{{</* /myshortcode */>}}
 +```
 +
 +### Nested Shortcodes
 +
 +You can call shortcodes within other shortcodes by creating your own templates that leverage the `.Parent` variable. `.Parent` allows you to check the context in which the shortcode is being called. See [Shortcode templates][sctemps].
 +
 +## Use Hugo's Built-in Shortcodes
 +
 +Hugo ships with a set of predefined shortcodes that represent very common usage. These shortcodes are provided for author convenience and to keep your markdown content clean.
 +
 +### `figure`
 +
 +`figure` is an extension of the image syntax in markdown, which does not provide a shorthand for the more semantic [HTML5 `<figure>` element][figureelement].
 +
 +The `figure` shortcode can use the following named parameters:
 +
 +src
 +: URL of the image to be displayed.
 +
 +link
 +: If the image needs to be hyperlinked, URL of the destination.
 +
 +target
 +: Optional `target` attribute for the URL if `link` parameter is set.
 +
 +rel
 +: Optional `rel` attribute for the URL if `link` parameter is set.
 +
 +alt
 +: Alternate text for the image if the image cannot be displayed.
 +
 +title
 +: Image title.
 +
 +caption
 +: Image caption.
 +
 +class
 +: `class` attribute of the HTML `figure` tag.
 +
 +height
 +: `height` attribute of the image.
 +
 +width
 +: `width` attribute of the image.
 +
 +attr
 +: Image attribution text.
 +
 +attrlink
 +: If the attribution text needs to be hyperlinked, URL of the destination.
 +
 +#### Example `figure` Input
 +
 +{{< code file="figure-input-example.md" >}}
 +{{</* figure src="/media/spf13.jpg" title="Steve Francia" */>}}
 +{{< /code >}}
 +
 +#### Example `figure` Output
 +
 +{{< output file="figure-output-example.html" >}}
 +<figure>
 +  <img src="/media/spf13.jpg"  />
 +  <figcaption>
 +      <h4>Steve Francia</h4>
 +  </figcaption>
 +</figure>
 +{{< /output >}}
 +
 +### `gist`
 +
 +Bloggers often want to include GitHub gists when writing posts. Let's suppose we want to use the [gist at the following url][examplegist]:
 +
 +```
 +https://gist.github.com/spf13/7896402
 +```
 +
 +We can embed the gist in our content via username and gist ID pulled from the URL:
 +
 +```
 +{{</* gist spf13 7896402 */>}}
 +```
 +
 +#### Example `gist` Input
 +
 +If the gist contains several files and you want to quote just one of them, you can pass the filename (quoted) as an optional third argument:
 +
 +{{< code file="gist-input.md" >}}
 +{{</* gist spf13 7896402 "img.html" */>}}
 +{{< /code >}}
 +
 +#### Example `gist` Output
 +
 +{{< output file="gist-output.html" >}}
 +{{< gist spf13 7896402 >}}
 +{{< /output >}}
 +
 +#### Example `gist` Display
 +
 +To demonstrate the remarkably efficiency of Hugo's shortcode feature, we have embedded the `spf13` `gist` example in this page. The following simulates the experience for visitors to your website. Naturally, the final display will be contingent on your stylesheets and surrounding markup.
 +
 +{{< gist spf13 7896402 >}}
 +
 +### `highlight`
 +
 +This shortcode will convert the source code provided into syntax-highlighted HTML. Read more on [highlighting](/tools/syntax-highlighting/). `highlight` takes exactly one required `language` parameter and requires a closing shortcode.
 +
 +#### Example `highlight` Input
 +
 +{{< code file="content/tutorials/learn-html.md" >}}
 +{{</* highlight html */>}}
 +<section id="main">
 +  <div>
 +   <h1 id="title">{{ .Title }}</h1>
 +    {{ range .Pages }}
 +        {{ .Render "summary"}}
 +    {{ end }}
 +  </div>
 +</section>
 +{{</* /highlight */>}}
 +{{< /code >}}
 +
 +#### Example `highlight` Output
 +
 +The `highlight` shortcode example above would produce the following HTML when the site is rendered:
 +
 +{{< output file="tutorials/learn-html/index.html" >}}
 +<span style="color: #f92672">&lt;section</span> <span style="color: #a6e22e">id=</span><span style="color: #e6db74">&quot;main&quot;</span><span style="color: #f92672">&gt;</span>
 +  <span style="color: #f92672">&lt;div&gt;</span>
 +   <span style="color: #f92672">&lt;h1</span> <span style="color: #a6e22e">id=</span><span style="color: #e6db74">&quot;title&quot;</span><span style="color: #f92672">&gt;</span>{{ .Title }}<span style="color: #f92672">&lt;/h1&gt;</span>
 +    {{ range .Pages }}
 +        {{ .Render &quot;summary&quot;}}
 +    {{ end }}
 +  <span style="color: #f92672">&lt;/div&gt;</span>
 +<span style="color: #f92672">&lt;/section&gt;</span>
 +{{< /output >}}
 +
 +{{% note "More on Syntax Highlighting" %}}
 +To see even more options for adding syntax-highlighted code blocks to your website, see [Syntax Highlighting in Developer Tools](/tools/syntax-highlighting/).
 +{{% /note %}}
 +
 +### `instagram`
 +
 +If you'd like to embed a photo from [Instagram][], you only need the photo's ID. You can discern an Instagram photo ID from the URL:
 +
 +```
 +https://www.instagram.com/p/BWNjjyYFxVx/
 +```
 +
 +#### Example `instagram` Input
 +
 +{{< code file="instagram-input.md" >}}
 +{{</* instagram BWNjjyYFxVx */>}}
 +{{< /code >}}
 +
 +You also have the option to hide the caption:
 +
 +{{< code file="instagram-input-hide-caption.md" >}}
 +{{</* instagram BWNjjyYFxVx hidecaption */>}}
 +{{< /code >}}
 +
 +#### Example `instagram` Output
 +
 +By adding the preceding `hidecaption` example, the following HTML will be added to your rendered website's markup:
 +
 +{{< output file="instagram-hide-caption-output.html" >}}
 +{{< instagram BWNjjyYFxVx hidecaption >}}
 +{{< /output >}}
 +
 +#### Example `instagram` Display
 +
 +Using the preceding `instagram` with `hidecaption` example above, the following simulates the displayed experience for visitors to your website. Naturally, the final display will be contingent on your stylesheets and surrounding markup.
 +
 +{{< instagram BWNjjyYFxVx hidecaption >}}
 +
 +
 +### `param`
 +
 +Gets a value from the current `Page's` params set in front matter, with a fall back to the site param value. If will log an `ERROR` if the param with the given key could not be found in either.
 +
 +```bash
 +{{</* param testparam */>}}
 +```
 +
++Since `testparam` is a param defined in front matter of this page with the value `Hugo Rocks!`, the above will print:
 +
 +{{< param testparam >}}
 +
 +To access deeply nested params, use "dot syntax", e.g:
 +
 +```bash
 +{{</* param "my.nested.param" */>}}
 +```
 +
 +### `ref` and `relref`
 +
 +These shortcodes will look up the pages by their relative path (e.g., `blog/post.md`) or their logical name (`post.md`) and return the permalink (`ref`) or relative permalink (`relref`) for the found page.
 +
 +`ref` and `relref` also make it possible to make fragmentary links that work for the header links generated by Hugo.
 +
 +{{% note "More on Cross References" %}}
 +Read a more extensive description of `ref` and `relref` in the [cross references](/content-management/cross-references/) documentation.
 +{{% /note %}}
 +
 +`ref` and `relref` take exactly one required parameter of _reference_, quoted and in position `0`.
 +
 +#### Example `ref` and `relref` Input
 +
 +```
 +[Neat]({{</* ref "blog/neat.md" */>}})
 +[Who]({{</* relref "about.md#who" */>}})
 +```
 +
 +#### Example `ref` and `relref` Output
 +
 +Assuming that standard Hugo pretty URLs are turned on.
 +
 +```
 +<a href="/blog/neat">Neat</a>
 +<a href="/about/#who:c28654c202e73453784cfd2c5ab356c0">Who</a>
 +```
 +
 +### `tweet`
 +
 +You want to include a single tweet into your blog post? Everything you need is the URL of the tweet:
 +
 +```
 +https://twitter.com/spf13/status/877500564405444608
 +```
 +
 +#### Example `tweet` Input
 +
 +Pass the tweet's ID from the URL as a parameter to the `tweet` shortcode:
 +
 +{{< code file="example-tweet-input.md" >}}
 +{{</* tweet 877500564405444608 */>}}
 +{{< /code >}}
 +
 +#### Example `tweet` Output
 +
 +Using the preceding `tweet` example, the following HTML will be added to your rendered website's markup:
 +
 +{{< output file="example-tweet-output.html" >}}
 +{{< tweet 877500564405444608 >}}
 +{{< /output >}}
 +
 +#### Example `tweet` Display
 +
 +Using the preceding `tweet` example, the following simulates the displayed experience for visitors to your website. Naturally, the final display will be contingent on your stylesheets and surrounding markup.
 +
 +{{< tweet 877500564405444608 >}}
 +
 +### `vimeo`
 +
 +Adding a video from [Vimeo][] is equivalent to the YouTube shortcode above.
 +
 +```
 +https://vimeo.com/channels/staffpicks/146022717
 +```
 +
 +#### Example `vimeo` Input
 +
 +Extract the ID from the video's URL and pass it to the `vimeo` shortcode:
 +
 +{{< code file="example-vimeo-input.md" >}}
 +{{</* vimeo 146022717 */>}}
 +{{< /code >}}
 +
 +#### Example `vimeo` Output
 +
 +Using the preceding `vimeo` example, the following HTML will be added to your rendered website's markup:
 +
 +{{< output file="example-vimeo-output.html" >}}
 +{{< vimeo 146022717 >}}
 +{{< /output >}}
 +
 +{{% tip %}}
 +If you want to further customize the visual styling of the YouTube or Vimeo output, add a `class` named parameter when calling the shortcode. The new `class` will be added to the `<div>` that wraps the `<iframe>` *and* will remove the inline styles. Note that you will need to call the `id` as a named parameter as well.
 +
 +```
 +{{</* vimeo id="146022717" class="my-vimeo-wrapper-class" */>}}
 +```
 +{{% /tip %}}
 +
 +#### Example `vimeo` Display
 +
 +Using the preceding `vimeo` example, the following simulates the displayed experience for visitors to your website. Naturally, the final display will be contingent on your stylesheets and surrounding markup.
 +
 +{{< vimeo 146022717 >}}
 +
 +### `youtube`
 +
 +The `youtube` shortcode embeds a responsive video player for [YouTube videos][]. Only the ID of the video is required, e.g.:
 +
 +```
 +https://www.youtube.com/watch?v=w7Ft2ymGmfc
 +```
 +
 +
 +#### Example `youtube` Input
 +
 +Copy the YouTube video ID that follows `v=` in the video's URL and pass it to the `youtube` shortcode:
 +
 +{{< code file="example-youtube-input.md" >}}
 +{{</* youtube w7Ft2ymGmfc */>}}
 +{{< /code >}}
 +
 +Furthermore, you can automatically start playback of the embedded video by setting the `autoplay` parameter to `true`. Remember that you can't mix named an unnamed parameters, so you'll need to assign the yet unnamed video id to the parameter `id`:
 +
 +
 +{{< code file="example-youtube-input-with-autoplay.md" >}}
 +{{</* youtube id="w7Ft2ymGmfc" autoplay="true" */>}}
 +{{< /code >}}
 +
 +#### Example `youtube` Output
 +
 +Using the preceding `youtube` example, the following HTML will be added to your rendered website's markup:
 +
 +{{< code file="example-youtube-output.html" >}}
 +{{< youtube id="w7Ft2ymGmfc" autoplay="true" >}}
 +{{< /code >}}
 +
 +#### Example `youtube` Display
 +
 +Using the preceding `youtube` example (without `autoplay="true"`), the following simulates the displayed experience for visitors to your website. Naturally, the final display will be contingent on your stylesheets and surrounding markup. The video is also include in the [Quick Start of the Hugo documentation][quickstart].
 +
 +{{< youtube w7Ft2ymGmfc >}}
 +
 +## Privacy Config
 +
 +To learn how to configure your Hugo site to meet the new EU privacy regulation, see [Hugo and the GDPR][].
 +
 +## Create Custom Shortcodes
 +
 +To learn more about creating custom shortcodes, see the [shortcode template documentation][].
 +
 +[`figure` shortcode]: #figure
 +[contentmanagementsection]: /content-management/formats/
 +[examplegist]: https://gist.github.com/spf13/7896402
 +[figureelement]: http://html5doctor.com/the-figure-figcaption-elements/ "An article from HTML5 doctor discussing the fig and figcaption elements."
 +[Hugo and the GDPR]: /about/hugo-and-gdpr/
 +[Instagram]: https://www.instagram.com/
 +[pagevariables]: /variables/page/
 +[partials]: /templates/partials/
 +[Pygments]: http://pygments.org/
 +[quickstart]: /getting-started/quick-start/
 +[sctemps]: /templates/shortcode-templates/
 +[scvars]: /variables/shortcodes/
 +[shortcode template documentation]: /templates/shortcode-templates/
 +[templatessection]: /templates/
 +[Vimeo]: https://vimeo.com/
 +[YouTube Videos]: https://www.youtube.com/
index 256f46093309f1d0e881af58fa5d81afb8cd31f4,0000000000000000000000000000000000000000..07f63a25b08afc337191ec79822400595258d4ac
mode 100644,000000..100644
--- /dev/null
@@@ -1,150 -1,0 +1,150 @@@
- ## tl;dr
 +---
 +title: Add Your Hugo Theme to the Showcase
 +linktitle: Themes
 +description: If you've built a Hugo theme and want to contribute back to the Hugo Community, add your theme to the Hugo Showcase.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-27
 +categories: [contribute]
 +keywords: [contribute,themes,design]
 +authors: [digitalcraftsman]
 +menu:
 +  docs:
 +    parent: "contribute"
 +    weight: 30
 +weight: 30
 +sections_weight: 30
 +draft: false
 +aliases: [/contribute/theme/]
 +wip: true
 +toc: true
 +---
 +
 +A collection of all themes created by the Hugo community, including screenshots and demos, can be found at <https://themes.gohugo.io>. Every theme in this list will automatically be added to the theme site. Theme updates aren't scheduled but usually happen at least once a week.
 +
++## Adding a theme to the list
 +
 +1. Create your theme using `hugo new theme <THEMENAME>`;
 +2. Test your theme against <https://github.com/gohugoio/hugoBasicExample> \*
 +3. Add a `theme.toml` file to the root of the theme with all required metadata
 +4. Add a descriptive `README.md` to the root of the theme source
 +5. Add `/images/screenshot.png` and `/images/tn.png`
 +
 +\* If your theme doesn't fit into the `Hugo Basic Example` site, we encourage theme authors to supply a self-contained Hugo site in `/exampleSite`.
 +
 +{{% note %}}
 +The folder name here---`exampleSite`---is important, as this folder will be picked up and used by the script that generates the Hugo Theme Site. It mirrors the root directory of a Hugo website and allows you to add custom content, assets, and a `config` file with preset values.
 +{{% /note %}}
 +
 +See the [Hugo Artist theme's exampleSite][artistexample] for a good example.
 +
 +{{% note %}}
 +Please make your example site's content is as neutral as possible. We hope this goes without saying.
 +{{% /note %}}
 +
 +## Theme Requirements
 +
 +In order to add your theme to the Hugo Themes Showcase, the following requirements need to be met:
 +
 +1. `theme.toml` with all required fields
 +2. Images for thumbnail and screenshot
 +3. A good README file instructions for users
 +4. Addition to the hugoThemes GitHub repository
 +
 +### Add Your Theme to the Repo
 +
 +The easiest way to add your theme is to [open up a new issue in the theme repository][themeissuenew] with a link to the theme's repository on GitHub.
 +
 +### Create a `theme.toml` File
 +
 +`theme.toml` contains metadata about the theme and its creator and should be created automatically when running the `hugo new theme`. The auto-generated file is provided here as well for easy downloading:
 +
 +{{< code file="theme.toml" download="theme.toml" >}}
 +name = ""
 +license = "MIT"
 +licenselink = "https://github.com/<YOURNAME>/<YOURTHEME>/blob/master/LICENSE.md"
 +description = ""
 +homepage = "https://example.com/"
 +tags = []
 +features = []
 +min_version = 0.19
 +
 +[author]
 +  name = ""
 +  homepage = ""
 +
 +# If porting an existing theme
 +[original]
 +  name = ""
 +  homepage = ""
 +  repo = ""
 +{{< /code >}}
 +
 +The following fields are required:
 +
 +```
 +name = "Hyde"
 +license = "MIT"
 +licenselink = "https://github.com/spf13/hyde/blob/master/LICENSE.md"
 +description = "An elegant open source and mobile first theme"
 +homepage = "http://siteforthistheme.com/"
 +tags = ["blog", "company"]
 +features = ["blog"]
 +min_version = 0.13
 +
 +[author]
 +    name = "spf13"
 +    homepage = "http://spf13.com/"
 +
 +# If porting an existing theme
 +[original]
 +    author = "mdo"
 +    homepage = "http://hyde.getpoole.com/"
 +    repo = "https://www.github.com/mdo/hyde"
 +```
 +
 +{{% note %}}
 +1. This is different from the `theme.toml` file created by `hugo new theme` in Hugo versions before v0.14.
 +2. Only `theme.toml` is accepted; ie. not `theme.yaml` and `theme.json`.
 +{{% /note %}}
 +
 +### Images
 +
 +Screenshots are used for previews in the Hugo Theme Gallery. Make sure that they have the right dimensions:
 +
 +* Thumbnail should be 900px × 600px
 +* Screenshot should be 1500px × 1000px
 +* Media must be located in
 +    * <THEMEDIR>/images/screenshot.png</code>
 +    * <THEMEDIR>/images/tn.png</code>
 +
 +Additional media may be provided in the same directory.
 +
 +### Create a README File
 +
 +Your theme's README file should be written in markdown and saved at the root of your theme's directory structure. Your `README.md` serves as
 +
 +1. Content for your theme's details page at <https://themes.gohugo.io>
 +2. General information about the theme in your GitHub repository (i.e., it's usual purpose)
 +
 +#### Example `README.md`
 +
 +You can download the following `README.md` as an outline:
 +
 +{{< code file="README.md" download="README.md" >}}
 +
 +# Theme Title
 +
 +**Need input from @digitalcraftsman on what could be added to this file.**
 +
 +
 +
 +
 +{{< /code >}}
 +
 +{{% note "Screenshots in your `README.md`"%}}
 +If you add screenshots to the README, please make use of absolute file paths instead of relative ones like `/images/screenshot.png`. Relative paths work great on GitHub but they don't correspond to the directory structure of [themes.gohugo.io](http://themes.gohugo.io/). Therefore, browsers will not be able to display screenshots on the theme site under the given (relative) path.
 +{{% /note %}}
 +
 +[artistexample]: https://github.com/digitalcraftsman/hugo-artists-theme/tree/master/exampleSite
 +[themeissuenew]: https://github.com/gohugoio/hugoThemes/issues/new
index 9887dbaf9730dfc59b44a0871ba1d97f1e58a959,0000000000000000000000000000000000000000..007cc30c532acc0524e88d9653e433e96457d02a
mode 100644,000000..100644
--- /dev/null
@@@ -1,43 -1,0 +1,48 @@@
- ## Example: `dict` with Embedded SVGs
 +---
 +title: dict
 +description: Creates a dictionary from a list of key and value pairs.
 +godocref:
 +workson: []
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-26
 +categories: [functions]
 +menu:
 +  docs:
 +    parent: "functions"
 +keywords: [dictionary]
 +signature: ["dict KEY VALUE [KEY VALUE]..."]
 +workson: []
 +hugoversion:
 +relatedfuncs: []
 +deprecated: false
 +aliases: []
 +---
 +
 +`dict` is especially useful for passing more than one value to a partial template.
 +
 +
- The partial below creates a SVG and expects `fill` `height` and `width` from the caller:
++## Example: Using `dict` to pass multiple values to a `partial`
 +
- <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="{{ .fill }}" width="{{ .size }}" height="{{ .size }}" viewBox="0 0 32 32" aria-label="External Link">
++The partial below creates a SVG and expects `fill`, `height` and `width` from the caller:
++
++**Partial definition**
 +
 +{{< code file="layouts/partials/svgs/external-links.svg" download="external-links.svg" >}}
- These values can be stored in one object with `dict` and passed to the partial:
++<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" 
++fill="{{ .fill }}" width="{{ .width }}" height="{{ .height }}" viewBox="0 0 32 32" aria-label="External Link">
 +<path d="M25.152 16.576v5.696q0 2.144-1.504 3.648t-3.648 1.504h-14.848q-2.144 0-3.648-1.504t-1.504-3.648v-14.848q0-2.112 1.504-3.616t3.648-1.536h12.576q0.224 0 0.384 0.16t0.16 0.416v1.152q0 0.256-0.16 0.416t-0.384 0.16h-12.576q-1.184 0-2.016 0.832t-0.864 2.016v14.848q0 1.184 0.864 2.016t2.016 0.864h14.848q1.184 0 2.016-0.864t0.832-2.016v-5.696q0-0.256 0.16-0.416t0.416-0.16h1.152q0.256 0 0.416 0.16t0.16 0.416zM32 1.152v9.12q0 0.48-0.352 0.8t-0.8 0.352-0.8-0.352l-3.136-3.136-11.648 11.648q-0.16 0.192-0.416 0.192t-0.384-0.192l-2.048-2.048q-0.192-0.16-0.192-0.384t0.192-0.416l11.648-11.648-3.136-3.136q-0.352-0.352-0.352-0.8t0.352-0.8 0.8-0.352h9.12q0.48 0 0.8 0.352t0.352 0.8z"></path>
 +</svg>
 +{{< /code >}}
 +
- {{ partial "svg/link-ext.svg" (dict "fill" "#01589B" "size" 10 "width" 20 ) }}
++**Partial call**
++
++The `fill`, `height` and `width` values can be stored in one object with `dict` and passed to the partial:
 +
 +{{< code file="layouts/_default/list.html" >}}
++{{ partial "svgs/external-links.svg" (dict "fill" "#01589B" "width" 10 "height" 20 ) }}
 +{{< /code >}}
 +
 +
 +
 +[partials]: /templates/partials/
index 614d04711b7932a8d10d440d180a74f719ce346c,0000000000000000000000000000000000000000..3952448c6766c5e3b55932b3f22ef7567063cfc7
mode 100644,000000..100644
--- /dev/null
@@@ -1,24 -1,0 +1,25 @@@
 +---
++title: imageConfig
 +linktitle: imageConfig
 +description: Parses the image and returns the height, width, and color model.
 +godocref:
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +categories: [functions]
 +menu:
 +  docs:
 +    parent: "functions"
 +keywords: [images]
 +signature: ["imageConfig PATH"]
 +workson: []
 +hugoversion:
 +relatedfuncs: []
 +deprecated: false
 +---
 +
 +```
 +{{ with (imageConfig "favicon.ico") }}
 +favicon.ico: {{.Width}} x {{.Height}}
 +{{ end }}
 +```
index 53f26d950452291994085e25714aa131df0cb6c1,0000000000000000000000000000000000000000..9ab7f3c3a3557db0c1e76816c0cd4735cbac7c09
mode 100644,000000..100644
--- /dev/null
@@@ -1,36 -1,0 +1,37 @@@
 +---
 +title: intersect
 +linktitle: intersect
 +description: Returns the common elements of two arrays or slices.
 +godocref:
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +categories: [functions]
 +menu:
 +  docs:
 +    parent: "functions"
 +keywords: [collections,intersect,union,complement,symdiff]
 +signature: ["intersect SET1 SET2"]
 +workson: []
 +hugoversion:
 +relatedfuncs: []
 +deprecated: false
 +aliases: []
 +---
 +An useful example is to use it as `AND` filters when combined with where:
 +
++## AND filter in where query
++
 +```
 +{{ $pages := where .Site.RegularPages "Type" "not in" (slice "page" "about") }}
 +{{ $pages := $pages | union (where .Site.RegularPages "Params.pinned" true) }}
 +{{ $pages := $pages | intersect (where .Site.RegularPages "Params.images" "!=" nil) }}
 +```
 +
 +The above fetches regular pages not of `page` or `about` type unless they are pinned. And finally, we exclude all pages with no `images` set in Page params.
 +
 +See [union](/functions/union) for `OR`.
 +
 +
 +[partials]: /templates/partials/
 +[single]: /templates/single-page-templates/
index 6e1d41c0f832481eb680668b9cf0efd34437f8d8,0000000000000000000000000000000000000000..ecdab3c42514b47b5dabf74044f33cd7fe2128ed
mode 100644,000000..100644
--- /dev/null
@@@ -1,47 -1,0 +1,43 @@@
- A more practical example is to fill in the missing translations for the "minority languages" with content from the main language:
 +---
 +title: lang.Merge
 +description: "Merge missing translations from other languages."
 +godocref: ""
 +workson: []
 +date: 2018-03-16
 +categories: [functions]
 +keywords: [multilingual]
 +menu:
 +  docs:
 +    parent: "functions"
 +toc: false
 +signature: ["lang.Merge FROM TO"]
 +workson: []
 +hugoversion:
 +relatedfuncs: []
 +deprecated: false
 +draft: false
 +aliases: []
 +comments:
 +---
 +
 +As an example:
 +
 +```bash
 +{{ $pages := .Site.RegularPages | lang.Merge $frSite.RegularPages | lang.Merge $enSite.RegularPages }}
 +```
 +
 +Will "fill in the gaps" in the current site with, from left to right, content from the French site, and lastly the English.
 +
 +
-  {{ $pages := .Site.RegularPages }}
-  {{ .Scratch.Set "pages" $pages }}
-  {{ $mainSite := .Sites.First }}
-  {{ if ne $mainSite .Site }}
-     {{ .Scratch.Set "pages" ($pages | lang.Merge $mainSite.RegularPages) }}
-  {{ end }}
-  {{ $pages := .Scratch.Get "pages" }} 
++A more practical example is to fill in the missing translations from the other languages:
 +
 +```bash
++{{ $pages := .Site.RegularPages }}
++{{ range .Site.Home.Translations }}
++{{ $pages = $pages | lang.Merge .Site.RegularPages }}
++{{ end }}
 + ```
 +
 +{{% note %}}
 +Note that the slightly ugly `.Scratch` construct will not be needed once this is fixed: https://github.com/golang/go/issues/10608
 +{{% /note %}}
index 515143d46771fea743199115cc6d9cabccb550ca,0000000000000000000000000000000000000000..7becea24b464761e6827c45a35cfc4b8d7a26f2b
mode 100644,000000..100644
--- /dev/null
@@@ -1,40 -1,0 +1,45 @@@
- The `partialCached` template function can offer significant performance gains for complex templates that don't need to be re-rendered on every invocation. Here is the simplest usage:
 +---
 +title: partialCached
 +linktitle: partialCached
 +description: Allows for caching of partials that do not need to be re-rendered on every invocation.
 +godocref:
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +categories: [functions]
 +menu:
 +  docs:
 +    parent: "functions"
 +keywords: [performance]
 +signature: ["partialCached LAYOUT INPUT [VARIANT...]"]
 +workson: []
 +hugoversion:
 +relatedfuncs: []
 +deprecated: false
 +aliases: []
 +---
 +
++The `partialCached` template function can offer significant performance gains for complex templates that don't need to be re-rendered on every invocation.
++
++
++**Note:** Each Site (or language) has its own `partialCached` cache, so each site will execute a partial once.
++
++Here is the simplest usage:
 +
 +```
 +{{ partialCached "footer.html" . }}
 +```
 +
 +You can also pass additional parameters to `partialCached` to create *variants* of the cached partial. For example, if you have a complex partial that should be identical when rendered for pages within the same section, you could use a variant based upon section so that the partial is only rendered once per section:
 +
 +{{< code file="partial-cached-example.html" >}}
 +{{ partialCached "footer.html" . .Section }}
 +{{< /code >}}
 +
 +If you need to pass additional parameters to create unique variants, you can pass as many variant parameters as you need:
 +
 +```
 +{{ partialCached "footer.html" . .Params.country .Params.province }}
 +```
 +
 +Note that the variant parameters are not made available to the underlying partial template. They are only use to create a unique cache key.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..87eb67355f68f2e56d1af2940ab08c98c54374f5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,31 @@@
++---
++title: path.Base
++description: Base returns the last element of a path.
++godocref:
++date: 2018-11-28
++publishdate: 2018-11-28
++lastmod: 2018-11-28
++categories: [functions]
++menu:
++  docs:
++    parent: "functions"
++keywords: [path, base]
++signature: ["path.Base PATH"]
++workson: []
++hugoversion: "0.40"
++relatedfuncs: [path.Dir, path.Ext, path.Split]
++deprecated: false
++---
++
++`path.Base` returns the last element of `PATH`.
++
++If `PATH` is empty, `.` is returned.
++
++**Note:** On Windows, `PATH` is converted to slash (`/`) separators.
++
++```
++{{ path.Base "a/news.html" }} → "news.html"
++{{ path.Base "news.html" }} → "news.html"
++{{ path.Base "a/b/c" }} → "c"
++{{ path.Base "/x/y/z/" }} → "z"
++```
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..54a3fb8be833c10c1bb19945ac17fa397e2dcc30
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,32 @@@
++---
++title: path.Dir
++description: Dir returns all but the last element of a path.
++godocref:
++date: 2018-11-28
++publishdate: 2018-11-28
++lastmod: 2018-11-28
++categories: [functions]
++menu:
++  docs:
++    parent: "functions"
++keywords: [path, dir]
++signature: ["path.Dir PATH"]
++workson: []
++hugoversion: "0.40"
++relatedfuncs: [path.Base, path.Ext, path.Split]
++deprecated: false
++---
++
++`path.Dir` returns all but the last element of `PATH`, typically `PATH`'s directory.
++
++The returned path will never end in a slash.
++If `PATH` is empty, `.` is returned.
++
++**Note:** On Windows, `PATH` is converted to slash (`/`) separators.
++
++```
++{{ path.Dir "a/news.html" }} → "a"
++{{ path.Dir "news.html" }} → "."
++{{ path.Dir "a/b/c" }} → "a/b"
++{{ path.Dir "/x/y/z" }} → "/x/y"
++```
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a36b006f323f82d022d212a79349593e0e62cc2b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,29 @@@
++---
++title: path.Ext
++description: Ext returns the file name extension of a path.
++godocref:
++date: 2018-11-28
++publishdate: 2018-11-28
++lastmod: 2018-11-28
++categories: [functions]
++menu:
++  docs:
++    parent: "functions"
++keywords: [path, ext, extension]
++signature: ["path.Ext PATH"]
++workson: []
++hugoversion: "0.40"
++relatedfuncs: [path.Base, path.Dir, path.Split]
++deprecated: false
++---
++
++`path.Ext` returns the file name extension `PATH`.
++
++The extension is the suffix beginning at the final dot in the final slash-separated element `PATH`;
++it is empty if there is no dot.
++
++**Note:** On Windows, `PATH` is converted to slash (`/`) separators.
++
++```
++{{ path.Ext "a/b/c/news.html" }} → ".html"
++```
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..06a8121f0e027667f3585d3e3540321bdf99646e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,29 @@@
++---
++title: path.Join
++description: Join path elements into a single path.
++godocref:
++date: 2018-11-28
++publishdate: 2018-11-28
++lastmod: 2018-11-28
++categories: [functions]
++menu:
++  docs:
++    parent: "functions"
++keywords: [path, join]
++signature: ["path.Join ELEMENT..."]
++workson: []
++hugoversion: "0.39"
++relatedfuncs: [path.Split]
++deprecated: false
++---
++
++`path.Join` joins path elements into a single path, adding a separating slash if necessary.
++All empty strings are ignored.
++
++**Note:** All path elements on Windows are converted to slash ('/') separators.
++
++```
++{{ path.Join "partial" "news.html" }} → "partial/news.html"
++{{ path.Join "partial/" "news.html" }} → "partial/news.html"
++{{ path.Join "foo/baz" "bar" }} → "foo/baz/bar"
++```
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d6bc15ce9923971fb451b612c63de0cef63f36bc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,31 @@@
++---
++title: path.Split
++description: Split path immediately following the final slash.
++godocref:
++date: 2018-11-28
++publishdate: 2018-11-28
++lastmod: 2018-11-28
++categories: [functions]
++menu:
++  docs:
++    parent: "functions"
++keywords: [path, split]
++signature: ["path.Split PATH"]
++workson: []
++hugoversion: "0.39"
++relatedfuncs: [path.Split]
++deprecated: false
++---
++
++`path.Split` splits `PATH` immediately following the final slash, separating it into a directory and a base component.
++
++The returned values have the property that `PATH` = `DIR`+`BASE`.
++If there is no slash in `PATH`, it returns an empty directory and the base is set to `PATH`.
++
++**Note:** On Windows, `PATH` is converted to slash (`/`) separators.
++
++```
++{{ path.Split "a/news.html" }} → "a/", "news.html"
++{{ path.Split "news.html" }} → "", "news.html"
++{{ path.Split "a/b/c" }} → "a/b/", "c"
++```
index c76af39fe21892f7d77eacdffc702017bada6577,0000000000000000000000000000000000000000..e3909bde36777687f688961dfb5f50527bf45dc8
mode 100644,000000..100644
--- /dev/null
@@@ -1,34 -1,0 +1,33 @@@
- title: render
- # linktitle: Render
 +---
- signature: ["render LAYOUT"]
++title: .Render
 +description: Takes a view to apply when rendering content.
 +godocref:
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +categories: [functions]
 +menu:
 +  docs:
 +    parent: "functions"
 +keywords: [views]
++signature: [".Render LAYOUT"]
 +workson: []
 +hugoversion:
 +relatedfuncs: []
 +deprecated: false
 +aliases: []
 +---
 +
 +The view is an alternative layout and should be a file name that points to a template in one of the locations specified in the documentation for [Content Views](/templates/views).
 +
 +This function is only available when applied to a single piece of content within a [list context][].
 +
 +This example could render a piece of content using the content view located at `/layouts/_default/summary.html`:
 +
 +```
 +{{ range .Pages }}
 +    {{ .Render "summary"}}
 +{{ end }}
 +```
 +
 +[list context]: /templates/lists/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..919a9c3b763430a55ad5564913417b34967dc11c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,37 @@@
++---
++title: templates.Exists
++linktitle: ""
++description: "Checks whether a template file exists under the given path relative to the `layouts` directory."
++godocref: ""
++date: 2018-11-01
++publishdate: 2018-11-01
++lastmod: 2018-11-01
++categories: [functions]
++tags: []
++menu:
++  docs:
++    parent: "functions"
++ns: ""
++keywords: ["templates", "template", "layouts"]
++signature: ["templates.Exists PATH"]
++workson: []
++hugoversion: "0.46"
++aliases: []
++relatedfuncs: []
++toc: false
++deprecated: false
++---
++
++A template file is any file living below the `layouts` directories of either the project or any of its theme components incudling partials and shortcodes.
++
++The function is particulary handy with dynamic path. The following example ensures the build will not break on a `.Type` missing its dedicated `header` partial.
++
++```go-html-template
++{{ $partialPath := printf "headers/%s.html" .Type }}
++{{ if templates.Exists ( printf "partials/%s" $partialPath ) }}
++  {{ partial $partialPath . }}
++{{ else }}
++  {{ partial "headers/default.html" . }}
++{{ end }}
++
++```
index 5c93e4bc7df760360a3679ea920d1eafa351e30d,0000000000000000000000000000000000000000..db3c1428301ee8f23d78007e62bf033b713c9004
mode 100644,000000..100644
--- /dev/null
@@@ -1,49 -1,0 +1,50 @@@
 +---
 +title: union
 +# linktitle: union
 +description: Given two arrays or slices, returns a new array that contains the elements or objects that belong to either or both arrays/slices.
 +godocref:
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-03-12
 +categories: [functions]
 +menu:
 +  docs:
 +    parent: "functions"
 +keywords: [filtering,lists]
 +signature: ["union SET1 SET2"]
 +workson: []
 +hugoversion: 0.20
 +relatedfuncs: [intersect,where]
 +deprecated: false
 +aliases: []
 +---
 +
 +Given two arrays (or slices) A and B, this function will return a new array that contains the elements or objects that belong to either A or to B or to both. The elements supported are strings, integers, and floats (only float64).
 +
 +```
 +{{ union (slice 1 2 3) (slice 3 4 5) }}
 +<!-- returns [1 2 3 4 5] -->
 +
 +{{ union (slice 1 2 3) nil }}
 +<!-- returns [1 2 3] -->
 +
 +{{ union nil (slice 1 2 3) }}
 +<!-- returns [1 2 3] -->
 +
 +{{ union nil nil }}
 +<!-- returns an error because both arrays/slices have to be of the same type -->
 +```
 +
++## OR filter in where query
 +
 +This is also very useful to use as `OR` filters when combined with where:
 +
 +```
 +{{ $pages := where .Site.RegularPages "Type" "not in" (slice "page" "about") }}
 +{{ $pages := $pages | union (where .Site.RegularPages "Params.pinned" true) }}
 +{{ $pages := $pages | intersect (where .Site.RegularPages "Params.images" "!=" nil) }}
 +```
 +
 +The above fetches regular pages not of `page` or `about` type unless they are pinned. And finally, we exclude all pages with no `images` set in Page params.
 +
 +See [intersect](/functions/intersect) for `AND`.
index 85c28356fe9811737d125c853fde8213af7ca430,0000000000000000000000000000000000000000..edd52f321ba8a48e7849b35a852d0f488dc91110
mode 100644,000000..100644
--- /dev/null
@@@ -1,467 -1,0 +1,467 @@@
- :project
 +---
 +title: Configure Hugo
 +linktitle: Configuration
 +description: How to configure your Hugo site.
 +date: 2013-07-01
 +publishdate: 2017-01-02
 +lastmod: 2017-03-05
 +categories: [getting started,fundamentals]
 +keywords: [configuration,toml,yaml,json]
 +menu:
 +  docs:
 +    parent: "getting-started"
 +    weight: 60
 +weight: 60
 +sections_weight: 60
 +draft: false
 +aliases: [/overview/source-directory/,/overview/configuration/]
 +toc: true
 +---
 +
 +Hugo uses the `config.toml`, `config.yaml`, or `config.json` (if found in the
 +site root) as the default site config file.
 +
 +The user can choose to override that default with one or more site config files
 +using the command line `--config` switch.
 +
 +Examples:
 +
 +```
 +hugo --config debugconfig.toml
 +hugo --config a.toml,b.toml,c.toml
 +```
 +
 +{{% note %}}
 +Multiple site config files can be specified as a comma-separated string to the `--config` switch.
 +{{% /note %}}
 +
 +## All Configuration Settings
 +
 +The following is the full list of Hugo-defined variables with their default
 +value in parentheses. Users may choose to override those values in their site
 +config file(s).
 +
 +archetypeDir ("archetypes")
 +: The directory where Hugo finds archetype files (content templates).
 +
 +assetDir ("assets")
 +: The directory where Hugo finds asset files used in [Hugo Pipes](/hugo-pipes/).
 +
 +baseURL
 +: Hostname (and path) to the root, e.g. http://bep.is/
 +
 +blackfriday
 +: See [Configure Blackfriday](/getting-started/configuration/#configure-blackfriday)
 +
 +buildDrafts (false)
 +: Include drafts when building.
 +
 +buildExpired  (false)
 +: Include content already expired.
 +
 +buildFuture (false)
 +: Include content with publishdate in the future.
 +
 +caches
 +: See [Configure File Caches](#configure-file-caches)
 +
 +canonifyURLs (false)
 +: Enable to turn relative URLs into absolute.
 +
 +contentDir ("content")
 +: The directory from where Hugo reads content files.
 +
 +dataDir ("data")
 +: The directory from where Hugo reads data files.
 +
 +defaultContentLanguage ("en")
 +: Content without language indicator will default to this language.
 +
 +defaultContentLanguageInSubdir (false)
 +: Render the default content language in subdir, e.g. `content/en/`. The site root `/` will then redirect to `/en/`.
 +
 +disableHugoGeneratorInject (false)
 +: Hugo will, by default, inject a generator meta tag in the HTML head on the _home page only_. You can turn it off, but we would really appreciate if you don't, as this is a good way to watch Hugo's popularity on the rise.
 +
 +disableKinds ([])
 +: Enable disabling of all pages of the specified *Kinds*. Allowed values in this list: `"page"`, `"home"`, `"section"`, `"taxonomy"`, `"taxonomyTerm"`, `"RSS"`, `"sitemap"`, `"robotsTXT"`, `"404"`.
 +
 +disableLiveReload (false)
 +: Disable automatic live reloading of browser window.
 +
 +disablePathToLower (false)
 +: Do not convert the url/path to lowercase.
 +
 +enableEmoji (false)
 +: Enable Emoji emoticons support for page content; see the [Emoji Cheat Sheet](https://www.webpagefx.com/tools/emoji-cheat-sheet/).
 +
 +enableGitInfo (false)
 +: Enable `.GitInfo` object for each page (if the Hugo site is versioned by Git). This will then update the `Lastmod` parameter for each page using the last git commit date for that content file.
 +
 +enableInlineShortcodes
 +: Enable inline shortcode support. See [Inline Shortcodes](/templates/shortcode-templates/#inline-shortcodes).
 +
 +enableMissingTranslationPlaceholders (false)
 +: Show a placeholder instead of the default value or an empty string if a translation is missing.
 +
 +enableRobotsTXT (false)
 +: Enable generation of `robots.txt` file.
 +
 +frontmatter
 +
 +: See [Front matter Configuration](#configure-front-matter).
 +
 +footnoteAnchorPrefix ("")
 +: Prefix for footnote anchors.
 +
 +footnoteReturnLinkContents ("")
 +: Text to display for footnote return links.
 +
 +googleAnalytics ("")
 +: Google Analytics tracking ID.
 +
 +hasCJKLanguage (false)
 +: If true, auto-detect Chinese/Japanese/Korean Languages in the content. This will make `.Summary` and `.WordCount` behave correctly for CJK languages.
 +
 +imaging
 +: See [Image Processing Config](/content-management/image-processing/#image-processing-config).
 +
 +languages
 +: See [Configure Languages](/content-management/multilingual/#configure-languages).
 +
 +languageCode ("")
 +: The site's language code.
 +
 +languageName ("")
 +: The site's language name.
 +
 +disableLanguages
 +: See [Disable a Language](/content-management/multilingual/#disable-a-language)
 +
 +layoutDir ("layouts")
 +: The directory from where Hugo reads layouts (templates).
 +
 +log (false)
 +: Enable logging.
 +
 +logFile ("")
 +: Log File path (if set, logging enabled automatically).
 +
 +menu
 +: See [Add Non-content Entries to a Menu](/content-management/menus/#add-non-content-entries-to-a-menu).
 +
 +metaDataFormat ("toml")
 +: Front matter meta-data format. Valid values: `"toml"`, `"yaml"`, or `"json"`.
 +
 +newContentEditor ("")
 +: The editor to use when creating new content.
 +
 +noChmod (false)
 +: Don't sync permission mode of files.
 +
 +noTimes (false)
 +: Don't sync modification time of files.
 +
 +paginate (10)
 +: Default number of pages per page in [pagination](/templates/pagination/).
 +
 +paginatePath ("page")
 +: The path element used during pagination (https://example.com/page/2).
 +
 +permalinks
 +: See [Content Management](/content-management/urls/#permalinks).
 +
 +pluralizeListTitles (true)
 +: Pluralize titles in lists.
 +
 +preserveTaxonomyNames (false)
 +: Preserve special characters in taxonomy names ("Gérard Depardieu" vs "Gerard Depardieu").
 +
 +publishDir ("public")
 +: The directory to where Hugo will write the final static site (the HTML files etc.).
 +
 +pygmentsCodeFencesGuessSyntax (false)
 +: Enable syntax guessing for code fences without specified language.
 +
 +pygmentsStyle ("monokai")
 +: Color-theme or style for syntax highlighting. See [Pygments Color Themes](https://help.farbox.com/pygments.html).
 +
 +pygmentsUseClasses (false)
 +: Enable using external CSS for syntax highlighting.
 +
 +related
 +: See [Related Content](/content-management/related/#configure-related-content).
 +
 +relativeURLs (false)
 +: Enable this to make all relative URLs relative to content root. Note that this does not affect absolute URLs.
 +
 +refLinksErrorLevel ("ERROR") 
 +: When using `ref` or `relref` to resolve page links and a link cannot resolved, it will be logged with this logg level. Valid values are `ERROR` (default) or `WARNING`. Any `ERROR` will fail the build (`exit -1`).
 +
 +refLinksNotFoundURL
 +: URL to be used as a placeholder when a page reference cannot be found in `ref` or `relref`. Is used as-is.
 +
 +rssLimit (unlimited)
 +: Maximum number of items in the RSS feed.
 +
 +sectionPagesMenu ("")
 +: See ["Section Menu for Lazy Bloggers"](/templates/menu-templates/#section-menu-for-lazy-bloggers).
 +
 +sitemap
 +: Default [sitemap configuration](/templates/sitemap-template/#configure-sitemap-xml).
 +
 +staticDir ("static")
 +: A directory or a list of directories from where Hugo reads [static files][static-files].
 +
 +stepAnalysis (false)
 +: Display memory and timing of different steps of the program.
 +
 +summaryLength (70)
 +: The length of text to show in a [`.Summary`](/content-management/summaries/#hugo-defined-automatic-summary-splitting).
 +
 +taxonomies
 +: See [Configure Taxonomies](/content-management/taxonomies#configure-taxonomies).
 +
 +theme ("")
 +: Theme to use (located by default in `/themes/THEMENAME/`).
 +
 +themesDir ("themes")
 +: The directory where Hugo reads the themes from.
 +
 +timeout (10000)
 +: Timeout for generating page contents, in milliseconds (defaults to 10&nbsp;seconds). *Note:* this is used to bail out of recursive content generation, if your pages are slow to generate (e.g., because they require large image processing or depend on remote contents) you might need to raise this limit.
 +
 +title ("")
 +: Site title.
 +
 +uglyURLs (false)
 +: When enabled, creates URL of the form `/filename.html` instead of `/filename/`.
 +
 +verbose (false)
 +: Enable verbose output.
 +
 +verboseLog (false)
 +: Enable verbose logging.
 +
 +watch (false)
 +: Watch filesystem for changes and recreate as needed.
 +
 +{{% note %}}
 +If you are developing your site on a \*nix machine, here is a handy shortcut for finding a configuration option from the command line:
 +```
 +cd ~/sites/yourhugosite
 +hugo config | grep emoji
 +```
 +
 +which shows output like
 +
 +```
 +enableemoji: true
 +```
 +{{% /note %}}
 +
 +## Configuration Lookup Order
 +
 +Similar to the template [lookup order][], Hugo has a default set of rules for searching for a configuration file in the root of your website's source directory as a default behavior:
 +
 +1. `./config.toml`
 +2. `./config.yaml`
 +3. `./config.json`
 +
 +In your `config` file, you can direct Hugo as to how you want your website rendered, control your website's menus, and arbitrarily define site-wide parameters specific to your project.
 +
 +
 +## Example Configuration
 +
 +The following is a typical example of a configuration file. The values nested under `params:` will populate the [`.Site.Params`][] variable for use in [templates][]:
 +
 +{{< code-toggle file="config">}}
 +baseURL: "https://yoursite.example.com/"
 +title: "My Hugo Site"
 +footnoteReturnLinkContents: "↩"
 +permalinks:
 +  post: /:year/:month/:title/
 +params:
 +  Subtitle: "Hugo is Absurdly Fast!"
 +  AuthorName: "Jon Doe"
 +  GitHubUser: "spf13"
 +  ListOfFoo:
 +    - "foo1"
 +    - "foo2"
 +  SidebarRecentLimit: 5
 +{{< /code-toggle >}}
 +
 +## Configure with Environment Variables
 +
 +In addition to the 3 config options already mentioned, configuration key-values can be defined through operating system environment variables.
 +
 +For example, the following command will effectively set a website's title on Unix-like systems:
 +
 +```
 +$ env HUGO_TITLE="Some Title" hugo
 +```
 +
 +This is really useful if you use a service such as Netlify to deploy your site. Look at the Hugo docs [Netlify configuration file](https://github.com/gohugoio/hugoDocs/blob/master/netlify.toml) for an example.
 +
 +{{% note "Setting Environment Variables" %}}
 +Names must be prefixed with `HUGO_` and the configuration key must be set in uppercase when setting operating system environment variables.
 +{{% /note %}}
 +
 +{{< todo >}}
 +Test and document setting params via JSON env var.
 +{{< /todo >}}
 +
 +## Ignore Files When Rendering
 +
 +The following statement inside `./config.toml` will cause Hugo to ignore files ending with `.foo` and `.boo` when rendering:
 +
 +```
 +ignoreFiles = [ "\\.foo$", "\\.boo$" ]
 +```
 +
 +The above is a list of regular expressions. Note that the backslash (`\`) character is escaped in this example to keep TOML happy.
 +
 +## Configure Front Matter
 +
 +### Configure Dates
 +
 +Dates are important in Hugo, and you can configure how Hugo assigns dates to your content pages. You do this by adding a `frontmatter` section to your `config.toml`.
 +
 +
 +The default configuration is:
 +
 +```toml
 +[frontmatter]
 +date = ["date", "publishDate", "lastmod"]
 +lastmod = [":git", "lastmod", "date", "publishDate"]
 +publishDate = ["publishDate", "date"]
 +expiryDate = ["expiryDate"]
 +```
 +
 +If you, as an example, have a non-standard date parameter in some of your content, you can override the setting for `date`:
 +
 + ```toml
 +[frontmatter]
 +date = ["myDate", ":default"]
 +```
 +
 +The `:default` is a shortcut to the default settings. The above will set `.Date` to the date value in `myDate` if present, if not we will look in `date`,`publishDate`, `lastmod` and pick the first valid date.
 +
 +In the list to the right, values starting with ":" are date handlers with a special meaning (see below). The others are just names of date parameters (case insensitive) in your front matter configuration.  Also note that Hugo have some built-in aliases to the above: `lastmod` => `modified`, `publishDate` => `pubdate`, `published` and `expiryDate` => `unpublishdate`. With that, as an example, using `pubDate` as a date in front matter, will, by default, be assigned to `.PublishDate`.
 +
 +The special date handlers are:
 +
 +
 +`:fileModTime`
 +: Fetches the date from the content file's last modification timestamp.
 +
 +An example:
 +
 + ```toml
 +[frontmatter]
 +lastmod = ["lastmod", ":fileModTime", ":default"]
 +```
 +
 +
 +The above will try first to extract the value for `.Lastmod` starting with the `lastmod` front matter parameter, then the content file's modification timestamp. The last, `:default` should not be needed here, but Hugo will finally look for a valid date in `:git`, `date` and then `publishDate`.
 +
 +
 +`:filename`
 +: Fetches the date from the content file's filename. For example, `2018-02-22-mypage.md` will extract the date `2018-02-22`. Also, if `slug` is not set, `mypage` will be used as the value for `.Slug`.
 +
 +An example:
 +
 +```toml
 +[frontmatter]
 +date  = [":filename", ":default"]
 +```
 +
 +The above will try first to extract the value for `.Date` from the filename, then it will look in front matter parameters `date`, `publishDate` and lastly `lastmod`.
 +
 +
 +`:git`
 +: This is the Git author date for the last revision of this content file. This will only be set if `--enableGitInfo` is set or `enableGitInfo = true` is set in site config.
 +
 +## Configure Blackfriday
 +
 +[Blackfriday](https://github.com/russross/blackfriday) is Hugo's built-in Markdown rendering engine.
 +
 +Hugo typically configures Blackfriday with sane default values that should fit most use cases reasonably well.
 +
 +However, if you have specific needs with respect to Markdown, Hugo exposes some of its Blackfriday behavior options for you to alter. The following table lists these Hugo options, paired with the corresponding flags from Blackfriday's source code ( [html.go](https://github.com/russross/blackfriday/blob/master/html.go) and [markdown.go](https://github.com/russross/blackfriday/blob/master/markdown.go)).
 +
 +{{< readfile file="/content/en/readfiles/bfconfig.md" markdown="true" >}}
 +
 +{{% note %}}
 +1. Blackfriday flags are *case sensitive* as of Hugo v0.15.
 +2. Blackfriday flags must be grouped under the `blackfriday` key and can be set on both the site level *and* the page level. Any setting on a page will override its respective site setting.
 +{{% /note %}}
 +
 +{{< code-toggle file="config" >}}
 +[blackfriday]
 +  angledQuotes = true
 +  fractions = false
 +  plainIDAnchors = true
 +  extensions = ["hardLineBreak"]
 +{{< /code-toggle >}}
 +
 +## Configure Additional Output Formats
 +
 +Hugo v0.20 introduced the ability to render your content to multiple output formats (e.g., to JSON, AMP html, or CSV). See [Output Formats][] for information on how to add these values to your Hugo project's configuration file.
 +
 +## Configure File Caches
 +
 +Since Hugo 0.52 you can configure more than just the `cacheDir`. This is the default configuration:
 +
 +```toml
 +[caches]
 +[caches.getjson]
 +dir = ":cacheDir/:project"
 +maxAge = -1
 +[caches.getcsv]
 +dir = ":cacheDir/:project"
 +maxAge = -1
 +[caches.images]
 +dir = ":resourceDir/_gen"
 +maxAge = -1
 +[caches.assets]
 +dir = ":resourceDir/_gen"
 +maxAge = -1
 +```
 +
 +
 +You can override any of these cache setting in your own `config.toml`. 
 +
 +### The keywords explained
 +
 +:cacheDir
 +: This is the value of the `cacheDir` config option if set (can also be set via OS env variable `HUGO_CACHEDIR`). It will fall back to `/opt/build/cache/hugo_cache/` on Netlify, or a `hugo_cache` directory below the OS temp dir for the others. This means that if you run your builds on Netlify, all caches configured with `:cacheDir` will be saved and restored on the next build. For other CI vendors, please read their documentation. For an CircleCI example, see [this configuration](https://github.com/bep/hugo-sass-test/blob/6c3960a8f4b90e8938228688bc49bdcdd6b2d99e/.circleci/config.yml).
 +
- :resourceDir
++`:project`
 +
 +The base directory name of the current Hugo project. This means that, in its default setting, every project will have separated file caches, which means that when you do `hugo --gc` you will not touch files related to other Hugo projects running on the same PC.
 +
- : This is the duration before a cache entry will be evicted, -1 means forever and 0 effectively turns that particular cache off. Uses Go's `time.Duration`, so valid values are `"10s"` (10 seconds), `"10m"` (10 minutes) and `"10m"` (10 hours).
++`:resourceDir`
 +: This is the value of the `resourceDir` config option.
 +
 +maxAge
++: This is the duration before a cache entry will be evicted, -1 means forever and 0 effectively turns that particular cache off. Uses Go's `time.Duration`, so valid values are `"10s"` (10 seconds), `"10m"` (10 minutes) and `"10h"` (10 hours).
 + 
 +dir
 +: The absolute path to where the files for this cache will be stored. Allowed starting placeholders are `:cacheDir` and `:resourceDir` (see above).
 +
 +## Configuration Format Specs
 +
 +* [TOML Spec][toml]
 +* [YAML Spec][yaml]
 +* [JSON Spec][json]
 +
 +[`.Site.Params`]: /variables/site/
 +[directory structure]: /getting-started/directory-structure
 +[json]: https://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf "Specification for JSON, JavaScript Object Notation"
 +[lookup order]: /templates/lookup-order/
 +[Output Formats]: /templates/output-formats/
 +[templates]: /templates/
 +[toml]: https://github.com/toml-lang/toml
 +[yaml]: http://yaml.org/spec/
 +[static-files]: /content-management/static-files/
index 01ca42f4f1a950c7165eaa99c37bc793833157cd,0000000000000000000000000000000000000000..3fb4ee6cdd8dc298ffd450d1a2f0a90c8cc89e5d
mode 100644,000000..100644
--- /dev/null
@@@ -1,153 -1,0 +1,159 @@@
 +---
 +title: Host on Netlify
 +linktitle: Host on Netlify
 +description: Netlify can host your Hugo site with CDN, continuous deployment, 1-click HTTPS, an admin GUI, and its own CLI.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-03-11
 +categories: [hosting and deployment]
 +keywords: [netlify,hosting,deployment]
 +authors: [Ryan Watters, Seth MacLeod]
 +menu:
 +  docs:
 +    parent: "hosting-and-deployment"
 +    weight: 10
 +weight: 10
 +sections_weight: 10
 +draft: false
 +aliases: []
 +toc: true
 +---
 +
 +[Netlify][netlify] provides continuous deployment services, global CDN, ultra-fast DNS, atomic deploys, instant cache invalidation, one-click SSL, a browser-based interface, a CLI, and many other features for managing your Hugo website.
 +
 +## Assumptions
 +
 +* You have an account with GitHub, GitLab, or Bitbucket.
 +* You have completed the [Quick Start][] or have a Hugo website you are ready to deploy and share with the world.
 +* You do not already have a Netlify account.
 +
 +## Create a Netlify account
 +
 +Go to [app.netlify.com][] and select your preferred signup method. This will likely be a hosted Git provider, although you also have the option to sign up with an email address.
 +
 +The following examples use GitHub, but other git providers will follow a similar process.
 +
 +![Screenshot of the homepage for app.netlify.com, containing links to the most popular hosted git solutions.](/images/hosting-and-deployment/hosting-on-netlify/netlify-signup.jpg)
 +
 +Selecting GitHub will bring up an authorization modal for authentication. Select "Authorize application."
 +
 +![Screenshot of the authorization popup for Netlify and GitHub.](/images/hosting-and-deployment/hosting-on-netlify/netlify-first-authorize.jpg)
 +
 +## Create a New Site with Continuous Deployment
 +
 +You're now already a Netlify member and should be brought to your new dashboard. Select "New site from git."
 +
 +![Screenshot of the blank Netlify admin panel with no sites and highlighted 'add new site' button'](/images/hosting-and-deployment/hosting-on-netlify/netlify-add-new-site.jpg)
 +
 +Netlify will then start walking you through the steps necessary for continuous deployment. First, you'll need to select your git provider again, but this time you are giving Netlify added permissions to your repositories.
 +
 +![Screenshot of step 1 of create a new site for Netlify: selecting the git provider](/images/hosting-and-deployment/hosting-on-netlify/netlify-create-new-site-step-1.jpg)
 +
 +And then again with the GitHub authorization modal:
 +
 +![Screenshot of step 1 of create a new site for Netlify: selecting the git provider](/images/hosting-and-deployment/hosting-on-netlify/netlify-authorize-added-permissions.jpg)
 +
 +Select the repo you want to use for continuous deployment. If you have a large number of repositories, you can filter through them in real time using repo search:
 +
 +![Screenshot of step 1 of create a new site for Netlify: selecting the git provider](/images/hosting-and-deployment/hosting-on-netlify/netlify-create-new-site-step-2.jpg)
 +
 +Once selected, you'll be brought to a screen for basic setup. Here you can select the branch you wanted published, your [build command][], and your publish (i.e. deploy) directory. The publish directory should mirror that of what you've set in your [site configuration][config], the default of which is `public`. The following steps assume you are publishing from the `master` branch.
 +
 +## Configure Hugo Version in Netlify
 +
 +You can [set Hugo version](https://www.netlify.com/blog/2017/04/11/netlify-plus-hugo-0.20-and-beyond/) for your environments in `netlify.toml` file or set `HUGO_VERSION` as a build environment variable in the Netlify console.
 +
 +For production:
 +
 +```
 +[context.production.environment]
 +  HUGO_VERSION = "0.36"
 +```
 +
 +For testing:
 +
 +```
 +[context.deploy-preview.environment]
 +  HUGO_VERSION = "0.36"
 +```
 +
 +The Netlify configuration file can be a little hard to understand and get right for the different environment, and you may get some inspiration and tips from this site's `netlify.toml`:
 +
 +{{< code file="netlify.toml" nocode="true" >}}
 +{{< readfile file="netlify.toml" highlight="toml" >}}
 +{{< /code >}}
 +
 +## Build and Deploy Site
 +
 +In the Netlify console, selecting "Deploy site" will immediately take you to a terminal for your build:.
 +
 +![Animated gif of deploying a site to Netlify, including the terminal read out for the build.](/images/hosting-and-deployment/hosting-on-netlify/netlify-deploying-site.gif)
 +
 +Once the build is finished---this should only take a few seconds--you should now see a "Hero Card" at the top of your screen letting you know the deployment is successful. The Hero Card is the first element that you see in most pages. It allows you to see a quick summary of the page and gives access to the most common/pertinent actions and information. You'll see that the URL is automatically generated by Netlify. You can update the URL in "Settings."
 +
 +![Screenshot of successful deploy badge at the top of a deployments screen from within the Netlify admin.](/images/hosting-and-deployment/hosting-on-netlify/netlify-deploy-published.jpg)
 +
 +![Screenshot of homepage to https://hugo-netlify-example.netlify.com, which is mostly dummy text](/images/hosting-and-deployment/hosting-on-netlify/netlify-live-site.jpg)
 +
 +[Visit the live site][visit].
 +
 +Now every time you push changes to your hosted git repository, Netlify will rebuild and redeploy your site.
 +
 +See [this blog post](https://www.netlify.com/blog/2017/04/11/netlify-plus-hugo-0.20-and-beyond/) for more details about how Netlify handles Hugo versions.
 +
 +## Use Hugo Themes with Netlify
 +
 +The [`git clone` method for installing themes][installthemes] is not supported by Netlify. If you were to use `git clone`, it would require you to recursively remove the `.git` subdirectory from the theme folder and would therefore prevent compatibility with future versions of the theme.
 +
 +A *better* approach is to install a theme as a proper git submodule. You can [read the GitHub documentation for submodules][ghsm] or those found on [Git's website][gitsm] for more information, but the command is similar to that of `git clone`:
 +
 +```
 +cd themes
 +git submodule add https://github.com/<THEMECREATOR>/<THEMENAME>
 +```
 +
 +It is recommended to only use stable versions of a theme (if it’s versioned) and always check the changelog. This can be done by checking out a specific release within the theme's directory.
 +
 +Switch to the theme's directory and list all available versions:
 +
 +```
 +cd themes/<theme>
 +git tag
 +# exit with q
 +```
 +
 +You can checkout a specific version as follows:
 +
 +```
 +git checkout tags/<version-name>
 +```
 +
++You can update a theme to the latest version by executing the following command in the *root* directory of your project:
++
++```
++git submodule update --rebase --remote
++```
++
 +## Next Steps
 +
 +You now have a live website served over https, distributed through CDN, and configured for continuous deployment. Dig deeper into the Netlify documentation:
 +
 +1. [Using a Custom Domain][]
 +2. [Setting up HTTPS on Custom Domains][httpscustom]
 +3. [Redirects and Rewrite Rules][]
 +
 +
 +[app.netlify.com]: https://app.netlify.com
 +[build command]: /getting-started/usage/#the-hugo-command
 +[config]: /getting-started/configuration/
 +[ghsm]: https://github.com/blog/2104-working-with-submodules
 +[gitsm]: https://git-scm.com/book/en/v2/Git-Tools-Submodules
 +[httpscustom]: https://www.netlify.com/docs/ssl/
 +[hugoversions]: https://github.com/netlify/build-image/blob/master/Dockerfile#L216
 +[installthemes]: /themes/installing/
 +[netlify]: https://www.netlify.com/
 +[netlifysignup]: https://app.netlify.com/signup
 +[Quick Start]: /getting-started/quick-start/
 +[Redirects and Rewrite Rules]: https://www.netlify.com/docs/redirects/
 +[Using a Custom Domain]: https://www.netlify.com/docs/custom-domains/
 +[visit]: https://hugo-netlify-example.netlify.com
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..de5b76d7934cea0dcee36aaa4e67fb80be611d16
new file mode 100644 (file)
Binary files differ
index 41fe038f4ce98e224365af2da529ef4e0c7f9278,0000000000000000000000000000000000000000..46ab61cd040ae0f2d3607bdcbd5a0892a3e5160f
mode 100644,000000..100644
--- /dev/null
@@@ -1,150 -1,0 +1,150 @@@
- title: "0.50"
- description: "0.50"
 +
 +---
 +date: 2018-10-29
-       Hugo `0.50` brings **greatly improved error messages**, and we now also show them in the browser. Having error messages with filename, line- and column number greatly simplify troubleshooting. Many editors (like VS Code) even let you click and navigate directly to the problematic line. If your editor requires a different log format, you can set it via the `HUGO_FILE_LOG_FORMAT` OS environment variable:
++title: "Hugo 0.50: Errors so Good, You’ll Want to Fail!"
++description: "Errors with full filename and line and column number, shown in browser. And improved Fast Render Mode …"
 +categories: ["Releases"]
 +---
 +
++Hugo `0.50` brings **greatly improved error messages**, and we now also show them in the browser. Having error messages with filename, line- and column number greatly simplify troubleshooting. Many editors (like VS Code) even let you click and navigate directly to the problematic line. If your editor requires a different log format, you can set it via the `HUGO_FILE_LOG_FORMAT` OS environment variable:
 +
 +
 +```bash
 +env HUGO_FILE_LOG_FORMAT="\":file::line::col\"" hugo server
 +```
 +
 +But this release isn't all about error handling. Getting line- and column number into "every" error also meant that we had to consolidate and simplify some code paths, which, as a nice side effect, made Hugo a little bit faster. Benchmarks show it running **about 5% faster and consume about 8% less memory**.
 +
 +Also, we have now implemented **"render on demand"** in Hugo's Fast Render Mode (default when running `hugo server`). This means that you should now always see updated content when navigating around the site after a change.
 +
 +This release represents **88 contributions by 14 contributors** to the main Hugo code base.
 +[@bep](https://github.com/bep) leads the Hugo development with a significant amount of contributions, but also a big shoutout to [@moorereason](https://github.com/moorereason), [@anthonyfok](https://github.com/anthonyfok), and [@GregorioMartinez](https://github.com/GregorioMartinez) for their ongoing contributions.
 +
 +And a big thanks to [@digitalcraftsman](https://github.com/digitalcraftsman) and [@onedrawingperday](https://github.com/onedrawingperday) for their relentless work on keeping the themes site in pristine condition and to [@kaushalmodi](https://github.com/kaushalmodi) for his great work on the documentation site.
 +
 +Many have also been busy writing and fixing the documentation in [hugoDocs](https://github.com/gohugoio/hugoDocs), 
 +which has received **14 contributions by 9 contributors**. A special thanks to [@bep](https://github.com/bep), [@NotWoods](https://github.com/NotWoods), [@Nick-Rivera](https://github.com/Nick-Rivera), and [@tomanistor](https://github.com/tomanistor) for their work on the documentation site.
 +
 +Hugo now has:
 +
 +* 29842+ [stars](https://github.com/gohugoio/hugo/stargazers)
 +* 441+ [contributors](https://github.com/gohugoio/hugo/graphs/contributors)
 +* 275+ [themes](http://themes.gohugo.io/)
 +
 +## Notes
 +
 +* You should not get stale content in Fast Render Mode anymore.
 +* Errors will now show up in the browser by default, turn it off by running `hugo server --disableBrowserError`
 +* `jsonify` will now produce pretty/indented output
 +
 +## Enhancements
 +
 +### Templates
 +
 +* Handle truncated identifiers in Go template errors [2d7709d1](https://github.com/gohugoio/hugo/commit/2d7709d15584e4c11138cd7fe92717a2a58e4585) [@bep](https://github.com/bep) [#5346](https://github.com/gohugoio/hugo/issues/5346)
 +* Update Jsonify to return pretty-print output [5a52cd5f](https://github.com/gohugoio/hugo/commit/5a52cd5f920bb3d067ab1682adece9f813c67ba1) [@SeanPrashad](https://github.com/SeanPrashad) [#5040](https://github.com/gohugoio/hugo/issues/5040)
 +* Improve the Execute panic error message [0fe4ff18](https://github.com/gohugoio/hugo/commit/0fe4ff18751156fa072e1f83077e49a8597e7dcd) [@bep](https://github.com/bep) [#5327](https://github.com/gohugoio/hugo/issues/5327)
 +* Use .Lastmod in embedded schema template [c21e5179](https://github.com/gohugoio/hugo/commit/c21e5179ce9a370c416c01fbe9472be1fb5c6650) [@akshaybabloo](https://github.com/akshaybabloo) [#5320](https://github.com/gohugoio/hugo/issues/5320)
 +* Cast IsSet key to int for indexed types [0d5110d0](https://github.com/gohugoio/hugo/commit/0d5110d03324380cb4a288d3fa08c1b86ba227da) [@moorereason](https://github.com/moorereason) [#3681](https://github.com/gohugoio/hugo/issues/3681)
 +* Add a delimiter parameter to lang.NumFmt [ce264b93](https://github.com/gohugoio/hugo/commit/ce264b936ce9f589bd889e18762881cff8bc9cd0) [@moorereason](https://github.com/moorereason) [#5260](https://github.com/gohugoio/hugo/issues/5260)
 +
 +### Core
 +
 +* Adjust error test to make it pass on Go tip [acc14b46](https://github.com/gohugoio/hugo/commit/acc14b4646d849e09e8da37552d4f4f777d0fce2) [@bep](https://github.com/bep) 
 +* Rename some page_* files [e3ed4a83](https://github.com/gohugoio/hugo/commit/e3ed4a83b8e92ce9bf070f7b41780798b006e848) [@bep](https://github.com/bep) 
 +* Get file context in "config parse failed" errors [ed7b3e26](https://github.com/gohugoio/hugo/commit/ed7b3e261909fe425ef64216f12806840c45b205) [@bep](https://github.com/bep) [#5325](https://github.com/gohugoio/hugo/issues/5325)
 +* Improve errors in /i18n handlling [2bf686ee](https://github.com/gohugoio/hugo/commit/2bf686ee217808186385bfcf6156f15bbdb33651) [@bep](https://github.com/bep) [#5324](https://github.com/gohugoio/hugo/issues/5324)
 +* Improve errors in /data handlling [9f74dc2a](https://github.com/gohugoio/hugo/commit/9f74dc2a52b6f568b5a060b7a4be47196804b01f) [@bep](https://github.com/bep) [#5324](https://github.com/gohugoio/hugo/issues/5324)
 +* Continue the file context/line number errors work [d1661b82](https://github.com/gohugoio/hugo/commit/d1661b823af25c50d3bbe5366ea40a3cdd52e237) [@bep](https://github.com/bep) [#5324](https://github.com/gohugoio/hugo/issues/5324)
 +* Remove the now superflous Source struct [7930d213](https://github.com/gohugoio/hugo/commit/7930d2132a3c36c1aaca20f16f56978c84656b0a) [@bep](https://github.com/bep) [#5324](https://github.com/gohugoio/hugo/issues/5324)
 +* Redo the summary delimiter logic [44da60d8](https://github.com/gohugoio/hugo/commit/44da60d869578423dea529db62ed613588a2a560) [@bep](https://github.com/bep) [#5324](https://github.com/gohugoio/hugo/issues/5324)
 +* Integrate new page parser [1e3e3400](https://github.com/gohugoio/hugo/commit/1e3e34002dae3d4a980141efcc86886e7de5bef8) [@bep](https://github.com/bep) [#5324](https://github.com/gohugoio/hugo/issues/5324)
 +* Use []byte in shortcode parsing [1b7ecfc2](https://github.com/gohugoio/hugo/commit/1b7ecfc2e176315b69914756c70b46306561e4d1) [@bep](https://github.com/bep) [#5324](https://github.com/gohugoio/hugo/issues/5324)
 +* Use stdlib context package [4b4af2c5](https://github.com/gohugoio/hugo/commit/4b4af2c52e658d516dd4bfaf59fef4f054dabec3) [@GregorioMartinez](https://github.com/GregorioMartinez) 
 +* Normalize permalink path segments [fae48d74](https://github.com/gohugoio/hugo/commit/fae48d7457de96969ec53349194dcbfa45adc269) [@moorereason](https://github.com/moorereason) [#5223](https://github.com/gohugoio/hugo/issues/5223)[#4926](https://github.com/gohugoio/hugo/issues/4926)
 +* Improve error message for bad taxonomy weights [d3b81ee5](https://github.com/gohugoio/hugo/commit/d3b81ee58e8fd3a0ab8265a2898d66cbcdf6a7c1) [@moorereason](https://github.com/moorereason) 
 +* Cast taxonomy weight parameters to int [1fd30d46](https://github.com/gohugoio/hugo/commit/1fd30d462ee7f67fde6f29d170af1d225258322b) [@moorereason](https://github.com/moorereason) [#4628](https://github.com/gohugoio/hugo/issues/4628)
 +* Allow nil to be unwrapped as *Page [498d6299](https://github.com/gohugoio/hugo/commit/498d6299581bead0f582431b8133d8b5f8760618) [@moorereason](https://github.com/moorereason) [#5043](https://github.com/gohugoio/hugo/issues/5043)
 +* Be a litle more specific in NextPage TODO [fb732d53](https://github.com/gohugoio/hugo/commit/fb732d5322381ee7f3a849258419cef7bbf1487b) [@bep](https://github.com/bep) 
 +* Introduce Page.NextPage and Page.PrevPage [ad705aac](https://github.com/gohugoio/hugo/commit/ad705aac0649fa3102f7639bc4db65d45e108ee2) [@felicianotech](https://github.com/felicianotech) [#1061](https://github.com/gohugoio/hugo/issues/1061)
 +
 +### Other
 +
 +* Update go.sum [7082a5d1](https://github.com/gohugoio/hugo/commit/7082a5d14382acfc300ae4f66d07a14100e2358c) [@bep](https://github.com/bep) 
 +* Update minify [aa281b51](https://github.com/gohugoio/hugo/commit/aa281b5135db2e84b9e21b5f38a6cb63cf3ab158) [@bep](https://github.com/bep) [#5261](https://github.com/gohugoio/hugo/issues/5261)
 +* Regenerate CLI docs [32501987](https://github.com/gohugoio/hugo/commit/325019872467ee152ea56329a796acf35dec6fb3) [@bep](https://github.com/bep) 
 +* Make sure the global logger also gets colored labels [9c88a8a5](https://github.com/gohugoio/hugo/commit/9c88a8a55adf7779039504fa77d74ec80d658c40) [@bep](https://github.com/bep) [#4414](https://github.com/gohugoio/hugo/issues/4414)
 +* Avoid using the global logger [95e72f5e](https://github.com/gohugoio/hugo/commit/95e72f5e8e4634fbbb2ea7ece2156487230ad1d4) [@bep](https://github.com/bep) [#4414](https://github.com/gohugoio/hugo/issues/4414)
 +* Add color to ERROR and WARN [1c7b7b4e](https://github.com/gohugoio/hugo/commit/1c7b7b4ef293aa133e5b55f3ebb2d37d8839532f) [@bep](https://github.com/bep) [#4414](https://github.com/gohugoio/hugo/issues/4414)
 +* Make the file error log format configurable [1ad117cb](https://github.com/gohugoio/hugo/commit/1ad117cbe2903aa9d029f90750acf633eb2a51a2) [@bep](https://github.com/bep) [#5352](https://github.com/gohugoio/hugo/issues/5352)
 +* Allow a mix of slice types in append/Scratch.Add [dac7092a](https://github.com/gohugoio/hugo/commit/dac7092a9cb22d59db28fb15af15f7b14ff47588) [@bep](https://github.com/bep) [#5361](https://github.com/gohugoio/hugo/issues/5361)
 +* Allow .Data.Integrity to be accessed on its own [b27ccf34](https://github.com/gohugoio/hugo/commit/b27ccf34bf4e5ee618a66fa11c68a9690e395034) [@bep](https://github.com/bep) [#5296](https://github.com/gohugoio/hugo/issues/5296)
 +* Update minify [83c873ff](https://github.com/gohugoio/hugo/commit/83c873ff37ddd379181540021232f026e7678486) [@bep](https://github.com/bep) [#5261](https://github.com/gohugoio/hugo/issues/5261)
 +* Update cast [a2440dc0](https://github.com/gohugoio/hugo/commit/a2440dc0e2d46ef774305cd5e4fea5ff2bdd5f11) [@bep](https://github.com/bep) [#5340](https://github.com/gohugoio/hugo/issues/5340)
 +* Truncate the error log on repeated config errors [1e9ac3dc](https://github.com/gohugoio/hugo/commit/1e9ac3dcc21e8f78d3f0a0ba4f35f6c142dfa6bc) [@bep](https://github.com/bep) 
 +* Regenerate CLI docs [40e99672](https://github.com/gohugoio/hugo/commit/40e99672b6f697a614485aace07ca84268f6c787) [@bep](https://github.com/bep) [#5354](https://github.com/gohugoio/hugo/issues/5354)
 +* Serialize image processing [3a3badfd](https://github.com/gohugoio/hugo/commit/3a3badfd1d4b1d4c9863ecaf029512d36136fa0f) [@bep](https://github.com/bep) [#5220](https://github.com/gohugoio/hugo/issues/5220)
 +* Only show Ansi escape codes if in a terminal [df021317](https://github.com/gohugoio/hugo/commit/df021317a964a482cd1cd579de5a12d50faf0d08) [@bep](https://github.com/bep) 
 +* Read disableFastRender from flag even if it's not changed [78a4c2e3](https://github.com/gohugoio/hugo/commit/78a4c2e32ef9ea8e92bb7bb3586e4c22b02eb494) [@bep](https://github.com/bep) [#5353](https://github.com/gohugoio/hugo/issues/5353)
 +* Use overflow-x: auto; for browser errors [d4ebfea1](https://github.com/gohugoio/hugo/commit/d4ebfea1fffdc35059f42a46387e0aaf0ea877d2) [@bep](https://github.com/bep) 
 +* Remove the ANSI color for the browser error version [93aa6261](https://github.com/gohugoio/hugo/commit/93aa6261b4fc8caa74afef97b6304ea35dfd7d0e) [@bep](https://github.com/bep) 
 +* Add some color to the relevant filenames in terminal log [deff9e15](https://github.com/gohugoio/hugo/commit/deff9e154bc0371af56741ddb22cb1f9e392838a) [@bep](https://github.com/bep) [#5344](https://github.com/gohugoio/hugo/issues/5344)
 +* Run gofmt -s [889aca05](https://github.com/gohugoio/hugo/commit/889aca054a267506a1c7cfaa3992d324764d6358) [@bep](https://github.com/bep) 
 +* Resolve error handling/parser related TODOs [6636cf1b](https://github.com/gohugoio/hugo/commit/6636cf1bea77d20ef2a72a45fae59ac402fb133b) [@bep](https://github.com/bep) [#5324](https://github.com/gohugoio/hugo/issues/5324)
 +* Improve handling of JSON errors [f669ef6b](https://github.com/gohugoio/hugo/commit/f669ef6bec25155d015b6ab231c53caef4fa5cdc) [@bep](https://github.com/bep) [#5324](https://github.com/gohugoio/hugo/issues/5324)
 +* Convert the rest to new page parser code paths [eb038cfa](https://github.com/gohugoio/hugo/commit/eb038cfa0a8ada29dfcba1204ec5c432da9ed7e0) [@bep](https://github.com/bep) [#5324](https://github.com/gohugoio/hugo/issues/5324)
 +* Consolidate the metadata decoders [129c27ee](https://github.com/gohugoio/hugo/commit/129c27ee6e9fed98dbfebeaa272fd52757b475b2) [@bep](https://github.com/bep) [#5324](https://github.com/gohugoio/hugo/issues/5324)
 +* Use []byte in page lexer [27f5a906](https://github.com/gohugoio/hugo/commit/27f5a906a2a34e3b8348c8baeea48355352b5bbb) [@bep](https://github.com/bep) [#5324](https://github.com/gohugoio/hugo/issues/5324)
 +* Add front matter etc. support [2fdc4a24](https://github.com/gohugoio/hugo/commit/2fdc4a24d5450a98cf38a4456e8e0e8e97a3343d) [@bep](https://github.com/bep) [#5324](https://github.com/gohugoio/hugo/issues/5324)
 +* File renames and splitting [f6863e1e](https://github.com/gohugoio/hugo/commit/f6863e1ef725f654a4c869ef4955f9add6908a46) [@bep](https://github.com/bep) [#5324](https://github.com/gohugoio/hugo/issues/5324)
 +* Move the shortcode parser to the new pageparser package [d6c16afd](https://github.com/gohugoio/hugo/commit/d6c16afde0ce62cfea73447f30d6ed2b8ef4b411) [@bep](https://github.com/bep) [#5324](https://github.com/gohugoio/hugo/issues/5324)
 +* Avoid panic in error handler on config errors [6f3716dc](https://github.com/gohugoio/hugo/commit/6f3716dc22e373097a38d053f5415feca602f330) [@bep](https://github.com/bep) 
 +* Prevent stale content in Fast Render Mode [4a366fcf](https://github.com/gohugoio/hugo/commit/4a366fcfee24b3a5a5045b16c3b87b76147adf5e) [@bep](https://github.com/bep) [#5281](https://github.com/gohugoio/hugo/issues/5281)
 +* Allow date and slug from filename for leaf bundles [1f42e47e](https://github.com/gohugoio/hugo/commit/1f42e47e475c0cd684426dd230de411d4c385a3c) [@Japanuspus](https://github.com/Japanuspus) [#4558](https://github.com/gohugoio/hugo/issues/4558)
 +* Show server error info in browser [35fbfb19](https://github.com/gohugoio/hugo/commit/35fbfb19a173b01bc881f2bbc5d104136633a7ec) [@bep](https://github.com/bep) [#5284](https://github.com/gohugoio/hugo/issues/5284)[#5290](https://github.com/gohugoio/hugo/issues/5290)[#5325](https://github.com/gohugoio/hugo/issues/5325)[#5324](https://github.com/gohugoio/hugo/issues/5324)
 +* Add .gitignore "hugo new site" [92979d92](https://github.com/gohugoio/hugo/commit/92979d92889ff8991acfadd42982c2e55d01b163) [@napei](https://github.com/napei) 
 +* Optimize integrity string generation [0a3340e9](https://github.com/gohugoio/hugo/commit/0a3340e95254597bc8a9feb250f2733b7d51edf8) [@moorereason](https://github.com/moorereason) 
 +* Add help text to "hugo new" [6b21ac3e](https://github.com/gohugoio/hugo/commit/6b21ac3e67cb101255e8c3d9dbf076391a9eed8d) [@elliotforbes](https://github.com/elliotforbes) 
 +* Set "extended" tag based on build_url on Launchpad [d1442053](https://github.com/gohugoio/hugo/commit/d14420539ac04d31dde2252eee66d7e4c7749780) [@anthonyfok](https://github.com/anthonyfok) 
 +* Call rst2html directly on *nix [3d4a9882](https://github.com/gohugoio/hugo/commit/3d4a9882bfc81215fb4f9eba8859324958747d4a) [@shreyanshk](https://github.com/shreyanshk) 
 +* Update URLs to stop 301 redirects [bdca9727](https://github.com/gohugoio/hugo/commit/bdca9727944e4cbb5a9372a8404e948ffea7c31c) [@benabbottnz](https://github.com/benabbottnz) 
 +* Merge branch 'release-0.49.2' [604ddb90](https://github.com/gohugoio/hugo/commit/604ddb90c5d6f1ca5583be1ec0ea8e48f014741a) [@bep](https://github.com/bep) 
 +* Release 0.49.2 [c397f2c0](https://github.com/gohugoio/hugo/commit/c397f2c08087cf4cda3abe2d146e30f58d6d3216) [@bep](https://github.com/bep) 
 +* Merge branch 'release-0.49.1' [3583dd6d](https://github.com/gohugoio/hugo/commit/3583dd6d713c243808b5e8724b32565ceaf66104) [@bep](https://github.com/bep) 
 +* Relase 0.49.1 [235acf22](https://github.com/gohugoio/hugo/commit/235acf22321475895442ce49ca5d16be273c1e1f) [@bep](https://github.com/bep) 
 +* Improve append in Scratch [23f48c30](https://github.com/gohugoio/hugo/commit/23f48c300cb5ffe0fe43c88464f38c68831a17ad) [@bep](https://github.com/bep) [#5275](https://github.com/gohugoio/hugo/issues/5275)
 +* Add GOPATH Hugo building tip [b5e17f7c](https://github.com/gohugoio/hugo/commit/b5e17f7c837ce796e1094c8033fa7084510402fb) [@bep](https://github.com/bep) 
 +* Consolidate MakeSegment vs MakePathSanitized [e421696d](https://github.com/gohugoio/hugo/commit/e421696d02bfb8764ae57238e211ce0e85e9782e) [@bep](https://github.com/bep) [#4926](https://github.com/gohugoio/hugo/issues/4926)
 +* Render Markdown in figure shortcode "caption" and "attr" params [68181703](https://github.com/gohugoio/hugo/commit/6818170308994b5f01dec7a559f92d6c7c5ca100) [@kaushalmodi](https://github.com/kaushalmodi) 
 +* Re-organize the figure shortcode for better readability [c5279064](https://github.com/gohugoio/hugo/commit/c5279064df9664d6b2ad277e2fba1e4bb3b0f4be) [@kaushalmodi](https://github.com/kaushalmodi) 
 +* Update README & CONTRIBUTING [152cffb1](https://github.com/gohugoio/hugo/commit/152cffb13a237651c2277dc6c2c9e4172d58b3df) [@GregorioMartinez](https://github.com/GregorioMartinez) 
 +* Add custom x-nodejs plugin to support ppc64el and s390x [91f49c07](https://github.com/gohugoio/hugo/commit/91f49c0700dde13e16f42c745584a0bef60c6fe2) [@anthonyfok](https://github.com/anthonyfok) 
 +* Fetch mage with GO111MODULE=off [a475bf12](https://github.com/gohugoio/hugo/commit/a475bf125cd76dacc1bf7ccbcc263a7b59efc510) [@anthonyfok](https://github.com/anthonyfok) 
 +* Use build-snaps instead of building go from source [fa873a6c](https://github.com/gohugoio/hugo/commit/fa873a6cb3f0fa81002fcd725ecd52fc4b9df48f) [@anthonyfok](https://github.com/anthonyfok) 
 +* Skip "mage -v test" due to build failure on Launchpad [52ac85fb](https://github.com/gohugoio/hugo/commit/52ac85fbc4d4066b5e13df454593597df0166262) [@anthonyfok](https://github.com/anthonyfok) 
 +* Move snapcraft.yaml to snap/snapcraft.yaml [27d42111](https://github.com/gohugoio/hugo/commit/27d4211187d4617f4b3afa970f91349567886748) [@anthonyfok](https://github.com/anthonyfok) 
 +* Update the temp docker script [48413d76](https://github.com/gohugoio/hugo/commit/48413d76f44ecfc9b90f9df63974080f6b285667) [@bep](https://github.com/bep) 
 +
 +## Fixes
 +
 +### Templates
 +
 +* Fix baseof.html in error message [646a52a5](https://github.com/gohugoio/hugo/commit/646a52a5c5f52890f2d0270b68ba0f863047484a) [@bep](https://github.com/bep) [#5288](https://github.com/gohugoio/hugo/issues/5288)
 +* Fix handling of different interface types in Slice [10ac2ec4](https://github.com/gohugoio/hugo/commit/10ac2ec4466090957e1f6897906ddeb1e0b13673) [@bep](https://github.com/bep) [#5269](https://github.com/gohugoio/hugo/issues/5269)
 +
 +### Core
 +
 +* Fix test on Windows [083311d0](https://github.com/gohugoio/hugo/commit/083311d0336ced35909b3375950f7817ecf95ed0) [@bep](https://github.com/bep) 
 +* Fix FuzzyWordCount test error message [06d28a46](https://github.com/gohugoio/hugo/commit/06d28a464d086880f52dd850f91e668ab957b31f) [@GregorioMartinez](https://github.com/GregorioMartinez) 
 +
 +### Other
 +
 +* Fix archetype handling of directories in theme [78578632](https://github.com/gohugoio/hugo/commit/78578632f545283741a01f024a6ccedc0b695a30) [@bep](https://github.com/bep) [#5318](https://github.com/gohugoio/hugo/issues/5318)
 +* Simple doc fix in CONTRIBUTING.md [3a308912](https://github.com/gohugoio/hugo/commit/3a3089121b852332b5744d1f566959c8cf93cef4) [@krisbudhram](https://github.com/krisbudhram) 
 +* Fix type checking in Append [2159d77f](https://github.com/gohugoio/hugo/commit/2159d77f368eb1f78e51dd94133554f88052d85f) [@bep](https://github.com/bep) [#5303](https://github.com/gohugoio/hugo/issues/5303)
 +* Fix go plugin build failure by renaming go.mod [3033a9a3](https://github.com/gohugoio/hugo/commit/3033a9a37eb66c08e60f9fe977f29d22bd646857) [@anthonyfok](https://github.com/anthonyfok) 
 +
 +
 +
 +
 +
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..07755a1ab93ff0b5b09bc980441e1b94a999b9ee
new file mode 100644 (file)
Binary files differ
index 3e84ad5a99f5d42ff67b9360acfd37a9bedbb3fc,0000000000000000000000000000000000000000..8590a422cab2aff9356c2b10dd90895f21a86ee9
mode 100644,000000..100644
--- /dev/null
@@@ -1,102 -1,0 +1,102 @@@
- title: "0.51"
- description: "0.51"
 +
 +---
 +date: 2018-11-07
-       Hugo reached [30 000 stars on GitHub](https://github.com/gohugoio/hugo/stargazers) this week, which is a good occasion to do a follow-up release of the great Hugo `0.50`. This is mostly a bug fix release, but it also adds some useful new functionality, two examples are the new template funcs `complement` and `symdiff`. This release also continues the work on improving Hugo's error messages. And with `.Position` now available on shortcodes, you can also improve your own error messages inside your custom shortcodes:
++title: "Hugo 0.51: The 30K Stars Edition!"
++description: "Bug fixes, new template functions and more error improvements."
 +categories: ["Releases"]
 +---
 +
++Hugo reached [30 000 stars on GitHub](https://github.com/gohugoio/hugo/stargazers) this week, which is a good occasion to do a follow-up release of the great Hugo `0.50`. This is mostly a bug fix release, but it also adds some useful new functionality, two examples are the new template funcs [complement](https://gohugo.io/functions/complement/) and [symdiff](https://gohugo.io/functions/symdiff/). This release also continues the work on improving Hugo's error messages. And with `.Position` now available on shortcodes, you can also improve your own error messages inside your custom shortcodes:
 +
 +
 +```bash
 +{{ with .Get "name" }}
 +{{ else }}
 +{{ errorf "missing value for param 'name': %s" .Position }}
 +{{ end }}
 +```
 +
 +When the above fails, you will see an `ERROR` log similar to the below:
 +
 +```bash
 +ERROR 2018/11/07 10:05:55 missing value for param name: "/sites/hugoDocs/content/en/variables/shortcodes.md:32:1"
 +```
 + 
 +This release represents **31 contributions by 5 contributors** to the main Hugo code base.
 +[@bep](https://github.com/bep) leads the Hugo development with a significant amount of contributions, but also a big shoutout to [@krisbudhram](https://github.com/krisbudhram), [@LorenzCK](https://github.com/LorenzCK), and [@coliff](https://github.com/coliff) for their ongoing contributions.
 +And a big thanks to [@digitalcraftsman](https://github.com/digitalcraftsman) and [@onedrawingperday](https://github.com/onedrawingperday) for their relentless work on keeping the themes site in pristine condition and to [@kaushalmodi](https://github.com/kaushalmodi) for his great work on the documentation site.
 +
 +Many have also been busy writing and fixing the documentation in [hugoDocs](https://github.com/gohugoio/hugoDocs), 
 +which has received **6 contributions by 5 contributors**. A special thanks to [@ikemo3](https://github.com/ikemo3), [@maiki](https://github.com/maiki), [@morya](https://github.com/morya), and [@regisphilibert](https://github.com/regisphilibert) for their work on the documentation site.
 +
 +
 +Hugo now has:
 +
 +* 30095+ [stars](https://github.com/gohugoio/hugo/stargazers)
 +* 441+ [contributors](https://github.com/gohugoio/hugo/graphs/contributors)
 +* 276+ [themes](http://themes.gohugo.io/)
 +
 +
 +## Notes
 +
 +* Remove deprecated useModTimeAsFallback [0bc4b024](https://github.com/gohugoio/hugo/commit/0bc4b0246dd6b7d71f8676a52644077a4f70ec8f) [@bep](https://github.com/bep) 
 +* Bump to ERROR for the deprecated Pages.Sort [faeb55c1](https://github.com/gohugoio/hugo/commit/faeb55c1d827f0ea994551a103ff4f7448786d39) [@bep](https://github.com/bep) 
 +* Deprecate .Site.Ref and .Site.RelRef [6c6a6c87](https://github.com/gohugoio/hugo/commit/6c6a6c87ec2b5ac7342e268ab47861429230f7f4) [@bep](https://github.com/bep) [#5386](https://github.com/gohugoio/hugo/issues/5386)
 +
 +## Enhancements
 +
 +### Templates
 +
 +* Properly handle pointer types in complement/symdiff [79a06aa4](https://github.com/gohugoio/hugo/commit/79a06aa4b64b526c242dfa41f2c7bc24e1352d5b) [@bep](https://github.com/bep) 
 +* Add collections.SymDiff [488776b6](https://github.com/gohugoio/hugo/commit/488776b6498d1377718133d42daa87ce1236215d) [@bep](https://github.com/bep) [#5410](https://github.com/gohugoio/hugo/issues/5410)
 +* Add collections.Complement [42d8dfc8](https://github.com/gohugoio/hugo/commit/42d8dfc8c88af03ea926a59bc2332acc70cca5f6) [@bep](https://github.com/bep) [#5400](https://github.com/gohugoio/hugo/issues/5400)
 +
 +### Core
 +
 +* Improve error message on duplicate menu items [3a44920e](https://github.com/gohugoio/hugo/commit/3a44920e79ef86003555d8a4860c29257b2914f0) [@bep](https://github.com/bep) 
 +* Add .Position to shortcode [33a7b36f](https://github.com/gohugoio/hugo/commit/33a7b36fd42ee31dd79115ec6639bed24247332f) [@bep](https://github.com/bep) [#5371](https://github.com/gohugoio/hugo/issues/5371)
 +
 +### Other
 +
 +* Document shortcode error handling [e456e34b](https://github.com/gohugoio/hugo/commit/e456e34bdbde058243eb0a5d3c0017748639e08e) [@bep](https://github.com/bep) 
 +* Document symdiff [5d14d04a](https://github.com/gohugoio/hugo/commit/5d14d04ac678ad24e4946ed2a581ab71b3834def) [@bep](https://github.com/bep) 
 +* Document complement [ddcb4028](https://github.com/gohugoio/hugo/commit/ddcb402859b50193bfd6d8b752b568d26d14f603) [@bep](https://github.com/bep) 
 +* Update minify [d212f609](https://github.com/gohugoio/hugo/commit/d212f60949b6afefbe5aa79394f98dbddf7be068) [@bep](https://github.com/bep) 
 +* Re-generate CLI docs [2998fa0c](https://github.com/gohugoio/hugo/commit/2998fa0cd5bad161b9c802d2409d8c9c81155011) [@bep](https://github.com/bep) 
 +* Add --minify to hugo server [5b1edd28](https://github.com/gohugoio/hugo/commit/5b1edd281a493bdb27af4dc3c8fae7e10dd54830) [@bep](https://github.com/bep) 
 +* Make WARN the new default log log level [4b7d3e57](https://github.com/gohugoio/hugo/commit/4b7d3e57a40214a1269eda59731aa22a8f4463dd) [@bep](https://github.com/bep) [#5203](https://github.com/gohugoio/hugo/issues/5203)
 +* Regenerate the docs helper [486bc46a](https://github.com/gohugoio/hugo/commit/486bc46a5217a9d70fe0d14ab9261d7b4eb026d6) [@bep](https://github.com/bep) 
 +* Skip watcher event files if matched in ignoreFiles [f8446188](https://github.com/gohugoio/hugo/commit/f8446188dbec8378f34f0fea39161a49fcc46083) [@krisbudhram](https://github.com/krisbudhram) 
 +* Update Chroma [d523aa4b](https://github.com/gohugoio/hugo/commit/d523aa4bb03e913f55c2f89544e6112e320c975a) [@bep](https://github.com/bep) [#5392](https://github.com/gohugoio/hugo/issues/5392)
 +* Add file (line/col) info to ref/relref errors [1d18eb05](https://github.com/gohugoio/hugo/commit/1d18eb0574a57c3e9f468659d076a666a3dd76f2) [@bep](https://github.com/bep) [#5371](https://github.com/gohugoio/hugo/issues/5371)
 +* Improve log color regexp [d3a98325](https://github.com/gohugoio/hugo/commit/d3a98325c31d7f02f0762e589a4986e55b2a0da2) [@bep](https://github.com/bep) 
 +* Correct minor typo (#5372) [e65268f2](https://github.com/gohugoio/hugo/commit/e65268f2c2dd5ac54681d3266564901d99ed3ea3) [@coliff](https://github.com/coliff) 
 +
 +## Fixes
 +
 +### Templates
 +
 +* Fix the docshelper [61f210dd](https://github.com/gohugoio/hugo/commit/61f210dd7abe5de77c27dc6a6995a3ad5e77afa1) [@bep](https://github.com/bep) 
 +* Fix BOM issue in templates [3a786a24](https://github.com/gohugoio/hugo/commit/3a786a248d3eff6e732aa94e87d6e88196e5147a) [@bep](https://github.com/bep) [#4895](https://github.com/gohugoio/hugo/issues/4895)
 +
 +### Output
 +
 +* Fix ANSI character output regression on Windows [b8725f51](https://github.com/gohugoio/hugo/commit/b8725f5181f6a2709274a82c1c3fdfd8f2e3e28c) [@LorenzCK](https://github.com/LorenzCK) [#5377](https://github.com/gohugoio/hugo/issues/5377)
 +
 +### Core
 +
 +* Fix changing paginators in lazy render [b8b8436f](https://github.com/gohugoio/hugo/commit/b8b8436fcca17c152e94cae2a1acad32efc3946c) [@bep](https://github.com/bep) [#5406](https://github.com/gohugoio/hugo/issues/5406)
 +* Fix REF_NOT_FOUND logging to include page path [6180c85f](https://github.com/gohugoio/hugo/commit/6180c85fb8f95e01446b74c50cab3f0480305fe4) [@bep](https://github.com/bep) [#5371](https://github.com/gohugoio/hugo/issues/5371)
 +* Fix broken manual summary handling [b2a676f5](https://github.com/gohugoio/hugo/commit/b2a676f5f09a3eea360887b099b9d5fc25a88492) [@bep](https://github.com/bep) [#5381](https://github.com/gohugoio/hugo/issues/5381)
 +* Fix deadlock when content building times out [729593c8](https://github.com/gohugoio/hugo/commit/729593c842794eaf7127050953a5c2256d332051) [@bep](https://github.com/bep) [#5375](https://github.com/gohugoio/hugo/issues/5375)
 +
 +### Other
 +
 +* Fix spelling [47506d16](https://github.com/gohugoio/hugo/commit/47506d164467eb7ddbcada81b767d8df5f9c8786) [@qeesung](https://github.com/qeesung) 
 +* Fix shortcode directly following a shortcode delimiter [d16a7a33](https://github.com/gohugoio/hugo/commit/d16a7a33ff1f22b9fa357189a901a4f1de4e65e7) [@bep](https://github.com/bep) [#5402](https://github.com/gohugoio/hugo/issues/5402)
 +* Fix recently broken error template [2bd9d909](https://github.com/gohugoio/hugo/commit/2bd9d9099db267831731ed2d2200eb09305df9fc) [@bep](https://github.com/bep) 
 +
 +
 +
 +
 +
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..190f5758a5d6b4ee3c9a18c22f0f70cabddd52b0
new file mode 100644 (file)
Binary files differ
index 031e8b5e714ba8cdc6089b4d1483ebf59d712c2f,0000000000000000000000000000000000000000..7fc19e637ea47267501393411e058a5df5d77299
mode 100644,000000..100644
--- /dev/null
@@@ -1,79 -1,0 +1,79 @@@
- title: "0.52"
- description: "0.52"
 +
 +---
 +date: 2018-11-28
-       The two big new items in this release is [Inline Shortcodes](https://gohugo.io//templates/shortcode-templates/#inline-shortcodes) and [Consolidated File Caches](https://gohugo.io//templates/shortcode-templates/getting-started/configuration/#configure-file-caches). In Hugo we really care about build speed, and caching is important. With this release, you get much better control over your cache configuration, which is especially useful when building on a Continous Integration server (Netlify, CircleCI or similar). Inline Shortcodes was implemented to help the Bootstrap project [move their documentation](https://github.com/twbs/bootstrap/issues/24475#issuecomment-441238128) to Hugo. Note that this feature is disabled by default. To enable, set `enableInlineShortcodes = true` in your site config. Worth mentioning is also the new `param` shortcode, which looks up the param in page front matter with the site's parameter as a fall back.
++title: "And Now: Hugo 0.52"
++description: "Configurable file caches, inline shortcodes, and more ..."
 +categories: ["Releases"]
 +---
 +
++The two big new items in this release is [Inline Shortcodes](https://gohugo.io//templates/shortcode-templates/#inline-shortcodes) and [Consolidated File Caches](https://gohugo.io/getting-started/configuration/#configure-file-caches). In Hugo we really care about build speed, and caching is important. With this release, you get much better control over your cache configuration, which is especially useful when building on a Continous Integration server (Netlify, CircleCI or similar). Inline Shortcodes was implemented to help the Bootstrap project [move their documentation site](https://github.com/twbs/bootstrap/issues/24475#issuecomment-441238128) to Hugo. Note that this feature is disabled by default. To enable, set `enableInlineShortcodes = true` in your site config. Worth mentioning is also the new `param` shortcode, which looks up the param in page front matter with the site's parameter as a fall back.
 +
 +This release represents **33 contributions by 7 contributors** to the main Hugo code base.
 +[@bep](https://github.com/bep) leads the Hugo development with a significant amount of contributions, but also a big shoutout to [@moorereason](https://github.com/moorereason), [@emirb](https://github.com/emirb), and [@allizad](https://github.com/allizad) for their ongoing contributions.
 +And a big thanks to [@digitalcraftsman](https://github.com/digitalcraftsman) and [@onedrawingperday](https://github.com/onedrawingperday) for their relentless work on keeping the themes site in pristine condition and to [@kaushalmodi](https://github.com/kaushalmodi) for his great work on the documentation site.
 +
 +Many have also been busy writing and fixing the documentation in [hugoDocs](https://github.com/gohugoio/hugoDocs), 
 +which has received **10 contributions by 4 contributors**. A special thanks to [@budparr](https://github.com/budparr), [@bep](https://github.com/bep), [@allizad](https://github.com/allizad), and [@funkydan2](https://github.com/funkydan2) for their work on the documentation site.
 +
 +Hugo now has:
 +
 +* 30595+ [stars](https://github.com/gohugoio/hugo/stargazers)
 +* 441+ [contributors](https://github.com/gohugoio/hugo/graphs/contributors)
 +* 270+ [themes](http://themes.gohugo.io/)
 +
 +## Enhancements
 +
 +### Templates
 +
 +* Add tests [ed698e94](https://github.com/gohugoio/hugo/commit/ed698e94c12c05bfc392eaca4f0c8442eac64906) [@moorereason](https://github.com/moorereason) 
 +* Regenerate templates [89e2716d](https://github.com/gohugoio/hugo/commit/89e2716d290708ccde0a6f65504c1650c2f41b3d) [@bep](https://github.com/bep) 
 +* Add "param" shortcode [f37c5a25](https://github.com/gohugoio/hugo/commit/f37c5a25676db89c0e804ccaac69bb392758192b) [@bep](https://github.com/bep) [#4010](https://github.com/gohugoio/hugo/issues/4010)
 +* Add float64 support to where [112461fd](https://github.com/gohugoio/hugo/commit/112461fded0d7970817ce7bf476c4763922ad314) [@moorereason](https://github.com/moorereason) [#5466](https://github.com/gohugoio/hugo/issues/5466)
 +
 +### Core
 +
 +* Fall back to title in ByLinkTitle sort [a9a93d08](https://github.com/gohugoio/hugo/commit/a9a93d082d8640684b7fd0076c64ea808ea7f762) [@bep](https://github.com/bep) [#4953](https://github.com/gohugoio/hugo/issues/4953)
 +* Improve nil handling in IsDescendant and IsAncestor [b09a4033](https://github.com/gohugoio/hugo/commit/b09a40333f382cc1034d2eda856230258ab6b8cc) [@bep](https://github.com/bep) [#5461](https://github.com/gohugoio/hugo/issues/5461)
 +
 +### Other
 +
 +* Remove duplicate mapstructure depdendency [7e75aeca](https://github.com/gohugoio/hugo/commit/7e75aeca80aead50d64902d2ff47e4ad4d013352) [@bep](https://github.com/bep) 
 +* Add dependency list to README [e14e0b19](https://github.com/gohugoio/hugo/commit/e14e0b192f39812e3c3d5202d34ee907021412bb) [@bep](https://github.com/bep) 
 +* Document inline shortcodes [aded0f25](https://github.com/gohugoio/hugo/commit/aded0f25fd23a78804b10e127aebe0e4b6fed2ac) [@bep](https://github.com/bep) [#4011](https://github.com/gohugoio/hugo/issues/4011)
 +* Add inline shortcode support [bc337e6a](https://github.com/gohugoio/hugo/commit/bc337e6ab5a75f1f1bfe3a83f3786d0afdb6346c) [@bep](https://github.com/bep) [#4011](https://github.com/gohugoio/hugo/issues/4011)
 +* Include drafts in convert command [dcfeed35](https://github.com/gohugoio/hugo/commit/dcfeed35c6e14c1ce593d23be9d2b89c66ce9bee) [@bep](https://github.com/bep) [#5457](https://github.com/gohugoio/hugo/issues/5457)
 +* Handle themes in the new file cache (for images, assets) [f9b4eb4f](https://github.com/gohugoio/hugo/commit/f9b4eb4f3968d32f45e0168c854e6b0c7f3a90b0) [@bep](https://github.com/bep) [#5460](https://github.com/gohugoio/hugo/issues/5460)
 +* Add tests for permalink on Resource with baseURL with path [12742bac](https://github.com/gohugoio/hugo/commit/12742bac71c65d65dc56548b643debda94757aee) [@bep](https://github.com/bep) [#5226](https://github.com/gohugoio/hugo/issues/5226)
 +* Add a comment about file mode for new files [fabf026f](https://github.com/gohugoio/hugo/commit/fabf026f4937bf6fbbb944aa7d6e721839ae4c92) [@bep](https://github.com/bep) [#5434](https://github.com/gohugoio/hugo/issues/5434)
 +* Add a :project placeholder [94f0f7e5](https://github.com/gohugoio/hugo/commit/94f0f7e59788e802e706a55cac0d52a9e70ff745) [@bep](https://github.com/bep) [#5439](https://github.com/gohugoio/hugo/issues/5439)
 +* Add a cache prune func [3c29c5af](https://github.com/gohugoio/hugo/commit/3c29c5af8ee865ef20741f576088e031e940c3d2) [@bep](https://github.com/bep) [#5439](https://github.com/gohugoio/hugo/issues/5439)
 +* Add a filecache root dir [33502667](https://github.com/gohugoio/hugo/commit/33502667fbacf57167ede66df8f13e308a4a9aec) [@bep](https://github.com/bep) 
 +* Use time.Duration for maxAge [d3489eba](https://github.com/gohugoio/hugo/commit/d3489eba5dfc0ecdc032016d9db0746213dd5f0e) [@bep](https://github.com/bep) [#5438](https://github.com/gohugoio/hugo/issues/5438)
 +* Split implementation and config into separate files [17d7ecde](https://github.com/gohugoio/hugo/commit/17d7ecde2b261d2ab29049d12361b66504e3f995) [@bep](https://github.com/bep) 
 +* Update to LibSASS 3.5.5 [e4b25728](https://github.com/gohugoio/hugo/commit/e4b2572880550a997d51dab3b198dac1fd642690) [@bep](https://github.com/bep) [#5432](https://github.com/gohugoio/hugo/issues/5432)[#5435](https://github.com/gohugoio/hugo/issues/5435)
 +* More spelling corrections [782dd158](https://github.com/gohugoio/hugo/commit/782dd15858128d8dfe78970c86e543b6590a004c) [@bep](https://github.com/bep) 
 +* Spelling corrections [aff9c091](https://github.com/gohugoio/hugo/commit/aff9c091669a022b59f493c9dccf72be29511299) [@bep](https://github.com/bep) 
 +* Remove appveyor [fdd4a768](https://github.com/gohugoio/hugo/commit/fdd4a768f053b21271d4520bf0d43baf62d516da) [@bep](https://github.com/bep) 
 +* Document the new file cache [abeeff13](https://github.com/gohugoio/hugo/commit/abeeff1325267f8d8f1f66f0ec4ed175ffc140ad) [@bep](https://github.com/bep) [#5404](https://github.com/gohugoio/hugo/issues/5404)
 +* Add a consolidated file cache [f7aeaa61](https://github.com/gohugoio/hugo/commit/f7aeaa61291dd75f92901bcbeecc7fce07a28dec) [@bep](https://github.com/bep) [#5404](https://github.com/gohugoio/hugo/issues/5404)
 +* Add Windows build config to Travis [7d78a2af](https://github.com/gohugoio/hugo/commit/7d78a2afd3c4a6c4af77a4ddcbd2a82f15986048) [@emirb](https://github.com/emirb) 
 +* Add Elasticsearch/bonsai.io to services doc. [c0b3a1af](https://github.com/gohugoio/hugo/commit/c0b3a1af0354e3aa9979cc00ae8630d7f0be63dc) [@allizad](https://github.com/allizad) 
 +
 +## Fixes
 +
 +### Templates
 +
 +* Fix whitespace issue [aba2647c](https://github.com/gohugoio/hugo/commit/aba2647c152ffff927f42523b77ee6651630cd67) [@max-arnold](https://github.com/max-arnold) 
 +* Fix test to pass with gccgo [a8cb1b07](https://github.com/gohugoio/hugo/commit/a8cb1b07b4cf7fcf0e949657cb03c1a4838f975e) [@ianlancetaylor](https://github.com/ianlancetaylor) 
 +
 +### Other
 +
 +* Fix handling of commented out front matter [7540a628](https://github.com/gohugoio/hugo/commit/7540a62834d4465af8936967e430a9e05a1e1359) [@bep](https://github.com/bep) [#5478](https://github.com/gohugoio/hugo/issues/5478)
 +* Fix when only shortcode and then summary [94ab125b](https://github.com/gohugoio/hugo/commit/94ab125b27a29a65e5ea45efd99dd247084b4c37) [@bep](https://github.com/bep) [#5464](https://github.com/gohugoio/hugo/issues/5464)
 +* Fix ignored --config flag with 'new' command [e82b2dc8](https://github.com/gohugoio/hugo/commit/e82b2dc8c1628f2da33e5fb0bae1b03e0594ad2c) [@krisbudhram](https://github.com/krisbudhram) 
 +* Fix Permalink for resource, baseURL with path and canonifyURLs set [5df2b79d](https://github.com/gohugoio/hugo/commit/5df2b79dd2734e9a00ed1692328f58c385676468) [@bep](https://github.com/bep) [#5226](https://github.com/gohugoio/hugo/issues/5226)
 +
 +
 +
 +
 +
index 4969a4f33c1b3c32f1bc57e49a724d969a4601a0,0000000000000000000000000000000000000000..c853cfbd41f2741b9451d2faa7f26636a873c658
mode 100644,000000..100644
--- /dev/null
@@@ -1,115 -1,0 +1,115 @@@
- {{< directoryindex path="/themes/gohugoioTheme/static/dist" pathURL="/css" >}}
 +---
 +title: Local File Templates
 +linktitle: Local File Templates
 +description: Hugo's `readerDir` and `readFile` functions make it easy to traverse your project's directory structure and write file contents to your templates.
 +godocref: https://golang.org/pkg/os/#FileInfo
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +categories: [templates]
 +keywords: [files,directories]
 +menu:
 +  docs:
 +    parent: "templates"
 +    weight: 110
 +weight: 110
 +sections_weight: 110
 +draft: false
 +aliases: [/extras/localfiles/,/templates/local-files/]
 +toc: true
 +---
 +
 +## Traverse Local Files
 +
 +With Hugo's [`readDir`][readDir] and [`readFile`][readFile] template functions, you can traverse your website's files on your server.
 +
 +## Use `readDir`
 +
 +The [`readDir` function][readDir] returns an array of [`os.FileInfo`][osfileinfo]. It takes the file's `path` as a single string argument. This path can be to any directory of your website (i.e., as found on your server's file system).
 +
 +Whether the path is absolute or relative does not matter because---at least for `readDir`---the root of your website (typically `./public/`) in effect becomes both:
 +
 +1. The file system root
 +2. The current working directory
 +
 +### `readDir` Example: List Directory Files
 +
 +This shortcode creates a link to each of the files in a directory---display as the file's basename---along with the file's size in bytes.
 +
 +{{< code file="layouts/shortcodes/directoryindex.html" download="directoryindex.html" >}}
 +{{< readfile file="/themes/gohugoioTheme/layouts/shortcodes/directoryindex.html" >}}
 +{{< /code >}}
 +
 +You can then call the shortcode as follows inside of your content's markup:
 +
 +```
 +{{</* directoryindex path="/static/css" pathURL="/css" */>}}
 +```
 +
 +The above shortcode [is part of the code for the Hugo docs][dirindex]. Here it lists this site's CSS files:
 +
++{{< directoryindex path="/themes/gohugoioTheme/static" pathURL="/css" >}}
 +
 +{{% note "Slashes are Important" %}}
 +The initial slash `/` in `pathURL` is important in the `directoryindex` shortcode. Otherwise, `pathURL` becomes relative to the current web page.
 +{{% /note %}}
 +
 +## Use `readFile`
 +
 +The [`readfile` function][readFile] reads a file from disk and converts it into a string to be manipulated by other Hugo functions or added as-is. `readFile` takes the file, including path, as an argument passed to the function.
 +
 +To use the `readFile` function in your templates, make sure the path is relative to your *Hugo project's root directory*:
 +
 +```
 +{{ readFile "/content/templates/local-file-templates" }}
 +```
 +
 +### `readFile` Example: Add a Project File to Content
 +
 +As `readFile` is a function, it is only available to you in your templates and not your content. However, we can create a simple [shortcode template][sct] that calls `readFile`, passes the first argument through the function, and then allows an optional second argument to send the file through the Blackfriday markdown processor. The pattern for adding this shortcode to your content will be as follows:
 +
 +```
 +{{</* readfile file="/path/to/local/file.txt" markdown="true" */>}}
 +```
 +
 +{{% warning %}}
 +If you are going to create [custom shortcodes](/templates/shortcode-templates/) with `readFile` for a theme, note that usage of the shortcode will refer to the project root and *not* your `themes` directory.
 +{{% /warning %}}
 +
 +Here is the templating for our new `readfile` shortcode:
 +
 +{{< code file="layouts/shortcodes/readfile.html" download="readfile.html" >}}
 +{{< readfile file="/themes/gohugoioTheme/layouts/shortcodes/readfile.html">}}
 +{{< /code >}}
 +
 +This `readfile` shortcode is [also part of the Hugo docs][readfilesource]. So is [`testing.txt`][testfile], which we will call in this example by passing it into our new `readfile` shortcode as follows:
 +
 +```
 +{{</* readfile file="/content/en/readfiles/testing.txt" */>}}
 +```
 +
 +The output "string" for this shortcode declaration will be the following:
 +
 +```
 +{{< readfile file="/content/en/readfiles/testing.txt" >}}
 +```
 +
 +However, if we want Hugo to pass this string through Blackfriday, we should add the `markdown="true"` optional parameter:
 +
 +```
 +{{</* readfile file="/content/en/readfiles/testing.txt" markdown="true" */>}}
 +```
 +
 +And here is the result as [called directly in the Hugo docs][] and rendered for display:
 +
 +{{< readfile file="/content/en/readfiles/testing.txt" markdown="true">}}
 +
 +[called directly in the Hugo docs]: https://github.com/gohugoio/hugoDocs/blob/master/content/en/templates/files.md
 +[dirindex]: https://github.com/gohugoio/hugo/blob/master/docs/layouts/shortcodes/directoryindex.html
 +[osfileinfo]: https://golang.org/pkg/os/#FileInfo
 +[readDir]: /functions/readdir/
 +[readFile]: /functions/readfile/
 +[sc]: /content-management/shortcodes/
 +[sct]: /templates/shortcode-templates/
 +[readfilesource]: https://github.com/gohugoio/hugoDocs/blob/master/layouts/shortcodes/readfile.html
 +[testfile]: https://github.com/gohugoio/hugoDocs/blob/master/content/en/readfiles/testing.txt
index 4cb7fb3a548d06fa00a7cb01e325cf0549f100a6,0000000000000000000000000000000000000000..c7b35222cf0cd5f67b21ccaf789f9b1d54427793
mode 100644,000000..100644
--- /dev/null
@@@ -1,165 -1,0 +1,169 @@@
 +---
 +title: Partial Templates
 +linktitle: Partial Templates
 +description: Partials are smaller, context-aware components in your list and page templates that can be used economically to keep your templating DRY.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +categories: [templates]
 +keywords: [lists,sections,partials]
 +menu:
 +  docs:
 +    parent: "templates"
 +    weight: 90
 +weight: 90
 +sections_weight: 90
 +draft: false
 +aliases: [/templates/partial/,/layout/chrome/,/extras/analytics/]
 +toc: true
 +---
 +
 +{{< youtube pjS4pOLyB7c >}}
 +
 +## Partial Template Lookup Order
 +
 +Partial templates---like [single page templates][singletemps] and [list page templates][listtemps]---have a specific [lookup order][]. However, partials are simpler in that Hugo will only check in two places:
 +
 +1. `layouts/partials/*<PARTIALNAME>.html`
 +2. `themes/<THEME>/layouts/partials/*<PARTIALNAME>.html`
 +
 +This allows a theme's end user to copy a partial's contents into a file of the same name for [further customization][customize].
 +
 +## Use Partials in your Templates
 +
 +All partials for your Hugo project are located in a single `layouts/partials` directory. For better organization, you can create multiple subdirectories within `partials` as well:
 +
 +```
 +.
 +└── layouts
 +    └── partials
 +        ├── footer
 +        │   ├── scripts.html
 +        │   └── site-footer.html
 +        ├── head
 +        │   ├── favicons.html
 +        │   ├── metadata.html
 +        │   ├── prerender.html
 +        │   └── twitter.html
 +        └── header
 +            ├── site-header.html
 +            └── site-nav.html
 +```
 +
 +All partials are called within your templates using the following pattern:
 +
 +```
 +{{ partial "<PATH>/<PARTIAL>.html" . }}
 +```
 +
 +{{% note %}}
 +One of the most common mistakes with new Hugo users is failing to pass a context to the partial call. In the pattern above, note how "the dot" (`.`) is required as the second argument to give the partial context. You can read more about "the dot" in the [Hugo templating introduction](/templates/introduction/).
 +{{% /note %}}
 +
++{{% note %}}
++`<PARTIAL>` including `baseof` is reserved. ([#5373](https://github.com/gohugoio/hugo/issues/5373))
++{{% /note %}}
++
 +As shown in the above example directory structure, you can nest your directories within `partials` for better source organization. You only need to call the nested partial's path relative to the `partials` directory:
 +
 +```
 +{{ partial "header/site-header.html" . }}
 +{{ partial "footer/scripts.html" . }}
 +```
 +
 +### Variable Scoping
 +
 +The second argument in a partial call is the variable being passed down. The above examples are passing the `.`, which tells the template receiving the partial to apply the current [context][context].
 +
 +This means the partial will *only* be able to access those variables. The partial is isolated and *has no access to the outer scope*. From within the partial, `$.Var` is equivalent to `.Var`.
 +
 +### Cached Partials
 +
 +The [`partialCached` template function][partialcached] can offer significant performance gains for complex templates that don't need to be re-rendered on every invocation. The simplest usage is as follows:
 +
 +```
 +{{ partialCached "footer.html" . }}
 +```
 +
 +You can also pass additional parameters to `partialCached` to create *variants* of the cached partial.
 +
 +For example, you can tell Hugo to only render the partial `footer.html` once per section:
 +
 +```
 +{{ partialCached "footer.html" . .Section }}
 +```
 +
 +If you need to pass additional parameters to create unique variants, you can pass as many variant parameters as you need:
 +
 +```
 +{{ partialCached "footer.html" . .Params.country .Params.province }}
 +```
 +
 +Note that the variant parameters are not made available to the underlying partial template. They are only use to create a unique cache key.
 +
 +### Example `header.html`
 +
 +The following `header.html` partial template is used for [spf13.com](http://spf13.com/):
 +
 +{{< code file="layouts/partials/header.html" download="header.html" >}}
 +<!DOCTYPE html>
 +<html class="no-js" lang="en-US" prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">
 +<head>
 +    <meta charset="utf-8">
 +
 +    {{ partial "meta.html" . }}
 +
 +    <base href="{{ .Site.BaseURL }}">
 +    <title> {{ .Title }} : spf13.com </title>
 +    <link rel="canonical" href="{{ .Permalink }}">
 +    {{ if .RSSLink }}<link href="{{ .RSSLink }}" rel="alternate" type="application/rss+xml" title="{{ .Title }}" />{{ end }}
 +
 +    {{ partial "head_includes.html" . }}
 +</head>
 +<body lang="en">
 +{{< /code >}}
 +
 +{{% note %}}
 +The `header.html` example partial was built before the introduction of block templates to Hugo. Read more on [base templates and blocks](/templates/base/) for defining the outer chrome or shell of your master templates (i.e., your site's head, header, and footer). You can even combine blocks and partials for added flexibility.
 +{{% /note %}}
 +
 +### Example `footer.html`
 +
 +The following `footer.html` partial template is used for [spf13.com](http://spf13.com/):
 +
 +{{< code file="layouts/partials/footer.html" download="footer.html" >}}
 +<footer>
 +  <div>
 +    <p>
 +    &copy; 2013-14 Steve Francia.
 +    <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons Attribution">Some rights reserved</a>;
 +    please attribute properly and link back. Hosted by <a href="http://servergrove.com">ServerGrove</a>.
 +    </p>
 +  </div>
 +</footer>
 +<script type="text/javascript">
 +
 +  var _gaq = _gaq || [];
 +  _gaq.push(['_setAccount', 'UA-XYSYXYSY-X']);
 +  _gaq.push(['_trackPageview']);
 +
 +  (function() {
 +    var ga = document.createElement('script');
 +    ga.src = ('https:' == document.location.protocol ? 'https://ssl' :
 +        'http://www') + '.google-analytics.com/ga.js';
 +    ga.setAttribute('async', 'true');
 +    document.documentElement.firstChild.appendChild(ga);
 +  })();
 +
 +</script>
 +</body>
 +</html>
 +{{< /code >}}
 +
 +[context]: /templates/introduction/ "The most easily overlooked concept to understand about Go templating is how the dot always refers to the current context."
 +[customize]: /themes/customizing/ "Hugo provides easy means to customize themes as long as users are familiar with Hugo's template lookup order."
 +[listtemps]: /templates/lists/ "To effectively leverage Hugo's system, see how Hugo handles list pages, where content for sections, taxonomies, and the homepage are listed and ordered."
 +[lookup order]: /templates/lookup-order/ "To keep your templating dry, read the documentation on Hugo's lookup order."
 +[partialcached]: /functions/partialcached/ "Use the partial cached function to improve build times in cases where Hugo can cache partials that don't need to be rendered with every page."
 +[singletemps]: /templates/single-page-templates/ "The most common form of template in Hugo is the single content template. Read the docs on how to create templates for individual pages."
 +[themes]: /themes/
index 1c1efc18708b4ff8e673492388a97ea78a97777f,0000000000000000000000000000000000000000..3950472a5b6fc3831c60e07e1fc6865e17f2211a
mode 100644,000000..100644
--- /dev/null
@@@ -1,72 -1,0 +1,72 @@@
- {{% warning "Use Relative Links" %}}
- If you're creating a theme with plans to share it with the community, use relative URLs since users of your theme may not publish from the root of their website. See [relURL](/functions/relurl) and [absURL](/functions/absurl).
 +---
 +title: Create a Theme
 +linktitle: Create a Theme
 +description: The `hugo new theme` command will scaffold the beginnings of a new theme for you to get you on your way.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +categories: [themes]
 +keywords: [themes, source, organization, directories]
 +menu:
 +  docs:
 +    parent: "themes"
 +    weight: 30
 +weight: 30
 +sections_weight: 30
 +draft: false
 +aliases: [/themes/creation/,/tutorials/creating-a-new-theme/]
 +toc: true
 +wip: true
 +---
 +
++{{% warning "Use Absolute Links" %}}
++If you're creating a theme with plans to share it on the [Hugo Themes website](https://themes.gohugo.io/) please note that your theme's demo will be available in a sub-directory of website and for the theme's assets to load properly you will need to create absolute paths in the templates  by using either the [absURL](/functions/absurl) function or `.Permalink`. Also make sure not to use a forward slash `/` in the beginning of a `PATH`, because Hugo will turn it into a relative URL and the `absURL` function will have no effect.
 +{{% /warning %}}
 +
 +Hugo can initialize a new blank theme directory within your existing `themes` using the `hugo new` command:
 +
 +```
 +hugo new theme [name]
 +```
 +
 +## Theme Folders
 +
 +A theme component can provide files in one or more of the following standard Hugo folders:
 +
 +layouts
 +: Templates used to render content in Hugo. Also see [Templates Lookup Order](/templates/lookup-order/).
 +
 +static
 +: Static files, such as logos, CSS and JavaScript.
 +
 +i18n
 +: Language bundles.
 +
 +data
 +: Data files.
 +
 +archetypes
 +: Content templates used in `hugo new`.
 +
 +
 +## Theme Configuration File
 +
 +A theme component can also provide its own [Configuration File](/getting-started/configuration/), e.g. `config.toml`. There are some restrictions to what can be configured in a theme component, and it is not possible to overwrite settings in the project.
 +
 +The following settings can be set:
 +
 +* `params` (global and per language)
 +* `menu` (global and per language)
 +* `outputformats` and `mediatypes`
 +
 +
 +## Theme Description File
 +
 +In addition to the configuration file, a theme can also provide a `theme.toml` file that describes the theme, the author and origin etc. See [Add Your Hugo Theme to the Showcase](/contribute/themes/).
 +
 +
 +{{% note "Use the Hugo Generator Tag" %}}
 +The [`.Hugo.Generator`](/variables/hugo/) tag is included in all themes featured in the [Hugo Themes Showcase](http://themes.gohugo.io). We ask that you include the generator tag in all sites and themes you create with Hugo to help the core team track Hugo's usage and popularity.
 +{{% /note %}}
 +
 +
index 93f330a2806bc1a725e5f499af799e3dfb4820e8,0000000000000000000000000000000000000000..2a6c0296a1814202284101791f3ed7ac86d5f904
mode 100644,000000..100644
--- /dev/null
@@@ -1,32 -1,0 +1,33 @@@
 +---
 +title: Search for your Hugo Website
 +linktitle: Search
 +description: See some of the open-source and commercial search options for your newly created Hugo website.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-26
 +categories: [developer tools]
 +keywords: [search,tools]
 +menu:
 +  docs:
 +    parent: "tools"
 +    weight: 60
 +weight: 60
 +sections_weight: 60
 +draft: false
 +aliases: []
 +toc: true
 +---
 +
 +A static website with a dynamic search function? Yes. As alternatives to embeddable scripts from Google or other search engines, you can provide your visitors a custom search by indexing your content files directly.
 +
 +* [GitHub Gist for Hugo Workflow](https://gist.github.com/sebz/efddfc8fdcb6b480f567). This gist contains a simple workflow to create a search index for your static website. It uses a simple Grunt script to index all your content files and [lunr.js](http://lunrjs.com/) to serve the search results.
 +* [hugo-elasticsearch](https://www.npmjs.com/package/hugo-elasticsearch). Generate [Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html) indexes for Hugo static sites by parsing front matter. Hugo-Elasticsearch will generate a newline delimited JSON (NDJSON) file that can be bulk uploaded into Elasticsearch using any one of the available [clients](https://www.elastic.co/guide/en/elasticsearch/client/index.html).
 +* [hugo-lunr](https://www.npmjs.com/package/hugo-lunr). A simple way to add site search to your static Hugo site using [lunr.js](http://lunrjs.com/). Hugo-lunr will create an index file of any html and markdown documents in your Hugo project.
 +* [hugo-lunr-zh](https://www.npmjs.com/package/hugo-lunr-zh). A bit like Hugo-lunr, but Hugo-lunr-zh can help you separate the Chinese keywords.
 +* [Github Gist for Fuse.js integration](https://gist.github.com/eddiewebb/735feb48f50f0ddd65ae5606a1cb41ae). This gist demonstrates how to leverage Hugo's existing build time processing to generate a searchable JSON index used by [Fuse.js](http://fusejs.io/) on the client side. Although this gist uses Fuse.js for fuzzy matching, any client side search tool capable of reading JSON indexes will work. Does not require npm, grunt or other build-time tools except Hugo!
 +* [hugo-search-index](https://www.npmjs.com/package/hugo-search-index). A library containing Gulp tasks and a prebuilt browser script that implements search. Gulp generates a search index from project markdown files.
 +
 +## Commercial Search Services
 +
 +* [Algolia](https://www.algolia.com/)'s Search API makes it easy to deliver a great search experience in your apps and websites. Algolia Search provides hosted full-text, numerical, faceted, and geolocalized search.
++* [Bonsai](https://www.bonsai.io) is a fully-managed hosted Elasticsearch service that is fast, reliable, and simple to set up. Easily ingest your docs from Hugo into Elasticsearch following [this guide from the docs](https://docs.bonsai.io/docs/hugo).
index ac5376dbd490936f1d8b1e19872b0838602ed567,0000000000000000000000000000000000000000..0a32bc021c8b0056045adc1b8c4a7110e74e6a88
mode 100644,000000..100644
--- /dev/null
@@@ -1,48 -1,0 +1,52 @@@
- [Multilingual]: /content-management/multilingual/
 +---
 +title: File Variables
 +linktitle:
 +description: "You can access filesystem-related data for a content file in the `.File` variable."
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +categories: [variables and params]
 +keywords: [files]
 +draft: false
 +menu:
 +  docs:
 +    parent: "variables"
 +    weight: 40
 +weight: 40
 +sections_weight: 40
 +aliases: [/variables/file-variables/]
 +toc: false
 +---
 +
 +{{% note "Rendering Local Files" %}}
 +For information on creating shortcodes and templates that tap into Hugo's file-related feature set, see [Local File Templates](/templates/files/).
 +{{% /note %}}
 +
 +The `.File` object contains the following fields:
 +
 +.File.Path
 +: the original relative path of the page (e.g., `content/posts/foo.en.md`)
 +
 +.File.LogicalName
 +: the name of the content file that represents a page (e.g., `foo.en.md`)
 +
 +.File.TranslationBaseName
 +: the filename without extension or optional language identifier (e.g., `foo`)
 +
++.File.ContentBaseName 
++: is a either TranslationBaseName or name of containing folder if file is a leaf bundle.
++  
 +.File.BaseFileName
 +: the filename without extension (e.g., `foo.en`)
 +
++
 +.File.Ext
 +: the file extension of the content file (e.g., `md`); this can also be called using `.File.Extension` as well. Note that it is *only* the extension without `.`.
 +
 +.File.Lang
 +: the language associated with the given file if Hugo's [Multilingual features][multilingual] are enabled (e.g., `en`)
 +
 +.File.Dir
 +: given the path `content/posts/dir1/dir2/`, the relative directory path of the content file will be returned (e.g., `posts/dir1/dir2/`)
 +
++[Multilingual]: /content-management/multilingual/
index 95c75dec8787dd18efb1d9a4e6c812d4b595f405,0000000000000000000000000000000000000000..5ef6247d449955d67564876d57fc95b667e983ca
mode 100644,000000..100644
--- /dev/null
@@@ -1,302 -1,0 +1,308 @@@
 +---
 +title: Page Variables
 +linktitle:
 +description: Page-level variables are defined in a content file's front matter, derived from the content's file location, or extracted from the content body itself.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +categories: [variables and params]
 +keywords: [pages]
 +draft: false
 +menu:
 +  docs:
 +    title: "variables defined by a page"
 +    parent: "variables"
 +    weight: 20
 +weight: 20
 +sections_weight: 20
 +aliases: []
 +toc: true
 +---
 +
 +The following is a list of page-level variables. Many of these will be defined in the front matter, derived from file location, or extracted from the content itself.
 +
 +{{% note "`.Scratch`" %}}
 +See [`.Scratch`](/functions/scratch/) for page-scoped, writable variables.
 +{{% /note %}}
 +
 +## Page Variables
 +
 +.AlternativeOutputFormats
 +: contains all alternative formats for a given page; this variable is especially useful `link rel` list in your site's `<head>`. (See [Output Formats](/templates/output-formats/).)
 +
 +.Content
 +: the content itself, defined below the front matter.
 +
 +.Data
 +: the data specific to this type of page.
 +
 +.Date
 +: the date associated with the page; `.Date` pulls from the `date` field in a content's front matter. See also `.ExpiryDate`, `.PublishDate`, and `.Lastmod`.
 +
 +.Description
 +: the description for the page.
 +
 +.Dir
 +: the path of the folder containing this content file. The path is relative to the `content` folder.
 +
 +.Draft
 +: a boolean, `true` if the content is marked as a draft in the front matter.
 +
 +.ExpiryDate
 +: the date on which the content is scheduled to expire; `.ExpiryDate` pulls from the `expirydate` field in a content's front matter. See also `.PublishDate`, `.Date`, and `.Lastmod`.
 +
 +.File
 +: filesystem-related data for this content file. See also [File Variables][].
 +
 +.FuzzyWordCount
 +: the approximate number of words in the content.
 +
 +.Hugo
 +: see [Hugo Variables](/variables/hugo/).
 +
 +.IsHome
 +: `true` in the context of the [homepage](/templates/homepage/).
 +
 +.IsNode
 +: always `false` for regular content pages.
 +
 +.IsPage
 +: always `true` for regular content pages.
 +
 +.IsTranslated
 +: `true` if there are translations to display.
 +
 +.Keywords
 +: the meta keywords for the content.
 +
 +.Kind
 +: the page's *kind*. Possible return values are `page`, `home`, `section`, `taxonomy`, or `taxonomyTerm`. Note that there are also `RSS`, `sitemap`, `robotsTXT`, and `404` kinds, but these are only available during the rendering of each of these respective page's kind and therefore *not* available in any of the `Pages` collections.
 +
 +.Lang
 +: language taken from the language extension notation.
 +
 +.Language
 +: a language object that points to the language's definition in the site
 +`config`.
 +
 +.Lastmod
 +: the date the content was last modified. `.Lastmod` pulls from the `lastmod` field in a content's front matter.
 +
 + - If `lastmod` is not set, and `.GitInfo` feature is disabled, the front matter `date` field will be used.
 + - If `lastmod` is not set, and `.GitInfo` feature is enabled, `.GitInfo.AuthorDate` will be used instead.
 +
 +See also `.ExpiryDate`, `.Date`, `.PublishDate`, and [`.GitInfo`][gitinfo].
 +
 +.LinkTitle
 +: access when creating links to the content. If set, Hugo will use the `linktitle` from the front matter before `title`.
 +
 +.Next (deprecated)
 +: In older Hugo versions this pointer went the wrong direction. Please use `.PrevPage` instead.
 +
 +.NextPage
 +: Pointer to the next [regular page](/variables/site/#site-pages) (sorted by Hugo's [default sort](/templates/lists#default-weight-date-linktitle-filepath)). Example: `{{if .NextPage}}{{.NextPage.Permalink}}{{end}}`.
 +
 +.NextInSection
 +: Pointer to the next [regular page](/variables/site/#site-pages) within the same section. Pages are sorted by Hugo's [default sort](/templates/lists#default-weight-date-linktitle-filepath). Example: `{{if .NextInSection}}{{.NextInSection.Permalink}}{{end}}`.
 +
 +.OutputFormats
 +: contains all formats, including the current format, for a given page. Can be combined the with [`.Get` function](/functions/get/) to grab a specific format. (See [Output Formats](/templates/output-formats/).)
 +
 +.Pages
 +: a collection of associated pages. This value will be `nil` within
 +  the context of regular content pages. See [`.Pages`](#pages).
 +
 +.Permalink
 +: the Permanent link for this page; see [Permalinks](/content-management/urls/)
 +
 +.Plain
 +: the Page content stripped of HTML tags and presented as a string.
 +
 +.PlainWords
 +: the Page content stripped of HTML as a `[]string` using Go's [`strings.Fields`](https://golang.org/pkg/strings/#Fields) to split `.Plain` into a slice.
 +
 +.Prev (deprecated)
 +: In older Hugo versions this pointer went the wrong direction. Please use `.NextPage` instead.
 +
 +.PrevPage
 +: Pointer to the previous [regular page](/variables/site/#site-pages) (sorted by Hugo's [default sort](/templates/lists#default-weight-date-linktitle-filepath)). Example: `{{if .PrevPage}}{{.PrevPage.Permalink}}{{end}}`.
 +
 +.PrevInSection
 +: Pointer to the previous [regular page](/variables/site/#site-pages) within the same section. Pages are sorted by Hugo's [default sort](/templates/lists#default-weight-date-linktitle-filepath). Example: `{{if .PrevInSection}}{{.PrevInSection.Permalink}}{{end}}`.
 +
 +.PublishDate
 +: the date on which the content was or will be published; `.Publishdate` pulls from the `publishdate` field in a content's front matter. See also `.ExpiryDate`, `.Date`, and `.Lastmod`.
 +
 +.RSSLink
 +: link to the taxonomies' RSS link.
 +
 +.RawContent
 +: raw markdown content without the front matter. Useful with [remarkjs.com](
 +http://remarkjs.com)
 +
 +.ReadingTime
 +: the estimated time, in minutes, it takes to read the content.
 +
 +.Ref
 +: returns the permalink for a given reference (e.g., `.Ref "sample.md"`).  `.Ref` does *not* handle in-page fragments correctly. See [Cross References](/content-management/cross-references/).
 +
 +.RelPermalink
 +: the relative permanent link for this page.
 +
 +.RelRef
 +: returns the relative permalink for a given reference (e.g., `RelRef
 +"sample.md"`). `.RelRef` does *not* handle in-page fragments correctly. See [Cross References](/content-management/cross-references/).
 +
 +.Site
 +: see [Site Variables](/variables/site/).
 +
++.Sites
++: returns all sites (languages). A typical use case would be to link back to the main language: `<a href="{{ .Sites.First.Home.RelPermalink }}">...</a>`.
++
++.Sites.First
++: returns the site for the first language. If this is not a multilingual setup, it will return itself.
++
 +.Summary
 +: a generated summary of the content for easily showing a snippet in a summary view. The breakpoint can be set manually by inserting <code>&lt;!&#x2d;&#x2d;more&#x2d;&#x2d;&gt;</code> at the appropriate place in the content page. See [Content Summaries](/content-management/summaries/) for more details.
 +
 +.TableOfContents
 +: the rendered [table of contents](/content-management/toc/) for the page.
 +
 +.Title
 +: the title for this page.
 +
 +.Translations
 +: a list of translated versions of the current page. See [Multilingual Mode](/content-management/multilingual/) for more information.
 +
 +.Truncated
 +: a boolean, `true` if the `.Summary` is truncated. Useful for showing a "Read more..." link only when necessary.  See [Summaries](/content-management/summaries/) for more information.
 +
 +.Type
 +: the [content type](/content-management/types/) of the content (e.g., `post`).
 +
 +.URL
 +: the URL for the page relative to the web root. Note that a `url` set directly in front matter overrides the default relative URL for the rendered page.
 +
 +.UniqueID
 +: the MD5-checksum of the content file's path.
 +
 +.Weight
 +: assigned weight (in the front matter) to this content, used in sorting.
 +
 +.WordCount
 +: the number of words in the content.
 +
 +## Section Variables and Methods
 +
 +Also see [Sections](/content-management/sections/).
 +
 +{{< readfile file="/content/en/readfiles/sectionvars.md" markdown="true" >}}
 +
 +## The `.Pages` Variable {#pages}
 +
 +`.Pages` is an alias to `.Data.Pages`. It is conventional to use the
 +aliased form `.Pages`.
 +
 +### `.Pages` compared to `.Site.Pages`
 +
 +{{< readfile file="/content/en/readfiles/pages-vs-site-pages.md" markdown="true" >}}
 +
 +## Page-level Params
 +
 +Any other value defined in the front matter in a content file, including taxonomies, will be made available as part of the `.Params` variable.
 +
 +```
 +---
 +title: My First Post
 +date: 2017-02-20T15:26:23-06:00
 +categories: [one]
 +tags: [two,three,four]
 +```
 +
 +With the above front matter, the `tags` and `categories` taxonomies are accessible via the following:
 +
 +* `.Params.tags`
 +* `.Params.categories`
 +
 +{{% note "Casing of Params" %}}
 +Page-level `.Params` are *only* accessible in lowercase.
 +{{% /note %}}
 +
 +The `.Params` variable is particularly useful for the introduction of user-defined front matter fields in content files. For example, a Hugo website on book reviews could have the following front matter in `/content/review/book01.md`:
 +
 +```
 +---
 +...
 +affiliatelink: "http://www.my-book-link.here"
 +recommendedby: "My Mother"
 +...
 +---
 +```
 +
 +These fields would then be accessible to the `/themes/yourtheme/layouts/review/single.html` template through `.Params.affiliatelink` and `.Params.recommendedby`, respectively.
 +
 +Two common situations where this type of front matter field could be introduced is as a value of a certain attribute like `href=""` or by itself to be displayed as text to the website's visitors.
 +
 +{{< code file="/themes/yourtheme/layouts/review/single.html" >}}
 +<h3><a href={{ printf "%s" $.Params.affiliatelink }}>Buy this book</a></h3>
 +<p>It was recommended by {{ .Params.recommendedby }}.</p>
 +{{< /code >}}
 +
 +This template would render as follows, assuming you've set [`uglyURLs`](/content-management/urls/) to `false` in your [site `config`](/getting-started/configuration/):
 +
 +{{< output file="yourbaseurl/review/book01/index.html" >}}
 +<h3><a href="http://www.my-book-link.here">Buy this book</a></h3>
 +<p>It was recommended by my Mother.</p>
 +{{< /output >}}
 +
 +{{% note %}}
 +See [Archetypes](/content-management/archetypes/) for consistency of `Params` across pieces of content.
 +{{% /note %}}
 +
 +### The `.Param` Method
 +
 +In Hugo, you can declare params in individual pages and globally for your entire website. A common use case is to have a general value for the site param and a more specific value for some of the pages (i.e., a header image):
 +
 +```
 +{{ $.Param "header_image" }}
 +```
 +
 +The `.Param` method provides a way to resolve a single value according to it's definition in a page parameter (i.e. in the content's front matter) or a site parameter (i.e., in your `config`).
 +
 +### Access Nested Fields in Front Matter
 +
 +When front matter contains nested fields like the following:
 +
 +```
 +---
 +author:
 +  given_name: John
 +  family_name: Feminella
 +  display_name: John Feminella
 +---
 +```
 +`.Param` can access these fields by concatenating the field names together with a dot:
 +
 +```
 +{{ $.Param "author.display_name" }}
 +```
 +
 +If your front matter contains a top-level key that is ambiguous with a nested key, as in the following case:
 +
 +```
 +---
 +favorites.flavor: vanilla
 +favorites:
 +  flavor: chocolate
 +---
 +```
 +
 +The top-level key will be preferred. Therefore, the following method, when applied to the previous example, will print `vanilla` and not `chocolate`:
 +
 +```
 +{{ $.Param "favorites.flavor" }}
 +=> vanilla
 +```
 +
 +[gitinfo]: /variables/git/
 +[File Variables]: /variables/files/
index 42d2eb0c57802690a97efe7be3c0ac60b185528e,0000000000000000000000000000000000000000..310e03bc7efb42216d5911eb9b24288e816c6ce0
mode 100644,000000..100644
--- /dev/null
@@@ -1,31 -1,0 +1,31 @@@
- command = "hugo"
 +[build]
 +publish = "public"
- HUGO_VERSION = "0.49.2"
++command = "hugo --gc --minify"
 +
 +[context.production.environment]
- command = "hugo --enableGitInfo"
++HUGO_VERSION = "0.52"
 +HUGO_ENV = "production"
 +HUGO_ENABLEGITINFO = "true"
 +
 +[context.split1]
- HUGO_VERSION = "0.49.2"
++command = "hugo  --gc --minify --enableGitInfo"
 +
 +[context.split1.environment]
- command = "hugo --buildFuture -b $DEPLOY_PRIME_URL"
++HUGO_VERSION = "0.52"
 +HUGO_ENV = "production"
 +
 +[context.deploy-preview]
- HUGO_VERSION = "0.49.2"
++command = "hugo  --gc --minify --buildFuture -b $DEPLOY_PRIME_URL"
 +
 +[context.deploy-preview.environment]
- command = "hugo -b $DEPLOY_PRIME_URL"
++HUGO_VERSION = "0.52"
 +
 +[context.branch-deploy]
- HUGO_VERSION = "0.49.2"
++command = "hugo  --gc --minify -b $DEPLOY_PRIME_URL"
 +
 +[context.branch-deploy.environment]
++HUGO_VERSION = "0.52"
 +
 +[context.next.environment]
 +HUGO_ENABLEGITINFO = "true"
 +
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..34f938c5325a873ca32742bba331d753710b9ea3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++@font-face{font-family:muli;font-style:normal;font-display:swap;font-weight:200;src:local('Muli Extra Light '),local('Muli-Extra Light'),url(/fonts/muli-latin-200.woff2) format('woff2'),url(/fonts/muli-latin-200.woff) format('woff')}@font-face{font-family:muli;font-style:italic;font-display:swap;font-weight:200;src:local('Muli Extra Light italic'),local('Muli-Extra Lightitalic'),url(/fonts/muli-latin-200italic.woff2) format('woff2'),url(/fonts/muli-latin-200italic.woff) format('woff')}@font-face{font-family:muli;font-style:normal;font-display:swap;font-weight:300;src:local('Muli Light '),local(Muli-Light),url(/fonts/muli-latin-300.woff2) format('woff2'),url(/fonts/muli-latin-300.woff) format('woff')}@font-face{font-family:muli;font-style:italic;font-display:swap;font-weight:300;src:local('Muli Light italic'),local(Muli-Lightitalic),url(/fonts/muli-latin-300italic.woff2) format('woff2'),url(/fonts/muli-latin-300italic.woff) format('woff')}@font-face{font-family:muli;font-style:normal;font-display:swap;font-weight:400;src:local('Muli Regular '),local(Muli-Regular),url(/fonts/muli-latin-400.woff2) format('woff2'),url(/fonts/muli-latin-400.woff) format('woff')}@font-face{font-family:muli;font-style:italic;font-display:swap;font-weight:400;src:local('Muli Regular italic'),local(Muli-Regularitalic),url(/fonts/muli-latin-400italic.woff2) format('woff2'),url(/fonts/muli-latin-400italic.woff) format('woff')}@font-face{font-family:muli;font-style:normal;font-display:swap;font-weight:600;src:local('Muli SemiBold '),local(Muli-SemiBold),url(/fonts/muli-latin-600.woff2) format('woff2'),url(/fonts/muli-latin-600.woff) format('woff')}@font-face{font-family:muli;font-style:italic;font-display:swap;font-weight:600;src:local('Muli SemiBold italic'),local(Muli-SemiBolditalic),url(/fonts/muli-latin-600italic.woff2) format('woff2'),url(/fonts/muli-latin-600italic.woff) format('woff')}@font-face{font-family:muli;font-style:normal;font-display:swap;font-weight:700;src:local('Muli Bold '),local(Muli-Bold),url(/fonts/muli-latin-700.woff2) format('woff2'),url(/fonts/muli-latin-700.woff) format('woff')}@font-face{font-family:muli;font-style:italic;font-display:swap;font-weight:700;src:local('Muli Bold italic'),local(Muli-Bolditalic),url(/fonts/muli-latin-700italic.woff2) format('woff2'),url(/fonts/muli-latin-700italic.woff) format('woff')}@font-face{font-family:muli;font-style:normal;font-display:swap;font-weight:800;src:local('Muli ExtraBold '),local(Muli-ExtraBold),url(/fonts/muli-latin-800.woff2) format('woff2'),url(/fonts/muli-latin-800.woff) format('woff')}@font-face{font-family:muli;font-style:italic;font-display:swap;font-weight:800;src:local('Muli ExtraBold italic'),local(Muli-ExtraBolditalic),url(/fonts/muli-latin-800italic.woff2) format('woff2'),url(/fonts/muli-latin-800italic.woff) format('woff')}@font-face{font-family:muli;font-style:normal;font-display:swap;font-weight:900;src:local('Muli Black '),local(Muli-Black),url(/fonts/muli-latin-900.woff2) format('woff2'),url(/fonts/muli-latin-900.woff) format('woff')}@font-face{font-family:muli;font-style:italic;font-display:swap;font-weight:900;src:local('Muli Black italic'),local(Muli-Blackitalic),url(/fonts/muli-latin-900italic.woff2) format('woff2'),url(/fonts/muli-latin-900italic.woff) format('woff')}/*!TACHYONS v4.7.0 | http://tachyons.io*//*!normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:#0000}b,strong{font-weight:bolder}code{font-family:monospace,monospace;font-size:1em}small{font-size:80%}img{border-style:none}button,input{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}template{display:none}[hidden]{display:none}html,body,div,article,aside,section,main,nav,footer,header,form,fieldset,legend,pre,code,a,h1,h2,h3,h4,h5,h6,p,ul,li,blockquote,figcaption,table,td,th,tr,input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=url]{-webkit-box-sizing:border-box;box-sizing:border-box}img{max-width:100%}.cover{background-size:cover!important}.ba{border-style:solid;border-width:1px}.bt{border-top-style:solid;border-top-width:1px}.br{border-right-style:solid;border-right-width:1px}.bb{border-bottom-style:solid;border-bottom-width:1px}.bl{border-left-style:solid;border-left-width:1px}.bn{border-style:none;border-width:0}@media screen and (min-width:60em){.bl-l{border-left-style:solid;border-left-width:1px}}.b--dark-gray{border-color:#333}.b--mid-gray{border-color:#555}.b--moon-gray{border-color:#ccc}.b--light-gray{border-color:#eee}.b--white-40{border-color:#fff6}.b--black-10{border-color:#0000001a}.b--blue{border-color:#0594cb}.br1{border-radius:.125rem}.br2{border-radius:.25rem}.br3{border-radius:.5rem}.br-100{border-radius:100%}.bw1{border-width:.125rem}.shadow-2{-webkit-box-shadow:0 0 8px 2px #0003;box-shadow:0 0 8px 2px #0003}.shadow-5{-webkit-box-shadow:4px 4px 8px 0 #0003;box-shadow:4px 4px 8px 0 #0003}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.cf:before,.cf:after{content:" ";display:table}.cf:after{clear:both}.cf{*zoom:1}.dn{display:none}.db{display:block}.dib{display:inline-block}@media screen and (min-width:30em){.dib-ns{display:inline-block}}@media screen and (min-width:60em){.dn-l{display:none}.db-l{display:block}.dib-l{display:inline-block}}.flex{display:-webkit-box;display:-ms-flexbox;display:flex}.flex-auto{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0}.flex-none{-webkit-box-flex:0;-ms-flex:none;flex:none}.flex-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.flex-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-nowrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.items-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.items-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.justify-start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.justify-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.order-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}@media screen and (min-width:30em){.flex-ns{display:-webkit-box;display:-ms-flexbox;display:flex}.flex-auto-ns{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0}}@media screen and (min-width:60em){.flex-l{display:-webkit-box;display:-ms-flexbox;display:flex}.order-0-l{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-1-l{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}.fn{float:none}.i{font-style:italic}.b{font-weight:700}.fw2{font-weight:200}.fw4{font-weight:400}.fw7{font-weight:700}.fw8{font-weight:800}.fw9{font-weight:900}.input-reset{-webkit-appearance:none;-moz-appearance:none}.input-reset::-moz-focus-inner{border:0;padding:0}.h1{height:1rem}.h2{height:2rem}.h3{height:4rem}.h4{height:8rem}.h5{height:16rem}.h-100{height:100%}.min-vh-100{min-height:100vh}.tracked{letter-spacing:.1em}.lh-solid{line-height:1}.lh-title{line-height:1.25}.lh-copy{line-height:1.5}.link{text-decoration:none;-webkit-transition:color .15s ease-in;transition:color .15s ease-in}.link:link,.link:visited{-webkit-transition:color .15s ease-in;transition:color .15s ease-in}.link:hover{-webkit-transition:color .15s ease-in;transition:color .15s ease-in}.link:active{-webkit-transition:color .15s ease-in;transition:color .15s ease-in}.link:focus{-webkit-transition:color .15s ease-in;transition:color .15s ease-in;outline:1px dotted currentColor}.list{list-style-type:none}.mw-100{max-width:100%}.mw3{max-width:4rem}.mw5{max-width:16rem}.mw7{max-width:48rem}.mw9{max-width:96rem}@media screen and (min-width:60em){.mw5-l{max-width:16rem}}.w3{width:4rem}.w4{width:8rem}.w5{width:16rem}.w-20{width:20%}.w-70{width:70%}.w-80{width:80%}.w-90{width:90%}.w-100{width:100%}.w-auto{width:auto}@media screen and (min-width:30em){.w4-ns{width:8rem}.w-20-ns{width:20%}.w-50-ns{width:50%}.w-70-ns{width:70%}.w-80-ns{width:80%}.w-90-ns{width:90%}}@media screen and (min-width:30em) and (max-width:60em){.w-50-m{width:50%}}@media screen and (min-width:60em){.w-10-l{width:10%}.w-20-l{width:20%}.w-25-l{width:25%}.w-30-l{width:30%}.w-40-l{width:40%}.w-50-l{width:50%}.w-60-l{width:60%}.w-80-l{width:80%}.w-90-l{width:90%}.w-third-l{width:33.33333%}}.overflow-hidden{overflow:hidden}.overflow-x-scroll{overflow-x:scroll}.static{position:static}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}@media screen and (min-width:60em){.absolute-l{position:absolute}}.o-100{opacity:1}.o-80{opacity:.8}.o-50{opacity:.5}.o-10{opacity:.1}.o-0{opacity:0}.black-70{color:#000000b2}.black-60{color:#0009}.white-90{color:#ffffffe5}.black{color:#000}.near-black{color:#111}.dark-gray{color:#333}.mid-gray{color:#555}.gray{color:#777}.silver{color:#999}.light-silver{color:#aaa}.moon-gray{color:#ccc}.light-gray{color:#eee}.white{color:#fff}.light-green{color:#9eebcf}.blue{color:#0594cb}.bg-black{background-color:#000}.bg-light-gray{background-color:#eee}.bg-near-white{background-color:#f4f4f4}.bg-white{background-color:#fff}.bg-blue{background-color:#0594cb}.hover-black:hover,.hover-black:focus{color:#000}.hover-white:hover,.hover-white:focus{color:#fff}.hover-bg-black:hover,.hover-bg-black:focus{background-color:#000}.hover-bg-gray:hover,.hover-bg-gray:focus{background-color:#777}.hover-bg-light-gray:hover,.hover-bg-light-gray:focus{background-color:#eee}.hover-bg-near-white:hover,.hover-bg-near-white:focus{background-color:#f4f4f4}.hover-blue:hover,.hover-blue:focus{color:#0594cb}.hover-bg-green:hover,.hover-bg-green:focus{background-color:#19a974}.pa0{padding:0}.pa1{padding:.25rem}.pa2{padding:.5rem}.pa3{padding:1rem}.pa4{padding:2rem}.pa5{padding:4rem}.pl0{padding-left:0}.pl1{padding-left:.25rem}.pl2{padding-left:.5rem}.pl3{padding-left:1rem}.pl4{padding-left:2rem}.pr1{padding-right:.25rem}.pr2{padding-right:.5rem}.pr3{padding-right:1rem}.pb1{padding-bottom:.25rem}.pb2{padding-bottom:.5rem}.pb3{padding-bottom:1rem}.pb4{padding-bottom:2rem}.pb5{padding-bottom:4rem}.pb7{padding-bottom:16rem}.pt1{padding-top:.25rem}.pt2{padding-top:.5rem}.pt3{padding-top:1rem}.pt4{padding-top:2rem}.pt5{padding-top:4rem}.pv1{padding-top:.25rem;padding-bottom:.25rem}.pv2{padding-top:.5rem;padding-bottom:.5rem}.pv3{padding-top:1rem;padding-bottom:1rem}.pv4{padding-top:2rem;padding-bottom:2rem}.ph0{padding-left:0;padding-right:0}.ph1{padding-left:.25rem;padding-right:.25rem}.ph2{padding-left:.5rem;padding-right:.5rem}.ph3{padding-left:1rem;padding-right:1rem}.ph4{padding-left:2rem;padding-right:2rem}.ph5{padding-left:4rem;padding-right:4rem}.ma0{margin:0}.ma2{margin:.5rem}.ml0{margin-left:0}.ml1{margin-left:.25rem}.ml4{margin-left:2rem}.ml6{margin-left:8rem}.mr0{margin-right:0}.mr2{margin-right:.5rem}.mr3{margin-right:1rem}.mr4{margin-right:2rem}.mr5{margin-right:4rem}.mb0{margin-bottom:0}.mb1{margin-bottom:.25rem}.mb2{margin-bottom:.5rem}.mb3{margin-bottom:1rem}.mb4{margin-bottom:2rem}.mb5{margin-bottom:4rem}.mb7{margin-bottom:16rem}.mt0{margin-top:0}.mt1{margin-top:.25rem}.mt2{margin-top:.5rem}.mt3{margin-top:1rem}.mt4{margin-top:2rem}.mt5{margin-top:4rem}.mv0{margin-top:0;margin-bottom:0}.mv1{margin-top:.25rem;margin-bottom:.25rem}.mv2{margin-top:.5rem;margin-bottom:.5rem}.mv3{margin-top:1rem;margin-bottom:1rem}.mv4{margin-top:2rem;margin-bottom:2rem}.mv6{margin-top:8rem;margin-bottom:8rem}@media screen and (min-width:30em){.pa4-ns{padding:2rem}.pl4-ns{padding-left:2rem}.pb0-ns{padding-bottom:0}.pb6-ns{padding-bottom:8rem}.pt3-ns{padding-top:1rem}.pt5-ns{padding-top:4rem}.pv0-ns{padding-top:0;padding-bottom:0}.pv4-ns{padding-top:2rem;padding-bottom:2rem}.pv5-ns{padding-top:4rem;padding-bottom:4rem}.pv6-ns{padding-top:8rem;padding-bottom:8rem}.ph4-ns{padding-left:2rem;padding-right:2rem}.ph5-ns{padding-left:4rem;padding-right:4rem}.ml0-ns{margin-left:0}.mb0-ns{margin-bottom:0}.mt0-ns{margin-top:0}.mt4-ns{margin-top:2rem}}@media screen and (min-width:30em) and (max-width:60em){.pa4-m{padding:2rem}.ph5-m{padding-left:4rem;padding-right:4rem}}@media screen and (min-width:60em){.pa4-l{padding:2rem}.pl5-l{padding-left:4rem}.pb5-l{padding-bottom:4rem}.pt0-l{padding-top:0}.pv4-l{padding-top:2rem;padding-bottom:2rem}.pv5-l{padding-top:4rem;padding-bottom:4rem}.ph0-l{padding-left:0;padding-right:0}.ph4-l{padding-left:2rem;padding-right:2rem}.ph5-l{padding-left:4rem;padding-right:4rem}.mr4-l{margin-right:2rem}.mb0-l{margin-bottom:0}.mt0-l{margin-top:0}.mt2-l{margin-top:.5rem}}.nl2{margin-left:-.5rem}.nl3{margin-left:-1rem}.nt3{margin-top:-1rem}.no-underline{text-decoration:none}.tl{text-align:left}.tr{text-align:right}.tc{text-align:center}@media screen and (min-width:30em){.tl-ns{text-align:left}.tr-ns{text-align:right}.tc-ns{text-align:center}}@media screen and (min-width:60em){.tl-l{text-align:left}}.ttu{text-transform:uppercase}.f1{font-size:3rem}.f2{font-size:2.25rem}.f3{font-size:1.5rem}.f4{font-size:1.25rem}.f5{font-size:1rem}.f6{font-size:.875rem}.f7{font-size:.75rem}@media screen and (min-width:30em){.f2-ns{font-size:2.25rem}.f3-ns{font-size:1.5rem}.f5-ns{font-size:1rem}}@media screen and (min-width:60em){.f1-l{font-size:3rem}.f4-l{font-size:1.25rem}}.measure{max-width:30em}.measure-wide{max-width:34em}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media screen and (min-width:60em){.measure-wide-l{max-width:34em}}.center{margin-right:auto;margin-left:auto}.clip{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.nowrap{white-space:nowrap}.pre{white-space:pre}.v-mid{vertical-align:middle}.v-top{vertical-align:top}.dim{opacity:1;-webkit-transition:opacity .15s ease-in;transition:opacity .15s ease-in}.dim:hover,.dim:focus{opacity:.5;-webkit-transition:opacity .15s ease-in;transition:opacity .15s ease-in}.dim:active{opacity:.8;-webkit-transition:opacity .15s ease-out;transition:opacity .15s ease-out}.hide-child .child{opacity:0;-webkit-transition:opacity .15s ease-in;transition:opacity .15s ease-in}.hide-child:hover .child,.hide-child:focus .child,.hide-child:active .child{opacity:1;-webkit-transition:opacity .15s ease-in;transition:opacity .15s ease-in}.grow{-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.grow:hover,.grow:focus{-webkit-transform:scale(1.05);transform:scale(1.05)}.grow:active{-webkit-transform:scale(.90);transform:scale(.90)}.bg-animate,.bg-animate:hover,.bg-animate:focus{-webkit-transition:background-color .15s ease-in-out;transition:background-color .15s ease-in-out}.z-5{z-index:5}.z-999{z-index:999}.nested-copy-line-height p,.nested-copy-line-height ul{line-height:1.5}.nested-list-reset ul{padding-left:0;margin-left:0;list-style-type:none}.nested-img img{width:100%;max-width:100%;display:block}.nested-links a{color:#0594cb;-webkit-transition:color .15s ease-in;transition:color .15s ease-in}.nested-links a:hover,.nested-links a:focus{color:#96ccff;-webkit-transition:color .15s ease-in;transition:color .15s ease-in}.header-link:after{position:relative;left:.5em;opacity:0;font-size:.8em;-moz-transition:opacity .2s ease-in-out .1s;-ms-transition:opacity .2s ease-in-out .1s}h2:hover .header-link,h3:hover .header-link,h4:hover .header-link,h5:hover .header-link,h6:hover .header-link{opacity:1}.animated{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}.animated-delay-1{-webkit-animation-delay:.5s;animation-delay:.5s}.note,.warning{border-left-width:4px;border-left-style:solid;position:relative;border-color:#0594cb;display:block}.note #exclamation-icon,.warning #exclamation-icon{fill:#0594cb;position:absolute;top:35%;left:-12px}.admonition-content{display:block;margin:0;padding:.125em 1em;margin-top:2em;margin-bottom:2em;overflow-x:auto;background-color:#0000000d}.hide-child-menu .child-menu{display:none}.hide-child-menu:hover .child-menu,.hide-child-menu:focus .child-menu,.hide-child-menu:active .child-menu{display:block}.documentation-copy h2{margin-top:3em}.documentation-copy h2.minor{font-size:inherit;margin-top:inherit;border-bottom:none}.searchbox{display:inline-block;position:relative;width:200px;height:32px!important;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;visibility:visible!important}.searchbox .algolia-autocomplete{display:block;width:100%;height:100%}.searchbox__wrapper{width:100%;height:100%;z-index:1;position:relative}.searchbox__input{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:box-shadow .4s ease,background .4s ease;-webkit-transition:background .4s ease,-webkit-box-shadow .4s ease;transition:background .4s ease,-webkit-box-shadow .4s ease;transition:box-shadow .4s ease,background .4s ease;transition:box-shadow .4s ease,background .4s ease,-webkit-box-shadow .4s ease;border:0;border-radius:16px;-webkit-box-shadow:inset 0 0 0 1px #ccc;box-shadow:inset 0 0 0 1px #ccc;background:#fff!important;padding:0;padding-right:26px;padding-left:32px;width:100%;height:100%;vertical-align:middle;white-space:normal;font-size:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbox__input::-webkit-search-cancel-button,.searchbox__input::-webkit-search-decoration,.searchbox__input::-webkit-search-results-button,.searchbox__input::-webkit-search-results-decoration{display:none}.searchbox__input:hover{-webkit-box-shadow:inset 0 0 0 1px #b3b3b3;box-shadow:inset 0 0 0 1px #b3b3b3}.searchbox__input:active,.searchbox__input:focus{outline:0;-webkit-box-shadow:inset 0 0 0 1px #aaa;box-shadow:inset 0 0 0 1px #aaa;background:#fff}.searchbox__input::-webkit-input-placeholder{color:#aaa}.searchbox__input:-ms-input-placeholder{color:#aaa}.searchbox__input::-ms-input-placeholder{color:#aaa}.searchbox__input::placeholder{color:#aaa}.searchbox__submit{position:absolute;top:0;margin:0;border:0;border-radius:16px 0 0 16px;background-color:#0000;padding:0;width:32px;height:100%;vertical-align:middle;text-align:center;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;right:inherit;left:0}.searchbox__submit:before{display:inline-block;margin-right:-4px;height:100%;vertical-align:middle;content:""}.searchbox__submit:active,.searchbox__submit:hover{cursor:pointer}.searchbox__submit:focus{outline:0}.searchbox__submit svg{width:14px;height:14px;vertical-align:middle;fill:#6d7e96}.searchbox__reset{display:block;position:absolute;top:8px;right:8px;margin:0;border:0;background:0 0;cursor:pointer;padding:0;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:#00000080}.searchbox__reset.hide{display:none}.searchbox__reset:focus{outline:0}.searchbox__reset svg{display:block;margin:4px;width:8px;height:8px}.searchbox__input:valid~.searchbox__reset{display:block;-webkit-animation-name:a;animation-name:a;-webkit-animation-duration:.15s;animation-duration:.15s}@-webkit-keyframes a{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes a{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu{right:0!important;left:inherit!important}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu:before{right:48px}.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu{left:0!important;right:inherit!important}.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu:before{left:48px}.algolia-autocomplete .ds-dropdown-menu{top:-6px;border-radius:4px;margin:6px 0 0;padding:0;text-align:left;height:auto;position:relative;background:0 0;border:none;z-index:1;max-width:600px;min-width:500px;-webkit-box-shadow:0 1px 0 0 #0003,0 2px 3px 0 #0000001a;box-shadow:0 1px 0 0 #0003,0 2px 3px 0 #0000001a}.algolia-autocomplete .ds-dropdown-menu:before{display:block;position:absolute;content:"";width:14px;height:14px;background:#fff;z-index:2;top:-7px;border-top:1px solid #d9d9d9;border-right:1px solid #d9d9d9;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);border-radius:2px}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{position:relative;z-index:2;margin-top:8px}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion{cursor:pointer}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion.suggestion-layout-simple,.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion:not(.suggestion-layout-simple) .algolia-docsearch-suggestion--content{background-color:#458ee10d}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{position:relative;border:1px solid #d9d9d9;background:#fff;border-radius:4px;overflow:auto;padding:0 8px 8px}.algolia-autocomplete .ds-dropdown-menu *{-webkit-box-sizing:border-box;box-sizing:border-box}.algolia-autocomplete .algolia-docsearch-suggestion{position:relative;padding:0 8px;background:#fff;color:#02060c;overflow:hidden}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#174d8c;background:#8fbbed1a;padding:.1em .05em}.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight{color:inherit;background:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{padding:0 0 1px;background:inherit;-webkit-box-shadow:inset 0 -2px 0 0 #458ee1cc;box-shadow:inset 0 -2px 0 0 #458ee1cc;color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--content{display:block;float:right;width:70%;position:relative;padding:5.33333px 0 5.33333px 10.66667px;cursor:pointer}.algolia-autocomplete .algolia-docsearch-suggestion--content:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;left:-1px}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{position:relative;border-bottom:1px solid #ddd;display:none;margin-top:8px;padding:4px 0;font-size:1em;color:#33363d}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{width:100%;float:left;padding:8px 0 0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{float:left;width:30%;display:none;padding-left:0;text-align:right;position:relative;padding:5.33333px 10.66667px;color:#a4a7ae;font-size:.9em;word-wrap:break-word}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;right:0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column .algolia-docsearch-suggestion--highlight{background-color:inherit;color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline{display:none}.algolia-autocomplete .algolia-docsearch-suggestion--title{margin-bottom:4px;color:#02060c;font-size:.9em;font-weight:700}.algolia-autocomplete .algolia-docsearch-suggestion--text{display:block;line-height:1.2em;font-size:.85em;color:#63676d}.algolia-autocomplete .algolia-docsearch-suggestion--no-results{width:100%;padding:8px 0;text-align:center;font-size:1.2em}.algolia-autocomplete .algolia-docsearch-suggestion--no-results:before{display:none}.algolia-autocomplete .algolia-docsearch-suggestion code{padding:1px 5px;font-size:90%;border:none;color:#222;background-color:#ebebeb;border-radius:3px;font-family:Menlo,Monaco,Consolas,Courier New,monospace}.algolia-autocomplete .algolia-docsearch-suggestion code .algolia-docsearch-suggestion--highlight{background:0 0}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header,.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary .algolia-docsearch-suggestion--subcategory-column{display:block}.algolia-autocomplete .suggestion-layout-simple.algolia-docsearch-suggestion{border-bottom:1px solid #eee;padding:8px;margin:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content{width:100%;padding:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content:before{display:none}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header{margin:0;padding:0;display:block;width:100%;border:none}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl0,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1{opacity:.6;font-size:.85em}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1:before{background-image:url(data:image/svg+xml;utf8;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAyMCAzOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMS40OSA0LjMxbDE0IDE2LjEyNi4wMDItMi42MjQtMTQgMTYuMDc0LTEuMzE0IDEuNTEgMy4wMTcgMi42MjYgMS4zMTMtMS41MDggMTQtMTYuMDc1IDEuMTQyLTEuMzEzLTEuMTQtMS4zMTMtMTQtMTYuMTI1TDMuMi4xOC4xOCAyLjhsMS4zMSAxLjUxeiIgZmlsbC1ydWxlPSJldmVub2RkIiBmaWxsPSIjMWQzNjU3IiAvPjwvc3ZnPg==);content:"";width:10px;height:10px;display:inline-block}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--wrapper{width:100%;float:left;margin:0;padding:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--duplicate-content,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--subcategory-column,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--subcategory-inline{display:none!important}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title{margin:0;color:#458ee1;font-size:.9em;font-weight:400}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title:before{content:"#";font-weight:700;color:#458ee1;display:inline-block}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text{margin:4px 0 0;display:block;line-height:1.4em;padding:5.33333px 8px;background:#f8f8f8;font-size:.85em;opacity:.8}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{color:#3f4145;font-weight:700;-webkit-box-shadow:none;box-shadow:none}.algolia-autocomplete .algolia-docsearch-footer{width:110px;height:20px;z-index:3;margin-top:10.66667px;float:right;font-size:0;line-height:0}.algolia-autocomplete .algolia-docsearch-footer--logo{background-image:url(data:image/svg+xml;utf8;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTMwIDE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxsaW5lYXJHcmFkaWVudCB4MT0iLTM2Ljg2OCUiIHkxPSIxMzQuOTM2JSIgeDI9IjEyOS40MzIlIiB5Mj0iLTI3LjclIiBpZD0iYSI+PHN0b3Agc3RvcC1jb2xvcj0iJTIzMDBhZWZmIiBvZmZzZXQ9IjAiLz48c3RvcCBzdG9wLWNvbG9yPSIlMjMzMzY5ZTciIG9mZnNldD0iMTAwJSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0iTTU5LjM5OS4wMjJoMTMuMjk5YTIuMzcyIDIuMzcyLjAgMCAxIDIuMzc3IDIuMzY0VjE1LjYyYTIuMzcyIDIuMzcyLjAgMCAxLTIuMzc3IDIuMzY0SDU5LjM5OWEyLjM3MiAyLjM3Mi4wIDAgMS0yLjM3Ny0yLjM2NFYyLjM4MUEyLjM2OCAyLjM2OC4wIDAgMSA1OS4zOTkuMDIyeiIgZmlsbD0idXJsKCUyM2EpIi8+PHBhdGggZD0iTTY2LjI1NyA0LjU2Yy0yLjgxNS4wLTUuMSAyLjI3Mi01LjEgNS4wNzguMCAyLjgwNiAyLjI4NCA1LjA3MiA1LjEgNS4wNzIgMi44MTUuMCA1LjEtMi4yNzIgNS4xLTUuMDc4LjAtMi44MDYtMi4yNzktNS4wNzItNS4xLTUuMDcyem0wIDguNjUyYy0xLjk4My4wLTMuNTkzLTEuNjAyLTMuNTkzLTMuNTc0LjAtMS45NzIgMS42MS0zLjU3NCAzLjU5My0zLjU3NCAxLjk4My4wIDMuNTkzIDEuNjAyIDMuNTkzIDMuNTc0YTMuNTgyIDMuNTgyLjAgMCAxLTMuNTkzIDMuNTc0em0wLTYuNDE4djIuNjY0YzAgLjA3Ni4wODIuMTMxLjE1My4wOTNsMi4zNzctMS4yMjZjLjA1NS0uMDI3LjA3MS0uMDkzLjA0NC0uMTQ3YTIuOTYgMi45Ni4wIDAgMC0yLjQ2NS0xLjQ4N2MtLjA1NS4wLS4xMS4wNDQtLjExLjEwNGwuMDAxLS4wMDF6bS0zLjMzLTEuOTU2LS4zMTItLjMxMWEuNzgzLjc4My4wIDAgMC0xLjEwNi4wbC0uMzcyLjM3YS43NzMuNzczLjAgMCAwIDAgMS4xMDFsLjMwNy4zMDVjLjA0OS4wNDkuMTIxLjAzOC4xNjQtLjAxMS4xODEtLjI0NS4zNzgtLjQ3OS41OTctLjY5Ny4yMjUtLjIyMy40NTUtLjQyLjcwNy0uNTk5LjA1NS0uMDMzLjA2LS4xMDkuMDE2LS4xNThoLS4wMDF6bTUuMDAxLS44MDZ2LS42MTZhLjc4MS43ODEuMCAwIDAtLjc4My0uNzc5aC0xLjgyNGEuNzguNzguMCAwIDAtLjc4My43Nzl2LjYzMmMwIC4wNzEuMDY2LjEyLjEzNy4xMDRhNS43MzYgNS43MzYuMCAwIDEgMS41ODgtLjIyM2MuNTIuMCAxLjAzNS4wNzEgMS41MzQuMjA3YS4xMDYuMTA2LjAgMCAwIC4xMzEtLjEwNHoiIGZpbGw9IiUyM2ZmZiIvPjxwYXRoIGQ9Ik0xMDIuMTYyIDEzLjc2MmMwIDEuNDU1LS4zNzIgMi41MTctMS4xMjMgMy4xOTMtLjc1LjY3Ni0xLjg5NSAxLjAxMy0zLjQ0IDEuMDEzLS41NjQuMC0xLjczNi0uMTA5LTIuNjczLS4zMTZsLjM0NS0xLjY4OWMuNzgzLjE2MyAxLjgxOS4yMDcgMi4zNjEuMjA3Ljg2LjAgMS40NzMtLjE3NCAxLjg0LS41MjMuMzY3LS4zNDkuNTQ4LS44NjYuNTQ4LTEuNTUzdi0uMzQ5YTYuMzc0IDYuMzc0LjAgMCAxLS44MzguMzE2IDQuMTUxIDQuMTUxLjAgMCAxLTEuMTk0LjE1OCA0LjUxNSA0LjUxNS4wIDAgMS0xLjYxNi0uMjc4IDMuMzg1IDMuMzg1LjAgMCAxLTEuMjU0LS44MTcgMy43NDQgMy43NDQuMCAwIDEtLjgxMS0xLjM1MWMtLjE5Mi0uNTM5LS4yOS0xLjUwNC0uMjktMi4yMTIuMC0uNjY1LjEwNC0xLjQ5OC4zMDctMi4wNTRhMy45MjUgMy45MjUuMCAwIDEgLjkwNC0xLjQzMyA0LjEyNCA0LjEyNC4wIDAgMSAxLjQ0MS0uOTI2IDUuMzEgNS4zMS4wIDAgMSAxLjk0NS0uMzY1Yy42OTYuMCAxLjMzNy4wODcgMS45NjEuMTkxYTE1Ljg2IDE1Ljg2LjAgMCAxIDEuNTg4LjMzMnY4LjQ1NmgtLjAwMXptLTUuOTU0LTQuMjA2YzAgLjg5My4xOTcgMS44ODUuNTkyIDIuMjk5LjM5NC40MTQuOTA0LjYyMSAxLjUyOC42MjEuMzQuMC42NjMtLjA0OS45NjQtLjE0MmEyLjc1IDIuNzUuMCAwIDAgLjczNC0uMzMydi01LjI5YTguNTMxIDguNTMxLjAgMCAwLTEuNDEzLS4xOGMtLjc3OC0uMDIyLTEuMzY5LjI5NC0xLjc4Ni44MDEtLjQxMS41MDctLjYxOSAxLjM5NS0uNjE5IDIuMjIzem0xNi4xMi4wYzAgLjcxOS0uMTA0IDEuMjY0LS4zMTggMS44NThhNC4zODkgNC4zODkuMCAwIDEtLjkwNCAxLjUyYy0uMzg5LjQyLS44NTQuNzQ2LTEuNDAyLjk3NS0uNTQ4LjIyOS0xLjM5MS4zNi0xLjgxMy4zNi0uNDIyLS4wMDUtMS4yNi0uMTI1LTEuODAyLS4zNmE0LjA4OCA0LjA4OC4wIDAgMS0xLjM5Ny0uOTc1IDQuNDg2IDQuNDg2LjAgMCAxLS45MDktMS41MiA1LjAzNyA1LjAzNy4wIDAgMS0uMzI5LTEuODU4YzAtLjcxOS4wOTktMS40MTEuMzE4LTEuOTk5LjIxOS0uNTg4LjUyNi0xLjA5LjkyLTEuNTA5LjM5NC0uNDIuODY1LS43NDEgMS40MDItLjk3YTQuNTQ3IDQuNTQ3LjAgMCAxIDEuNzg2LS4zMzggNC42OSA0LjY5LjAgMCAxIDEuNzkxLjMzOGMuNTQ4LjIyOSAxLjAxOS41NSAxLjQwMi45Ny4zODkuNDIuNjkuOTIxLjkwOSAxLjUwOS4yMy41ODguMzQ1IDEuMjguMzQ1IDEuOTk5aC4wMDF6bS0yLjE5MS4wMDVjMC0uOTIxLS4yMDMtMS42ODktLjU5Ny0yLjIyMy0uMzk0LS41MzktLjk0OC0uODA2LTEuNjU0LS44MDYtLjcwNy4wLTEuMjYuMjY3LTEuNjU0LjgwNi0uMzk0LjUzOS0uNTg2IDEuMzAyLS41ODYgMi4yMjMuMC45MzIuMTk3IDEuNTU4LjU5MiAyLjA5OC4zOTQuNTQ1Ljk0OC44MTIgMS42NTQuODEyLjcwNy4wIDEuMjYtLjI3MiAxLjY1NC0uODEyLjM5NC0uNTQ1LjU5Mi0xLjE2Ni41OTItMi4wOThoLS4wMDF6bTYuOTYyIDQuNzA3Yy0zLjUxMS4wMTYtMy41MTEtMi44MjItMy41MTEtMy4yNzRMMTEzLjU4My45MjZsMi4xNDItLjMzOHYxMC4wMDNjMCAuMjU2LjAgMS44OCAxLjM3NSAxLjg4NXYxLjc5MmgtLjAwMXptMy43NzQuMGgtMi4xNTNWNS4wNzJsMi4xNTMtLjMzOHY5LjUzNHptLTEuMDc5LTEwLjU0MmMuNzE4LjAgMS4zMDQtLjU3OCAxLjMwNC0xLjI5MS4wLS43MTQtLjU4MS0xLjI5MS0xLjMwNC0xLjI5MS0uNzIzLjAtMS4zMDQuNTc4LTEuMzA0IDEuMjkxLjAuNzE0LjU4NiAxLjI5MSAxLjMwNCAxLjI5MXptNi40MzEgMS4wMTNjLjcwNy4wIDEuMzA0LjA4NyAxLjc4Ni4yNjIuNDgyLjE3NC44NzEuNDIgMS4xNTYuNzMuMjg1LjMxMS40ODguNzM1LjYwOCAxLjE4Mi4xMjYuNDQ3LjE4Ni45MzcuMTg2IDEuNDc2djUuNDgxYTI1LjI0IDI1LjI0LjAgMCAxLTEuNDk1LjI1MWMtLjY2OC4wOTgtMS40MTkuMTQ3LTIuMjUxLjE0N2E2LjgyOSA2LjgyOS4wIDAgMS0xLjUxNy0uMTU4IDMuMjEzIDMuMjEzLjAgMCAxLTEuMTc4LS41MDcgMi40NTUgMi40NTUuMCAwIDEtLjc2MS0uOTA0Yy0uMTgxLS4zNy0uMjc0LS44OTMtLjI3NC0xLjQzOC4wLS41MjMuMTA0LS44NTUuMzA3LTEuMjE1LjIwOC0uMzYuNDg3LS42NTQuODM4LS44ODNhMy42MDkgMy42MDkuMCAwIDEgMS4yMjctLjQ5IDcuMDczIDcuMDczLjAgMCAxIDIuMjAyLS4xMDNjLjI2My4wMjcuNTM3LjA3Ni44MzMuMTQ3di0uMzQ5YzAtLjI0NS0uMDI3LS40NzktLjA4OC0uNjk3YTEuNDg2IDEuNDg2LjAgMCAwLS4zMDctLjU4M2MtLjE0OC0uMTY5LS4zNC0uMy0uNTgxLS4zOTJhMi41MzYgMi41MzYuMCAwIDAtLjkxNS0uMTYzYy0uNDkzLjAtLjk0Mi4wNi0xLjM1My4xMzEtLjQxMS4wNzEtLjc1LjE1My0xLjAwOC4yNDVsLS4yNTctMS43NDljLjI2OC0uMDkzLjY2OC0uMTg1IDEuMTgzLS4yNzhhOS4zMzUgOS4zMzUuMCAwIDEgMS42Ni0uMTQybC0uMDAxLS4wMDF6bS4xODEgNy43MzFjLjY1Ny4wIDEuMTQ1LS4wMzggMS40ODQtLjEwNHYtMi4xNjhhNS4wOTcgNS4wOTcuMCAwIDAtMS45NzgtLjEwNGMtLjI0MS4wMzMtLjQ2LjA5OC0uNjUyLjE5MWExLjE2NyAxLjE2Ny4wIDAgMC0uNDY2LjM5MmMtLjEyMS4xNjktLjE3NS4yNjctLjE3NS41MjMuMC41MDEuMTc1Ljc5LjQ5My45ODEuMzIzLjE5Ni43NS4yODkgMS4yOTMuMjg5aC4wMDF6TTg0LjEwOSA0Ljc5NGMuNzA3LjAgMS4zMDQuMDg3IDEuNzg2LjI2Mi40ODIuMTc0Ljg3MS40MiAxLjE1Ni43My4yOS4zMTYuNDg3LjczNS42MDggMS4xODIuMTI2LjQ0Ny4xODYuOTM3LjE4NiAxLjQ3NnY1LjQ4MWEyNS4yNCAyNS4yNC4wIDAgMS0xLjQ5NS4yNTFjLS42NjguMDk4LTEuNDE5LjE0Ny0yLjI1MS4xNDdhNi44MjkgNi44MjkuMCAwIDEtMS41MTctLjE1OCAzLjIxMyAzLjIxMy4wIDAgMS0xLjE3OC0uNTA3IDIuNDU1IDIuNDU1LjAgMCAxLS43NjEtLjkwNGMtLjE4MS0uMzctLjI3NC0uODkzLS4yNzQtMS40MzguMC0uNTIzLjEwNC0uODU1LjMwNy0xLjIxNS4yMDgtLjM2LjQ4Ny0uNjU0LjgzOC0uODgzYTMuNjA5IDMuNjA5LjAgMCAxIDEuMjI3LS40OSA3LjA3MyA3LjA3My4wIDAgMSAyLjIwMi0uMTAzYy4yNTcuMDI3LjUzNy4wNzYuODMzLjE0N3YtLjM0OWMwLS4yNDUtLjAyNy0uNDc5LS4wODgtLjY5N2ExLjQ4NiAxLjQ4Ni4wIDAgMC0uMzA3LS41ODNjLS4xNDgtLjE2OS0uMzQtLjMtLjU4MS0uMzkyYTIuNTM2IDIuNTM2LjAgMCAwLS45MTUtLjE2M2MtLjQ5My4wLS45NDIuMDYtMS4zNTMuMTMxLS40MTEuMDcxLS43NS4xNTMtMS4wMDguMjQ1bC0uMjU3LTEuNzQ5Yy4yNjgtLjA5My42NjgtLjE4NSAxLjE4My0uMjc4YTguODkgOC44OS4wIDAgMSAxLjY2LS4xNDJsLS4wMDEtLjAwMXptLjE4NiA3LjczNmMuNjU3LjAgMS4xNDUtLjAzOCAxLjQ4NC0uMTA0di0yLjE2OGE1LjA5NyA1LjA5Ny4wIDAgMC0xLjk3OC0uMTA0Yy0uMjQxLjAzMy0uNDYuMDk4LS42NTIuMTkxYTEuMTY3IDEuMTY3LjAgMCAwLS40NjYuMzkyYy0uMTIxLjE2OS0uMTc1LjI2Ny0uMTc1LjUyMy4wLjUwMS4xNzUuNzkuNDkzLjk4MS4zMTguMTkxLjc1LjI4OSAxLjI5My4yODloLjAwMXptOC42ODIgMS43MzhjLTMuNTExLjAxNi0zLjUxMS0yLjgyMi0zLjUxMS0zLjI3NEw4OS40NjEuOTI2bDIuMTQyLS4zMzh2MTAuMDAzYzAgLjI1Ni4wIDEuODggMS4zNzUgMS44ODV2MS43OTJoLS4wMDF6IiBmaWxsPSIlMjMxODIzNTkiLz48cGF0aCBkPSJNNS4wMjcgMTEuMDI1YzAgLjY5OC0uMjUyIDEuMjQ2LS43NTcgMS42NDQtLjUwNS4zOTctMS4yMDEuNTk2LTIuMDg5LjU5Ni0uODg4LjAtMS42MTUtLjEzOC0yLjE4MS0uNDE0di0xLjIxNGMuMzU4LjE2OC43MzkuMzAxIDEuMTQxLjM5Ny40MDMuMDk3Ljc3OC4xNDUgMS4xMjUuMTQ1LjUwOC4wLjg4NC0uMDk3IDEuMTI1LS4yOWEuOTQ1Ljk0NS4wIDAgMCAuMzYzLS43NzkuOTc4Ljk3OC4wIDAgMC0uMzMzLS43NDdjLS4yMjItLjIwNC0uNjgtLjQ0Ni0xLjM3NS0uNzI1LS43MTYtLjI5LTEuMjIxLS42MjEtMS41MTUtLjk5NC0uMjk0LS4zNzItLjQ0LS44Mi0uNDQtMS4zNDMuMC0uNjU1LjIzMy0xLjE3MS42OTgtMS41NDcuNDY2LS4zNzYgMS4wOS0uNTY0IDEuODc1LS41NjQuNzUyLjAgMS41LjE2NSAyLjI0NS40OTRsLS40MDggMS4wNDdjLS42OTgtLjI5NC0xLjMyMS0uNDQtMS44NjktLjQ0LS40MTUuMC0uNzMuMDktLjk0NS4yNzFhLjg5Ljg5LjAgMCAwLS4zMjIuNzE3YzAgLjIwNC4wNDMuMzc5LjEyOS41MjQuMDg2LjE0NS4yMjcuMjgyLjQyNC40MTEuMTk3LjEyOS41NTEuMjk5IDEuMDYzLjUxLjU3Ny4yNC45OTkuNDY0IDEuMjY4LjY3MS4yNjkuMjA4LjQ2Ni40NDIuNTkxLjcwNC4xMjUuMjYxLjE4OC41NjkuMTg4LjkyNGwtLjAwMS4wMDJ6bTMuOTggMi4yNGMtLjkyNC4wLTEuNjQ2LS4yNjktMi4xNjctLjgwOC0uNTIxLS41MzktLjc4Mi0xLjI4MS0uNzgyLTIuMjI2LjAtLjk3LjI0Mi0xLjczMy43MjUtMi4yODguNDgzLS41NTUgMS4xNDgtLjgzMyAxLjk5My0uODMzLjc4NC4wIDEuNDA0LjIzOCAxLjg1OC43MTQuNDU1LjQ3Ni42ODIgMS4xMzIuNjgyIDEuOTY2di42ODJINy4zNTdjLjAxOC41NzcuMTc0IDEuMDIuNDY3IDEuMzI5LjI5NC4zMS43MDcuNDY1IDEuMjQxLjQ2NS4zNTEuMC42NzgtLjAzMy45OC0uMDk5YTUuMSA1LjEuMCAwIDAgLjk3NS0uMzN2MS4wMjZhMy44NjUgMy44NjUuMCAwIDEtLjkzNS4zMTIgNS43MjMgNS43MjMuMCAwIDEtMS4wOC4wOTFsLjAwMi0uMDAxem0tLjIzMS01LjE5OWMtLjQwMS4wLS43MjIuMTI3LS45NjQuMzgxcy0uMzg2LjYyNS0uNDMyIDEuMTEyaDIuNjk2Yy0uMDA3LS40OTEtLjEyNS0uODYyLS4zNTQtMS4xMTUtLjIyOS0uMjUyLS41NDQtLjM3OS0uOTQ1LS4zNzlsLS4wMDEuMDAxem03LjY5MiA1LjA5Mi0uMjUyLS44MjdoLS4wNDNjLS4yODYuMzYyLS41NzUuNjA4LS44NjUuNzM5LS4yOS4xMzEtLjY2Mi4xOTYtMS4xMTcuMTk2LS41ODQuMC0xLjAzOS0uMTU4LTEuMzY3LS40NzMtLjMyOC0uMzE1LS40OTEtLjc2MS0uNDkxLTEuMzM3LjAtLjYxMi4yMjctMS4wNzQuNjgyLTEuMzg2LjQ1NS0uMzEyIDEuMTQ4LS40ODIgMi4wNzktLjUxbDEuMDI2LS4wMzJ2LS4zMTdjMC0uMzgtLjA4OS0uNjYzLS4yNjYtLjg1MS0uMTc3LS4xODgtLjQ1Mi0uMjgyLS44MjQtLjI4Mi0uMzA0LjAtLjU5Ni4wNDUtLjg3Ni4xMzRhNi42OCA2LjY4LjAgMCAwLS44MDYuMzE3bC0uNDA4LS45MDJhNC40MTQgNC40MTQuMCAwIDEgMS4wNTgtLjM4NCA0Ljg1NiA0Ljg1Ni4wIDAgMSAxLjA4NS0uMTMyYy43NTYuMCAxLjMyNi4xNjUgMS43MTEuNDk0LjM4NS4zMjkuNTc3Ljg0Ny41NzcgMS41NTJ2NC4wMDJoLS45MDJsLS4wMDEtLjAwMXptLTEuODgtLjg1OWMuNDU4LjAuODI2LS4xMjggMS4xMDQtLjM4NC4yNzgtLjI1Ni40MTYtLjYxNS40MTYtMS4wNzd2LS41MTZsLS43NjMuMDMyYy0uNTk0LjAyMS0xLjAyNy4xMjEtMS4yOTcuMjk4cy0uNDA2LjQ0OC0uNDA2LjgxNGMwIC4yNjUuMDc5LjQ3LjIzNi42MTUuMTU4LjE0NS4zOTQuMjE4LjcwOS4yMThoLjAwMXptNy41NTctNS4xODljLjI1NC4wLjQ2NC4wMTguNjI4LjA1NGwtLjEyNCAxLjE3NmEyLjM4MyAyLjM4My4wIDAgMC0uNTU5LS4wNjRjLS41MDUuMC0uOTE0LjE2NS0xLjIyNy40OTQtLjMxMy4zMjktLjQ3Ljc1Ny0uNDcgMS4yODR2My4xMDVoLTEuMjYyVjcuMjE4aC45ODhsLjE2NyAxLjA0N2guMDY0Yy4xOTctLjM1NC40NTQtLjYzNi43NzEtLjg0M2ExLjgzIDEuODMuMCAwIDEgMS4wMjMtLjMxMmguMDAxem00LjEyNSA2LjE1NWMtLjg5OS4wLTEuNTgyLS4yNjItMi4wNDktLjc4Ny0uNDY3LS41MjUtLjcwMS0xLjI3Ny0uNzAxLTIuMjU5LjAtLjk5OS4yNDQtMS43NjcuNzMzLTIuMzA0LjQ4OS0uNTM3IDEuMTk1LS44MDYgMi4xMTktLjgwNi42MjcuMCAxLjE5MS4xMTYgMS42OTIuMzQ5bC0uMzgxIDEuMDE1Yy0uNTM0LS4yMDgtLjk3NC0uMzEyLTEuMzIxLS4zMTItMS4wMjguMC0xLjU0Mi42ODItMS41NDIgMi4wNDYuMC42NjYuMTI4IDEuMTY2LjM4NCAxLjUwMS4yNTYuMzM1LjYzMS41MDIgMS4xMjUuNTAyYTMuMjMgMy4yMy4wIDAgMCAxLjU5NS0uNDE5djEuMTAxYTIuNTMgMi41My4wIDAgMS0uNzIyLjI4NSA0LjM1NiA0LjM1Ni4wIDAgMS0uOTMyLjA4NnYuMDAyem04LjI3Ny0uMTA3aC0xLjI2OFY5LjUwNmMwLS40NTgtLjA5Mi0uOC0uMjc3LTEuMDI2LS4xODQtLjIyNi0uNDc3LS4zMzgtLjg3OC0uMzM4LS41My4wLS45MTkuMTU4LTEuMTY4LjQ3NS0uMjQ5LjMxNy0uMzczLjg0OC0uMzczIDEuNTkzdjIuOTQ5aC0xLjI2MlY0LjgwMWgxLjI2MnYyLjEyMmMwIC4zNC0uMDIxLjcwNC0uMDY0IDEuMDloLjA4MWExLjc2IDEuNzYuMCAwIDEgLjcxNy0uNjY2Yy4zMDYtLjE1OC42NjMtLjIzNiAxLjA3Mi0uMjM2IDEuNDM5LjAgMi4xNTkuNzI1IDIuMTU5IDIuMTc1djMuODczbC0uMDAxLS4wMDF6bTcuNjQ5LTYuMDQ4Yy43NDEuMCAxLjMxOS4yNjkgMS43MzIuODA2LjQxNC41MzcuNjIgMS4yOTEuNjIgMi4yNjEuMC45NzQtLjIwOSAxLjczMi0uNjI4IDIuMjc1LS40MTkuNTQyLTEuMDAxLjgxNC0xLjc0Ni44MTQtLjc1Mi4wLTEuMzM2LS4yNy0xLjc1MS0uODExaC0uMDg2bC0uMjMxLjcwNGgtLjk0NVY0LjgwMWgxLjI2MnYxLjk4N2wtLjAyMS42NTUtLjAzMi41NTNoLjA1NGMuNDAxLS41OTEuOTkyLS44ODYgMS43NzItLjg4NnptLS4zMjggMS4wMzFjLS41MDguMC0uODc1LjE0OS0xLjA5OC40NDgtLjIyNC4yOTktLjMzOS43OTktLjM0NiAxLjUwMXYuMDg2YzAgLjcyMy4xMTUgMS4yNDcuMzQ0IDEuNTcxLjIyOS4zMjQuNjAzLjQ4NiAxLjEyMy40ODYuNDQ4LjAuNzg3LS4xNzcgMS4wMTgtLjUzMi4yMzEtLjM1NC4zNDYtLjg2Ny4zNDYtMS41MzYuMC0xLjM1LS40NjItMi4wMjUtMS4zODYtMi4wMjVsLS4wMDEuMDAxem0zLjI0NC0uOTI0aDEuMzc1bDEuMjA5IDMuMzY4Yy4xODMuNDguMzA0LjkzMS4zNjUgMS4zNTRoLjA0M2MuMDMyLS4xOTcuMDkxLS40MzYuMTc3LS43MTcuMDg2LS4yODEuNTQxLTEuNjE2IDEuMzY0LTQuMDA0aDEuMzY0bC0yLjU0MSA2LjczYy0uNDYyIDEuMjM1LTEuMjMyIDEuODUzLTIuMzEgMS44NTMtLjI3OS4wLS41NTEtLjAzLS44MTYtLjA5MXYtLjk5OWMuMTkuMDQzLjQwNi4wNjQuNjUuMDY0LjYwOS4wIDEuMDM3LS4zNTMgMS4yODQtMS4wNThsLjIyLS41NTktMi4zODUtNS45NDFoLjAwMXoiIGZpbGw9IiUyMzFkMzY1NyIvPjwvZz48L3N2Zz4=);background-repeat:no-repeat;background-position:50%;background-size:100%;overflow:hidden;text-indent:-9e3px;padding:0!important;width:100%;height:100%;display:block}.overflow-x-scroll{-webkit-overflow-scrolling:touch}.row{-webkit-transition:450ms -webkit-transform;transition:450ms -webkit-transform;transition:450ms transform;transition:450ms transform,450ms -webkit-transform;font-size:0}.tile{-webkit-transition:450ms all;transition:450ms all}.details{background:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.9)),to(rgba(0,0,0,0)));background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,0) 100%);-webkit-transition:450ms opacity;transition:450ms opacity}.tile:hover .details{opacity:1}.row:hover .tile{opacity:.3}.row:hover .tile:hover{opacity:1}.chroma .lntable pre{padding:0;margin:0;border:0}.chroma .lntable pre code{padding:0;margin:0}pre,.pre{overflow-x:auto;overflow-y:hidden;overflow:scroll}code{padding:.2em;margin:0;font-size:85%;background-color:#1b1f230d;border-radius:3px}pre code{display:block;padding:1.5em;font-size:.875rem;line-height:2;overflow-x:auto}pre{background-color:#fff;color:#333;white-space:pre;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;position:relative;border-width:1px;border-color:#ccc;border-style:solid}.highlight pre{background-color:inherit;color:inherit;padding:.5em;font-size:.875rem}.copy:after{content:"Copy"}.copied:after{content:"Copied"}@media screen and (min-width:60em){.full-width,pre.expand:hover{margin-right:-30vw;max-width:100vw}}.code-block .line-numbers-rows{background:#2f3a46;border:none;bottom:-50px;color:#98a4b3;left:-178px;padding:50px 0;top:-50px;width:138px}.code-block .line-numbers-rows>span:before{color:inherit;padding-right:30px}.tab-button{margin-bottom:1px;position:relative;z-index:1;color:#333;border-color:#ccc;outline:none;background-color:#fff}.tab-pane code{background:#f1f2f2;border-radius:0}.tab-pane .chroma{background:0 0;padding:0}.tab-button.active{border-bottom-color:#f1f2f2;background-color:#f1f2f2}.tab-content .tab-pane{display:none}.tab-content .tab-pane.active{display:block}.tab-content .copy,.tab-content .copied{display:none}.tab-content .tab-pane.active+.copy,.tab-content .tab-pane.active+.copied{display:block}.primary-color{color:#0594cb}.bg-primary-color{background-color:#0594cb}.hover-bg-primary-color:hover{background-color:#0594cb}.primary-color-dark{color:#0a1922}.bg-primary-color-dark{background-color:#0a1922}.hover-bg-primary-color-dark:hover{background-color:#0a1922}.primary-color-light{color:#f9f9f9}.bg-primary-color-light{background-color:#f9f9f9}.hover-bg-primary-color-light:hover{background-color:#f9f9f9}.accent-color{color:#ebb951}.bg-accent-color{background-color:#ebb951}.hover-bg-accent-color:hover{background-color:#ebb951}.accent-color-light{color:#ff4088}.hover-accent-color-light:hover{color:#ff4088}.bg-accent-color-light{background-color:#ff4088}.hover-bg-accent-color-light:hover{background-color:#ff4088}.accent-color-dark{color:#33ba91}.bg-accent-color-dark{background-color:#33ba91}.hover-bg-accent-color-dark:hover{background-color:#33ba91}.text-color-primary{color:#373737}.text-on-primary-color{color:#fff}.text-color-secondary{color:#ccc}.text-color-disabled{color:#f7f7f7}.divider-color{color:#f6f6f6}.warn-color{color:red}.nested-links a{color:#0594cb;text-decoration:none}.column-count-2{-webkit-column-count:1;column-count:1}.column-gap-1{-webkit-column-gap:0;column-gap:0}.break-inside-avoid{-webkit-column-break-inside:auto;break-inside:auto}@media screen and (min-width:60em){.column-count-3-l{-webkit-column-count:3;column-count:3}.column-count-2-l{-webkit-column-count:2;column-count:2}.column-gap-1-l{-webkit-column-gap:1;column-gap:1}.break-inside-avoid-l{-webkit-column-break-inside:avoid;break-inside:avoid}}.prose ul,.prose ol{margin-bottom:2em}.prose ul li,.prose ol li{margin-bottom:.5em}.prose li:hover{background-color:#eee}.prose ::selection{background:#0594cb;color:#fff}body{line-height:1.45}p{margin-bottom:1.3em}h1,h2,h3,h4{margin:1.414em 0 .5em;line-height:1.2}h1{margin-top:0;font-size:2.441em}h2{font-size:1.953em}h3{font-size:1.563em}h4{font-size:1.25em}small,.font_small{font-size:.8em}.prose table{width:100%;margin-bottom:3em;border-collapse:collapse;border-spacing:0;font-size:1em;border:1px solid #eee}.prose table th{background-color:#0594cb;border-bottom:1px solid #0594cb;color:#fff;font-weight:400;text-align:left;padding:.375em .5em}.prose table td,.prose table tc{padding:.75em .5em;text-align:left;border-right:1px solid #eee}.prose table tr:nth-child(even){background-color:#eee}dl dt{font-weight:700;font-size:1.125rem}dd{margin:.5em 0 2em;padding:0}.f2-fluid{font-size:2.25rem}@media screen and (min-width:60em){.f2-fluid{font-size:1.25rem;font-size:calc(0.70833rem + 0.83333vw)}}code,.code,pre code,.highlight pre{font-family:inconsolata,Menlo,Monaco,courier new,monospace}.sans-serif{font-family:muli,avenir,helvetica neue,helvetica,ubuntu,roboto,noto,segoe ui,arial,sans-serif}.serif{font-family:Palatino,palatino linotype,palatino lt std,book antiqua,Georgia,serif}.courier{font-family:courier next,courier,monospace}.helvetica{font-family:helvetica neue,helvetica,sans-serif}.avenir{font-family:avenir next,avenir,sans-serif}.athelas{font-family:athelas,georgia,serif}.georgia{font-family:georgia,serif}.times{font-family:times,serif}.bodoni{font-family:bodoni mt,serif}.calisto{font-family:calisto mt,serif}.garamond{font-family:garamond,serif}.baskerville{font-family:baskerville,serif}.pagination{margin:3rem 0}.pagination li{display:inline-block;margin-right:.375rem;font-size:.875rem;margin-bottom:2.5em}.pagination li a{padding:.5rem .625rem;background-color:#fff;color:#333;border:1px solid #ddd;border-radius:3px;text-decoration:none}.pagination li.disabled{display:none}.pagination li.active a:link,.pagination li.active a:active,.pagination li.active a:visited{background-color:#ddd}#TableOfContents ul li ul li ul li{display:none}#TableOfContents ul li{color:#000;display:block;margin-bottom:.375em;line-height:1.375}#TableOfContents ul li a{width:100%;padding:.25em .375em;margin-left:-.375em}#TableOfContents ul li a:hover{background-color:#999;color:#fff}.no-js .needs-js{opacity:0}.js .needs-js{opacity:1;-webkit-transition:opacity .15s ease-in;transition:opacity .15s ease-in}.facebook,.twitter,.instagram,.youtube{fill:#bababa}.facebook:hover{fill:#3b5998}.twitter{fill:#55acee}.twitter:hover{fill:#bababa}.instagram:hover{fill:#e95950}.youtube:hover{fill:#b00}@media(min-width:75em){[data-scrolldir=down] .sticky{position:fixed;top:100px;right:0}[data-scrolldir=up] .sticky{position:fixed;top:100px;right:0}}.fill-current{fill:currentColor}.chroma{background-color:#fff}.chroma .err{color:#a61717;background-color:#e3d2d2}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.chroma .hl{display:block;width:100%;background-color:#ffc}.chroma .lnt{margin-right:.4em;padding:0 .4em}.chroma .ln{margin-right:.4em;padding:0 .4em}.chroma .k{font-weight:700}.chroma .kc{font-weight:700}.chroma .kd{font-weight:700}.chroma .kn{font-weight:700}.chroma .kp{font-weight:700}.chroma .kr{font-weight:700}.chroma .kt{color:#458;font-weight:700}.chroma .na{color:teal}.chroma .nb{color:#999}.chroma .nc{color:#458;font-weight:700}.chroma .no{color:teal}.chroma .ni{color:purple}.chroma .ne{color:#900;font-weight:700}.chroma .nf{color:#900;font-weight:700}.chroma .nn{color:#555}.chroma .nt{color:navy}.chroma .nv{color:teal}.chroma .s{color:#b84}.chroma .sa{color:#b84}.chroma .sb{color:#b84}.chroma .sc{color:#b84}.chroma .dl{color:#b84}.chroma .sd{color:#b84}.chroma .s2{color:#b84}.chroma .se{color:#b84}.chroma .sh{color:#b84}.chroma .si{color:#b84}.chroma .sx{color:#b84}.chroma .sr{color:olive}.chroma .s1{color:#b84}.chroma .ss{color:#b84}.chroma .m{color:#099}.chroma .mb{color:#099}.chroma .mf{color:#099}.chroma .mh{color:#099}.chroma .mi{color:#099}.chroma .il{color:#099}.chroma .mo{color:#099}.chroma .o{font-weight:700}.chroma .ow{font-weight:700}.chroma .c{color:#998;font-style:italic}.chroma .ch{color:#998;font-style:italic}.chroma .cm{color:#998;font-style:italic}.chroma .c1{color:#998;font-style:italic}.chroma .cs{color:#999;font-weight:700;font-style:italic}.chroma .cp{color:#999;font-weight:700}.chroma .cpf{color:#999;font-weight:700}.chroma .gd{color:#000;background-color:#fdd}.chroma .ge{font-style:italic}.chroma .gr{color:#a00}.chroma .gh{color:#999}.chroma .gi{color:#000;background-color:#dfd}.chroma .go{color:#888}.chroma .gp{color:#555}.chroma .gs{font-weight:700}.chroma .gu{color:#aaa}.chroma .gt{color:#a00}.chroma .w{color:#bbb}.nested-blockquote blockquote{border-left:4px solid #0594cb;padding-left:1em}.mw-90{max-width:90%}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7cacd0cbf854981e64391727a6f5df7b30415be1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++{"Target":"output/css/app.min.3d04cd530b6fbca129e24fb79af6692fa64cad11185196c7a800e58b4b3e2f97.css","MediaType":"text/css","Data":{"Integrity":"sha256-PQTNUwtvvKEp4k+3mvZpL6ZMrREYUZbHqADli0s+L5c="}}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3097ec5a6b8409a995fb53cc8fe04cbf0094cce7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,18 @@@
++!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t,n){!function(t,n){var r=function(e,t){"use strict";if(!t.getElementsByClassName)return;var n,r,i=t.documentElement,s=e.Date,o=e.HTMLPictureElement,a=e.addEventListener,c=e.setTimeout,u=e.requestAnimationFrame||c,l=e.requestIdleCallback,h=/^picture$/i,d=["load","error","lazyincluded","_lazyloaded"],f={},p=Array.prototype.forEach,g=function(e,t){return f[t]||(f[t]=new RegExp("(\\s|^)"+t+"(\\s|$)")),f[t].test(e.getAttribute("class")||"")&&f[t]},m=function(e,t){g(e,t)||e.setAttribute("class",(e.getAttribute("class")||"").trim()+" "+t)},v=function(e,t){var n;(n=g(e,t))&&e.setAttribute("class",(e.getAttribute("class")||"").replace(n," "))},y=function(e,t,n){var r=n?"addEventListener":"removeEventListener";n&&y(e,t),d.forEach(function(n){e[r](n,t)})},b=function(e,r,i,s,o){var a=t.createEvent("Event");return i||(i={}),i.instance=n,a.initEvent(r,!s,!o),a.detail=i,e.dispatchEvent(a),a},w=function(t,n){var i;!o&&(i=e.picturefill||r.pf)?(n&&n.src&&!t.getAttribute("srcset")&&t.setAttribute("srcset",n.src),i({reevaluate:!0,elements:[t]})):n&&n.src&&(t.src=n.src)},_=function(e,t){return(getComputedStyle(e,null)||{})[t]},E=function(e,t,n){for(n=n||e.offsetWidth;n<r.minSize&&t&&!e._lazysizesWidth;)n=t.offsetWidth,t=t.parentNode;return n},x=function(){var e,n,r=[],i=[],s=r,o=function(){var t=s;for(s=r.length?i:r,e=!0,n=!1;t.length;)t.shift()();e=!1},a=function(r,i){e&&!i?r.apply(this,arguments):(s.push(r),n||(n=!0,(t.hidden?c:u)(o)))};return a._lsFlush=o,a}(),S=function(e,t){return t?function(){x(e)}:function(){var t=this,n=arguments;x(function(){e.apply(t,n)})}},C=function(e){var t,n,r=function(){t=null,e()},i=function(){var e=s.now()-n;e<99?c(i,99-e):(l||r)(r)};return function(){n=s.now(),t||(t=c(i,99))}};!function(){var t,n={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",errorClass:"lazyerror",autosizesClass:"lazyautosizes",srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:!0,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:!0,ricTimeout:0,throttleDelay:125};for(t in r=e.lazySizesConfig||e.lazysizesConfig||{},n)t in r||(r[t]=n[t]);e.lazySizesConfig=r,c(function(){r.init&&O()})}();var A=function(){var o,u,d,f,E,A,O,T,k,R,M,L,I,D,P=/^img$/i,j=/^iframe$/i,$="onscroll"in e&&!/(gle|ing)bot/.test(navigator.userAgent),H=0,B=0,q=-1,z=function(e){B--,e&&e.target&&y(e.target,z),(!e||B<0||!e.target)&&(B=0)},F=function(e,n){var r,s=e,o="hidden"==_(t.body,"visibility")||"hidden"!=_(e.parentNode,"visibility")&&"hidden"!=_(e,"visibility");for(T-=n,M+=n,k-=n,R+=n;o&&(s=s.offsetParent)&&s!=t.body&&s!=i;)(o=(_(s,"opacity")||1)>0)&&"visible"!=_(s,"overflow")&&(r=s.getBoundingClientRect(),o=R>r.left&&k<r.right&&M>r.top-1&&T<r.bottom+1);return o},U=function(){var e,s,a,c,l,h,d,p,g,m=n.elements;if((f=r.loadMode)&&B<8&&(e=m.length)){s=0,q++,null==I&&("expand"in r||(r.expand=i.clientHeight>500&&i.clientWidth>500?500:370),L=r.expand,I=L*r.expFactor),H<I&&B<1&&q>2&&f>2&&!t.hidden?(H=I,q=0):H=f>1&&q>1&&B<6?L:0;for(;s<e;s++)if(m[s]&&!m[s]._lazyRace)if($)if((p=m[s].getAttribute("data-expand"))&&(h=1*p)||(h=H),g!==h&&(A=innerWidth+h*D,O=innerHeight+h,d=-1*h,g=h),a=m[s].getBoundingClientRect(),(M=a.bottom)>=d&&(T=a.top)<=O&&(R=a.right)>=d*D&&(k=a.left)<=A&&(M||R||k||T)&&(r.loadHidden||"hidden"!=_(m[s],"visibility"))&&(u&&B<3&&!p&&(f<3||q<4)||F(m[s],h))){if(X(m[s]),l=!0,B>9)break}else!l&&u&&!c&&B<4&&q<4&&f>2&&(o[0]||r.preloadAfterLoad)&&(o[0]||!p&&(M||R||k||T||"auto"!=m[s].getAttribute(r.sizesAttr)))&&(c=o[0]||m[s]);else X(m[s]);c&&!l&&X(c)}},K=function(e){var t,n=0,i=r.throttleDelay,o=r.ricTimeout,a=function(){t=!1,n=s.now(),e()},u=l&&o>49?function(){l(a,{timeout:o}),o!==r.ricTimeout&&(o=r.ricTimeout)}:S(function(){c(a)},!0);return function(e){var r;(e=!0===e)&&(o=33),t||(t=!0,(r=i-(s.now()-n))<0&&(r=0),e||r<9?u():c(u,r))}}(U),V=function(e){m(e.target,r.loadedClass),v(e.target,r.loadingClass),y(e.target,W),b(e.target,"lazyloaded")},J=S(V),W=function(e){J({target:e.target})},G=function(e){var t,n=e.getAttribute(r.srcsetAttr);(t=r.customMedia[e.getAttribute("data-media")||e.getAttribute("media")])&&e.setAttribute("media",t),n&&e.setAttribute("srcset",n)},Q=S(function(e,t,n,i,s){var o,a,u,l,f,g;(f=b(e,"lazybeforeunveil",t)).defaultPrevented||(i&&(n?m(e,r.autosizesClass):e.setAttribute("sizes",i)),a=e.getAttribute(r.srcsetAttr),o=e.getAttribute(r.srcAttr),s&&(u=e.parentNode,l=u&&h.test(u.nodeName||"")),g=t.firesLoad||"src"in e&&(a||o||l),f={target:e},g&&(y(e,z,!0),clearTimeout(d),d=c(z,2500),m(e,r.loadingClass),y(e,W,!0)),l&&p.call(u.getElementsByTagName("source"),G),a?e.setAttribute("srcset",a):o&&!l&&(j.test(e.nodeName)?function(e,t){try{e.contentWindow.location.replace(t)}catch(n){e.src=t}}(e,o):e.src=o),s&&(a||l)&&w(e,{src:o})),e._lazyRace&&delete e._lazyRace,v(e,r.lazyClass),x(function(){(!g||e.complete&&e.naturalWidth>1)&&(g?z(f):B--,V(f))},!0)}),X=function(e){var t,n=P.test(e.nodeName),i=n&&(e.getAttribute(r.sizesAttr)||e.getAttribute("sizes")),s="auto"==i;(!s&&u||!n||!e.getAttribute("src")&&!e.srcset||e.complete||g(e,r.errorClass)||!g(e,r.lazyClass))&&(t=b(e,"lazyunveilread").detail,s&&N.updateElem(e,!0,e.offsetWidth),e._lazyRace=!0,B++,Q(e,t,s,i,n))},Z=function(){if(!u)if(s.now()-E<999)c(Z,999);else{var e=C(function(){r.loadMode=3,K()});u=!0,r.loadMode=3,K(),a("scroll",function(){3==r.loadMode&&(r.loadMode=2),e()},!0)}};return{_:function(){E=s.now(),n.elements=t.getElementsByClassName(r.lazyClass),o=t.getElementsByClassName(r.lazyClass+" "+r.preloadClass),D=r.hFac,a("scroll",K,!0),a("resize",K,!0),e.MutationObserver?new MutationObserver(K).observe(i,{childList:!0,subtree:!0,attributes:!0}):(i.addEventListener("DOMNodeInserted",K,!0),i.addEventListener("DOMAttrModified",K,!0),setInterval(K,999)),a("hashchange",K,!0),["focus","mouseover","click","load","transitionend","animationend","webkitAnimationEnd"].forEach(function(e){t.addEventListener(e,K,!0)}),/d$|^c/.test(t.readyState)?Z():(a("load",Z),t.addEventListener("DOMContentLoaded",K),c(Z,2e4)),n.elements.length?(U(),x._lsFlush()):K()},checkElems:K,unveil:X}}(),N=function(){var e,n=S(function(e,t,n,r){var i,s,o;if(e._lazysizesWidth=r,r+="px",e.setAttribute("sizes",r),h.test(t.nodeName||""))for(i=t.getElementsByTagName("source"),s=0,o=i.length;s<o;s++)i[s].setAttribute("sizes",r);n.detail.dataAttr||w(e,n.detail)}),i=function(e,t,r){var i,s=e.parentNode;s&&(r=E(e,s,r),(i=b(e,"lazybeforesizes",{width:r,dataAttr:!!t})).defaultPrevented||(r=i.detail.width)&&r!==e._lazysizesWidth&&n(e,s,i,r))},s=C(function(){var t,n=e.length;if(n)for(t=0;t<n;t++)i(e[t])});return{_:function(){e=t.getElementsByClassName(r.autosizesClass),a("resize",s)},checkElems:s,updateElem:i}}(),O=function(){O.i||(O.i=!0,N._(),A._())};return n={cfg:r,autoSizer:N,loader:A,init:O,uP:w,aC:m,rC:v,hC:g,fire:b,gW:E,rAF:x}}(t,t.document);t.lazySizes=r,e.exports&&(e.exports=r)}(window)},function(e,t,n){"use strict";n.r(t);n(3),n(4),n(5),n(7),n(8),n(10),n(21),n(23),n(24),n(26),n(27),n(28);n(2)},function(e,t,n){},function(e,t,n){},function(e,t){var n=function(e){var t=document.createElement("a");return t.className="header-link",t.href="#"+e,t.innerHTML='  <svg class="fill-current o-60 hover-accent-color-light" height="22px" viewBox="0 0 24 24" width="22px" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/></svg>',t},r=function(e,t){for(var r=t.getElementsByTagName("h"+e),i=0;i<r.length;i++){var s=r[i];void 0!==s.id&&""!==s.id&&s.appendChild(n(s.id))}};document.onreadystatechange=function(){if("complete"===this.readyState){var e=document.getElementsByClassName("prose")[0];if(!e)return;for(var t=2;t<=4;t++)r(t,e)}}},function(e,t,n){function r(e,t){e.setAttribute("class","copied bg-primary-color-dark f6 absolute top-0 right-0 lh-solid hover-bg-primary-color-dark bn white ph3 pv2"),e.setAttribute("aria-label",t)}new(n(6))(".copy",{target:function(e){return e.classList.contains("copy-toggle")?e.previousElementSibling:e.nextElementSibling}}).on("success",function(e){r(e.trigger,"Copied!"),e.clearSelection()}).on("error",function(e){r(e.trigger,function(e,t){var n="",r="cut"===t?"X":"C";n=isMac?"Press ⌘-"+r:"Press Ctrl-"+r;return n}(e.action))})},function(e,t,n){
++/*!
++ * clipboard.js v2.0.4
++ * https://zenorocha.github.io/clipboard.js
++ * 
++ * Licensed MIT © Zeno Rocha
++ */
++!function(t,n){e.exports=n()}(0,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=c(n(1)),o=c(n(3)),a=c(n(4));function c(e){return e&&e.__esModule?e:{default:e}}var u=function(e){function t(e,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.resolveOptions(n),r.listenClick(e),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,o.default),i(t,[{key:"resolveOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText,this.container="object"===r(e.container)?e.container:document.body}},{key:"listenClick",value:function(e){var t=this;this.listener=(0,a.default)(e,"click",function(e){return t.onClick(e)})}},{key:"onClick",value:function(e){var t=e.delegateTarget||e.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new s.default({action:this.action(t),target:this.target(t),text:this.text(t),container:this.container,trigger:t,emitter:this})}},{key:"defaultAction",value:function(e){return l("action",e)}},{key:"defaultTarget",value:function(e){var t=l("target",e);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(e){return l("text",e)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof e?[e]:e,n=!!document.queryCommandSupported;return t.forEach(function(e){n=n&&!!document.queryCommandSupported(e)}),n}}]),t}();function l(e,t){var n="data-clipboard-"+e;if(t.hasAttribute(n))return t.getAttribute(n)}e.exports=u},function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=function(e){return e&&e.__esModule?e:{default:e}}(n(2));var o=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.resolveOptions(t),this.initSelection()}return i(e,[{key:"resolveOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action=e.action,this.container=e.container,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var e=this,t="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return e.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[t?"right":"left"]="-9999px";var n=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=n+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=(0,s.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,s.default)(this.target),this.copyText()}},{key:"copyText",value:function(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function(e){this.emitter.emit(e?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(e){if(void 0!==e){if(!e||"object"!==(void 0===e?"undefined":r(e))||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=e}},get:function(){return this._target}}]),e}();e.exports=o},function(e,t){e.exports=function(e){var t;if("SELECT"===e.nodeName)e.focus(),t=e.value;else if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName){var n=e.hasAttribute("readonly");n||e.setAttribute("readonly",""),e.select(),e.setSelectionRange(0,e.value.length),n||e.removeAttribute("readonly"),t=e.value}else{e.hasAttribute("contenteditable")&&e.focus();var r=window.getSelection(),i=document.createRange();i.selectNodeContents(e),r.removeAllRanges(),r.addRange(i),t=r.toString()}return t}},function(e,t){function n(){}n.prototype={on:function(e,t,n){var r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:t,ctx:n}),this},once:function(e,t,n){var r=this;function i(){r.off(e,i),t.apply(n,arguments)}return i._=t,this.on(e,i,n)},emit:function(e){for(var t=[].slice.call(arguments,1),n=((this.e||(this.e={}))[e]||[]).slice(),r=0,i=n.length;r<i;r++)n[r].fn.apply(n[r].ctx,t);return this},off:function(e,t){var n=this.e||(this.e={}),r=n[e],i=[];if(r&&t)for(var s=0,o=r.length;s<o;s++)r[s].fn!==t&&r[s].fn._!==t&&i.push(r[s]);return i.length?n[e]=i:delete n[e],this}},e.exports=n},function(e,t,n){var r=n(5),i=n(6);e.exports=function(e,t,n){if(!e&&!t&&!n)throw new Error("Missing required arguments");if(!r.string(t))throw new TypeError("Second argument must be a String");if(!r.fn(n))throw new TypeError("Third argument must be a Function");if(r.node(e))return function(e,t,n){return e.addEventListener(t,n),{destroy:function(){e.removeEventListener(t,n)}}}(e,t,n);if(r.nodeList(e))return function(e,t,n){return Array.prototype.forEach.call(e,function(e){e.addEventListener(t,n)}),{destroy:function(){Array.prototype.forEach.call(e,function(e){e.removeEventListener(t,n)})}}}(e,t,n);if(r.string(e))return function(e,t,n){return i(document.body,e,t,n)}(e,t,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}},function(e,t){t.node=function(e){return void 0!==e&&e instanceof HTMLElement&&1===e.nodeType},t.nodeList=function(e){var n=Object.prototype.toString.call(e);return void 0!==e&&("[object NodeList]"===n||"[object HTMLCollection]"===n)&&"length"in e&&(0===e.length||t.node(e[0]))},t.string=function(e){return"string"==typeof e||e instanceof String},t.fn=function(e){return"[object Function]"===Object.prototype.toString.call(e)}},function(e,t,n){var r=n(7);function i(e,t,n,i,s){var o=function(e,t,n,i){return function(n){n.delegateTarget=r(n.target,t),n.delegateTarget&&i.call(e,n)}}.apply(this,arguments);return e.addEventListener(n,o,s),{destroy:function(){e.removeEventListener(n,o,s)}}}e.exports=function(e,t,n,r,s){return"function"==typeof e.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof e&&(e=document.querySelectorAll(e)),Array.prototype.map.call(e,function(e){return i(e,t,n,r,s)}))}},function(e,t){var n=9;if("undefined"!=typeof Element&&!Element.prototype.matches){var r=Element.prototype;r.matches=r.matchesSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector||r.webkitMatchesSelector}e.exports=function(e,t){for(;e&&e.nodeType!==n;){if("function"==typeof e.matches&&e.matches(t))return e;e=e.parentNode}}}])})},function(e,t){let n=document.getElementById("prose");if(n){let e=n.getElementsByTagName("code");for(let[t,n]of Object.entries(e)){n.scrollWidth-n.clientWidth>0&&n.parentNode.classList.add("expand")}}},function(e,t,n){n(9)({apiKey:"167e7998590aebda7f9fedcf86bc4a55",indexName:"hugodocs",inputSelector:"#search-input",debug:!0})},function(e,t,n){
++/*! docsearch 2.6.1 | © Algolia | github.com/algolia/docsearch */
++!function(t,n){e.exports=n()}("undefined"!=typeof self&&self,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=22)}([function(e,t,n){"use strict";var r=n(1);function i(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}e.exports={isArray:null,isFunction:null,isObject:null,bind:null,each:null,map:null,mixin:null,isMsie:function(e){if(void 0===e&&(e=navigator.userAgent),/(msie|trident)/i.test(e)){var t=e.match(/(msie |rv:)(\d+(.\d+)?)/i);if(t)return t[2]}return!1},escapeRegExChars:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isNumber:function(e){return"number"==typeof e},toStr:function(e){return void 0===e||null===e?"":e+""},cloneDeep:function(e){var t=this.mixin({},e),n=this;return this.each(t,function(e,r){e&&(n.isArray(e)?t[r]=[].concat(e):n.isObject(e)&&(t[r]=n.cloneDeep(e)))}),t},error:function(e){throw new Error(e)},every:function(e,t){var n=!0;return e?(this.each(e,function(r,i){if(!(n=t.call(null,r,i,e)))return!1}),!!n):n},any:function(e,t){var n=!1;return e?(this.each(e,function(r,i){if(t.call(null,r,i,e))return n=!0,!1}),n):n},getUniqueId:function(){var e=0;return function(){return e++}}(),templatify:function(e){if(this.isFunction(e))return e;var t=r.element(e);return"SCRIPT"===t.prop("tagName")?function(){return t.text()}:function(){return String(e)}},defer:function(e){setTimeout(e,0)},noop:function(){},formatPrefix:function(e,t){return t?"":e+"-"},className:function(e,t,n){return(n?"":".")+e+t},escapeHighlightedString:function(e,t,n){t=t||"<em>";var r=document.createElement("div");r.appendChild(document.createTextNode(t)),n=n||"</em>";var s=document.createElement("div");s.appendChild(document.createTextNode(n));var o=document.createElement("div");return o.appendChild(document.createTextNode(e)),o.innerHTML.replace(RegExp(i(r.innerHTML),"g"),t).replace(RegExp(i(s.innerHTML),"g"),n)}}},function(e,t,n){"use strict";e.exports={element:null}},function(e,t){var n=Object.prototype.hasOwnProperty,r=Object.prototype.toString;e.exports=function(e,t,i){if("[object Function]"!==r.call(t))throw new TypeError("iterator must be a function");var s=e.length;if(s===+s)for(var o=0;o<s;o++)t.call(i,e[o],o,e);else for(var a in e)n.call(e,a)&&t.call(i,e[a],a,e)}},function(e,t){e.exports=function(e){return JSON.parse(JSON.stringify(e))}},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";var r=n(12);function i(e,t){var r=n(2),i=this;"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):i.stack=(new Error).stack||"Cannot get a stacktrace, browser is too old",this.name="AlgoliaSearchError",this.message=e||"Unknown error",t&&r(t,function(e,t){i[t]=e})}function s(e,t){function n(){var n=Array.prototype.slice.call(arguments,0);"string"!=typeof n[0]&&n.unshift(t),i.apply(this,n),this.name="AlgoliaSearch"+e+"Error"}return r(n,i),n}r(i,Error),e.exports={AlgoliaSearchError:i,UnparsableJSON:s("UnparsableJSON","Could not parse the incoming response as JSON, see err.more for details"),RequestTimeout:s("RequestTimeout","Request timedout before getting a response"),Network:s("Network","Network issue, see err.more for details"),JSONPScriptFail:s("JSONPScriptFail","<script> was loaded but did not call our provided callback"),JSONPScriptError:s("JSONPScriptError","<script> unable to load due to an `error` event on it"),Unknown:s("Unknown","Unknown error occured")}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){var r=n(2);e.exports=function(e,t){var n=[];return r(e,function(r,i){n.push(t(r,i,e))}),n}},function(e,t,n){(function(r){function i(){var e;try{e=t.storage.debug}catch(e){}return!e&&void 0!==r&&"env"in r&&(e=Object({NODE_ENV:"production"}).DEBUG),e}(t=e.exports=n(39)).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},t.formatArgs=function(e){var n=this.useColors;if(e[0]=(n?"%c":"")+this.namespace+(n?" %c":" ")+e[0]+(n?"%c ":" ")+"+"+t.humanize(this.diff),!n)return;var r="color: "+this.color;e.splice(1,0,r,"color: inherit");var i=0,s=0;e[0].replace(/%[a-zA-Z%]/g,function(e){"%%"!==e&&"%c"===e&&(s=++i)}),e.splice(s,0,r)},t.save=function(e){try{null==e?t.storage.removeItem("debug"):t.storage.debug=e}catch(e){}},t.load=i,t.useColors=function(){if("undefined"!=typeof window&&window.process&&"renderer"===window.process.type)return!0;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},t.enable(i())}).call(t,n(9))},function(e,t){var n,r,i=e.exports={};function s(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(e){if(n===setTimeout)return setTimeout(e,0);if((n===s||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:s}catch(e){n=s}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var c,u=[],l=!1,h=-1;function d(){l&&c&&(l=!1,c.length?u=c.concat(u):h=-1,u.length&&f())}function f(){if(!l){var e=a(d);l=!0;for(var t=u.length;t;){for(c=u,u=[];++h<t;)c&&c[h].run();h=-1,t=u.length}c=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function g(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new p(e,t)),1!==u.length||l||a(f)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t,n){"use strict";var r=n(53),i=/\s+/;function s(e,t,n,r){var s;if(!n)return this;for(t=t.split(i),n=r?function(e,t){return e.bind?e.bind(t):function(){e.apply(t,[].slice.call(arguments,0))}}(n,r):n,this._callbacks=this._callbacks||{};s=t.shift();)this._callbacks[s]=this._callbacks[s]||{sync:[],async:[]},this._callbacks[s][e].push(n);return this}function o(e,t,n){return function(){for(var r,i=0,s=e.length;!r&&i<s;i+=1)r=!1===e[i].apply(t,n);return!r}}e.exports={onSync:function(e,t,n){return s.call(this,"sync",e,t,n)},onAsync:function(e,t,n){return s.call(this,"async",e,t,n)},off:function(e){var t;if(!this._callbacks)return this;e=e.split(i);for(;t=e.shift();)delete this._callbacks[t];return this},trigger:function(e){var t,n,s,a,c;if(!this._callbacks)return this;e=e.split(i),s=[].slice.call(arguments,1);for(;(t=e.shift())&&(n=this._callbacks[t]);)a=o(n.sync,this,[t].concat(s)),c=o(n.async,this,[t].concat(s)),a()&&r(c);return this}}},function(e,t,n){"use strict";var r=n(0),i={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:"0"},defaultClasses:{root:"algolia-autocomplete",prefix:"aa",noPrefix:!1,dropdownMenu:"dropdown-menu",input:"input",hint:"hint",suggestions:"suggestions",suggestion:"suggestion",cursor:"cursor",dataset:"dataset",empty:"empty"},appendTo:{wrapper:{position:"absolute",zIndex:"100",display:"none"},input:{},inputWithNoHint:{},dropdown:{display:"block"}}};r.isMsie()&&r.mixin(i.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),r.isMsie()&&r.isMsie()<=7&&r.mixin(i.input,{marginTop:"-1px"}),e.exports=i},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){e.exports=function(e,t){return function(n,i,s){if("function"==typeof n&&"object"==typeof i||"object"==typeof s)throw new r.AlgoliaSearchError("index.search usage is index.search(query, params, cb)");0===arguments.length||"function"==typeof n?(s=n,n=""):1!==arguments.length&&"function"!=typeof i||(s=i,i=void 0),"object"==typeof n&&null!==n?(i=n,n=void 0):void 0!==n&&null!==n||(n="");var o,a="";return void 0!==n&&(a+=e+"="+encodeURIComponent(n)),void 0!==i&&(i.additionalUA&&(o=i.additionalUA,delete i.additionalUA),a=this.as._getSearchParams(i,a)),this._search(a,t,s,o)}};var r=n(5)},function(e,t,n){e.exports=function(e,t){var r=n(36),i={};return n(2)(r(e),function(n){!0!==t(n)&&(i[n]=e[n])}),i}},function(e,t){!function(t,n){e.exports=function(e){var t=function(){var t,n,r,i,s,o,a=[],c=a.concat,u=a.filter,l=a.slice,h=e.document,d={},f={},p={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},g=/^\s*<(\w+|!)[^>]*>/,m=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,y=/^(?:body|html)$/i,b=/([A-Z])/g,w=["val","css","html","text","data","width","height","offset"],_=h.createElement("table"),E=h.createElement("tr"),x={tr:h.createElement("tbody"),tbody:_,thead:_,tfoot:_,td:E,th:E,"*":h.createElement("div")},S=/complete|loaded|interactive/,C=/^[\w-]*$/,A={},N=A.toString,O={},T=h.createElement("div"),k={tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},R=Array.isArray||function(e){return e instanceof Array};function M(e){return null==e?String(e):A[N.call(e)]||"object"}function L(e){return"function"==M(e)}function I(e){return null!=e&&e==e.window}function D(e){return null!=e&&e.nodeType==e.DOCUMENT_NODE}function P(e){return"object"==M(e)}function j(e){return P(e)&&!I(e)&&Object.getPrototypeOf(e)==Object.prototype}function $(e){var t=!!e&&"length"in e&&e.length,n=r.type(e);return"function"!=n&&!I(e)&&("array"==n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function H(e){return e.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function B(e){return e in f?f[e]:f[e]=new RegExp("(^|\\s)"+e+"(\\s|$)")}function q(e,t){return"number"!=typeof t||p[H(e)]?t:t+"px"}function z(e){return"children"in e?l.call(e.children):r.map(e.childNodes,function(e){if(1==e.nodeType)return e})}function F(e,t){var n,r=e?e.length:0;for(n=0;n<r;n++)this[n]=e[n];this.length=r,this.selector=t||""}function U(e,t){return null==t?r(e):r(e).filter(t)}function K(e,t,n,r){return L(t)?t.call(e,n,r):t}function V(e,t,n){null==n?e.removeAttribute(t):e.setAttribute(t,n)}function J(e,n){var r=e.className||"",i=r&&r.baseVal!==t;if(n===t)return i?r.baseVal:r;i?r.baseVal=n:e.className=n}function W(e){try{return e?"true"==e||"false"!=e&&("null"==e?null:+e+""==e?+e:/^[\[\{]/.test(e)?r.parseJSON(e):e):e}catch(t){return e}}return O.matches=function(e,t){if(!t||!e||1!==e.nodeType)return!1;var n=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.matchesSelector;if(n)return n.call(e,t);var r,i=e.parentNode,s=!i;return s&&(i=T).appendChild(e),r=~O.qsa(i,t).indexOf(e),s&&T.removeChild(e),r},s=function(e){return e.replace(/-+(.)?/g,function(e,t){return t?t.toUpperCase():""})},o=function(e){return u.call(e,function(t,n){return e.indexOf(t)==n})},O.fragment=function(e,n,i){var s,o,a;return m.test(e)&&(s=r(h.createElement(RegExp.$1))),s||(e.replace&&(e=e.replace(v,"<$1></$2>")),n===t&&(n=g.test(e)&&RegExp.$1),n in x||(n="*"),(a=x[n]).innerHTML=""+e,s=r.each(l.call(a.childNodes),function(){a.removeChild(this)})),j(i)&&(o=r(s),r.each(i,function(e,t){w.indexOf(e)>-1?o[e](t):o.attr(e,t)})),s},O.Z=function(e,t){return new F(e,t)},O.isZ=function(e){return e instanceof O.Z},O.init=function(e,n){var i;if(!e)return O.Z();if("string"==typeof e)if("<"==(e=e.trim())[0]&&g.test(e))i=O.fragment(e,RegExp.$1,n),e=null;else{if(n!==t)return r(n).find(e);i=O.qsa(h,e)}else{if(L(e))return r(h).ready(e);if(O.isZ(e))return e;if(R(e))i=function(e){return u.call(e,function(e){return null!=e})}(e);else if(P(e))i=[e],e=null;else if(g.test(e))i=O.fragment(e.trim(),RegExp.$1,n),e=null;else{if(n!==t)return r(n).find(e);i=O.qsa(h,e)}}return O.Z(i,e)},(r=function(e,t){return O.init(e,t)}).extend=function(e){var r,i=l.call(arguments,1);return"boolean"==typeof e&&(r=e,e=i.shift()),i.forEach(function(i){!function e(r,i,s){for(n in i)s&&(j(i[n])||R(i[n]))?(j(i[n])&&!j(r[n])&&(r[n]={}),R(i[n])&&!R(r[n])&&(r[n]=[]),e(r[n],i[n],s)):i[n]!==t&&(r[n]=i[n])}(e,i,r)}),e},O.qsa=function(e,t){var n,r="#"==t[0],i=!r&&"."==t[0],s=r||i?t.slice(1):t,o=C.test(s);return e.getElementById&&o&&r?(n=e.getElementById(s))?[n]:[]:1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType?[]:l.call(o&&!r&&e.getElementsByClassName?i?e.getElementsByClassName(s):e.getElementsByTagName(t):e.querySelectorAll(t))},r.contains=h.documentElement.contains?function(e,t){return e!==t&&e.contains(t)}:function(e,t){for(;t&&(t=t.parentNode);)if(t===e)return!0;return!1},r.type=M,r.isFunction=L,r.isWindow=I,r.isArray=R,r.isPlainObject=j,r.isEmptyObject=function(e){var t;for(t in e)return!1;return!0},r.isNumeric=function(e){var t=Number(e),n=typeof e;return null!=e&&"boolean"!=n&&("string"!=n||e.length)&&!isNaN(t)&&isFinite(t)||!1},r.inArray=function(e,t,n){return a.indexOf.call(t,e,n)},r.camelCase=s,r.trim=function(e){return null==e?"":String.prototype.trim.call(e)},r.uuid=0,r.support={},r.expr={},r.noop=function(){},r.map=function(e,t){var n,i,s,o=[];if($(e))for(i=0;i<e.length;i++)null!=(n=t(e[i],i))&&o.push(n);else for(s in e)null!=(n=t(e[s],s))&&o.push(n);return function(e){return e.length>0?r.fn.concat.apply([],e):e}(o)},r.each=function(e,t){var n,r;if($(e)){for(n=0;n<e.length;n++)if(!1===t.call(e[n],n,e[n]))return e}else for(r in e)if(!1===t.call(e[r],r,e[r]))return e;return e},r.grep=function(e,t){return u.call(e,t)},e.JSON&&(r.parseJSON=JSON.parse),r.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){A["[object "+t+"]"]=t.toLowerCase()}),r.fn={constructor:O.Z,length:0,forEach:a.forEach,reduce:a.reduce,push:a.push,sort:a.sort,splice:a.splice,indexOf:a.indexOf,concat:function(){var e,t,n=[];for(e=0;e<arguments.length;e++)t=arguments[e],n[e]=O.isZ(t)?t.toArray():t;return c.apply(O.isZ(this)?this.toArray():this,n)},map:function(e){return r(r.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return r(l.apply(this,arguments))},ready:function(e){return S.test(h.readyState)&&h.body?e(r):h.addEventListener("DOMContentLoaded",function(){e(r)},!1),this},get:function(e){return e===t?l.call(this):this[e>=0?e:e+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(e){return a.every.call(this,function(t,n){return!1!==e.call(t,n,t)}),this},filter:function(e){return L(e)?this.not(this.not(e)):r(u.call(this,function(t){return O.matches(t,e)}))},add:function(e,t){return r(o(this.concat(r(e,t))))},is:function(e){return this.length>0&&O.matches(this[0],e)},not:function(e){var n=[];if(L(e)&&e.call!==t)this.each(function(t){e.call(this,t)||n.push(this)});else{var i="string"==typeof e?this.filter(e):$(e)&&L(e.item)?l.call(e):r(e);this.forEach(function(e){i.indexOf(e)<0&&n.push(e)})}return r(n)},has:function(e){return this.filter(function(){return P(e)?r.contains(this,e):r(this).find(e).size()})},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},first:function(){var e=this[0];return e&&!P(e)?e:r(e)},last:function(){var e=this[this.length-1];return e&&!P(e)?e:r(e)},find:function(e){var t=this;return e?"object"==typeof e?r(e).filter(function(){var e=this;return a.some.call(t,function(t){return r.contains(t,e)})}):1==this.length?r(O.qsa(this[0],e)):this.map(function(){return O.qsa(this,e)}):r()},closest:function(e,t){var n=[],i="object"==typeof e&&r(e);return this.each(function(r,s){for(;s&&!(i?i.indexOf(s)>=0:O.matches(s,e));)s=s!==t&&!D(s)&&s.parentNode;s&&n.indexOf(s)<0&&n.push(s)}),r(n)},parents:function(e){for(var t=[],n=this;n.length>0;)n=r.map(n,function(e){if((e=e.parentNode)&&!D(e)&&t.indexOf(e)<0)return t.push(e),e});return U(t,e)},parent:function(e){return U(o(this.pluck("parentNode")),e)},children:function(e){return U(this.map(function(){return z(this)}),e)},contents:function(){return this.map(function(){return this.contentDocument||l.call(this.childNodes)})},siblings:function(e){return U(this.map(function(e,t){return u.call(z(t.parentNode),function(e){return e!==t})}),e)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(e){return r.map(this,function(t){return t[e]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=function(e){var t,n;d[e]||(t=h.createElement(e),h.body.appendChild(t),n=getComputedStyle(t,"").getPropertyValue("display"),t.parentNode.removeChild(t),"none"==n&&(n="block"),d[e]=n);return d[e]}(this.nodeName))})},replaceWith:function(e){return this.before(e).remove()},wrap:function(e){var t=L(e);if(this[0]&&!t)var n=r(e).get(0),i=n.parentNode||this.length>1;return this.each(function(s){r(this).wrapAll(t?e.call(this,s):i?n.cloneNode(!0):n)})},wrapAll:function(e){if(this[0]){var t;for(r(this[0]).before(e=r(e));(t=e.children()).length;)e=t.first();r(e).append(this)}return this},wrapInner:function(e){var t=L(e);return this.each(function(n){var i=r(this),s=i.contents(),o=t?e.call(this,n):e;s.length?s.wrapAll(o):i.append(o)})},unwrap:function(){return this.parent().each(function(){r(this).replaceWith(r(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(e){return this.each(function(){var n=r(this);(e===t?"none"==n.css("display"):e)?n.show():n.hide()})},prev:function(e){return r(this.pluck("previousElementSibling")).filter(e||"*")},next:function(e){return r(this.pluck("nextElementSibling")).filter(e||"*")},html:function(e){return 0 in arguments?this.each(function(t){var n=this.innerHTML;r(this).empty().append(K(this,e,t,n))}):0 in this?this[0].innerHTML:null},text:function(e){return 0 in arguments?this.each(function(t){var n=K(this,e,t,this.textContent);this.textContent=null==n?"":""+n}):0 in this?this.pluck("textContent").join(""):null},attr:function(e,r){var i;return"string"!=typeof e||1 in arguments?this.each(function(t){if(1===this.nodeType)if(P(e))for(n in e)V(this,n,e[n]);else V(this,e,K(this,r,t,this.getAttribute(e)))}):0 in this&&1==this[0].nodeType&&null!=(i=this[0].getAttribute(e))?i:t},removeAttr:function(e){return this.each(function(){1===this.nodeType&&e.split(" ").forEach(function(e){V(this,e)},this)})},prop:function(e,t){return e=k[e]||e,1 in arguments?this.each(function(n){this[e]=K(this,t,n,this[e])}):this[0]&&this[0][e]},removeProp:function(e){return e=k[e]||e,this.each(function(){delete this[e]})},data:function(e,n){var r="data-"+e.replace(b,"-$1").toLowerCase(),i=1 in arguments?this.attr(r,n):this.attr(r);return null!==i?W(i):t},val:function(e){return 0 in arguments?(null==e&&(e=""),this.each(function(t){this.value=K(this,e,t,this.value)})):this[0]&&(this[0].multiple?r(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(t){if(t)return this.each(function(e){var n=r(this),i=K(this,t,e,n.offset()),s=n.offsetParent().offset(),o={top:i.top-s.top,left:i.left-s.left};"static"==n.css("position")&&(o.position="relative"),n.css(o)});if(!this.length)return null;if(h.documentElement!==this[0]&&!r.contains(h.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+e.pageXOffset,top:n.top+e.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(e,t){if(arguments.length<2){var i=this[0];if("string"==typeof e){if(!i)return;return i.style[s(e)]||getComputedStyle(i,"").getPropertyValue(e)}if(R(e)){if(!i)return;var o={},a=getComputedStyle(i,"");return r.each(e,function(e,t){o[t]=i.style[s(t)]||a.getPropertyValue(t)}),o}}var c="";if("string"==M(e))t||0===t?c=H(e)+":"+q(e,t):this.each(function(){this.style.removeProperty(H(e))});else for(n in e)e[n]||0===e[n]?c+=H(n)+":"+q(n,e[n])+";":this.each(function(){this.style.removeProperty(H(n))});return this.each(function(){this.style.cssText+=";"+c})},index:function(e){return e?this.indexOf(r(e)[0]):this.parent().children().indexOf(this[0])},hasClass:function(e){return!!e&&a.some.call(this,function(e){return this.test(J(e))},B(e))},addClass:function(e){return e?this.each(function(t){if("className"in this){i=[];var n=J(this),s=K(this,e,t,n);s.split(/\s+/g).forEach(function(e){r(this).hasClass(e)||i.push(e)},this),i.length&&J(this,n+(n?" ":"")+i.join(" "))}}):this},removeClass:function(e){return this.each(function(n){if("className"in this){if(e===t)return J(this,"");i=J(this),K(this,e,n,i).split(/\s+/g).forEach(function(e){i=i.replace(B(e)," ")}),J(this,i.trim())}})},toggleClass:function(e,n){return e?this.each(function(i){var s=r(this),o=K(this,e,i,J(this));o.split(/\s+/g).forEach(function(e){(n===t?!s.hasClass(e):n)?s.addClass(e):s.removeClass(e)})}):this},scrollTop:function(e){if(this.length){var n="scrollTop"in this[0];return e===t?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=e}:function(){this.scrollTo(this.scrollX,e)})}},scrollLeft:function(e){if(this.length){var n="scrollLeft"in this[0];return e===t?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=e}:function(){this.scrollTo(e,this.scrollY)})}},position:function(){if(this.length){var e=this[0],t=this.offsetParent(),n=this.offset(),i=y.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(r(e).css("margin-top"))||0,n.left-=parseFloat(r(e).css("margin-left"))||0,i.top+=parseFloat(r(t[0]).css("border-top-width"))||0,i.left+=parseFloat(r(t[0]).css("border-left-width"))||0,{top:n.top-i.top,left:n.left-i.left}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||h.body;e&&!y.test(e.nodeName)&&"static"==r(e).css("position");)e=e.offsetParent;return e})}},r.fn.detach=r.fn.remove,["width","height"].forEach(function(e){var n=e.replace(/./,function(e){return e[0].toUpperCase()});r.fn[e]=function(i){var s,o=this[0];return i===t?I(o)?o["inner"+n]:D(o)?o.documentElement["scroll"+n]:(s=this.offset())&&s[e]:this.each(function(t){(o=r(this)).css(e,K(this,i,t,o[e]()))})}}),["after","prepend","before","append"].forEach(function(n,i){var s=i%2;r.fn[n]=function(){var n,o,a=r.map(arguments,function(e){var i=[];return"array"==(n=M(e))?(e.forEach(function(e){return e.nodeType!==t?i.push(e):r.zepto.isZ(e)?i=i.concat(e.get()):void(i=i.concat(O.fragment(e)))}),i):"object"==n||null==e?e:O.fragment(e)}),c=this.length>1;return a.length<1?this:this.each(function(t,n){o=s?n:n.parentNode,n=0==i?n.nextSibling:1==i?n.firstChild:2==i?n:null;var u=r.contains(h.documentElement,o);a.forEach(function(t){if(c)t=t.cloneNode(!0);else if(!o)return r(t).remove();o.insertBefore(t,n),u&&function e(t,n){n(t);for(var r=0,i=t.childNodes.length;r<i;r++)e(t.childNodes[r],n)}(t,function(t){if(!(null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src)){var n=t.ownerDocument?t.ownerDocument.defaultView:e;n.eval.call(n,t.innerHTML)}})})})},r.fn[s?n+"To":"insert"+(i?"Before":"After")]=function(e){return r(e)[n](this),this}}),O.Z.prototype=F.prototype=r.fn,O.uniq=o,O.deserializeValue=W,r.zepto=O,r}();return function(t){var n,r=1,i=Array.prototype.slice,s=t.isFunction,o=function(e){return"string"==typeof e},a={},c={},u="onfocusin"in e,l={focus:"focusin",blur:"focusout"},h={mouseenter:"mouseover",mouseleave:"mouseout"};function d(e){return e._zid||(e._zid=r++)}function f(e,t,n,r){if((t=p(t)).ns)var i=function(e){return new RegExp("(?:^| )"+e.replace(" "," .* ?")+"(?: |$)")}(t.ns);return(a[d(e)]||[]).filter(function(e){return e&&(!t.e||e.e==t.e)&&(!t.ns||i.test(e.ns))&&(!n||d(e.fn)===d(n))&&(!r||e.sel==r)})}function p(e){var t=(""+e).split(".");return{e:t[0],ns:t.slice(1).sort().join(" ")}}function g(e,t){return e.del&&!u&&e.e in l||!!t}function m(e){return h[e]||u&&l[e]||e}function v(e,r,i,s,o,c,u){var l=d(e),f=a[l]||(a[l]=[]);r.split(/\s/).forEach(function(r){if("ready"==r)return t(document).ready(i);var a=p(r);a.fn=i,a.sel=o,a.e in h&&(i=function(e){var n=e.relatedTarget;if(!n||n!==this&&!t.contains(this,n))return a.fn.apply(this,arguments)}),a.del=c;var l=c||i;a.proxy=function(t){if(!(t=x(t)).isImmediatePropagationStopped()){try{var r=Object.getOwnPropertyDescriptor(t,"data");r&&!r.writable||(t.data=s)}catch(t){}var i=l.apply(e,t._args==n?[t]:[t].concat(t._args));return!1===i&&(t.preventDefault(),t.stopPropagation()),i}},a.i=f.length,f.push(a),"addEventListener"in e&&e.addEventListener(m(a.e),a.proxy,g(a,u))})}function y(e,t,n,r,i){var s=d(e);(t||"").split(/\s/).forEach(function(t){f(e,t,n,r).forEach(function(t){delete a[s][t.i],"removeEventListener"in e&&e.removeEventListener(m(t.e),t.proxy,g(t,i))})})}c.click=c.mousedown=c.mouseup=c.mousemove="MouseEvents",t.event={add:v,remove:y},t.proxy=function(e,n){var r=2 in arguments&&i.call(arguments,2);if(s(e)){var a=function(){return e.apply(n,r?r.concat(i.call(arguments)):arguments)};return a._zid=d(e),a}if(o(n))return r?(r.unshift(e[n],e),t.proxy.apply(null,r)):t.proxy(e[n],e);throw new TypeError("expected function")},t.fn.bind=function(e,t,n){return this.on(e,t,n)},t.fn.unbind=function(e,t){return this.off(e,t)},t.fn.one=function(e,t,n,r){return this.on(e,t,n,r,1)};var b=function(){return!0},w=function(){return!1},_=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,E={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};function x(e,r){return!r&&e.isDefaultPrevented||(r||(r=e),t.each(E,function(t,n){var i=r[t];e[t]=function(){return this[n]=b,i&&i.apply(r,arguments)},e[n]=w}),e.timeStamp||(e.timeStamp=Date.now()),(r.defaultPrevented!==n?r.defaultPrevented:"returnValue"in r?!1===r.returnValue:r.getPreventDefault&&r.getPreventDefault())&&(e.isDefaultPrevented=b)),e}function S(e){var t,r={originalEvent:e};for(t in e)_.test(t)||e[t]===n||(r[t]=e[t]);return x(r,e)}t.fn.delegate=function(e,t,n){return this.on(t,e,n)},t.fn.undelegate=function(e,t,n){return this.off(t,e,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,r,a,c,u){var l,h,d=this;return e&&!o(e)?(t.each(e,function(e,t){d.on(e,r,a,t,u)}),d):(o(r)||s(c)||!1===c||(c=a,a=r,r=n),c!==n&&!1!==a||(c=a,a=n),!1===c&&(c=w),d.each(function(n,s){u&&(l=function(e){return y(s,e.type,c),c.apply(this,arguments)}),r&&(h=function(e){var n,o=t(e.target).closest(r,s).get(0);if(o&&o!==s)return n=t.extend(S(e),{currentTarget:o,liveFired:s}),(l||c).apply(o,[n].concat(i.call(arguments,1)))}),v(s,e,c,a,r,h||l)}))},t.fn.off=function(e,r,i){var a=this;return e&&!o(e)?(t.each(e,function(e,t){a.off(e,r,t)}),a):(o(r)||s(i)||!1===i||(i=r,r=n),!1===i&&(i=w),a.each(function(){y(this,e,i,r)}))},t.fn.trigger=function(e,n){return(e=o(e)||t.isPlainObject(e)?t.Event(e):x(e))._args=n,this.each(function(){e.type in l&&"function"==typeof this[e.type]?this[e.type]():"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,n)})},t.fn.triggerHandler=function(e,n){var r,i;return this.each(function(s,a){(r=S(o(e)?t.Event(e):e))._args=n,r.target=a,t.each(f(a,e.type||e),function(e,t){if(i=t.proxy(r),r.isImmediatePropagationStopped())return!1})}),i},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return 0 in arguments?this.bind(e,t):this.trigger(e)}}),t.Event=function(e,t){o(e)||(e=(t=e).type);var n=document.createEvent(c[e]||"Events"),r=!0;if(t)for(var i in t)"bubbles"==i?r=!!t[i]:n[i]=t[i];return n.initEvent(e,r,!0),x(n)}}(t),function(e){var n,r=[];t.fn.remove=function(){return this.each(function(){this.parentNode&&("IMG"===this.tagName&&(r.push(this),this.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",n&&clearTimeout(n),n=setTimeout(function(){r=[]},6e4)),this.parentNode.removeChild(this))})}}(),function(e){var t={},n=e.fn.data,r=e.camelCase,i=e.expando="Zepto"+ +new Date,s=[];function o(n,o,a){var c=n[i]||(n[i]=++e.uuid),u=t[c]||(t[c]=function(t){var n={};return e.each(t.attributes||s,function(t,i){0==i.name.indexOf("data-")&&(n[r(i.name.replace("data-",""))]=e.zepto.deserializeValue(i.value))}),n}(n));return void 0!==o&&(u[r(o)]=a),u}e.fn.data=function(s,a){return void 0===a?e.isPlainObject(s)?this.each(function(t,n){e.each(s,function(e,t){o(n,e,t)})}):0 in this?function(s,a){var c=s[i],u=c&&t[c];if(void 0===a)return u||o(s);if(u){if(a in u)return u[a];var l=r(a);if(l in u)return u[l]}return n.call(e(s),a)}(this[0],s):void 0:this.each(function(){o(this,s,a)})},e.data=function(t,n,r){return e(t).data(n,r)},e.hasData=function(n){var r=n[i],s=r&&t[r];return!!s&&!e.isEmptyObject(s)},e.fn.removeData=function(n){return"string"==typeof n&&(n=n.split(/\s+/)),this.each(function(){var s=this[i],o=s&&t[s];o&&e.each(n||o,function(e){delete o[n?r(this):e]})})},["remove","empty"].forEach(function(t){var n=e.fn[t];e.fn[t]=function(){var e=this.find("*");return"remove"===t&&(e=e.add(this)),e.removeData(),n.call(this)}})}(t),t}(t)}(window)},function(e,t,n){"use strict";var r=n(0),i=n(1);function s(e){e&&e.el||r.error("EventBus initialized without el"),this.$el=i.element(e.el)}r.mixin(s.prototype,{trigger:function(e){var t=[].slice.call(arguments,1),n=r.Event("autocomplete:"+e);return this.$el.trigger(n,t),n}}),e.exports=s},function(e,t,n){"use strict";e.exports={wrapper:'<span class="%ROOT%"></span>',dropdown:'<span class="%PREFIX%%DROPDOWN_MENU%"></span>',dataset:'<div class="%PREFIX%%DATASET%-%CLASS%"></div>',suggestions:'<span class="%PREFIX%%SUGGESTIONS%"></span>',suggestion:'<div class="%PREFIX%%SUGGESTION%"></div>'}},function(e,t){e.exports="0.32.0"},function(e,t,n){"use strict";e.exports=function(e){var t=e.match(/Algolia for vanilla JavaScript (\d+\.)(\d+\.)(\d+)/);if(t)return[t[1],t[2],t[3]]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(15));t.default=r.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="2.6.1"},function(e,t,n){"use strict";var r=function(e){return e&&e.__esModule?e:{default:e}}(n(23));e.exports=r.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(n(24)),i=o(n(25)),s=o(n(21));function o(e){return e&&e.__esModule?e:{default:e}}var a=(0,r.default)(i.default);a.version=s.default,t.default=a},function(e,t,n){"use strict";var r=Function.prototype.bind;e.exports=function(e){var t=function(){for(var t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];return new(r.apply(e,[null].concat(n)))};return t.__proto__=e,t.prototype=e.prototype,t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=d(n(26)),o=d(n(29)),a=d(n(49)),c=d(n(64)),u=d(n(65)),l=d(n(21)),h=d(n(20));function d(e){return e&&e.__esModule?e:{default:e}}var f=function(){function e(t){var n=t.apiKey,i=t.indexName,s=t.inputSelector,u=t.appId,d=void 0===u?"BH4D9OD16A":u,f=t.debug,p=void 0!==f&&f,g=t.algoliaOptions,m=void 0===g?{}:g,v=t.autocompleteOptions,y=void 0===v?{debug:!1,hint:!1,autoselect:!0}:v,b=t.transformData,w=void 0!==b&&b,_=t.queryHook,E=void 0!==_&&_,x=t.handleSelected,S=void 0!==x&&x,C=t.enhancedSearchInput,A=void 0!==C&&C,N=t.layout,O=void 0===N?"collumns":N;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),e.checkArguments({apiKey:n,indexName:i,inputSelector:s,debug:p,algoliaOptions:m,autocompleteOptions:y,transformData:w,queryHook:E,handleSelected:S,enhancedSearchInput:A,layout:O}),this.apiKey=n,this.appId=d,this.indexName=i,this.input=e.getInputFromSelector(s),this.algoliaOptions=r({hitsPerPage:5},m);var T=!(!y||!y.debug)&&y.debug;y.debug=p||T,this.autocompleteOptions=y,this.autocompleteOptions.cssClasses=this.autocompleteOptions.cssClasses||{},this.autocompleteOptions.cssClasses.prefix=this.autocompleteOptions.cssClasses.prefix||"ds",S=S||this.handleSelected,this.isSimpleLayout="simple"===O,this.client=(0,o.default)(this.appId,this.apiKey),this.client.addAlgoliaAgent("docsearch.js "+l.default),A&&(this.input=e.injectSearchBox(this.input)),this.autocomplete=(0,a.default)(this.input,y,[{source:this.getAutocompleteSource(w,E),templates:{suggestion:e.getSuggestionTemplate(this.isSimpleLayout),footer:c.default.footer,empty:e.getEmptyTemplate()}}]),S&&(0,h.default)(".algolia-autocomplete").on("click",".ds-suggestions a",function(e){e.preventDefault()}),this.autocomplete.on("autocomplete:selected",S.bind(null,this.autocomplete.autocomplete)),this.autocomplete.on("autocomplete:shown",this.handleShown.bind(null,this.input)),A&&e.bindSearchBoxEvent()}return i(e,[{key:"getAutocompleteSource",value:function(t,n){var r=this;return function(i,s){n&&(i=n(i)||i),r.client.search([{indexName:r.indexName,query:i,params:r.algoliaOptions}]).then(function(n){var r=n.results[0].hits;t&&(r=t(r)||r),s(e.formatHits(r))})}}},{key:"handleSelected",value:function(e,t,n){e.setVal(""),window.location.assign(n.url)}},{key:"handleShown",value:function(e){var t=e.offset().left+e.width()/2,n=(0,h.default)(document).width()/2;isNaN(n)&&(n=900);var r=t-n>=0?"algolia-autocomplete-right":"algolia-autocomplete-left",i=t-n<0?"algolia-autocomplete-right":"algolia-autocomplete-left",s=(0,h.default)(".algolia-autocomplete");s.hasClass(r)||s.addClass(r),s.hasClass(i)&&s.removeClass(i)}}],[{key:"checkArguments",value:function(t){if(!t.apiKey||!t.indexName)throw new Error("Usage:\n  documentationSearch({\n  apiKey,\n  indexName,\n  inputSelector,\n  [ appId ],\n  [ algoliaOptions.{hitsPerPage} ]\n  [ autocompleteOptions.{hint,debug} ]\n})");if("string"!=typeof t.inputSelector)throw new Error("Error: inputSelector:"+t.inputSelector+"  must be a string. Each selector must match only one element and separated by ','");if(!e.getInputFromSelector(t.inputSelector))throw new Error("Error: No input element in the page matches "+t.inputSelector)}},{key:"injectSearchBox",value:function(e){e.before(c.default.searchBox);var t=e.prev().prev().find("input");return e.remove(),t}},{key:"bindSearchBoxEvent",value:function(){(0,h.default)('.searchbox [type="reset"]').on("click",function(){(0,h.default)("input#docsearch").focus(),(0,h.default)(this).addClass("hide"),a.default.autocomplete.setVal("")}),(0,h.default)("input#docsearch").on("keyup",function(){var e=document.querySelector("input#docsearch"),t=document.querySelector('.searchbox [type="reset"]');t.className="searchbox__reset",0===e.value.length&&(t.className+=" hide")})}},{key:"getInputFromSelector",value:function(e){var t=(0,h.default)(e).filter("input");return t.length?(0,h.default)(t[0]):null}},{key:"formatHits",value:function(t){var n=u.default.deepClone(t).map(function(e){return e._highlightResult&&(e._highlightResult=u.default.mergeKeyWithParent(e._highlightResult,"hierarchy")),u.default.mergeKeyWithParent(e,"hierarchy")}),r=u.default.groupBy(n,"lvl0");return h.default.each(r,function(e,t){var n=u.default.groupBy(t,"lvl1"),i=u.default.flattenAndFlagFirst(n,"isSubCategoryHeader");r[e]=i}),(r=u.default.flattenAndFlagFirst(r,"isCategoryHeader")).map(function(t){var n=e.formatURL(t),r=u.default.getHighlightedValue(t,"lvl0"),i=u.default.getHighlightedValue(t,"lvl1")||r,s=u.default.compact([u.default.getHighlightedValue(t,"lvl2")||i,u.default.getHighlightedValue(t,"lvl3"),u.default.getHighlightedValue(t,"lvl4"),u.default.getHighlightedValue(t,"lvl5"),u.default.getHighlightedValue(t,"lvl6")]).join('<span class="aa-suggestion-title-separator" aria-hidden="true"> › </span>'),o=u.default.getSnippetedValue(t,"content"),a=i&&""!==i||s&&""!==s,c=s&&""!==s&&s!==i,l=!c&&i&&""!==i&&i!==r;return{isLvl0:!l&&!c,isLvl1:l,isLvl2:c,isLvl1EmptyOrDuplicate:!i||""===i||i===r,isCategoryHeader:t.isCategoryHeader,isSubCategoryHeader:t.isSubCategoryHeader,isTextOrSubcategoryNonEmpty:a,category:r,subcategory:i,title:s,text:o,url:n}})}},{key:"formatURL",value:function(e){var t=e.url,n=e.anchor;return t?-1!==t.indexOf("#")?t:n?e.url+"#"+e.anchor:t:n?"#"+e.anchor:(console.warn("no anchor nor url for : ",JSON.stringify(e)),null)}},{key:"getEmptyTemplate",value:function(){return function(e){return s.default.compile(c.default.empty).render(e)}}},{key:"getSuggestionTemplate",value:function(e){var t=e?c.default.suggestionSimple:c.default.suggestion,n=s.default.compile(t);return function(e){return n.render(e)}}}]),e}();t.default=f},function(e,t,n){var r=n(27);r.Template=n(28).Template,r.template=r.Template,e.exports=r},function(e,t,n){!function(e){var t=/\S/,n=/\"/g,r=/\n/g,i=/\r/g,s=/\\/g,o=/\u2028/,a=/\u2029/;function c(e){"}"===e.n.substr(e.n.length-1)&&(e.n=e.n.substring(0,e.n.length-1))}function u(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function l(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var r=1,i=e.length;r<i;r++)if(t.charAt(n+r)!=e.charAt(r))return!1;return!0}e.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(n,r){var i=n.length,s=0,o=null,a=null,h="",d=[],f=!1,p=0,g=0,m="{{",v="}}";function y(){h.length>0&&(d.push({tag:"_t",text:new String(h)}),h="")}function b(n,r){if(y(),n&&function(){for(var n=!0,r=g;r<d.length;r++)if(!(n=e.tags[d[r].tag]<e.tags._v||"_t"==d[r].tag&&null===d[r].text.match(t)))return!1;return n}())for(var i,s=g;s<d.length;s++)d[s].text&&((i=d[s+1])&&">"==i.tag&&(i.indent=d[s].text.toString()),d.splice(s,1));else r||d.push({tag:"\n"});f=!1,g=d.length}function w(e,t){var n="="+v,r=e.indexOf(n,t),i=u(e.substring(e.indexOf("=",t)+1,r)).split(" ");return m=i[0],v=i[i.length-1],r+n.length-1}for(r&&(r=r.split(" "),m=r[0],v=r[1]),p=0;p<i;p++)0==s?l(m,n,p)?(--p,y(),s=1):"\n"==n.charAt(p)?b(f):h+=n.charAt(p):1==s?(p+=m.length-1,"="==(o=(a=e.tags[n.charAt(p+1)])?n.charAt(p+1):"_v")?(p=w(n,p),s=0):(a&&p++,s=2),f=p):l(v,n,p)?(d.push({tag:o,n:u(h),otag:m,ctag:v,i:"/"==o?f-m.length:p+v.length}),h="",p+=v.length-1,s=0,"{"==o&&("}}"==v?p++:c(d[d.length-1]))):h+=n.charAt(p);return b(f,!0),d};var h={_t:!0,"\n":!0,$:!0,"/":!0};function d(e,t){for(var n=0,r=t.length;n<r;n++)if(t[n].o==e.n)return e.tag="#",!0}function f(e,t,n){for(var r=0,i=n.length;r<i;r++)if(n[r].c==e&&n[r].o==t)return!0}function p(e){var t=[];for(var n in e.partials)t.push('"'+m(n)+'":{name:"'+m(e.partials[n].name)+'", '+p(e.partials[n])+"}");return"partials: {"+t.join(",")+"}, subs: "+function(e){var t=[];for(var n in e)t.push('"'+m(n)+'": function(c,p,t,i) {'+e[n]+"}");return"{ "+t.join(",")+" }"}(e.subs)}e.stringify=function(t,n,r){return"{code: function (c,p,i) { "+e.wrapMain(t.code)+" },"+p(t)+"}"};var g=0;function m(e){return e.replace(s,"\\\\").replace(n,'\\"').replace(r,"\\n").replace(i,"\\r").replace(o,"\\u2028").replace(a,"\\u2029")}function v(e){return~e.indexOf(".")?"d":"f"}function y(e,t){var n="<"+(t.prefix||"")+e.n+g++;return t.partials[n]={name:e.n,partials:{}},t.code+='t.b(t.rp("'+m(n)+'",c,p,"'+(e.indent||"")+'"));',n}function b(e,t){t.code+="t.b(t.t(t."+v(e.n)+'("'+m(e.n)+'",c,p,0)));'}function w(e){return"t.b("+e+");"}e.generate=function(t,n,r){g=0;var i={code:"",subs:{},partials:{}};return e.walk(t,i),r.asString?this.stringify(i,n,r):this.makeTemplate(i,n,r)},e.wrapMain=function(e){return'var t=this;t.b(i=i||"");'+e+"return t.fl();"},e.template=e.Template,e.makeTemplate=function(e,t,n){var r=this.makePartials(e);return r.code=new Function("c","p","i",this.wrapMain(e.code)),new this.template(r,t,this,n)},e.makePartials=function(e){var t,n={subs:{},partials:e.partials,name:e.name};for(t in n.partials)n.partials[t]=this.makePartials(n.partials[t]);for(t in e.subs)n.subs[t]=new Function("c","p","t","i",e.subs[t]);return n},e.codegen={"#":function(t,n){n.code+="if(t.s(t."+v(t.n)+'("'+m(t.n)+'",c,p,1),c,p,0,'+t.i+","+t.end+',"'+t.otag+" "+t.ctag+'")){t.rs(c,p,function(c,p,t){',e.walk(t.nodes,n),n.code+="});c.pop();}"},"^":function(t,n){n.code+="if(!t.s(t."+v(t.n)+'("'+m(t.n)+'",c,p,1),c,p,1,0,0,"")){',e.walk(t.nodes,n),n.code+="};"},">":y,"<":function(t,n){var r={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,r);var i=n.partials[y(t,n)];i.subs=r.subs,i.partials=r.partials},$:function(t,n){var r={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,r),n.subs[t.n]=r.code,n.inPartial||(n.code+='t.sub("'+m(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=w('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+v(e.n)+'("'+m(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=w('"'+m(e.text)+'"')},"{":b,"&":b},e.walk=function(t,n){for(var r,i=0,s=t.length;i<s;i++)(r=e.codegen[t[i].tag])&&r(t[i],n);return n},e.parse=function(t,n,r){return function t(n,r,i,s){var o,a=[],c=null,u=null;for(o=i[i.length-1];n.length>0;){if(u=n.shift(),o&&"<"==o.tag&&!(u.tag in h))throw new Error("Illegal content in < super tag.");if(e.tags[u.tag]<=e.tags.$||d(u,s))i.push(u),u.nodes=t(n,u.tag,i,s);else{if("/"==u.tag){if(0===i.length)throw new Error("Closing tag without opener: /"+u.n);if(c=i.pop(),u.n!=c.n&&!f(u.n,c.n,s))throw new Error("Nesting error: "+c.n+" vs. "+u.n);return c.end=u.i,a}"\n"==u.tag&&(u.last=0==n.length||"\n"==n[0].tag)}a.push(u)}if(i.length>0)throw new Error("missing closing tag: "+i.pop().n);return a}(t,0,[],(r=r||{}).sectionTags||[])},e.cache={},e.cacheKey=function(e,t){return[e,!!t.asString,!!t.disableLambda,t.delimiters,!!t.modelGet].join("||")},e.compile=function(t,n){n=n||{};var r=e.cacheKey(t,n),i=this.cache[r];if(i){var s=i.partials;for(var o in s)delete s[o].instance;return i}return i=this.generate(this.parse(this.scan(t,n.delimiters),t,n),t,n),this.cache[r]=i}}(t)},function(e,t,n){!function(e){function t(e,t,n){var r;return t&&"object"==typeof t&&(void 0!==t[e]?r=t[e]:n&&t.get&&"function"==typeof t.get&&(r=t.get(e))),r}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:function(e){return e=c(e),a.test(e)?e.replace(n,"&amp;").replace(r,"&lt;").replace(i,"&gt;").replace(s,"&#39;").replace(o,"&quot;"):e},t:c,render:function(e,t,n){return this.ri([e],t||{},n)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var n=this.partials[e],r=t[n.name];if(n.instance&&n.base==r)return n.instance;if("string"==typeof r){if(!this.c)throw new Error("No compiler available.");r=this.c.compile(r,this.options)}if(!r)return null;if(this.partials[e].base=r,n.subs){for(key in t.stackText||(t.stackText={}),n.subs)t.stackText[key]||(t.stackText[key]=void 0!==this.activeSub&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);r=function(e,t,n,r,i,s){function o(){}function a(){}var c;o.prototype=e,a.prototype=e.subs;var u=new o;for(c in u.subs=new a,u.subsText={},u.buf="",r=r||{},u.stackSubs=r,u.subsText=s,t)r[c]||(r[c]=t[c]);for(c in r)u.subs[c]=r[c];for(c in i=i||{},u.stackPartials=i,n)i[c]||(i[c]=n[c]);for(c in i)u.partials[c]=i[c];return u}(r,n.subs,n.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=r,r},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):""},rs:function(e,t,n){var r=e[e.length-1];if(u(r))for(var i=0;i<r.length;i++)e.push(r[i]),n(e,t,this),e.pop();else n(e,t,this)},s:function(e,t,n,r,i,s,o){var a;return(!u(e)||0!==e.length)&&("function"==typeof e&&(e=this.ms(e,t,n,r,i,s,o)),a=!!e,!r&&a&&t&&t.push("object"==typeof e?e:t[t.length-1]),a)},d:function(e,n,r,i){var s,o=e.split("."),a=this.f(o[0],n,r,i),c=this.options.modelGet,l=null;if("."===e&&u(n[n.length-2]))a=n[n.length-1];else for(var h=1;h<o.length;h++)void 0!==(s=t(o[h],a,c))?(l=a,a=s):a="";return!(i&&!a)&&(i||"function"!=typeof a||(n.push(l),a=this.mv(a,n,r),n.pop()),a)},f:function(e,n,r,i){for(var s=!1,o=!1,a=this.options.modelGet,c=n.length-1;c>=0;c--)if(void 0!==(s=t(e,n[c],a))){o=!0;break}return o?(i||"function"!=typeof s||(s=this.mv(s,n,r)),s):!i&&""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(c(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var a,c=t[t.length-1],u=e.call(c);return"function"==typeof u?!!r||(a=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(u,c,n,a.substring(i,s),o)):u},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return"function"==typeof i?this.ct(c(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var n=/&/g,r=/</g,i=/>/g,s=/\'/g,o=/\"/g,a=/[&<>\"\']/;function c(e){return String(null===e||void 0===e?"":e)}var u=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}}(t)},function(e,t,n){"use strict";var r=n(30),i=n(41);e.exports=i(r,"(lite) ")},function(e,t,n){e.exports=c;var r=n(5),i=n(31),s=n(32),o=n(38),a=Object({NODE_ENV:"production"}).RESET_APP_DATA_TIMER&&parseInt(Object({NODE_ENV:"production"}).RESET_APP_DATA_TIMER,10)||12e4;function c(e,t,i){var s=n(8)("algoliasearch"),o=n(3),a=n(6),c=n(7),l="Usage: algoliasearch(applicationID, apiKey, opts)";if(!0!==i._allowEmptyCredentials&&!e)throw new r.AlgoliaSearchError("Please provide an application ID. "+l);if(!0!==i._allowEmptyCredentials&&!t)throw new r.AlgoliaSearchError("Please provide an API key. "+l);this.applicationID=e,this.apiKey=t,this.hosts={read:[],write:[]},i=i||{},this._timeouts=i.timeouts||{connect:1e3,read:2e3,write:3e4},i.timeout&&(this._timeouts.connect=this._timeouts.read=this._timeouts.write=i.timeout);var h=i.protocol||"https:";if(/:$/.test(h)||(h+=":"),"http:"!==h&&"https:"!==h)throw new r.AlgoliaSearchError("protocol must be `http:` or `https:` (was `"+i.protocol+"`)");if(this._checkAppIdData(),i.hosts)a(i.hosts)?(this.hosts.read=o(i.hosts),this.hosts.write=o(i.hosts)):(this.hosts.read=o(i.hosts.read),this.hosts.write=o(i.hosts.write));else{var d=c(this._shuffleResult,function(t){return e+"-"+t+".algolianet.com"}),f=(!1===i.dsn?"":"-dsn")+".algolia.net";this.hosts.read=[this.applicationID+f].concat(d),this.hosts.write=[this.applicationID+".algolia.net"].concat(d)}this.hosts.read=c(this.hosts.read,u(h)),this.hosts.write=c(this.hosts.write,u(h)),this.extraHeaders={},this.cache=i._cache||{},this._ua=i._ua,this._useCache=!(void 0!==i._useCache&&!i._cache)||i._useCache,this._useRequestCache=this._useCache&&i._useRequestCache,this._useFallback=void 0===i.useFallback||i.useFallback,this._setTimeout=i._setTimeout,s("init done, %j",this)}function u(e){return function(t){return e+"//"+t.toLowerCase()}}function l(e){if(void 0===Array.prototype.toJSON)return JSON.stringify(e);var t=Array.prototype.toJSON;delete Array.prototype.toJSON;var n=JSON.stringify(e);return Array.prototype.toJSON=t,n}function h(e){var t={};for(var n in e){var r;if(Object.prototype.hasOwnProperty.call(e,n))r="x-algolia-api-key"===n||"x-algolia-application-id"===n?"**hidden for security purposes**":e[n],t[n]=r}return t}c.prototype.initIndex=function(e){return new s(this,e)},c.prototype.setExtraHeader=function(e,t){this.extraHeaders[e.toLowerCase()]=t},c.prototype.getExtraHeader=function(e){return this.extraHeaders[e.toLowerCase()]},c.prototype.unsetExtraHeader=function(e){delete this.extraHeaders[e.toLowerCase()]},c.prototype.addAlgoliaAgent=function(e){-1===this._ua.indexOf(";"+e)&&(this._ua+=";"+e)},c.prototype._jsonRequest=function(e){this._checkAppIdData();var t,s,o,a=n(8)("algoliasearch:"+e.url),c=e.additionalUA||"",u=e.cache,d=this,f=0,p=!1,g=d._useFallback&&d._request.fallback&&e.fallback;this.apiKey.length>500&&void 0!==e.body&&(void 0!==e.body.params||void 0!==e.body.requests)?(e.body.apiKey=this.apiKey,o=this._computeRequestHeaders({additionalUA:c,withApiKey:!1,headers:e.headers})):o=this._computeRequestHeaders({additionalUA:c,headers:e.headers}),void 0!==e.body&&(t=l(e.body)),a("request start");var m=[];function v(e,t,n){return d._useCache&&e&&t&&void 0!==t[n]}function y(t,n){if(v(d._useRequestCache,u,s)&&t.catch(function(){delete u[s]}),"function"!=typeof e.callback)return t.then(n);t.then(function(t){i(function(){e.callback(null,n(t))},d._setTimeout||setTimeout)},function(t){i(function(){e.callback(t)},d._setTimeout||setTimeout)})}if(d._useCache&&d._useRequestCache&&(s=e.url),d._useCache&&d._useRequestCache&&t&&(s+="_body_"+t),v(d._useRequestCache,u,s)){a("serving request from cache");var b=u[s];return y("function"!=typeof b.then?d._promise.resolve({responseText:b}):b,function(e){return JSON.parse(e.responseText)})}var w=function n(i,y){d._checkAppIdData();var b=new Date;if(d._useCache&&!d._useRequestCache&&(s=e.url),d._useCache&&!d._useRequestCache&&t&&(s+="_body_"+y.body),v(!d._useRequestCache,u,s)){a("serving response from cache");var w=u[s];return d._promise.resolve({body:JSON.parse(w),responseText:w})}if(f>=d.hosts[e.hostType].length)return!g||p?(a("could not get any response"),d._promise.reject(new r.AlgoliaSearchError("Cannot connect to the AlgoliaSearch API. Send an email to support@algolia.com to report and resolve the issue. Application id was: "+d.applicationID,{debugData:m}))):(a("switching to fallback"),f=0,y.method=e.fallback.method,y.url=e.fallback.url,y.jsonBody=e.fallback.body,y.jsonBody&&(y.body=l(y.jsonBody)),o=d._computeRequestHeaders({additionalUA:c,headers:e.headers}),y.timeouts=d._getTimeoutsForRequest(e.hostType),d._setHostIndexByType(0,e.hostType),p=!0,n(d._request.fallback,y));var _=d._getHostByType(e.hostType),E=_+y.url,x={body:y.body,jsonBody:y.jsonBody,method:y.method,headers:o,timeouts:y.timeouts,debug:a,forceAuthHeaders:y.forceAuthHeaders};return a("method: %s, url: %s, headers: %j, timeouts: %d",x.method,E,x.headers,x.timeouts),i===d._request.fallback&&a("using fallback"),i.call(d,E,x).then(function(e){var n=e&&e.body&&e.body.message&&e.body.status||e.statusCode||e&&e.body&&200;a("received response: statusCode: %s, computed statusCode: %d, headers: %j",e.statusCode,n,e.headers);var i=2===Math.floor(n/100),c=new Date;if(m.push({currentHost:_,headers:h(o),content:t||null,contentLength:void 0!==t?t.length:null,method:y.method,timeouts:y.timeouts,url:y.url,startTime:b,endTime:c,duration:c-b,statusCode:n}),i)return d._useCache&&!d._useRequestCache&&u&&(u[s]=e.responseText),{responseText:e.responseText,body:e.body};if(4!==Math.floor(n/100))return f+=1,S();a("unrecoverable error");var l=new r.AlgoliaSearchError(e.body&&e.body.message,{debugData:m,statusCode:n});return d._promise.reject(l)},function(s){a("error: %s, stack: %s",s.message,s.stack);var c=new Date;return m.push({currentHost:_,headers:h(o),content:t||null,contentLength:void 0!==t?t.length:null,method:y.method,timeouts:y.timeouts,url:y.url,startTime:b,endTime:c,duration:c-b}),s instanceof r.AlgoliaSearchError||(s=new r.Unknown(s&&s.message,s)),f+=1,s instanceof r.Unknown||s instanceof r.UnparsableJSON||f>=d.hosts[e.hostType].length&&(p||!g)?(s.debugData=m,d._promise.reject(s)):s instanceof r.RequestTimeout?(a("retrying request with higher timeout"),d._incrementHostIndex(e.hostType),d._incrementTimeoutMultipler(),y.timeouts=d._getTimeoutsForRequest(e.hostType),n(i,y)):S()});function S(){return a("retrying request"),d._incrementHostIndex(e.hostType),n(i,y)}}(d._request,{url:e.url,method:e.method,body:t,jsonBody:e.body,timeouts:d._getTimeoutsForRequest(e.hostType),forceAuthHeaders:e.forceAuthHeaders});return d._useCache&&d._useRequestCache&&u&&(u[s]=w),y(w,function(e){return e.body})},c.prototype._getSearchParams=function(e,t){if(void 0===e||null===e)return t;for(var n in e)null!==n&&void 0!==e[n]&&e.hasOwnProperty(n)&&(t+=""===t?"":"&",t+=n+"="+encodeURIComponent("[object Array]"===Object.prototype.toString.call(e[n])?l(e[n]):e[n]));return t},c.prototype._computeRequestHeaders=function(e){var t=n(2),r={"x-algolia-agent":e.additionalUA?this._ua+";"+e.additionalUA:this._ua,"x-algolia-application-id":this.applicationID};return!1!==e.withApiKey&&(r["x-algolia-api-key"]=this.apiKey),this.userToken&&(r["x-algolia-usertoken"]=this.userToken),this.securityTags&&(r["x-algolia-tagfilters"]=this.securityTags),t(this.extraHeaders,function(e,t){r[t]=e}),e.headers&&t(e.headers,function(e,t){r[t]=e}),r},c.prototype.search=function(e,t,r){var i=n(6),s=n(7);if(!i(e))throw new Error("Usage: client.search(arrayOfQueries[, callback])");"function"==typeof t?(r=t,t={}):void 0===t&&(t={});var o=this,a={requests:s(e,function(e){var t="";return void 0!==e.query&&(t+="query="+encodeURIComponent(e.query)),{indexName:e.indexName,params:o._getSearchParams(e.params,t)}})},c=s(a.requests,function(e,t){return t+"="+encodeURIComponent("/1/indexes/"+encodeURIComponent(e.indexName)+"?"+e.params)}).join("&");return void 0!==t.strategy&&(a.strategy=t.strategy),this._jsonRequest({cache:this.cache,method:"POST",url:"/1/indexes/*/queries",body:a,hostType:"read",fallback:{method:"GET",url:"/1/indexes/*",body:{params:c}},callback:r})},c.prototype.searchForFacetValues=function(e){var t=n(6),r=n(7),i="Usage: client.searchForFacetValues([{indexName, params: {facetName, facetQuery, ...params}}, ...queries])";if(!t(e))throw new Error(i);var s=this;return s._promise.all(r(e,function(e){if(!e||void 0===e.indexName||void 0===e.params.facetName||void 0===e.params.facetQuery)throw new Error(i);var t=n(3),r=n(14),o=e.indexName,a=e.params,c=a.facetName,u=r(t(a),function(e){return"facetName"===e}),l=s._getSearchParams(u,"");return s._jsonRequest({cache:s.cache,method:"POST",url:"/1/indexes/"+encodeURIComponent(o)+"/facets/"+encodeURIComponent(c)+"/query",hostType:"read",body:{params:l}})}))},c.prototype.setSecurityTags=function(e){if("[object Array]"===Object.prototype.toString.call(e)){for(var t=[],n=0;n<e.length;++n)if("[object Array]"===Object.prototype.toString.call(e[n])){for(var r=[],i=0;i<e[n].length;++i)r.push(e[n][i]);t.push("("+r.join(",")+")")}else t.push(e[n]);e=t.join(",")}this.securityTags=e},c.prototype.setUserToken=function(e){this.userToken=e},c.prototype.clearCache=function(){this.cache={}},c.prototype.setRequestTimeout=function(e){e&&(this._timeouts.connect=this._timeouts.read=this._timeouts.write=e)},c.prototype.setTimeouts=function(e){this._timeouts=e},c.prototype.getTimeouts=function(){return this._timeouts},c.prototype._getAppIdData=function(){var e=o.get(this.applicationID);return null!==e&&this._cacheAppIdData(e),e},c.prototype._setAppIdData=function(e){return e.lastChange=(new Date).getTime(),this._cacheAppIdData(e),o.set(this.applicationID,e)},c.prototype._checkAppIdData=function(){var e=this._getAppIdData(),t=(new Date).getTime();return null===e||t-e.lastChange>a?this._resetInitialAppIdData(e):e},c.prototype._resetInitialAppIdData=function(e){var t=e||{};return t.hostIndexes={read:0,write:0},t.timeoutMultiplier=1,t.shuffleResult=t.shuffleResult||function(e){var t,n,r=e.length;for(;0!==r;)n=Math.floor(Math.random()*r),t=e[r-=1],e[r]=e[n],e[n]=t;return e}([1,2,3]),this._setAppIdData(t)},c.prototype._cacheAppIdData=function(e){this._hostIndexes=e.hostIndexes,this._timeoutMultiplier=e.timeoutMultiplier,this._shuffleResult=e.shuffleResult},c.prototype._partialAppIdDataUpdate=function(e){var t=n(2),r=this._getAppIdData();return t(e,function(e,t){r[t]=e}),this._setAppIdData(r)},c.prototype._getHostByType=function(e){return this.hosts[e][this._getHostIndexByType(e)]},c.prototype._getTimeoutMultiplier=function(){return this._timeoutMultiplier},c.prototype._getHostIndexByType=function(e){return this._hostIndexes[e]},c.prototype._setHostIndexByType=function(e,t){var r=n(3)(this._hostIndexes);return r[t]=e,this._partialAppIdDataUpdate({hostIndexes:r}),e},c.prototype._incrementHostIndex=function(e){return this._setHostIndexByType((this._getHostIndexByType(e)+1)%this.hosts[e].length,e)},c.prototype._incrementTimeoutMultipler=function(){var e=Math.max(this._timeoutMultiplier+1,4);return this._partialAppIdDataUpdate({timeoutMultiplier:e})},c.prototype._getTimeoutsForRequest=function(e){return{connect:this._timeouts.connect*this._timeoutMultiplier,complete:this._timeouts[e]*this._timeoutMultiplier}}},function(e,t){e.exports=function(e,t){t(e,0)}},function(e,t,n){var r=n(13),i=n(33),s=n(34);function o(e,t){this.indexName=t,this.as=e,this.typeAheadArgs=null,this.typeAheadValueOption=null,this.cache={}}e.exports=o,o.prototype.clearCache=function(){this.cache={}},o.prototype.search=r("query"),o.prototype.similarSearch=r("similarQuery"),o.prototype.browse=function(e,t,r){var i,s,o=n(35);0===arguments.length||1===arguments.length&&"function"==typeof arguments[0]?(i=0,r=arguments[0],e=void 0):"number"==typeof arguments[0]?(i=arguments[0],"number"==typeof arguments[1]?s=arguments[1]:"function"==typeof arguments[1]&&(r=arguments[1],s=void 0),e=void 0,t=void 0):"object"==typeof arguments[0]?("function"==typeof arguments[1]&&(r=arguments[1]),t=arguments[0],e=void 0):"string"==typeof arguments[0]&&"function"==typeof arguments[1]&&(r=arguments[1],t=void 0),t=o({},t||{},{page:i,hitsPerPage:s,query:e});var a=this.as._getSearchParams(t,"");return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/browse",body:{params:a},hostType:"read",callback:r})},o.prototype.browseFrom=function(e,t){return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/browse",body:{cursor:e},hostType:"read",callback:t})},o.prototype.searchForFacetValues=function(e,t){var r=n(3),i=n(14);if(void 0===e.facetName||void 0===e.facetQuery)throw new Error("Usage: index.searchForFacetValues({facetName, facetQuery, ...params}[, callback])");var s=e.facetName,o=i(r(e),function(e){return"facetName"===e}),a=this.as._getSearchParams(o,"");return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/facets/"+encodeURIComponent(s)+"/query",hostType:"read",body:{params:a},callback:t})},o.prototype.searchFacet=i(function(e,t){return this.searchForFacetValues(e,t)},s("index.searchFacet(params[, callback])","index.searchForFacetValues(params[, callback])")),o.prototype._search=function(e,t,n,r){return this.as._jsonRequest({cache:this.cache,method:"POST",url:t||"/1/indexes/"+encodeURIComponent(this.indexName)+"/query",body:{params:e},hostType:"read",fallback:{method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName),body:{params:e}},callback:n,additionalUA:r})},o.prototype.getObject=function(e,t,n){1!==arguments.length&&"function"!=typeof t||(n=t,t=void 0);var r="";if(void 0!==t){r="?attributes=";for(var i=0;i<t.length;++i)0!==i&&(r+=","),r+=t[i]}return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/"+encodeURIComponent(e)+r,hostType:"read",callback:n})},o.prototype.getObjects=function(e,t,r){var i=n(6),s=n(7);if(!i(e))throw new Error("Usage: index.getObjects(arrayOfObjectIDs[, callback])");var o=this;1!==arguments.length&&"function"!=typeof t||(r=t,t=void 0);var a={requests:s(e,function(e){var n={indexName:o.indexName,objectID:e};return t&&(n.attributesToRetrieve=t.join(",")),n})};return this.as._jsonRequest({method:"POST",url:"/1/indexes/*/objects",hostType:"read",body:a,callback:r})},o.prototype.as=null,o.prototype.indexName=null,o.prototype.typeAheadArgs=null,o.prototype.typeAheadValueOption=null},function(e,t){e.exports=function(e,t){var n=!1;return function(){return n||(console.warn(t),n=!0),e.apply(this,arguments)}}},function(e,t){e.exports=function(e,t){return"algoliasearch: `"+e+"` was replaced by `"+t+"`. Please see https://github.com/algolia/algoliasearch-client-javascript/wiki/Deprecated#"+e.toLowerCase().replace(/[\.\(\)]/g,"")}},function(e,t,n){var r=n(2);e.exports=function e(t){var n=Array.prototype.slice.call(arguments);return r(n,function(n){for(var r in n)n.hasOwnProperty(r)&&("object"==typeof t[r]&&"object"==typeof n[r]?t[r]=e({},t[r],n[r]):void 0!==n[r]&&(t[r]=n[r]))}),t}},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty,i=Object.prototype.toString,s=Array.prototype.slice,o=n(37),a=Object.prototype.propertyIsEnumerable,c=!a.call({toString:null},"toString"),u=a.call(function(){},"prototype"),l=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],h=function(e){var t=e.constructor;return t&&t.prototype===e},d={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},f=function(){if("undefined"==typeof window)return!1;for(var e in window)try{if(!d["$"+e]&&r.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{h(window[e])}catch(e){return!0}}catch(e){return!0}return!1}(),p=function(e){var t=null!==e&&"object"==typeof e,n="[object Function]"===i.call(e),s=o(e),a=t&&"[object String]"===i.call(e),d=[];if(!t&&!n&&!s)throw new TypeError("Object.keys called on a non-object");var p=u&&n;if(a&&e.length>0&&!r.call(e,0))for(var g=0;g<e.length;++g)d.push(String(g));if(s&&e.length>0)for(var m=0;m<e.length;++m)d.push(String(m));else for(var v in e)p&&"prototype"===v||!r.call(e,v)||d.push(String(v));if(c)for(var y=function(e){if("undefined"==typeof window||!f)return h(e);try{return h(e)}catch(e){return!1}}(e),b=0;b<l.length;++b)y&&"constructor"===l[b]||!r.call(e,l[b])||d.push(l[b]);return d};p.shim=function(){if(Object.keys){if(!function(){return 2===(Object.keys(arguments)||"").length}(1,2)){var e=Object.keys;Object.keys=function(t){return o(t)?e(s.call(t)):e(t)}}}else Object.keys=p;return Object.keys||p},e.exports=p},function(e,t,n){"use strict";var r=Object.prototype.toString;e.exports=function(e){var t=r.call(e),n="[object Arguments]"===t;return n||(n="[object Array]"!==t&&null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Function]"===r.call(e.callee)),n}},function(e,t,n){(function(t){var r,i=n(8)("algoliasearch:src/hostIndexState.js"),s="algoliasearch-client-js",o={state:{},set:function(e,t){return this.state[e]=t,this.state[e]},get:function(e){return this.state[e]||null}},a={set:function(e,n){o.set(e,n);try{var r=JSON.parse(t.localStorage[s]);return r[e]=n,t.localStorage[s]=JSON.stringify(r),r[e]}catch(t){return c(e,t)}},get:function(e){try{return JSON.parse(t.localStorage[s])[e]||null}catch(t){return c(e,t)}}};function c(e,n){return i("localStorage failed with",n),function(){try{t.localStorage.removeItem(s)}catch(e){}}(),(r=o).get(e)}function u(e,t){return 1===arguments.length?r.get(e):r.set(e,t)}function l(){try{return"localStorage"in t&&null!==t.localStorage&&(t.localStorage[s]||t.localStorage.setItem(s,JSON.stringify({})),!0)}catch(e){return!1}}r=l()?a:o,e.exports={get:u,set:u,supportsLocalStorage:l}}).call(t,n(4))},function(e,t,n){var r;function i(e){function n(){if(n.enabled){var e=n,i=+new Date,s=i-(r||i);e.diff=s,e.prev=r,e.curr=i,r=i;for(var o=new Array(arguments.length),a=0;a<o.length;a++)o[a]=arguments[a];o[0]=t.coerce(o[0]),"string"!=typeof o[0]&&o.unshift("%O");var c=0;o[0]=o[0].replace(/%([a-zA-Z%])/g,function(n,r){if("%%"===n)return n;c++;var i=t.formatters[r];if("function"==typeof i){var s=o[c];n=i.call(e,s),o.splice(c,1),c--}return n}),t.formatArgs.call(e,o),(n.log||t.log||console.log.bind(console)).apply(e,o)}}return n.namespace=e,n.enabled=t.enabled(e),n.useColors=t.useColors(),n.color=function(e){var n,r=0;for(n in e)r=(r<<5)-r+e.charCodeAt(n),r|=0;return t.colors[Math.abs(r)%t.colors.length]}(e),"function"==typeof t.init&&t.init(n),n}(t=e.exports=i.debug=i.default=i).coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){t.enable("")},t.enable=function(e){t.save(e),t.names=[],t.skips=[];for(var n=("string"==typeof e?e:"").split(/[\s,]+/),r=n.length,i=0;i<r;i++)n[i]&&("-"===(e=n[i].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.substr(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){var n,r;for(n=0,r=t.skips.length;n<r;n++)if(t.skips[n].test(e))return!1;for(n=0,r=t.names.length;n<r;n++)if(t.names[n].test(e))return!0;return!1},t.humanize=n(40),t.names=[],t.skips=[],t.formatters={}},function(e,t){var n=1e3,r=60*n,i=60*r,s=24*i,o=365.25*s;function a(e,t,n){if(!(e<t))return e<1.5*t?Math.floor(e/t)+" "+n:Math.ceil(e/t)+" "+n+"s"}e.exports=function(e,t){t=t||{};var c=typeof e;if("string"===c&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(!t)return;var a=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return a*o;case"days":case"day":case"d":return a*s;case"hours":case"hour":case"hrs":case"hr":case"h":return a*i;case"minutes":case"minute":case"mins":case"min":case"m":return a*r;case"seconds":case"second":case"secs":case"sec":case"s":return a*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}(e);if("number"===c&&!1===isNaN(e))return t.long?function(e){return a(e,s,"day")||a(e,i,"hour")||a(e,r,"minute")||a(e,n,"second")||e+" ms"}(e):function(e){if(e>=s)return Math.round(e/s)+"d";if(e>=i)return Math.round(e/i)+"h";if(e>=r)return Math.round(e/r)+"m";if(e>=n)return Math.round(e/n)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},function(e,t,n){"use strict";var r=n(42),i=r.Promise||n(43).Promise;e.exports=function(e,t){var s=n(12),o=n(5),a=n(44),c=n(46),u=n(47);function l(e,t,r){return(r=n(3)(r||{}))._ua=r._ua||l.ua,new d(e,t,r)}t=t||"",l.version=n(48),l.ua="Algolia for vanilla JavaScript "+t+l.version,l.initPlaces=u(l),r.__algolia={debug:n(8),algoliasearch:l};var h={hasXMLHttpRequest:"XMLHttpRequest"in r,hasXDomainRequest:"XDomainRequest"in r};function d(){e.apply(this,arguments)}return h.hasXMLHttpRequest&&(h.cors="withCredentials"in new XMLHttpRequest),s(d,e),d.prototype._request=function(e,t){return new i(function(n,r){if(h.cors||h.hasXDomainRequest){e=a(e,t.headers);var i,s,c=t.body,u=h.cors?new XMLHttpRequest:new XDomainRequest,l=!1;i=setTimeout(d,t.timeouts.connect),u.onprogress=function(){l||f()},"onreadystatechange"in u&&(u.onreadystatechange=function(){!l&&u.readyState>1&&f()}),u.onload=function(){if(s)return;var e;clearTimeout(i);try{e={body:JSON.parse(u.responseText),responseText:u.responseText,statusCode:u.status,headers:u.getAllResponseHeaders&&u.getAllResponseHeaders()||{}}}catch(t){e=new o.UnparsableJSON({more:u.responseText})}e instanceof o.UnparsableJSON?r(e):n(e)},u.onerror=function(e){if(s)return;clearTimeout(i),r(new o.Network({more:e}))},u instanceof XMLHttpRequest?(u.open(t.method,e,!0),t.forceAuthHeaders&&(u.setRequestHeader("x-algolia-application-id",t.headers["x-algolia-application-id"]),u.setRequestHeader("x-algolia-api-key",t.headers["x-algolia-api-key"]))):u.open(t.method,e),h.cors&&(c&&("POST"===t.method?u.setRequestHeader("content-type","application/x-www-form-urlencoded"):u.setRequestHeader("content-type","application/json")),u.setRequestHeader("accept","application/json")),c?u.send(c):u.send()}else r(new o.Network("CORS not supported"));function d(){s=!0,u.abort(),r(new o.RequestTimeout)}function f(){l=!0,clearTimeout(i),i=setTimeout(d,t.timeouts.complete)}})},d.prototype._request.fallback=function(e,t){return e=a(e,t.headers),new i(function(n,r){c(e,t,function(e,t){e?r(e):n(t)})})},d.prototype._promise={reject:function(e){return i.reject(e)},resolve:function(e){return i.resolve(e)},delay:function(e){return new i(function(t){setTimeout(t,e)})},all:function(e){return i.all(e)}},l}},function(e,t,n){(function(t){var n;n="undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:{},e.exports=n}).call(t,n(4))},function(e,t,n){(function(t,n){
++/*!
++ * @overview es6-promise - a tiny implementation of Promises/A+.
++ * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
++ * @license   Licensed under MIT license
++ *            See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
++ * @version   v4.2.4+314e4831
++ */
++!function(t,n){e.exports=n()}(0,function(){"use strict";function e(e){return"function"==typeof e}var r=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},i=0,s=void 0,o=void 0,a=function(e,t){p[i]=e,p[i+1]=t,2===(i+=2)&&(o?o(g):m())};var c="undefined"!=typeof window?window:void 0,u=c||{},l=u.MutationObserver||u.WebKitMutationObserver,h="undefined"==typeof self&&void 0!==t&&"[object process]"==={}.toString.call(t),d="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function f(){var e=setTimeout;return function(){return e(g,1)}}var p=new Array(1e3);function g(){for(var e=0;e<i;e+=2){(0,p[e])(p[e+1]),p[e]=void 0,p[e+1]=void 0}i=0}var m=void 0;function v(e,t){var n=this,r=new this.constructor(w);void 0===r[b]&&D(r);var i=n._state;if(i){var s=arguments[i-1];a(function(){return L(i,r,s,n._result)})}else R(n,r,e,t);return r}function y(e){if(e&&"object"==typeof e&&e.constructor===this)return e;var t=new this(w);return N(t,e),t}m=h?function(){return t.nextTick(g)}:l?function(){var e=0,t=new l(g),n=document.createTextNode("");return t.observe(n,{characterData:!0}),function(){n.data=e=++e%2}}():d?function(){var e=new MessageChannel;return e.port1.onmessage=g,function(){return e.port2.postMessage(0)}}():void 0===c?function(){try{var e=Function("return this")().require("vertx");return void 0!==(s=e.runOnLoop||e.runOnContext)?function(){s(g)}:f()}catch(e){return f()}}():f();var b=Math.random().toString(36).substring(2);function w(){}var _=void 0,E=1,x=2,S={error:null};function C(e){try{return e.then}catch(e){return S.error=e,S}}function A(t,n,r){n.constructor===t.constructor&&r===v&&n.constructor.resolve===y?function(e,t){t._state===E?T(e,t._result):t._state===x?k(e,t._result):R(t,void 0,function(t){return N(e,t)},function(t){return k(e,t)})}(t,n):r===S?(k(t,S.error),S.error=null):void 0===r?T(t,n):e(r)?function(e,t,n){a(function(e){var r=!1,i=function(e,t,n,r){try{e.call(t,n,r)}catch(e){return e}}(n,t,function(n){r||(r=!0,t!==n?N(e,n):T(e,n))},function(t){r||(r=!0,k(e,t))},e._label);!r&&i&&(r=!0,k(e,i))},e)}(t,n,r):T(t,n)}function N(e,t){e===t?k(e,new TypeError("You cannot resolve a promise with itself")):!function(e){var t=typeof e;return null!==e&&("object"===t||"function"===t)}(t)?T(e,t):A(e,t,C(t))}function O(e){e._onerror&&e._onerror(e._result),M(e)}function T(e,t){e._state===_&&(e._result=t,e._state=E,0!==e._subscribers.length&&a(M,e))}function k(e,t){e._state===_&&(e._state=x,e._result=t,a(O,e))}function R(e,t,n,r){var i=e._subscribers,s=i.length;e._onerror=null,i[s]=t,i[s+E]=n,i[s+x]=r,0===s&&e._state&&a(M,e)}function M(e){var t=e._subscribers,n=e._state;if(0!==t.length){for(var r=void 0,i=void 0,s=e._result,o=0;o<t.length;o+=3)r=t[o],i=t[o+n],r?L(n,r,i,s):i(s);e._subscribers.length=0}}function L(t,n,r,i){var s=e(r),o=void 0,a=void 0,c=void 0,u=void 0;if(s){if((o=function(e,t){try{return e(t)}catch(e){return S.error=e,S}}(r,i))===S?(u=!0,a=o.error,o.error=null):c=!0,n===o)return void k(n,new TypeError("A promises callback cannot return that same promise."))}else o=i,c=!0;n._state!==_||(s&&c?N(n,o):u?k(n,a):t===E?T(n,o):t===x&&k(n,o))}var I=0;function D(e){e[b]=I++,e._state=void 0,e._result=void 0,e._subscribers=[]}var P=function(){function e(e,t){this._instanceConstructor=e,this.promise=new e(w),this.promise[b]||D(this.promise),r(t)?(this.length=t.length,this._remaining=t.length,this._result=new Array(this.length),0===this.length?T(this.promise,this._result):(this.length=this.length||0,this._enumerate(t),0===this._remaining&&T(this.promise,this._result))):k(this.promise,new Error("Array Methods must be provided an Array"))}return e.prototype._enumerate=function(e){for(var t=0;this._state===_&&t<e.length;t++)this._eachEntry(e[t],t)},e.prototype._eachEntry=function(e,t){var n=this._instanceConstructor,r=n.resolve;if(r===y){var i=C(e);if(i===v&&e._state!==_)this._settledAt(e._state,t,e._result);else if("function"!=typeof i)this._remaining--,this._result[t]=e;else if(n===j){var s=new n(w);A(s,e,i),this._willSettleAt(s,t)}else this._willSettleAt(new n(function(t){return t(e)}),t)}else this._willSettleAt(r(e),t)},e.prototype._settledAt=function(e,t,n){var r=this.promise;r._state===_&&(this._remaining--,e===x?k(r,n):this._result[t]=n),0===this._remaining&&T(r,this._result)},e.prototype._willSettleAt=function(e,t){var n=this;R(e,void 0,function(e){return n._settledAt(E,t,e)},function(e){return n._settledAt(x,t,e)})},e}();var j=function(){function e(t){this[b]=I++,this._result=this._state=void 0,this._subscribers=[],w!==t&&("function"!=typeof t&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof e?function(e,t){try{t(function(t){N(e,t)},function(t){k(e,t)})}catch(t){k(e,t)}}(this,t):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}return e.prototype.catch=function(e){return this.then(null,e)},e.prototype.finally=function(e){var t=this.constructor;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){throw n})})},e}();return j.prototype.then=v,j.all=function(e){return new P(this,e).promise},j.race=function(e){var t=this;return r(e)?new t(function(n,r){for(var i=e.length,s=0;s<i;s++)t.resolve(e[s]).then(n,r)}):new t(function(e,t){return t(new TypeError("You must pass an array to race."))})},j.resolve=y,j.reject=function(e){var t=new this(w);return k(t,e),t},j._setScheduler=function(e){o=e},j._setAsap=function(e){a=e},j._asap=a,j.polyfill=function(){var e=void 0;if(void 0!==n)e=n;else if("undefined"!=typeof self)e=self;else try{e=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var t=e.Promise;if(t){var r=null;try{r=Object.prototype.toString.call(t.resolve())}catch(e){}if("[object Promise]"===r&&!t.cast)return}e.Promise=j},j.Promise=j,j})}).call(t,n(9),n(4))},function(e,t,n){"use strict";e.exports=function(e,t){/\?/.test(e)?e+="&":e+="?";return e+r(t)};var r=n(45)},function(e,t,n){"use strict";var r=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,n,a){return t=t||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?s(o(e),function(o){var a=encodeURIComponent(r(o))+n;return i(e[o])?s(e[o],function(e){return a+encodeURIComponent(r(e))}).join(t):a+encodeURIComponent(r(e[o]))}).join(t):a?encodeURIComponent(r(a))+n+encodeURIComponent(r(e)):""};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function s(e,t){if(e.map)return e.map(t);for(var n=[],r=0;r<e.length;r++)n.push(t(e[r],r));return n}var o=Object.keys||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t}},function(e,t,n){"use strict";e.exports=function(e,t,n){if("GET"!==t.method)return void n(new Error("Method "+t.method+" "+e+" is not supported by JSONP."));t.debug("JSONP: start");var s=!1,o=!1;i+=1;var a=document.getElementsByTagName("head")[0],c=document.createElement("script"),u="algoliaJSONP_"+i,l=!1;window[u]=function(e){!function(){try{delete window[u],delete window[u+"_loaded"]}catch(e){window[u]=window[u+"_loaded"]=void 0}}(),o?t.debug("JSONP: Late answer, ignoring"):(s=!0,f(),n(null,{body:e,responseText:JSON.stringify(e)}))},e+="&callback="+u,t.jsonBody&&t.jsonBody.params&&(e+="&"+t.jsonBody.params);var h=setTimeout(function(){t.debug("JSONP: Script timeout"),o=!0,f(),n(new r.RequestTimeout)},t.timeouts.complete);function d(){t.debug("JSONP: success"),l||o||(l=!0,s||(t.debug("JSONP: Fail. Script loaded but did not call the callback"),f(),n(new r.JSONPScriptFail)))}function f(){clearTimeout(h),c.onload=null,c.onreadystatechange=null,c.onerror=null,a.removeChild(c)}c.onreadystatechange=function(){"loaded"!==this.readyState&&"complete"!==this.readyState||d()},c.onload=d,c.onerror=function(){if(t.debug("JSONP: Script error"),l||o)return;f(),n(new r.JSONPScriptError)},c.async=!0,c.defer=!0,c.src=e,a.appendChild(c)};var r=n(5),i=0},function(e,t,n){e.exports=function(e){return function(t,i,s){var o=n(3);(s=s&&o(s)||{}).hosts=s.hosts||["places-dsn.algolia.net","places-1.algolianet.com","places-2.algolianet.com","places-3.algolianet.com"],0!==arguments.length&&"object"!=typeof t&&void 0!==t||(t="",i="",s._allowEmptyCredentials=!0);var a=e(t,i,s),c=a.initIndex("places");return c.search=r("query","/1/places/query"),c.getObject=function(e,t){return this.as._jsonRequest({method:"GET",url:"/1/places/"+encodeURIComponent(e),hostType:"read",callback:t})},c}};var r=n(13)},function(e,t,n){"use strict";e.exports="3.30.0"},function(e,t,n){"use strict";e.exports=n(50)},function(e,t,n){"use strict";var r=n(15);n(1).element=r;var i=n(0);i.isArray=r.isArray,i.isFunction=r.isFunction,i.isObject=r.isPlainObject,i.bind=r.proxy,i.each=function(e,t){r.each(e,function(e,n){return t(n,e)})},i.map=r.map,i.mixin=r.extend,i.Event=r.Event;var s="aaAutocomplete",o=n(51),a=n(16);function c(e,t,n,c){n=i.isArray(n)?n:[].slice.call(arguments,2);var u=r(e).each(function(e,i){var u=r(i),l=new a({el:u}),h=c||new o({input:u,eventBus:l,dropdownMenuContainer:t.dropdownMenuContainer,hint:void 0===t.hint||!!t.hint,minLength:t.minLength,autoselect:t.autoselect,autoselectOnBlur:t.autoselectOnBlur,tabAutocomplete:t.tabAutocomplete,openOnFocus:t.openOnFocus,templates:t.templates,debug:t.debug,clearOnSelected:t.clearOnSelected,cssClasses:t.cssClasses,datasets:n,keyboardShortcuts:t.keyboardShortcuts,appendTo:t.appendTo,autoWidth:t.autoWidth});u.data(s,h)});return u.autocomplete={},i.each(["open","close","getVal","setVal","destroy","getWrapper"],function(e){u.autocomplete[e]=function(){var t,n=arguments;return u.each(function(i,o){var a=r(o).data(s);t=a[e].apply(a,n)}),t}}),u}c.sources=o.sources,c.escapeHighlightedString=i.escapeHighlightedString;var u="autocomplete"in window,l=window.autocomplete;c.noConflict=function(){return u?window.autocomplete=l:delete window.autocomplete,c},e.exports=c},function(e,t,n){"use strict";var r="aaAttrs",i=n(0),s=n(1),o=n(16),a=n(52),c=n(59),u=n(17),l=n(11);function h(e){var t,n;if((e=e||{}).input||i.error("missing input"),this.isActivated=!1,this.debug=!!e.debug,this.autoselect=!!e.autoselect,this.autoselectOnBlur=!!e.autoselectOnBlur,this.openOnFocus=!!e.openOnFocus,this.minLength=i.isNumber(e.minLength)?e.minLength:1,this.autoWidth=void 0===e.autoWidth||!!e.autoWidth,this.clearOnSelected=!!e.clearOnSelected,this.tabAutocomplete=void 0===e.tabAutocomplete||!!e.tabAutocomplete,e.hint=!!e.hint,e.hint&&e.appendTo)throw new Error("[autocomplete.js] hint and appendTo options can't be used at the same time");this.css=e.css=i.mixin({},l,e.appendTo?l.appendTo:{}),this.cssClasses=e.cssClasses=i.mixin({},l.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix=i.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),this.listboxId=e.listboxId=[this.cssClasses.root,"listbox",i.getUniqueId()].join("-");var a=function(e){var t,n,o,a;t=s.element(e.input),n=s.element(u.wrapper.replace("%ROOT%",e.cssClasses.root)).css(e.css.wrapper),e.appendTo||"block"!==t.css("display")||"table"!==t.parent().css("display")||n.css("display","table-cell");var c=u.dropdown.replace("%PREFIX%",e.cssClasses.prefix).replace("%DROPDOWN_MENU%",e.cssClasses.dropdownMenu);o=s.element(c).css(e.css.dropdown).attr({role:"listbox",id:e.listboxId}),e.templates&&e.templates.dropdownMenu&&o.html(i.templatify(e.templates.dropdownMenu)());(a=t.clone().css(e.css.hint).css(function(e){return{backgroundAttachment:e.css("background-attachment"),backgroundClip:e.css("background-clip"),backgroundColor:e.css("background-color"),backgroundImage:e.css("background-image"),backgroundOrigin:e.css("background-origin"),backgroundPosition:e.css("background-position"),backgroundRepeat:e.css("background-repeat"),backgroundSize:e.css("background-size")}}(t))).val("").addClass(i.className(e.cssClasses.prefix,e.cssClasses.hint,!0)).removeAttr("id name placeholder required").prop("readonly",!0).attr({"aria-hidden":"true",autocomplete:"off",spellcheck:"false",tabindex:-1}),a.removeData&&a.removeData();t.data(r,{"aria-autocomplete":t.attr("aria-autocomplete"),"aria-expanded":t.attr("aria-expanded"),"aria-owns":t.attr("aria-owns"),autocomplete:t.attr("autocomplete"),dir:t.attr("dir"),role:t.attr("role"),spellcheck:t.attr("spellcheck"),style:t.attr("style"),type:t.attr("type")}),t.addClass(i.className(e.cssClasses.prefix,e.cssClasses.input,!0)).attr({autocomplete:"off",spellcheck:!1,role:"combobox","aria-autocomplete":e.datasets&&e.datasets[0]&&e.datasets[0].displayKey?"both":"list","aria-expanded":"false","aria-label":e.ariaLabel,"aria-owns":e.listboxId}).css(e.hint?e.css.input:e.css.inputWithNoHint);try{t.attr("dir")||t.attr("dir","auto")}catch(e){}return(n=e.appendTo?n.appendTo(s.element(e.appendTo).eq(0)).eq(0):t.wrap(n).parent()).prepend(e.hint?a:null).append(o),{wrapper:n,input:t,hint:a,menu:o}}(e);this.$node=a.wrapper;var c=this.$input=a.input;t=a.menu,n=a.hint,e.dropdownMenuContainer&&s.element(e.dropdownMenuContainer).css("position","relative").append(t.css("top","0")),c.on("blur.aa",function(e){var n=document.activeElement;i.isMsie()&&(t[0]===n||t[0].contains(n))&&(e.preventDefault(),e.stopImmediatePropagation(),i.defer(function(){c.focus()}))}),t.on("mousedown.aa",function(e){e.preventDefault()}),this.eventBus=e.eventBus||new o({el:c}),this.dropdown=new h.Dropdown({appendTo:e.appendTo,wrapper:this.$node,menu:t,datasets:e.datasets,templates:e.templates,cssClasses:e.cssClasses,minLength:this.minLength}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onSync("shown",this._onShown,this).onSync("empty",this._onEmpty,this).onSync("redrawn",this._onRedrawn,this).onAsync("datasetRendered",this._onDatasetRendered,this),this.input=new h.Input({input:c,hint:n}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this),this._bindKeyboardShortcuts(e),this._setLanguageDirection()}i.mixin(h.prototype,{_bindKeyboardShortcuts:function(e){if(e.keyboardShortcuts){var t=this.$input,n=[];i.each(e.keyboardShortcuts,function(e){"string"==typeof e&&(e=e.toUpperCase().charCodeAt(0)),n.push(e)}),s.element(document).keydown(function(e){var r=e.target||e.srcElement,i=r.tagName;if(!r.isContentEditable&&"INPUT"!==i&&"SELECT"!==i&&"TEXTAREA"!==i){var s=e.which||e.keyCode;-1!==n.indexOf(s)&&(t.focus(),e.stopPropagation(),e.preventDefault())}})}},_onSuggestionClicked:function(e,t){var n;(n=this.dropdown.getDatumForSuggestion(t))&&this._select(n)},_onCursorMoved:function(e,t){var n=this.dropdown.getDatumForCursor(),r=this.dropdown.getCurrentCursor().attr("id");this.input.setActiveDescendant(r),n&&(t&&this.input.setInputValue(n.value,!0),this.eventBus.trigger("cursorchanged",n.raw,n.datasetName))},_onCursorRemoved:function(){this.input.resetInputValue(),this._updateHint(),this.eventBus.trigger("cursorremoved")},_onDatasetRendered:function(){this._updateHint(),this.eventBus.trigger("updated")},_onOpened:function(){this._updateHint(),this.input.expand(),this.eventBus.trigger("opened")},_onEmpty:function(){this.eventBus.trigger("empty")},_onRedrawn:function(){this.$node.css("top","0px"),this.$node.css("left","0px");var e=this.$input[0].getBoundingClientRect();this.autoWidth&&this.$node.css("width",e.width+"px");var t=this.$node[0].getBoundingClientRect(),n=e.bottom-t.top;this.$node.css("top",n+"px");var r=e.left-t.left;this.$node.css("left",r+"px"),this.eventBus.trigger("redrawn")},_onShown:function(){this.eventBus.trigger("shown"),this.autoselect&&this.dropdown.cursorTopSuggestion()},_onClosed:function(){this.input.clearHint(),this.input.removeActiveDescendant(),this.input.collapse(),this.eventBus.trigger("closed")},_onFocused:function(){if(this.isActivated=!0,this.openOnFocus){var e=this.input.getQuery();e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty(),this.dropdown.open()}},_onBlurred:function(){var e,t;e=this.dropdown.getDatumForCursor(),t=this.dropdown.getDatumForTopSuggestion(),this.debug||(this.autoselectOnBlur&&e?this._select(e):this.autoselectOnBlur&&t?this._select(t):(this.isActivated=!1,this.dropdown.empty(),this.dropdown.close()))},_onEnterKeyed:function(e,t){var n,r;n=this.dropdown.getDatumForCursor(),r=this.dropdown.getDatumForTopSuggestion(),n?(this._select(n),t.preventDefault()):this.autoselect&&r&&(this._select(r),t.preventDefault())},_onTabKeyed:function(e,t){var n;this.tabAutocomplete?(n=this.dropdown.getDatumForCursor())?(this._select(n),t.preventDefault()):this._autocomplete(!0):this.dropdown.close()},_onEscKeyed:function(){this.dropdown.close(),this.input.resetInputValue()},_onUpKeyed:function(){var e=this.input.getQuery();this.dropdown.isEmpty&&e.length>=this.minLength?this.dropdown.update(e):this.dropdown.moveCursorUp(),this.dropdown.open()},_onDownKeyed:function(){var e=this.input.getQuery();this.dropdown.isEmpty&&e.length>=this.minLength?this.dropdown.update(e):this.dropdown.moveCursorDown(),this.dropdown.open()},_onLeftKeyed:function(){"rtl"===this.dir&&this._autocomplete()},_onRightKeyed:function(){"ltr"===this.dir&&this._autocomplete()},_onQueryChanged:function(e,t){this.input.clearHintIfInvalid(),t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty(),this.dropdown.open(),this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint(),this.dropdown.open()},_setLanguageDirection:function(){var e=this.input.getLanguageDirection();this.dir!==e&&(this.dir=e,this.$node.css("direction",e),this.dropdown.setLanguageDirection(e))},_updateHint:function(){var e,t,n,r,s;(e=this.dropdown.getDatumForTopSuggestion())&&this.dropdown.isVisible()&&!this.input.hasOverflow()?(t=this.input.getInputValue(),n=a.normalizeQuery(t),r=i.escapeRegExChars(n),(s=new RegExp("^(?:"+r+")(.+$)","i").exec(e.value))?this.input.setHint(t+s[1]):this.input.clearHint()):this.input.clearHint()},_autocomplete:function(e){var t,n,r,i;t=this.input.getHint(),n=this.input.getQuery(),r=e||this.input.isCursorAtEnd(),t&&n!==t&&r&&((i=this.dropdown.getDatumForTopSuggestion())&&this.input.setInputValue(i.value),this.eventBus.trigger("autocompleted",i.raw,i.datasetName))},_select:function(e){void 0!==e.value&&this.input.setQuery(e.value),this.clearOnSelected?this.setVal(""):this.input.setInputValue(e.value,!0),this._setLanguageDirection(),!1===this.eventBus.trigger("selected",e.raw,e.datasetName).isDefaultPrevented()&&(this.dropdown.close(),i.defer(i.bind(this.dropdown.empty,this.dropdown)))},open:function(){if(!this.isActivated){var e=this.input.getInputValue();e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty()}this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(e){e=i.toStr(e),this.isActivated?this.input.setInputValue(e):(this.input.setQuery(e),this.input.setInputValue(e,!0)),this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){this.input.destroy(),this.dropdown.destroy(),function(e,t){var n=e.find(i.className(t.prefix,t.input));i.each(n.data(r),function(e,t){void 0===e?n.removeAttr(t):n.attr(t,e)}),n.detach().removeClass(i.className(t.prefix,t.input,!0)).insertAfter(e),n.removeData&&n.removeData(r);e.remove()}(this.$node,this.cssClasses),this.$node=null},getWrapper:function(){return this.dropdown.$container[0]}}),h.Dropdown=c,h.Input=a,h.sources=n(61),e.exports=h},function(e,t,n){"use strict";var r;r={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"};var i=n(0),s=n(1),o=n(10);function a(e){var t,n,o,a,c=this;(e=e||{}).input||i.error("input is missing"),t=i.bind(this._onBlur,this),n=i.bind(this._onFocus,this),o=i.bind(this._onKeydown,this),a=i.bind(this._onInput,this),this.$hint=s.element(e.hint),this.$input=s.element(e.input).on("blur.aa",t).on("focus.aa",n).on("keydown.aa",o),0===this.$hint.length&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=i.noop),i.isMsie()?this.$input.on("keydown.aa keypress.aa cut.aa paste.aa",function(e){r[e.which||e.keyCode]||i.defer(i.bind(c._onInput,c,e))}):this.$input.on("input.aa",a),this.query=this.$input.val(),this.$overflowHelper=function(e){return s.element('<pre aria-hidden="true"></pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:e.css("font-family"),fontSize:e.css("font-size"),fontStyle:e.css("font-style"),fontVariant:e.css("font-variant"),fontWeight:e.css("font-weight"),wordSpacing:e.css("word-spacing"),letterSpacing:e.css("letter-spacing"),textIndent:e.css("text-indent"),textRendering:e.css("text-rendering"),textTransform:e.css("text-transform")}).insertAfter(e)}(this.$input)}function c(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}a.normalizeQuery=function(e){return(e||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},i.mixin(a.prototype,o,{_onBlur:function(){this.resetInputValue(),this.$input.removeAttr("aria-activedescendant"),this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(e){var t=r[e.which||e.keyCode];this._managePreventDefault(t,e),t&&this._shouldTrigger(t,e)&&this.trigger(t+"Keyed",e)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(e,t){var n,r,i;switch(e){case"tab":r=this.getHint(),i=this.getInputValue(),n=r&&r!==i&&!c(t);break;case"up":case"down":n=!c(t);break;default:n=!1}n&&t.preventDefault()},_shouldTrigger:function(e,t){var n;switch(e){case"tab":n=!c(t);break;default:n=!0}return n},_checkInputValue:function(){var e,t,n;n=!(!(t=function(e,t){return a.normalizeQuery(e)===a.normalizeQuery(t)}(e=this.getInputValue(),this.query))||!this.query)&&this.query.length!==e.length,this.query=e,t?n&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(e){this.query=e},getInputValue:function(){return this.$input.val()},setInputValue:function(e,t){void 0===e&&(e=this.query),this.$input.val(e),t?this.clearHint():this._checkInputValue()},expand:function(){this.$input.attr("aria-expanded","true")},collapse:function(){this.$input.attr("aria-expanded","false")},setActiveDescendant:function(e){this.$input.attr("aria-activedescendant",e)},removeActiveDescendant:function(){this.$input.removeAttr("aria-activedescendant")},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},setHint:function(e){this.$hint.val(e)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var e,t,n;n=(e=this.getInputValue())!==(t=this.getHint())&&0===t.indexOf(e),""!==e&&n&&!this.hasOverflow()||this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var e=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=e},isCursorAtEnd:function(){var e,t,n;return e=this.$input.val().length,t=this.$input[0].selectionStart,i.isNumber(t)?t===e:!document.selection||((n=document.selection.createRange()).moveStart("character",-e),e===n.text.length)},destroy:function(){this.$hint.off(".aa"),this.$input.off(".aa"),this.$hint=this.$input=this.$overflowHelper=null}}),e.exports=a},function(e,t,n){"use strict";var r,i,s,o=[n(54),n(55),n(56),n(57),n(58)],a=-1,c=[],u=!1;function l(){r&&i&&(r=!1,i.length?c=i.concat(c):a=-1,c.length&&h())}function h(){if(!r){u=!1,r=!0;for(var e=c.length,t=setTimeout(l);e;){for(i=c,c=[];i&&++a<e;)i[a].run();a=-1,e=c.length}i=null,a=-1,r=!1,clearTimeout(t)}}for(var d=-1,f=o.length;++d<f;)if(o[d]&&o[d].test&&o[d].test()){s=o[d].install(h);break}function p(e,t){this.fun=e,this.array=t}p.prototype.run=function(){var e=this.fun,t=this.array;switch(t.length){case 0:return e();case 1:return e(t[0]);case 2:return e(t[0],t[1]);case 3:return e(t[0],t[1],t[2]);default:return e.apply(null,t)}},e.exports=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new p(e,t)),u||r||(u=!0,s())}},function(e,t,n){"use strict";(function(e){t.test=function(){return void 0!==e&&!e.browser},t.install=function(t){return function(){e.nextTick(t)}}}).call(t,n(9))},function(e,t,n){"use strict";(function(e){var n=e.MutationObserver||e.WebKitMutationObserver;t.test=function(){return n},t.install=function(t){var r=0,i=new n(t),s=e.document.createTextNode("");return i.observe(s,{characterData:!0}),function(){s.data=r=++r%2}}}).call(t,n(4))},function(e,t,n){"use strict";(function(e){t.test=function(){return!e.setImmediate&&void 0!==e.MessageChannel},t.install=function(t){var n=new e.MessageChannel;return n.port1.onmessage=t,function(){n.port2.postMessage(0)}}}).call(t,n(4))},function(e,t,n){"use strict";(function(e){t.test=function(){return"document"in e&&"onreadystatechange"in e.document.createElement("script")},t.install=function(t){return function(){var n=e.document.createElement("script");return n.onreadystatechange=function(){t(),n.onreadystatechange=null,n.parentNode.removeChild(n),n=null},e.document.documentElement.appendChild(n),t}}}).call(t,n(4))},function(e,t,n){"use strict";t.test=function(){return!0},t.install=function(e){return function(){setTimeout(e,0)}}},function(e,t,n){"use strict";var r=n(0),i=n(1),s=n(10),o=n(60),a=n(11);function c(e){var t,n,s,o=this;(e=e||{}).menu||r.error("menu is required"),r.isArray(e.datasets)||r.isObject(e.datasets)||r.error("1 or more datasets required"),e.datasets||r.error("datasets is required"),this.isOpen=!1,this.isEmpty=!0,this.minLength=e.minLength||0,this.templates={},this.appendTo=e.appendTo||!1,this.css=r.mixin({},a,e.appendTo?a.appendTo:{}),this.cssClasses=e.cssClasses=r.mixin({},a.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix||r.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),t=r.bind(this._onSuggestionClick,this),n=r.bind(this._onSuggestionMouseEnter,this),s=r.bind(this._onSuggestionMouseLeave,this);var u=r.className(this.cssClasses.prefix,this.cssClasses.suggestion);this.$menu=i.element(e.menu).on("mouseenter.aa",u,n).on("mouseleave.aa",u,s).on("click.aa",u,t),this.$container=e.appendTo?e.wrapper:this.$menu,e.templates&&e.templates.header&&(this.templates.header=r.templatify(e.templates.header),this.$menu.prepend(this.templates.header())),e.templates&&e.templates.empty&&(this.templates.empty=r.templatify(e.templates.empty),this.$empty=i.element('<div class="'+r.className(this.cssClasses.prefix,this.cssClasses.empty,!0)+'"></div>'),this.$menu.append(this.$empty),this.$empty.hide()),this.datasets=r.map(e.datasets,function(t){return function(e,t,n){return new c.Dataset(r.mixin({$menu:e,cssClasses:n},t))}(o.$menu,t,e.cssClasses)}),r.each(this.datasets,function(e){var t=e.getRoot();t&&0===t.parent().length&&o.$menu.append(t),e.onSync("rendered",o._onRendered,o)}),e.templates&&e.templates.footer&&(this.templates.footer=r.templatify(e.templates.footer),this.$menu.append(this.templates.footer()));var l=this;i.element(window).resize(function(){l._redraw()})}r.mixin(c.prototype,s,{_onSuggestionClick:function(e){this.trigger("suggestionClicked",i.element(e.currentTarget))},_onSuggestionMouseEnter:function(e){var t=i.element(e.currentTarget);if(!t.hasClass(r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0))){this._removeCursor();var n=this;setTimeout(function(){n._setCursor(t,!1)},0)}},_onSuggestionMouseLeave:function(e){if(e.relatedTarget&&i.element(e.relatedTarget).closest("."+r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).length>0)return;this._removeCursor(),this.trigger("cursorRemoved")},_onRendered:function(e,t){if(this.isEmpty=r.every(this.datasets,function(e){return e.isEmpty()}),this.isEmpty)if(t.length>=this.minLength&&this.trigger("empty"),this.$empty)if(t.length<this.minLength)this._hide();else{var n=this.templates.empty({query:this.datasets[0]&&this.datasets[0].query});this.$empty.html(n),this.$empty.show(),this._show()}else r.any(this.datasets,function(e){return e.templates&&e.templates.empty})?t.length<this.minLength?this._hide():this._show():this._hide();else this.isOpen&&(this.$empty&&(this.$empty.empty(),this.$empty.hide()),t.length>=this.minLength?this._show():this._hide());this.trigger("datasetRendered")},_hide:function(){this.$container.hide()},_show:function(){this.$container.css("display","block"),this._redraw(),this.trigger("shown")},_redraw:function(){this.isOpen&&this.appendTo&&this.trigger("redrawn")},_getSuggestions:function(){return this.$menu.find(r.className(this.cssClasses.prefix,this.cssClasses.suggestion))},_getCursor:function(){return this.$menu.find(r.className(this.cssClasses.prefix,this.cssClasses.cursor)).first()},_setCursor:function(e,t){e.first().addClass(r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).attr("aria-selected","true"),this.trigger("cursorMoved",t)},_removeCursor:function(){this._getCursor().removeClass(r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).removeAttr("aria-selected")},_moveCursor:function(e){var t,n,r,i;this.isOpen&&(n=this._getCursor(),t=this._getSuggestions(),this._removeCursor(),-1!==(r=((r=t.index(n)+e)+1)%(t.length+1)-1)?(r<-1&&(r=t.length-1),this._setCursor(i=t.eq(r),!0),this._ensureVisible(i)):this.trigger("cursorRemoved"))},_ensureVisible:function(e){var t,n,r,i;n=(t=e.position().top)+e.height()+parseInt(e.css("margin-top"),10)+parseInt(e.css("margin-bottom"),10),r=this.$menu.scrollTop(),i=this.$menu.height()+parseInt(this.$menu.css("padding-top"),10)+parseInt(this.$menu.css("padding-bottom"),10),t<0?this.$menu.scrollTop(r+t):i<n&&this.$menu.scrollTop(r+(n-i))},close:function(){this.isOpen&&(this.isOpen=!1,this._removeCursor(),this._hide(),this.trigger("closed"))},open:function(){this.isOpen||(this.isOpen=!0,this.isEmpty||this._show(),this.trigger("opened"))},setLanguageDirection:function(e){this.$menu.css("ltr"===e?this.css.ltr:this.css.rtl)},moveCursorUp:function(){this._moveCursor(-1)},moveCursorDown:function(){this._moveCursor(1)},getDatumForSuggestion:function(e){var t=null;return e.length&&(t={raw:o.extractDatum(e),value:o.extractValue(e),datasetName:o.extractDatasetName(e)}),t},getCurrentCursor:function(){return this._getCursor().first()},getDatumForCursor:function(){return this.getDatumForSuggestion(this._getCursor().first())},getDatumForTopSuggestion:function(){return this.getDatumForSuggestion(this._getSuggestions().first())},cursorTopSuggestion:function(){this._setCursor(this._getSuggestions().first(),!1)},update:function(e){r.each(this.datasets,function(t){t.update(e)})},empty:function(){r.each(this.datasets,function(e){e.clear()}),this.isEmpty=!0},isVisible:function(){return this.isOpen&&!this.isEmpty},destroy:function(){this.$menu.off(".aa"),this.$menu=null,r.each(this.datasets,function(e){e.destroy()})}}),c.Dataset=o,e.exports=c},function(e,t,n){"use strict";var r="aaDataset",i="aaValue",s="aaDatum",o=n(0),a=n(1),c=n(17),u=n(11),l=n(10);function h(e){(e=e||{}).templates=e.templates||{},e.source||o.error("missing source"),e.name&&!function(e){return/^[_a-zA-Z0-9-]+$/.test(e)}(e.name)&&o.error("invalid dataset name: "+e.name),this.query=null,this._isEmpty=!0,this.highlight=!!e.highlight,this.name=void 0===e.name||null===e.name?o.getUniqueId():e.name,this.source=e.source,this.displayFn=function(e){return e=e||"value",o.isFunction(e)?e:function(t){return t[e]}}(e.display||e.displayKey),this.debounce=e.debounce,this.cache=!1!==e.cache,this.templates=function(e,t){return{empty:e.empty&&o.templatify(e.empty),header:e.header&&o.templatify(e.header),footer:e.footer&&o.templatify(e.footer),suggestion:e.suggestion||function(e){return"<p>"+t(e)+"</p>"}}}(e.templates,this.displayFn),this.css=o.mixin({},u,e.appendTo?u.appendTo:{}),this.cssClasses=e.cssClasses=o.mixin({},u.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix||o.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix);var t=o.className(this.cssClasses.prefix,this.cssClasses.dataset);this.$el=e.$menu&&e.$menu.find(t+"-"+this.name).length>0?a.element(e.$menu.find(t+"-"+this.name)[0]):a.element(c.dataset.replace("%CLASS%",this.name).replace("%PREFIX%",this.cssClasses.prefix).replace("%DATASET%",this.cssClasses.dataset)),this.$menu=e.$menu,this.clearCachedSuggestions()}h.extractDatasetName=function(e){return a.element(e).data(r)},h.extractValue=function(e){return a.element(e).data(i)},h.extractDatum=function(e){var t=a.element(e).data(s);return"string"==typeof t&&(t=JSON.parse(t)),t},o.mixin(h.prototype,l,{_render:function(e,t){if(this.$el){var n,u=this,l=[].slice.call(arguments,2);if(this.$el.empty(),n=t&&t.length,this._isEmpty=!n,!n&&this.templates.empty)this.$el.html(function(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!0}].concat(t),u.templates.empty.apply(this,t)}.apply(this,l)).prepend(u.templates.header?h.apply(this,l):null).append(u.templates.footer?d.apply(this,l):null);else if(n)this.$el.html(function(){var e,n,l=[].slice.call(arguments,0),h=this,d=c.suggestions.replace("%PREFIX%",this.cssClasses.prefix).replace("%SUGGESTIONS%",this.cssClasses.suggestions);return e=a.element(d).css(this.css.suggestions),n=o.map(t,function(e){var t,n=c.suggestion.replace("%PREFIX%",h.cssClasses.prefix).replace("%SUGGESTION%",h.cssClasses.suggestion);return(t=a.element(n).attr({role:"option",id:["option",Math.floor(1e8*Math.random())].join("-")}).append(u.templates.suggestion.apply(this,[e].concat(l)))).data(r,u.name),t.data(i,u.displayFn(e)||void 0),t.data(s,JSON.stringify(e)),t.children().each(function(){a.element(this).css(h.css.suggestionChild)}),t}),e.append.apply(e,n),e}.apply(this,l)).prepend(u.templates.header?h.apply(this,l):null).append(u.templates.footer?d.apply(this,l):null);else if(t&&!Array.isArray(t))throw new TypeError("suggestions must be an array");this.$menu&&this.$menu.addClass(this.cssClasses.prefix+(n?"with":"without")+"-"+this.name).removeClass(this.cssClasses.prefix+(n?"without":"with")+"-"+this.name),this.trigger("rendered",e)}function h(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!n}].concat(t),u.templates.header.apply(this,t)}function d(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!n}].concat(t),u.templates.footer.apply(this,t)}},getRoot:function(){return this.$el},update:function(e){function t(t){if(!this.canceled&&e===this.query){var n=[].slice.call(arguments,1);this.cacheSuggestions(e,t,n),this._render.apply(this,[e,t].concat(n))}}if(this.query=e,this.canceled=!1,this.shouldFetchFromCache(e))t.apply(this,[this.cachedSuggestions].concat(this.cachedRenderExtraArgs));else{var n=this,r=function(){n.canceled||n.source(e,t.bind(n))};if(this.debounce){clearTimeout(this.debounceTimeout),this.debounceTimeout=setTimeout(function(){n.debounceTimeout=null,r()},this.debounce)}else r()}},cacheSuggestions:function(e,t,n){this.cachedQuery=e,this.cachedSuggestions=t,this.cachedRenderExtraArgs=n},shouldFetchFromCache:function(e){return this.cache&&this.cachedQuery===e&&this.cachedSuggestions&&this.cachedSuggestions.length},clearCachedSuggestions:function(){delete this.cachedQuery,delete this.cachedSuggestions,delete this.cachedRenderExtraArgs},cancel:function(){this.canceled=!0},clear:function(){this.cancel(),this.$el.empty(),this.trigger("rendered","")},isEmpty:function(){return this._isEmpty},destroy:function(){this.clearCachedSuggestions(),this.$el=null}}),e.exports=h},function(e,t,n){"use strict";e.exports={hits:n(62),popularIn:n(63)}},function(e,t,n){"use strict";var r=n(0),i=n(18),s=n(19);e.exports=function(e,t){var n=s(e.as._ua);return n&&n[0]>=3&&n[1]>20&&((t=t||{}).additionalUA="autocomplete.js "+i),function(n,i){e.search(n,t,function(e,t){e?r.error(e.message):i(t.hits,t)})}}},function(e,t,n){"use strict";var r=n(0),i=n(18),s=n(19);e.exports=function(e,t,n,o){var a=s(e.as._ua);if(a&&a[0]>=3&&a[1]>20&&((t=t||{}).additionalUA="autocomplete.js "+i),!n.source)return r.error("Missing 'source' key");var c=r.isFunction(n.source)?n.source:function(e){return e[n.source]};if(!n.index)return r.error("Missing 'index' key");var u=n.index;return o=o||{},function(a,l){e.search(a,t,function(e,a){if(e)r.error(e.message);else{if(a.hits.length>0){var h=a.hits[0],d=r.mixin({hitsPerPage:0},n);delete d.source,delete d.index;var f=s(u.as._ua);return f&&f[0]>=3&&f[1]>20&&(t.additionalUA="autocomplete.js "+i),void u.search(c(h),d,function(e,t){if(e)r.error(e.message);else{var n=[];if(o.includeAll){var i=o.allTitle||"All departments";n.push(r.mixin({facet:{value:i,count:t.nbHits}},r.cloneDeep(h)))}r.each(t.facets,function(e,t){r.each(e,function(e,i){n.push(r.mixin({facet:{facet:t,value:i,count:e}},r.cloneDeep(h)))})});for(var s=1;s<a.hits.length;++s)n.push(a.hits[s]);l(n,a)}})}l([])}})}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r="algolia-docsearch-suggestion",i={suggestion:'\n  <a class="'+r+"\n    {{#isCategoryHeader}}"+r+"__main{{/isCategoryHeader}}\n    {{#isSubCategoryHeader}}"+r+'__secondary{{/isSubCategoryHeader}}\n    "\n    aria-label="Link to the result"\n    href="{{{url}}}"\n    >\n    <div class="'+r+'--category-header">\n        <span class="'+r+'--category-header-lvl0">{{{category}}}</span>\n    </div>\n    <div class="'+r+'--wrapper">\n      <div class="'+r+'--subcategory-column">\n        <span class="'+r+'--subcategory-column-text">{{{subcategory}}}</span>\n      </div>\n      {{#isTextOrSubcategoryNonEmpty}}\n      <div class="'+r+'--content">\n        <div class="'+r+'--subcategory-inline">{{{subcategory}}}</div>\n        <div class="'+r+'--title">{{{title}}}</div>\n        {{#text}}<div class="'+r+'--text">{{{text}}}</div>{{/text}}\n      </div>\n      {{/isTextOrSubcategoryNonEmpty}}\n    </div>\n  </a>\n  ',suggestionSimple:'\n  <div class="'+r+"\n    {{#isCategoryHeader}}"+r+"__main{{/isCategoryHeader}}\n    {{#isSubCategoryHeader}}"+r+'__secondary{{/isSubCategoryHeader}}\n    suggestion-layout-simple\n  ">\n    <div class="'+r+'--category-header">\n        {{^isLvl0}}\n        <span class="'+r+"--category-header-lvl0 "+r+'--category-header-item">{{{category}}}</span>\n          {{^isLvl1}}\n          {{^isLvl1EmptyOrDuplicate}}\n          <span class="'+r+"--category-header-lvl1 "+r+'--category-header-item">\n              {{{subcategory}}}\n          </span>\n          {{/isLvl1EmptyOrDuplicate}}\n          {{/isLvl1}}\n        {{/isLvl0}}\n        <div class="'+r+"--title "+r+'--category-header-item">\n            {{#isLvl2}}\n                {{{title}}}\n            {{/isLvl2}}\n            {{#isLvl1}}\n                {{{subcategory}}}\n            {{/isLvl1}}\n            {{#isLvl0}}\n                {{{category}}}\n            {{/isLvl0}}\n        </div>\n    </div>\n    <div class="'+r+'--wrapper">\n      {{#text}}\n      <div class="'+r+'--content">\n        <div class="'+r+'--text">{{{text}}}</div>\n      </div>\n      {{/text}}\n    </div>\n  </div>\n  ',footer:'\n    <div class="algolia-docsearch-footer">\n      Search by <a class="algolia-docsearch-footer--logo" href="https://www.algolia.com/docsearch">Algolia</a>\n    </div>\n  ',empty:'\n  <div class="'+r+'">\n    <div class="'+r+'--wrapper">\n        <div class="'+r+"--content "+r+'--no-results">\n            <div class="'+r+'--title">\n                <div class="'+r+'--text">\n                    No results found for query <b>"{{query}}"</b>\n                </div>\n            </div>\n        </div>\n    </div>\n  </div>\n  ',searchBox:'\n  <form novalidate="novalidate" onsubmit="return false;" class="searchbox">\n    <div role="search" class="searchbox__wrapper">\n      <input id="docsearch" type="search" name="search" placeholder="Search the docs" autocomplete="off" required="required" class="searchbox__input"/>\n      <button type="submit" title="Submit your search query." class="searchbox__submit" >\n        <svg width=12 height=12 role="img" aria-label="Search">\n          <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#sbx-icon-search-13"></use>\n        </svg>\n      </button>\n      <button type="reset" title="Clear the search query." class="searchbox__reset hide">\n        <svg width=12 height=12 role="img" aria-label="Reset">\n          <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#sbx-icon-clear-3"></use>\n        </svg>\n      </button>\n    </div>\n</form>\n\n<div class="svg-icons" style="height: 0; width: 0; position: absolute; visibility: hidden">\n  <svg xmlns="http://www.w3.org/2000/svg">\n    <symbol id="sbx-icon-clear-3" viewBox="0 0 40 40"><path d="M16.228 20L1.886 5.657 0 3.772 3.772 0l1.885 1.886L20 16.228 34.343 1.886 36.228 0 40 3.772l-1.886 1.885L23.772 20l14.342 14.343L40 36.228 36.228 40l-1.885-1.886L20 23.772 5.657 38.114 3.772 40 0 36.228l1.886-1.885L16.228 20z" fill-rule="evenodd"></symbol>\n    <symbol id="sbx-icon-search-13" viewBox="0 0 40 40"><path d="M26.806 29.012a16.312 16.312 0 0 1-10.427 3.746C7.332 32.758 0 25.425 0 16.378 0 7.334 7.333 0 16.38 0c9.045 0 16.378 7.333 16.378 16.38 0 3.96-1.406 7.593-3.746 10.426L39.547 37.34c.607.608.61 1.59-.004 2.203a1.56 1.56 0 0 1-2.202.004L26.807 29.012zm-10.427.627c7.322 0 13.26-5.938 13.26-13.26 0-7.324-5.938-13.26-13.26-13.26-7.324 0-13.26 5.936-13.26 13.26 0 7.322 5.936 13.26 13.26 13.26z" fill-rule="evenodd"></symbol>\n  </svg>\n</div>\n  '};t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(e){return e&&e.__esModule?e:{default:e}}(n(20));var s={mergeKeyWithParent:function(e,t){if(void 0===e[t])return e;if("object"!==r(e[t]))return e;var n=i.default.extend({},e,e[t]);return delete n[t],n},groupBy:function(e,t){var n={};return i.default.each(e,function(e,r){if(void 0===r[t])throw new Error("[groupBy]: Object has no key "+t);var i=r[t];"string"==typeof i&&(i=i.toLowerCase()),Object.prototype.hasOwnProperty.call(n,i)||(n[i]=[]),n[i].push(r)}),n},values:function(e){return Object.keys(e).map(function(t){return e[t]})},flatten:function(e){var t=[];return e.forEach(function(e){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}),t},flattenAndFlagFirst:function(e,t){var n=this.values(e).map(function(e){return e.map(function(e,n){return e[t]=0===n,e})});return this.flatten(n)},compact:function(e){var t=[];return e.forEach(function(e){e&&t.push(e)}),t},getHighlightedValue:function(e,t){return e._highlightResult&&e._highlightResult.hierarchy_camel&&e._highlightResult.hierarchy_camel[t]&&e._highlightResult.hierarchy_camel[t].matchLevel&&"none"!==e._highlightResult.hierarchy_camel[t].matchLevel&&e._highlightResult.hierarchy_camel[t].value?e._highlightResult.hierarchy_camel[t].value:e._highlightResult&&e._highlightResult&&e._highlightResult[t]&&e._highlightResult[t].value?e._highlightResult[t].value:e[t]},getSnippetedValue:function(e,t){if(!e._snippetResult||!e._snippetResult[t]||!e._snippetResult[t].value)return e[t];var n=e._snippetResult[t].value;return n[0]!==n[0].toUpperCase()&&(n="…"+n),-1===[".","!","?"].indexOf(n[n.length-1])&&(n+="…"),n},deepClone:function(e){return JSON.parse(JSON.stringify(e))}};t.default=s}])})},function(e,t,n){var r=n(11);r.registerLanguage("bash",n(12)),r.registerLanguage("css",n(13)),r.registerLanguage("markdown",n(14)),r.registerLanguage("diff",n(15)),r.registerLanguage("javascript",n(16)),r.registerLanguage("json",n(17)),r.registerLanguage("yaml",n(18)),r.registerLanguage("xml",n(19)),r.registerLanguage("html",n(20)),r.registerLanguage("go",function(e){var t={keyword:"code output note warning break default func interface select case map struct chan else goto package switch const fallthrough if range end type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune id autoplay Get",literal:"file download copy true false iota nil Pages with",built_in:"append cap close complex highlight copy imag len make new panic print println real recover delete Site Data tweet youtube ref relref vimeo instagram gist figure innershortcode"};return{aliases:["golang","hugo"],k:t,i:"</",c:[e.CLCM,e.CBCM,{cN:"string",v:[e.QSM,{b:"'",e:"[^\\\\]'"},{b:"`",e:"`"}]},{cN:"number",v:[{b:e.CNR+"[dflsi]",r:1},e.CNM]},{b:/:=/},{cN:"function",bK:"func",e:/\s*\{/,eE:!0,c:[e.TM,{cN:"params",b:/\(/,e:/\)/,k:t,i:/["']/}]}]}}),r.initHighlightingOnLoad()},function(e,t,n){!function(e){"object"==typeof window&&window||"object"==typeof self&&self;(function(e){var t=[],n=Object.keys,r={},i={},s=/^(no-?highlight|plain|text)$/i,o=/\blang(?:uage)?-([\w-]+)\b/i,a=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,c="</span>",u={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};function l(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function h(e){return e.nodeName.toLowerCase()}function d(e,t){var n=e&&e.exec(t);return n&&0===n.index}function f(e){return s.test(e)}function p(e){var t,n={},r=Array.prototype.slice.call(arguments,1);for(t in e)n[t]=e[t];return r.forEach(function(e){for(t in e)n[t]=e[t]}),n}function g(e){var t=[];return function e(n,r){for(var i=n.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(t.push({event:"start",offset:r,node:i}),r=e(i,r),h(i).match(/br|hr|img|input/)||t.push({event:"stop",offset:r,node:i}));return r}(e,0),t}function m(e){function t(e){return e&&e.source||e}function r(n,r){return new RegExp(t(n),"m"+(e.case_insensitive?"i":"")+(r?"g":""))}!function i(s,o){if(s.compiled)return;s.compiled=!0;s.keywords=s.keywords||s.beginKeywords;if(s.keywords){var a={},c=function(t,n){e.case_insensitive&&(n=n.toLowerCase()),n.split(" ").forEach(function(e){var n=e.split("|");a[n[0]]=[t,n[1]?Number(n[1]):1]})};"string"==typeof s.keywords?c("keyword",s.keywords):n(s.keywords).forEach(function(e){c(e,s.keywords[e])}),s.keywords=a}s.lexemesRe=r(s.lexemes||/\w+/,!0);o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")\\b"),s.begin||(s.begin=/\B|\b/),s.beginRe=r(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(s.endRe=r(s.end)),s.terminator_end=t(s.end)||"",s.endsWithParent&&o.terminator_end&&(s.terminator_end+=(s.end?"|":"")+o.terminator_end));s.illegal&&(s.illegalRe=r(s.illegal));null==s.relevance&&(s.relevance=1);s.contains||(s.contains=[]);s.contains=Array.prototype.concat.apply([],s.contains.map(function(e){return function(e){e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map(function(t){return p(e,{variants:null},t)}));return e.cached_variants||e.endsWithParent&&[p(e)]||[e]}("self"===e?s:e)}));s.contains.forEach(function(e){i(e,s)});s.starts&&i(s.starts,o);var u=s.contains.map(function(e){return e.beginKeywords?"\\.?("+e.begin+")\\.?":e.begin}).concat([s.terminator_end,s.illegal]).map(t).filter(Boolean);s.terminators=u.length?r(u.join("|"),!0):{exec:function(){return null}}}(e)}function v(e,t,n,i){function s(e){return new RegExp(e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}function o(e,t){var n=g.case_insensitive?t[0].toLowerCase():t[0];return e.keywords.hasOwnProperty(n)&&e.keywords[n]}function a(e,t,n,r){var i=r?"":u.classPrefix,s='<span class="'+i,o=n?"":c;return(s+=e+'">')+t+o}function h(){x+=null!=w.subLanguage?function(){var e="string"==typeof w.subLanguage;if(e&&!r[w.subLanguage])return l(S);var t=e?v(w.subLanguage,S,!0,_[w.subLanguage]):y(S,w.subLanguage.length?w.subLanguage:void 0);w.relevance>0&&(C+=t.relevance);e&&(_[w.subLanguage]=t.top);return a(t.language,t.value,!1,!0)}():function(){var e,t,n,r;if(!w.keywords)return l(S);r="",t=0,w.lexemesRe.lastIndex=0,n=w.lexemesRe.exec(S);for(;n;)r+=l(S.substring(t,n.index)),(e=o(w,n))?(C+=e[1],r+=a(e[0],l(n[0]))):r+=l(n[0]),t=w.lexemesRe.lastIndex,n=w.lexemesRe.exec(S);return r+l(S.substr(t))}(),S=""}function f(e){x+=e.className?a(e.className,"",!0):"",w=Object.create(e,{parent:{value:w}})}function p(e,t){if(S+=e,null==t)return h(),0;var r=function(e,t){var n,r;for(n=0,r=t.contains.length;n<r;n++)if(d(t.contains[n].beginRe,e))return t.contains[n].endSameAsBegin&&(t.contains[n].endRe=s(t.contains[n].beginRe.exec(e)[0])),t.contains[n]}(t,w);if(r)return r.skip?S+=t:(r.excludeBegin&&(S+=t),h(),r.returnBegin||r.excludeBegin||(S=t)),f(r),r.returnBegin?0:t.length;var i=function e(t,n){if(d(t.endRe,n)){for(;t.endsParent&&t.parent;)t=t.parent;return t}if(t.endsWithParent)return e(t.parent,n)}(w,t);if(i){var o=w;o.skip?S+=t:(o.returnEnd||o.excludeEnd||(S+=t),h(),o.excludeEnd&&(S=t));do{w.className&&(x+=c),w.skip||w.subLanguage||(C+=w.relevance),w=w.parent}while(w!==i.parent);return i.starts&&(i.endSameAsBegin&&(i.starts.endRe=i.endRe),f(i.starts)),o.returnEnd?0:t.length}if(function(e,t){return!n&&d(t.illegalRe,e)}(t,w))throw new Error('Illegal lexeme "'+t+'" for mode "'+(w.className||"<unnamed>")+'"');return S+=t,t.length||1}var g=E(e);if(!g)throw new Error('Unknown language: "'+e+'"');m(g);var b,w=i||g,_={},x="";for(b=w;b!==g;b=b.parent)b.className&&(x=a(b.className,"",!0)+x);var S="",C=0;try{for(var A,N,O=0;w.terminators.lastIndex=O,A=w.terminators.exec(t);)N=p(t.substring(O,A.index),A[0]),O=A.index+N;for(p(t.substr(O)),b=w;b.parent;b=b.parent)b.className&&(x+=c);return{relevance:C,value:x,language:e,top:w}}catch(e){if(e.message&&-1!==e.message.indexOf("Illegal"))return{relevance:0,value:l(t)};throw e}}function y(e,t){t=t||u.languages||n(r);var i={relevance:0,value:l(e)},s=i;return t.filter(E).filter(x).forEach(function(t){var n=v(t,e,!1);n.language=t,n.relevance>s.relevance&&(s=n),n.relevance>i.relevance&&(s=i,i=n)}),s.language&&(i.second_best=s),i}function b(e){return u.tabReplace||u.useBR?e.replace(a,function(e,t){return u.useBR&&"\n"===e?"<br>":u.tabReplace?t.replace(/\t/g,u.tabReplace):""}):e}function w(e){var n,r,s,a,c,d=function(e){var t,n,r,i,s=e.className+" ";if(s+=e.parentNode?e.parentNode.className:"",n=o.exec(s))return E(n[1])?n[1]:"no-highlight";for(s=s.split(/\s+/),t=0,r=s.length;t<r;t++)if(f(i=s[t])||E(i))return i}(e);f(d)||(u.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n"):n=e,c=n.textContent,s=d?v(d,c,!0):y(c),(r=g(n)).length&&((a=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=s.value,s.value=function(e,n,r){var i=0,s="",o=[];function a(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset<n[0].offset?e:n:"start"===n[0].event?e:n:e.length?e:n}function c(e){s+="<"+h(e)+t.map.call(e.attributes,function(e){return" "+e.nodeName+'="'+l(e.value).replace('"',"&quot;")+'"'}).join("")+">"}function u(e){s+="</"+h(e)+">"}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||n.length;){var f=a();if(s+=l(r.substring(i,f[0].offset)),i=f[0].offset,f===e){o.reverse().forEach(u);do{d(f.splice(0,1)[0]),f=a()}while(f===e&&f.length&&f[0].offset===i);o.reverse().forEach(c)}else"start"===f[0].event?o.push(f[0].node):o.pop(),d(f.splice(0,1)[0])}return s+l(r.substr(i))}(r,g(a),c)),s.value=b(s.value),e.innerHTML=s.value,e.className=function(e,t,n){var r=t?i[t]:n,s=[e.trim()];e.match(/\bhljs\b/)||s.push("hljs");-1===e.indexOf(r)&&s.push(r);return s.join(" ").trim()}(e.className,d,s.language),e.result={language:s.language,re:s.relevance},s.second_best&&(e.second_best={language:s.second_best.language,re:s.second_best.relevance}))}function _(){if(!_.called){_.called=!0;var e=document.querySelectorAll("pre code");t.forEach.call(e,w)}}function E(e){return e=(e||"").toLowerCase(),r[e]||r[i[e]]}function x(e){var t=E(e);return t&&!t.disableAutodetect}e.highlight=v,e.highlightAuto=y,e.fixMarkup=b,e.highlightBlock=w,e.configure=function(e){u=p(u,e)},e.initHighlighting=_,e.initHighlightingOnLoad=function(){addEventListener("DOMContentLoaded",_,!1),addEventListener("load",_,!1)},e.registerLanguage=function(t,n){var s=r[t]=n(e);s.aliases&&s.aliases.forEach(function(e){i[e]=t})},e.listLanguages=function(){return n(r)},e.getLanguage=E,e.autoDetection=x,e.inherit=p,e.IDENT_RE="[a-zA-Z]\\w*",e.UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",e.NUMBER_RE="\\b\\d+(\\.\\d+)?",e.C_NUMBER_RE="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BINARY_NUMBER_RE="\\b(0b[01]+)",e.RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BACKSLASH_ESCAPE={begin:"\\\\[\\s\\S]",relevance:0},e.APOS_STRING_MODE={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},e.QUOTE_STRING_MODE={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},e.PHRASAL_WORDS_MODE={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.COMMENT=function(t,n,r){var i=e.inherit({className:"comment",begin:t,end:n,contains:[]},r||{});return i.contains.push(e.PHRASAL_WORDS_MODE),i.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|XXX):",relevance:0}),i},e.C_LINE_COMMENT_MODE=e.COMMENT("//","$"),e.C_BLOCK_COMMENT_MODE=e.COMMENT("/\\*","\\*/"),e.HASH_COMMENT_MODE=e.COMMENT("#","$"),e.NUMBER_MODE={className:"number",begin:e.NUMBER_RE,relevance:0},e.C_NUMBER_MODE={className:"number",begin:e.C_NUMBER_RE,relevance:0},e.BINARY_NUMBER_MODE={className:"number",begin:e.BINARY_NUMBER_RE,relevance:0},e.CSS_NUMBER_MODE={className:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},e.REGEXP_MODE={className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}]},e.TITLE_MODE={className:"title",begin:e.IDENT_RE,relevance:0},e.UNDERSCORE_TITLE_MODE={className:"title",begin:e.UNDERSCORE_IDENT_RE,relevance:0},e.METHOD_GUARD={begin:"\\.\\s*"+e.UNDERSCORE_IDENT_RE,relevance:0}})(t)}()},function(e,t){e.exports=function(e){var t={className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)}/}]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t,{className:"variable",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]}]};return{aliases:["sh","zsh"],lexemes:/\b-?[a-z\._]+\b/,keywords:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[{className:"meta",begin:/^#![^\n]+sh\s*$/,relevance:10},{className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},e.HASH_COMMENT_MODE,n,{className:"string",begin:/'/,end:/'/},t]}}},function(e,t){e.exports=function(e){var t={begin:/[A-Z\_\.\-]+\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:"attribute",begin:/\S/,end:":",excludeEnd:!0,starts:{endsWithParent:!0,excludeEnd:!0,contains:[{begin:/[\w-]+\(/,returnBegin:!0,contains:[{className:"built_in",begin:/[\w-]+/},{begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]}]},e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:"#[0-9A-Fa-f]+"},{className:"meta",begin:"!important"}]}}]};return{case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/},{className:"selector-class",begin:/\.[A-Za-z0-9_-]+/},{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"@(font-face|page)",lexemes:"[a-z-]+",keywords:"font-face page"},{begin:"@",end:"[{;]",illegal:/:/,contains:[{className:"keyword",begin:/\w+/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},{begin:"{",end:"}",illegal:/\S/,contains:[e.C_BLOCK_COMMENT_MODE,t]}]}}},function(e,t){e.exports=function(e){return{aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$"},{begin:"^.+?\\n[=-]{2,}$"}]},{begin:"<",end:">",subLanguage:"xml",relevance:0},{className:"bullet",begin:"^([*+-]|(\\d+\\.))\\s+"},{className:"strong",begin:"[*_]{2}.+?[*_]{2}"},{className:"emphasis",variants:[{begin:"\\*.+?\\*"},{begin:"_.+?_",relevance:0}]},{className:"quote",begin:"^>\\s+",end:"$"},{className:"code",variants:[{begin:"^```w*s*$",end:"^```s*$"},{begin:"`.+?`"},{begin:"^( {4}|\t)",end:"$",relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},{begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}},function(e,t){e.exports=function(e){return{aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{begin:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{className:"comment",variants:[{begin:/Index: /,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^\-{3}/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/\*{5}/,end:/\*{5}$/}]},{className:"addition",begin:"^\\+",end:"$"},{className:"deletion",begin:"^\\-",end:"$"},{className:"addition",begin:"^\\!",end:"$"}]}}},function(e,t){e.exports=function(e){var t="[A-Za-z$_][0-9A-Za-z$_]*",n={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},r={className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:e.C_NUMBER_RE}],relevance:0},i={className:"subst",begin:"\\$\\{",end:"\\}",keywords:n,contains:[]},s={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,i]};i.contains=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,s,r,e.REGEXP_MODE];var o=i.contains.concat([e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]);return{aliases:["js","jsx"],keywords:n,contains:[{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},{className:"meta",begin:/^#!/,end:/$/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,s,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,r,{begin:/[{,]\s*/,relevance:0,contains:[{begin:t+"\\s*:",returnBegin:!0,relevance:0,contains:[{className:"attr",begin:t,relevance:0}]}]},{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.REGEXP_MODE,{className:"function",begin:"(\\(.*?\\)|"+t+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t},{begin:/\(\s*\)/},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,contains:o}]}]},{begin:/</,end:/(\/\w+|\w+\/)>/,subLanguage:"xml",contains:[{begin:/<\w+\s*\/>/,skip:!0},{begin:/<\w+/,end:/(\/\w+|\w+\/)>/,skip:!0,contains:[{begin:/<\w+\s*\/>/,skip:!0},"self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:t}),{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:o}],illegal:/\[|%/},{begin:/\$[(.]/},e.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0}],illegal:/#(?!!)/}}},function(e,t){e.exports=function(e){var t={literal:"true false null"},n=[e.QUOTE_STRING_MODE,e.C_NUMBER_MODE],r={end:",",endsWithParent:!0,excludeEnd:!0,contains:n,keywords:t},i={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE],illegal:"\\n"},e.inherit(r,{begin:/:/})],illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[e.inherit(r)],illegal:"\\S"};return n.splice(n.length,0,i,s),{contains:n,keywords:t,illegal:"\\S"}}},function(e,t){e.exports=function(e){var t="[a-zA-Z_][\\w\\-]*",n={className:"attr",variants:[{begin:"^[ \\-]*"+t+":"},{begin:'^[ \\-]*"'+t+'":'},{begin:"^[ \\-]*'"+t+"':"}]},r={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]};return{case_insensitive:!0,aliases:["yml","YAML","yaml"],contains:[n,{className:"meta",begin:"^---s*$",relevance:10},{className:"string",begin:"[\\|>] *$",returnEnd:!0,contains:r.contains,end:n.variants[0].begin},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!"+e.UNDERSCORE_IDENT_RE},{className:"type",begin:"!!"+e.UNDERSCORE_IDENT_RE},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"^ *-",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:"true false yes no null",keywords:{literal:"true false yes no null"}},e.C_NUMBER_MODE,r]}}},function(e,t){e.exports=function(e){var t={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:"[A-Za-z0-9\\._:-]+",relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/},{begin:/[^\s"'=<>`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],case_insensitive:!0,contains:[{className:"meta",begin:"<!DOCTYPE",end:">",relevance:10,contains:[{begin:"\\[",end:"\\]"}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{begin:/<\?(php)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]},{className:"tag",begin:"<style(?=\\s|>|$)",end:">",keywords:{name:"style"},contains:[t],starts:{end:"</style>",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:"<script(?=\\s|>|$)",end:">",keywords:{name:"script"},contains:[t],starts:{end:"<\/script>",returnEnd:!0,subLanguage:["actionscript","javascript","handlebars","xml"]}},{className:"tag",begin:"</?",end:"/?>",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},t]}]}}},function(e,t){e.exports=function(e){var t={"builtin-name":"each in with if else unless bindattr action collection debugger log outlet template unbound view yield"};return{aliases:["hbs","html.hbs","html.handlebars"],case_insensitive:!0,subLanguage:"xml",contains:[e.COMMENT("{{!(--)?","(--)?}}"),{className:"template-tag",begin:/\{\{[#\/]/,end:/\}\}/,contains:[{className:"name",begin:/[a-zA-Z\.-]+/,keywords:t,starts:{endsWithParent:!0,relevance:0,contains:[e.QUOTE_STRING_MODE]}}]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,keywords:t}]}}},function(e,t,n){n(0),n(22)},function(e,t,n){!function(t,r){var i=function(){r(t.lazySizes),t.removeEventListener("lazyunveilread",i,!0)};r=r.bind(null,t,t.document),e.exports?r(n(0)):t.lazySizes?i():t.addEventListener("lazyunveilread",i,!0)}(window,function(e,t,n){"use strict";var r,i,s={};function o(e,n){if(!s[e]){var r=t.createElement(n?"link":"script"),i=t.getElementsByTagName("script")[0];n?(r.rel="stylesheet",r.href=e):r.src=e,s[e]=!0,s[r.src||r.href]=!0,i.parentNode.insertBefore(r,i)}}t.addEventListener&&(i=/\(|\)|\s|'/,r=function(e,n){var r=t.createElement("img");r.onload=function(){r.onload=null,r.onerror=null,r=null,n()},r.onerror=r.onload,r.src=e,r&&r.complete&&r.onload&&r.onload()},addEventListener("lazybeforeunveil",function(e){var t,s,a;e.detail.instance==n&&(e.defaultPrevented||("none"==e.target.preload&&(e.target.preload="auto"),(t=e.target.getAttribute("data-link"))&&o(t,!0),(t=e.target.getAttribute("data-script"))&&o(t),(t=e.target.getAttribute("data-require"))&&(n.cfg.requireJs?n.cfg.requireJs([t]):o(t)),(s=e.target.getAttribute("data-bg"))&&(e.detail.firesLoad=!0,r(s,function(){e.target.style.backgroundImage="url("+(i.test(s)?JSON.stringify(s):s)+")",e.detail.firesLoad=!1,n.fire(e.target,"_lazyloaded",{},!0,!0)})),(a=e.target.getAttribute("data-poster"))&&(e.detail.firesLoad=!0,r(a,function(){e.target.poster=a,e.detail.firesLoad=!1,n.fire(e.target,"_lazyloaded",{},!0,!0)}))))},!1))})},function(e,t){for(var n=document.getElementsByClassName("js-toggle"),r=0;r<n.length;r++)n[r].addEventListener("click",i,!1);function i(){for(var e=this.dataset.target.split(" "),t=document.querySelector(".mobilemenu:not(.dn)"),n=document.querySelector(".desktopmenu:not(.dn)"),r=document.querySelector(".desktopmenu:not(.dn)"),i=0;i<e.length;i++){var s=document.querySelectorAll(e[i]);[].forEach.call(s,function(e){return e.classList.contains("dn")?e.classList.remove("dn"):e.classList.add("dn"),!1}),t&&t.classList.add("dn"),n&&n.classList.add("dn"),r&&r.classList.remove("db")}}},function(e,t,n){n(25)},function(e,t,n){!function(){"use strict";var e,t,n="data-scrolldir",r="down",i=document.documentElement,s=window,o=document.body,a=32,c=512,u=64,l=Array(a),h=0;function d(){var d=s.scrollY||s.pageYOffset,f=e.timeStamp,p="down"===r?Math.max:Math.min,g=o.scrollHeight-s.innerHeight;if(d=Math.max(0,d),d=Math.min(g,d),l.unshift({y:d,t:f}),l.pop(),d===p(t,d))return h=f,void(t=d);var m=f-c;if(h<m){t=d;for(var v=0;v<a&&l[v]&&!(l[v].t<m);v+=1)t=p(t,l[v].y)}Math.abs(d-t)>u&&(t=d,h=f,r="down"===r?"up":"down",i.setAttribute(n,r))}function f(t){return e=t,s.requestAnimationFrame(d)}t=s.scrollY||s.pageYOffset,i.setAttribute(n,r),s.addEventListener("scroll",f)}()},function(e,t){!function(){"use strict";if("querySelector"in document&&"addEventListener"in window&&Array.prototype.forEach){var e=document.querySelectorAll("#TableOfContents ul li a");[].forEach.call(e,function(e){e.addEventListener("click",function(t){t.preventDefault();var n=e.getAttribute("href"),r=document.querySelector(n),i=e.getAttribute("data-speed");r&&function(e,t){var n,r=window.pageYOffset,i=e.offsetTop,s=(i-r)/(t/16);n=s>=0?function(){var e=window.pageYOffset;(e>=i-s||window.innerHeight+e>=document.body.offsetHeight)&&clearInterval(o)}:function(){window.pageYOffset<=(i||0)&&clearInterval(o)};var o=setInterval(function(){window.scrollBy(0,s),n()},16)}(r,i||500)},!1)})}}()},function(e,t){var n,r=document.querySelectorAll("[data-toggle-tab]"),i=document.querySelectorAll("[data-pane]");function s(e){if(e.target){e.preventDefault();var t=e.currentTarget.getAttribute("data-toggle-tab")}else t=e;window.localStorage&&window.localStorage.setItem("configLangPref",t);for(var n=document.querySelectorAll("[data-toggle-tab='"+t+"']"),s=document.querySelectorAll("[data-pane='"+t+"']"),o=0;o<r.length;o++)r[o].classList.remove("active"),i[o].classList.remove("active");for(o=0;o<n.length;o++)n[o].classList.add("active"),s[o].classList.add("active")}for(n=0;n<r.length;n++)r[n].addEventListener("click",s);window.localStorage.getItem("configLangPref")&&s(window.localStorage.getItem("configLangPref"))},function(e,t){document.documentElement.className=document.documentElement.className.replace(/\bno-js\b/,"js")}]);
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..06787c13fd3708f71267ed32549de06966d4ec7a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++{"Target":"output/js/app.09ca7921ca2b6e15c2dc516eccf642c08861fe5c249cc9073fb370c0a8a9022c.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-Ccp5IcorbhXC3FFuzPZCwIhh/lwknMkHP7NwwKipAiw="}}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1a1caba80e19af9008a55b615c9e2c0233db342b
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..338531b4021b7d8f3c4b05e47766cbf381571bd4
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a9a8060896d6136d23fc94015aeffff884937ffa
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1ef2c1d5bed3b4d06aaa3c3508c9adc92b790627
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fffdde498c2f101a0e274cd8ba29969d19d515d7
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a8927153e867266fa390c6a7cb7d7bbcb68a7971
new file mode 100644 (file)
Binary files differ
index 1898fb19ab506e192812a51b03e454eaf7490902,0000000000000000000000000000000000000000..ac8e2692768fe4735ea9dcdaa3bdcdb9a0b1ce5e
mode 100644,000000..100644
--- /dev/null
@@@ -1,7 -1,0 +1,43 @@@
- More info to come.
 +# GoHugo Sites Theme
 +
 +Theme for gohugo.io sites:
 +* [https://gohugo.io/](https://gohugo.io/)
 +* [https://themes.gohugo.io/](https://themes.gohugo.io/)
 +
++
++
++## Tools
++
++### NPM
++
++We use [NPM](https://www.npmjs.com/) for package management The theme's `.gitignore` file should be kept intact to make sure that all files in the `node_modules` folder are not pushed to the repository.
++
++### Webpack 4+
++
++We use Webpack to manage our asset pipeline. Arguably, Webpack is overkill for this use-case, but we're using it here because once it's set up (which we've done for you), it's really easy to use. If you want to use an external script, just add it via Yarn, and reference it in main.js. You'll find instructions in the js/main.js file.
++
++### PostCSS
++PostCSS is just CSS. You'll find `postcss.config.js` in the Webpack.config.js file. There you'll find that we're using [`postcss-import`](https://github.com/postcss/postcss-import) which allows us import css files directly from the node_modules folder, [`postcss-cssnext`](http://cssnext.io/features/) which gives us the power to use upcoming CSS features today. If you miss Sass you can find PostCss modules for those capabilities, too.
++
++
++### Tachyons
++
++This theme uses the [Tachyons CSS Library](http://tachyons.io/). It's about 15kb gzipped, highly modular, and each class is atomic so you never have to worry about overwriting your styles. It's a great library for themes because you can make most all the style changes you need right in your layouts.
++
++## How to Use
++
++You'll find the commands to run in `package.json`.
++
++For development, you'll need Node with NPM installed:
++
++```
++$ npm install
++
++$ npm start
++
++```
++This will process both postcss, fonts, and scripts.
++
++For production, instead of `npm start`, run `npm run build,` which will output smaller versions of your files.
++
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..926d515ba292b46196da53752723b8f4e96011ab
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++.searchbox{display:inline-block;position:relative;width:200px;height:32px!important;white-space:nowrap;box-sizing:border-box;visibility:visible!important}.searchbox .algolia-autocomplete{display:block;width:100%;height:100%}.searchbox__wrapper{width:100%;height:100%;z-index:1;position:relative}.searchbox__input{display:inline-block;box-sizing:border-box;-webkit-transition:box-shadow .4s ease,background .4s ease;transition:box-shadow .4s ease,background .4s ease;border:0;border-radius:16px;box-shadow:inset 0 0 0 1px #ccc;background:#fff!important;padding:0;padding-right:26px;padding-left:32px;width:100%;height:100%;vertical-align:middle;white-space:normal;font-size:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbox__input::-webkit-search-cancel-button,.searchbox__input::-webkit-search-decoration,.searchbox__input::-webkit-search-results-button,.searchbox__input::-webkit-search-results-decoration{display:none}.searchbox__input:hover{box-shadow:inset 0 0 0 1px #b3b3b3}.searchbox__input:active,.searchbox__input:focus{outline:0;box-shadow:inset 0 0 0 1px #aaa;background:#fff}.searchbox__input::-webkit-input-placeholder{color:#aaa}.searchbox__input::-moz-placeholder{color:#aaa}.searchbox__input:-ms-input-placeholder{color:#aaa}.searchbox__input::placeholder{color:#aaa}.searchbox__submit{position:absolute;top:0;margin:0;border:0;border-radius:16px 0 0 16px;background-color:rgba(69,142,225,0);padding:0;width:32px;height:100%;vertical-align:middle;text-align:center;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;right:inherit;left:0}.searchbox__submit:before{display:inline-block;margin-right:-4px;height:100%;vertical-align:middle;content:""}.searchbox__submit:active,.searchbox__submit:hover{cursor:pointer}.searchbox__submit:focus{outline:0}.searchbox__submit svg{width:14px;height:14px;vertical-align:middle;fill:#6d7e96}.searchbox__reset{display:block;position:absolute;top:8px;right:8px;margin:0;border:0;background:none;cursor:pointer;padding:0;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:rgba(0,0,0,.5)}.searchbox__reset.hide{display:none}.searchbox__reset:focus{outline:0}.searchbox__reset svg{display:block;margin:4px;width:8px;height:8px}.searchbox__input:valid~.searchbox__reset{display:block;-webkit-animation-name:a;animation-name:a;-webkit-animation-duration:.15s;animation-duration:.15s}@-webkit-keyframes a{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes a{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu{right:0!important;left:inherit!important}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu:before{right:48px}.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu{left:0!important;right:inherit!important}.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu:before{left:48px}.algolia-autocomplete .ds-dropdown-menu{top:-6px;border-radius:4px;margin:6px 0 0;padding:0;text-align:left;height:auto;position:relative;background:transparent;border:none;z-index:1;max-width:600px;min-width:500px;box-shadow:0 1px 0 0 rgba(0,0,0,.2),0 2px 3px 0 rgba(0,0,0,.1)}.algolia-autocomplete .ds-dropdown-menu:before{display:block;position:absolute;content:"";width:14px;height:14px;background:#fff;z-index:2;top:-7px;border-top:1px solid #d9d9d9;border-right:1px solid #d9d9d9;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);border-radius:2px}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{position:relative;z-index:2;margin-top:8px}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion{cursor:pointer}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion.suggestion-layout-simple,.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion:not(.suggestion-layout-simple) .algolia-docsearch-suggestion--content{background-color:rgba(69,142,225,.05)}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{position:relative;border:1px solid #d9d9d9;background:#fff;border-radius:4px;overflow:auto;padding:0 8px 8px}.algolia-autocomplete .ds-dropdown-menu *{box-sizing:border-box}.algolia-autocomplete .algolia-docsearch-suggestion{position:relative;padding:0 8px;background:#fff;color:#02060c;overflow:hidden}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#174d8c;background:rgba(143,187,237,.1);padding:.1em .05em}.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight{color:inherit;background:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{padding:0 0 1px;background:inherit;box-shadow:inset 0 -2px 0 0 rgba(69,142,225,.8);color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--content{display:block;float:right;width:70%;position:relative;padding:5.33333px 0 5.33333px 10.66667px;cursor:pointer}.algolia-autocomplete .algolia-docsearch-suggestion--content:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;left:-1px}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{position:relative;border-bottom:1px solid #ddd;display:none;margin-top:8px;padding:4px 0;font-size:1em;color:#33363d}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{width:100%;float:left;padding:8px 0 0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{float:left;width:30%;display:none;padding-left:0;text-align:right;position:relative;padding:5.33333px 10.66667px;color:#a4a7ae;font-size:.9em;word-wrap:break-word}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;right:0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column .algolia-docsearch-suggestion--highlight{background-color:inherit;color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline{display:none}.algolia-autocomplete .algolia-docsearch-suggestion--title{margin-bottom:4px;color:#02060c;font-size:.9em;font-weight:700}.algolia-autocomplete .algolia-docsearch-suggestion--text{display:block;line-height:1.2em;font-size:.85em;color:#63676d}.algolia-autocomplete .algolia-docsearch-suggestion--no-results{width:100%;padding:8px 0;text-align:center;font-size:1.2em}.algolia-autocomplete .algolia-docsearch-suggestion--no-results:before{display:none}.algolia-autocomplete .algolia-docsearch-suggestion code{padding:1px 5px;font-size:90%;border:none;color:#222;background-color:#ebebeb;border-radius:3px;font-family:Menlo,Monaco,Consolas,Courier New,monospace}.algolia-autocomplete .algolia-docsearch-suggestion code .algolia-docsearch-suggestion--highlight{background:none}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header,.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary .algolia-docsearch-suggestion--subcategory-column{display:block}.algolia-autocomplete .suggestion-layout-simple.algolia-docsearch-suggestion{border-bottom:1px solid #eee;padding:8px;margin:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content{width:100%;padding:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content:before{display:none}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header{margin:0;padding:0;display:block;width:100%;border:none}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl0,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1{opacity:.6;font-size:.85em}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1:before{background-image:url('data:image/svg+xml;utf8,<svg width="10" height="10" viewBox="0 0 20 38" xmlns="http://www.w3.org/2000/svg"><path d="M1.49 4.31l14 16.126.002-2.624-14 16.074-1.314 1.51 3.017 2.626 1.313-1.508 14-16.075 1.142-1.313-1.14-1.313-14-16.125L3.2.18.18 2.8l1.31 1.51z" fill-rule="evenodd" fill="%231D3657" /></svg>');content:"";width:10px;height:10px;display:inline-block}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--wrapper{width:100%;float:left;margin:0;padding:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--duplicate-content,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--subcategory-column,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--subcategory-inline{display:none!important}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title{margin:0;color:#458ee1;font-size:.9em;font-weight:400}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title:before{content:"#";font-weight:700;color:#458ee1;display:inline-block}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text{margin:4px 0 0;display:block;line-height:1.4em;padding:5.33333px 8px;background:#f8f8f8;font-size:.85em;opacity:.8}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{color:#3f4145;font-weight:700;box-shadow:none}.algolia-autocomplete .algolia-docsearch-footer{width:110px;height:20px;z-index:3;margin-top:10.66667px;float:right;font-size:0;line-height:0}.algolia-autocomplete .algolia-docsearch-footer--logo{background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 130 18' xmlns='http://www.w3.org/2000/svg'><defs><linearGradient x1='-36.868%' y1='134.936%' x2='129.432%' y2='-27.7%' id='a'><stop stop-color='%2300AEFF' offset='0%'/><stop stop-color='%233369E7' offset='100%'/></linearGradient></defs><g fill='none' fill-rule='evenodd'><path d='M59.399.022h13.299a2.372 2.372 0 0 1 2.377 2.364V15.62a2.372 2.372 0 0 1-2.377 2.364H59.399a2.372 2.372 0 0 1-2.377-2.364V2.381A2.368 2.368 0 0 1 59.399.022z' fill='url(%23a)'/><path d='M66.257 4.56c-2.815 0-5.1 2.272-5.1 5.078 0 2.806 2.284 5.072 5.1 5.072 2.815 0 5.1-2.272 5.1-5.078 0-2.806-2.279-5.072-5.1-5.072zm0 8.652c-1.983 0-3.593-1.602-3.593-3.574 0-1.972 1.61-3.574 3.593-3.574 1.983 0 3.593 1.602 3.593 3.574a3.582 3.582 0 0 1-3.593 3.574zm0-6.418v2.664c0 .076.082.131.153.093l2.377-1.226c.055-.027.071-.093.044-.147a2.96 2.96 0 0 0-2.465-1.487c-.055 0-.11.044-.11.104l.001-.001zm-3.33-1.956l-.312-.311a.783.783 0 0 0-1.106 0l-.372.37a.773.773 0 0 0 0 1.101l.307.305c.049.049.121.038.164-.011.181-.245.378-.479.597-.697.225-.223.455-.42.707-.599.055-.033.06-.109.016-.158h-.001zm5.001-.806v-.616a.781.781 0 0 0-.783-.779h-1.824a.78.78 0 0 0-.783.779v.632c0 .071.066.12.137.104a5.736 5.736 0 0 1 1.588-.223c.52 0 1.035.071 1.534.207a.106.106 0 0 0 .131-.104z' fill='%23FFF'/><path d='M102.162 13.762c0 1.455-.372 2.517-1.123 3.193-.75.676-1.895 1.013-3.44 1.013-.564 0-1.736-.109-2.673-.316l.345-1.689c.783.163 1.819.207 2.361.207.86 0 1.473-.174 1.84-.523.367-.349.548-.866.548-1.553v-.349a6.374 6.374 0 0 1-.838.316 4.151 4.151 0 0 1-1.194.158 4.515 4.515 0 0 1-1.616-.278 3.385 3.385 0 0 1-1.254-.817 3.744 3.744 0 0 1-.811-1.351c-.192-.539-.29-1.504-.29-2.212 0-.665.104-1.498.307-2.054a3.925 3.925 0 0 1 .904-1.433 4.124 4.124 0 0 1 1.441-.926 5.31 5.31 0 0 1 1.945-.365c.696 0 1.337.087 1.961.191a15.86 15.86 0 0 1 1.588.332v8.456h-.001zm-5.954-4.206c0 .893.197 1.885.592 2.299.394.414.904.621 1.528.621.34 0 .663-.049.964-.142a2.75 2.75 0 0 0 .734-.332v-5.29a8.531 8.531 0 0 0-1.413-.18c-.778-.022-1.369.294-1.786.801-.411.507-.619 1.395-.619 2.223zm16.12 0c0 .719-.104 1.264-.318 1.858a4.389 4.389 0 0 1-.904 1.52c-.389.42-.854.746-1.402.975-.548.229-1.391.36-1.813.36-.422-.005-1.26-.125-1.802-.36a4.088 4.088 0 0 1-1.397-.975 4.486 4.486 0 0 1-.909-1.52 5.037 5.037 0 0 1-.329-1.858c0-.719.099-1.411.318-1.999.219-.588.526-1.09.92-1.509.394-.42.865-.741 1.402-.97a4.547 4.547 0 0 1 1.786-.338 4.69 4.69 0 0 1 1.791.338c.548.229 1.019.55 1.402.97.389.42.69.921.909 1.509.23.588.345 1.28.345 1.999h.001zm-2.191.005c0-.921-.203-1.689-.597-2.223-.394-.539-.948-.806-1.654-.806-.707 0-1.26.267-1.654.806-.394.539-.586 1.302-.586 2.223 0 .932.197 1.558.592 2.098.394.545.948.812 1.654.812.707 0 1.26-.272 1.654-.812.394-.545.592-1.166.592-2.098h-.001zm6.962 4.707c-3.511.016-3.511-2.822-3.511-3.274L113.583.926l2.142-.338v10.003c0 .256 0 1.88 1.375 1.885v1.792h-.001zm3.774 0h-2.153V5.072l2.153-.338v9.534zm-1.079-10.542c.718 0 1.304-.578 1.304-1.291 0-.714-.581-1.291-1.304-1.291-.723 0-1.304.578-1.304 1.291 0 .714.586 1.291 1.304 1.291zm6.431 1.013c.707 0 1.304.087 1.786.262.482.174.871.42 1.156.73.285.311.488.735.608 1.182.126.447.186.937.186 1.476v5.481a25.24 25.24 0 0 1-1.495.251c-.668.098-1.419.147-2.251.147a6.829 6.829 0 0 1-1.517-.158 3.213 3.213 0 0 1-1.178-.507 2.455 2.455 0 0 1-.761-.904c-.181-.37-.274-.893-.274-1.438 0-.523.104-.855.307-1.215.208-.36.487-.654.838-.883a3.609 3.609 0 0 1 1.227-.49 7.073 7.073 0 0 1 2.202-.103c.263.027.537.076.833.147v-.349c0-.245-.027-.479-.088-.697a1.486 1.486 0 0 0-.307-.583c-.148-.169-.34-.3-.581-.392a2.536 2.536 0 0 0-.915-.163c-.493 0-.942.06-1.353.131-.411.071-.75.153-1.008.245l-.257-1.749c.268-.093.668-.185 1.183-.278a9.335 9.335 0 0 1 1.66-.142l-.001-.001zm.181 7.731c.657 0 1.145-.038 1.484-.104v-2.168a5.097 5.097 0 0 0-1.978-.104c-.241.033-.46.098-.652.191a1.167 1.167 0 0 0-.466.392c-.121.169-.175.267-.175.523 0 .501.175.79.493.981.323.196.75.289 1.293.289h.001zM84.109 4.794c.707 0 1.304.087 1.786.262.482.174.871.42 1.156.73.29.316.487.735.608 1.182.126.447.186.937.186 1.476v5.481a25.24 25.24 0 0 1-1.495.251c-.668.098-1.419.147-2.251.147a6.829 6.829 0 0 1-1.517-.158 3.213 3.213 0 0 1-1.178-.507 2.455 2.455 0 0 1-.761-.904c-.181-.37-.274-.893-.274-1.438 0-.523.104-.855.307-1.215.208-.36.487-.654.838-.883a3.609 3.609 0 0 1 1.227-.49 7.073 7.073 0 0 1 2.202-.103c.257.027.537.076.833.147v-.349c0-.245-.027-.479-.088-.697a1.486 1.486 0 0 0-.307-.583c-.148-.169-.34-.3-.581-.392a2.536 2.536 0 0 0-.915-.163c-.493 0-.942.06-1.353.131-.411.071-.75.153-1.008.245l-.257-1.749c.268-.093.668-.185 1.183-.278a8.89 8.89 0 0 1 1.66-.142l-.001-.001zm.186 7.736c.657 0 1.145-.038 1.484-.104v-2.168a5.097 5.097 0 0 0-1.978-.104c-.241.033-.46.098-.652.191a1.167 1.167 0 0 0-.466.392c-.121.169-.175.267-.175.523 0 .501.175.79.493.981.318.191.75.289 1.293.289h.001zm8.682 1.738c-3.511.016-3.511-2.822-3.511-3.274L89.461.926l2.142-.338v10.003c0 .256 0 1.88 1.375 1.885v1.792h-.001z' fill='%23182359'/><path d='M5.027 11.025c0 .698-.252 1.246-.757 1.644-.505.397-1.201.596-2.089.596-.888 0-1.615-.138-2.181-.414v-1.214c.358.168.739.301 1.141.397.403.097.778.145 1.125.145.508 0 .884-.097 1.125-.29a.945.945 0 0 0 .363-.779.978.978 0 0 0-.333-.747c-.222-.204-.68-.446-1.375-.725-.716-.29-1.221-.621-1.515-.994-.294-.372-.44-.82-.44-1.343 0-.655.233-1.171.698-1.547.466-.376 1.09-.564 1.875-.564.752 0 1.5.165 2.245.494l-.408 1.047c-.698-.294-1.321-.44-1.869-.44-.415 0-.73.09-.945.271a.89.89 0 0 0-.322.717c0 .204.043.379.129.524.086.145.227.282.424.411.197.129.551.299 1.063.51.577.24.999.464 1.268.671.269.208.466.442.591.704.125.261.188.569.188.924l-.001.002zm3.98 2.24c-.924 0-1.646-.269-2.167-.808-.521-.539-.782-1.281-.782-2.226 0-.97.242-1.733.725-2.288.483-.555 1.148-.833 1.993-.833.784 0 1.404.238 1.858.714.455.476.682 1.132.682 1.966v.682H7.357c.018.577.174 1.02.467 1.329.294.31.707.465 1.241.465.351 0 .678-.033.98-.099a5.1 5.1 0 0 0 .975-.33v1.026a3.865 3.865 0 0 1-.935.312 5.723 5.723 0 0 1-1.08.091l.002-.001zm-.231-5.199c-.401 0-.722.127-.964.381s-.386.625-.432 1.112h2.696c-.007-.491-.125-.862-.354-1.115-.229-.252-.544-.379-.945-.379l-.001.001zm7.692 5.092l-.252-.827h-.043c-.286.362-.575.608-.865.739-.29.131-.662.196-1.117.196-.584 0-1.039-.158-1.367-.473-.328-.315-.491-.761-.491-1.337 0-.612.227-1.074.682-1.386.455-.312 1.148-.482 2.079-.51l1.026-.032v-.317c0-.38-.089-.663-.266-.851-.177-.188-.452-.282-.824-.282-.304 0-.596.045-.876.134a6.68 6.68 0 0 0-.806.317l-.408-.902a4.414 4.414 0 0 1 1.058-.384 4.856 4.856 0 0 1 1.085-.132c.756 0 1.326.165 1.711.494.385.329.577.847.577 1.552v4.002h-.902l-.001-.001zm-1.88-.859c.458 0 .826-.128 1.104-.384.278-.256.416-.615.416-1.077v-.516l-.763.032c-.594.021-1.027.121-1.297.298s-.406.448-.406.814c0 .265.079.47.236.615.158.145.394.218.709.218h.001zm7.557-5.189c.254 0 .464.018.628.054l-.124 1.176a2.383 2.383 0 0 0-.559-.064c-.505 0-.914.165-1.227.494-.313.329-.47.757-.47 1.284v3.105h-1.262V7.218h.988l.167 1.047h.064c.197-.354.454-.636.771-.843a1.83 1.83 0 0 1 1.023-.312h.001zm4.125 6.155c-.899 0-1.582-.262-2.049-.787-.467-.525-.701-1.277-.701-2.259 0-.999.244-1.767.733-2.304.489-.537 1.195-.806 2.119-.806.627 0 1.191.116 1.692.349l-.381 1.015c-.534-.208-.974-.312-1.321-.312-1.028 0-1.542.682-1.542 2.046 0 .666.128 1.166.384 1.501.256.335.631.502 1.125.502a3.23 3.23 0 0 0 1.595-.419v1.101a2.53 2.53 0 0 1-.722.285 4.356 4.356 0 0 1-.932.086v.002zm8.277-.107h-1.268V9.506c0-.458-.092-.8-.277-1.026-.184-.226-.477-.338-.878-.338-.53 0-.919.158-1.168.475-.249.317-.373.848-.373 1.593v2.949h-1.262V4.801h1.262v2.122c0 .34-.021.704-.064 1.09h.081a1.76 1.76 0 0 1 .717-.666c.306-.158.663-.236 1.072-.236 1.439 0 2.159.725 2.159 2.175v3.873l-.001-.001zm7.649-6.048c.741 0 1.319.269 1.732.806.414.537.62 1.291.62 2.261 0 .974-.209 1.732-.628 2.275-.419.542-1.001.814-1.746.814-.752 0-1.336-.27-1.751-.811h-.086l-.231.704h-.945V4.801h1.262v1.987l-.021.655-.032.553h.054c.401-.591.992-.886 1.772-.886zm-.328 1.031c-.508 0-.875.149-1.098.448-.224.299-.339.799-.346 1.501v.086c0 .723.115 1.247.344 1.571.229.324.603.486 1.123.486.448 0 .787-.177 1.018-.532.231-.354.346-.867.346-1.536 0-1.35-.462-2.025-1.386-2.025l-.001.001zm3.244-.924h1.375l1.209 3.368c.183.48.304.931.365 1.354h.043c.032-.197.091-.436.177-.717.086-.281.541-1.616 1.364-4.004h1.364l-2.541 6.73c-.462 1.235-1.232 1.853-2.31 1.853-.279 0-.551-.03-.816-.091v-.999c.19.043.406.064.65.064.609 0 1.037-.353 1.284-1.058l.22-.559-2.385-5.941h.001z' fill='%231D3657'/></g></svg>");background-repeat:no-repeat;background-position:50%;background-size:100%;overflow:hidden;text-indent:-9000px;padding:0!important;width:100%;height:100%;display:block}
++/*# sourceMappingURL=docsearch.min.css.map */
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ab59428543afe340596c2815d6e080607cd1839f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,16 @@@
++
++.header-link:after {
++  position: relative;
++  left: 0.5em;
++  opacity: 0;
++  font-size: 0.8em;
++  -moz-transition: opacity 0.2s ease-in-out 0.1s;
++  -ms-transition: opacity 0.2s ease-in-out 0.1s;
++}
++h2:hover .header-link,
++h3:hover .header-link,
++h4:hover .header-link,
++h5:hover .header-link,
++h6:hover .header-link {
++  opacity: 1;
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..997931ac42311ff6249bcdcd02e8a12f2a7a5da7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,21 @@@
++.animated {
++  animation-duration: .5s;
++  animation-fill-mode: forwards;
++  animation-timing-function: ease-in-out;
++}
++
++@keyframes fadeIn {
++  from {
++    opacity: 0;
++  }
++
++  to {
++    opacity: 1;
++  }
++}
++.fadeIn {
++  animation-name: fadeIn;
++}
++.animated-delay-1 {
++  animation-delay: 0.5s;
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..11fae8702b070a8c3f057ca8d9f85a08390d2804
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,25 @@@
++/* These styles enhance the home page carousel, located here: themes/gohugoioTheme/layouts/partials/home-page-sections/showcase.html */
++.overflow-x-scroll{
++  -webkit-overflow-scrolling: touch;
++}
++.row {
++  transition: 450ms transform;
++  font-size: 0;
++}
++.tile {
++  transition: 450ms all;
++}
++.details {
++  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0,0,0,0.9)), to(rgba(0,0,0,0)));
++  background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0) 100%);
++  transition: 450ms opacity;
++}
++.tile:hover .details {
++  opacity: 1;
++}
++.row:hover .tile {
++  opacity: 0.3;
++}
++.row:hover .tile:hover {
++  opacity: 1;
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d00ea65e60aea494fc8b66f8a397a515fcf2c8a4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,65 @@@
++/* Background */ .chroma { background-color: #ffffff }
++/* Error */ .chroma .err { color: #a61717; background-color: #e3d2d2 }
++/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
++/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; }
++/* LineHighlight */ .chroma .hl { display: block; width: 100%;background-color: #ffffcc }
++/* LineNumbersTable */ .chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; }
++/* LineNumbers */ .chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; }
++/* Keyword */ .chroma .k { font-weight: bold }
++/* KeywordConstant */ .chroma .kc { font-weight: bold }
++/* KeywordDeclaration */ .chroma .kd { font-weight: bold }
++/* KeywordNamespace */ .chroma .kn { font-weight: bold }
++/* KeywordPseudo */ .chroma .kp { font-weight: bold }
++/* KeywordReserved */ .chroma .kr { font-weight: bold }
++/* KeywordType */ .chroma .kt { color: #445588; font-weight: bold }
++/* NameAttribute */ .chroma .na { color: #008080 }
++/* NameBuiltin */ .chroma .nb { color: #999999 }
++/* NameClass */ .chroma .nc { color: #445588; font-weight: bold }
++/* NameConstant */ .chroma .no { color: #008080 }
++/* NameEntity */ .chroma .ni { color: #800080 }
++/* NameException */ .chroma .ne { color: #990000; font-weight: bold }
++/* NameFunction */ .chroma .nf { color: #990000; font-weight: bold }
++/* NameNamespace */ .chroma .nn { color: #555555 }
++/* NameTag */ .chroma .nt { color: #000080 }
++/* NameVariable */ .chroma .nv { color: #008080 }
++/* LiteralString */ .chroma .s { color: #bb8844 }
++/* LiteralStringAffix */ .chroma .sa { color: #bb8844 }
++/* LiteralStringBacktick */ .chroma .sb { color: #bb8844 }
++/* LiteralStringChar */ .chroma .sc { color: #bb8844 }
++/* LiteralStringDelimiter */ .chroma .dl { color: #bb8844 }
++/* LiteralStringDoc */ .chroma .sd { color: #bb8844 }
++/* LiteralStringDouble */ .chroma .s2 { color: #bb8844 }
++/* LiteralStringEscape */ .chroma .se { color: #bb8844 }
++/* LiteralStringHeredoc */ .chroma .sh { color: #bb8844 }
++/* LiteralStringInterpol */ .chroma .si { color: #bb8844 }
++/* LiteralStringOther */ .chroma .sx { color: #bb8844 }
++/* LiteralStringRegex */ .chroma .sr { color: #808000 }
++/* LiteralStringSingle */ .chroma .s1 { color: #bb8844 }
++/* LiteralStringSymbol */ .chroma .ss { color: #bb8844 }
++/* LiteralNumber */ .chroma .m { color: #009999 }
++/* LiteralNumberBin */ .chroma .mb { color: #009999 }
++/* LiteralNumberFloat */ .chroma .mf { color: #009999 }
++/* LiteralNumberHex */ .chroma .mh { color: #009999 }
++/* LiteralNumberInteger */ .chroma .mi { color: #009999 }
++/* LiteralNumberIntegerLong */ .chroma .il { color: #009999 }
++/* LiteralNumberOct */ .chroma .mo { color: #009999 }
++/* Operator */ .chroma .o { font-weight: bold }
++/* OperatorWord */ .chroma .ow { font-weight: bold }
++/* Comment */ .chroma .c { color: #999988; font-style: italic }
++/* CommentHashbang */ .chroma .ch { color: #999988; font-style: italic }
++/* CommentMultiline */ .chroma .cm { color: #999988; font-style: italic }
++/* CommentSingle */ .chroma .c1 { color: #999988; font-style: italic }
++/* CommentSpecial */ .chroma .cs { color: #999999; font-weight: bold; font-style: italic }
++/* CommentPreproc */ .chroma .cp { color: #999999; font-weight: bold }
++/* CommentPreprocFile */ .chroma .cpf { color: #999999; font-weight: bold }
++/* GenericDeleted */ .chroma .gd { color: #000000; background-color: #ffdddd }
++/* GenericEmph */ .chroma .ge { font-style: italic }
++/* GenericError */ .chroma .gr { color: #aa0000 }
++/* GenericHeading */ .chroma .gh { color: #999999 }
++/* GenericInserted */ .chroma .gi { color: #000000; background-color: #ddffdd }
++/* GenericOutput */ .chroma .go { color: #888888 }
++/* GenericPrompt */ .chroma .gp { color: #555555 }
++/* GenericStrong */ .chroma .gs { font-weight: bold }
++/* GenericSubheading */ .chroma .gu { color: #aaaaaa }
++/* GenericTraceback */ .chroma .gt { color: #aa0000 }
++/* TextWhitespace */ .chroma .w { color: #bbbbbb }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2fb402fcff00daf313448519e5780143b0494a3c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,97 @@@
++.chroma .lntable pre {
++  padding: 0;
++  margin: 0;
++  border: 0;
++}
++
++.chroma .lntable pre code  {
++  padding: 0;
++  margin: 0;
++}
++
++pre, .pre  {
++  overflow-x: auto;
++  overflow-y: hidden;
++  overflow:   scroll;
++}
++
++code {
++    padding: 0.2em;
++    margin: 0;
++    font-size: 85%;
++    background-color: rgba(27,31,35,0.05);
++    border-radius: 3px;
++}
++
++
++pre  code {
++  display: block;
++  padding: 1.5em 1.5em;
++  font-size: .875rem;
++  line-height: 2;
++  overflow-x: auto;
++}
++
++
++pre {
++  background-color: #fff;
++  color: #333;
++  white-space: pre;
++  hyphens: none;
++  position: relative;
++  border-width: 1px;
++  border-color: #ccc;
++  border-style: solid;
++}
++
++/* The Pygments highlighter comes with its own styles. */
++.highlight pre {
++  background-color: inherit;
++  color: inherit;
++  padding: 0.5em;
++  font-size: .875rem;
++}
++
++
++/*We are adding the copy button content here so we can change it with javascript. See the "Clipboard scripts"*/
++.copy:after {
++  content: "Copy"
++}
++.copied:after {
++  content: "Copied"
++}
++
++@media (--breakpoint-large) {
++  .full-width, pre.expand:hover
++  {
++  /*width: 100vw;
++  position: relative;
++  left: 50%;
++  right: 50%;
++  margin-left: -50vw;
++  margin-right: -50vw;*/
++  /*width: 60vw;*/
++  /*position: relative;
++  left: 50%;
++  right: 50%;*/
++  /*margin-left: -30vw;*/
++  margin-right: -30vw;
++  max-width: 100vw;
++  }
++}
++
++.code-block .line-numbers-rows {
++    background: #2f3a46;
++    border: none;
++    bottom: -50px;
++    color: #98a4b3;
++    left: -178px;
++    padding: 50px 0;
++    top: -50px;
++    width: 138px
++}
++
++.code-block .line-numbers-rows>span:before {
++    color: inherit;
++    padding-right: 30px
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1d61a7725fd11269e6862caf5bb397f54086b3d7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,38 @@@
++.primary-color                      {color: var(--primary-color)}
++.bg-primary-color                   {background-color: var(--primary-color)}
++.hover-bg-primary-color:hover       {background-color: var(--primary-color)}
++
++.primary-color-dark                  {color: var(--primary-color-dark)}
++.bg-primary-color-dark               {background-color: var(--primary-color-dark)}
++.hover-bg-primary-color-dark:hover   {background-color: var(--primary-color-dark)}
++
++.primary-color-light                  {color: var(--primary-color-light)}
++.bg-primary-color-light               {background-color: var(--primary-color-light)}
++.hover-bg-primary-color-light:hover   {background-color: var(--primary-color-light)}
++
++.accent-color                         {color: var(--accent-color)}
++.bg-accent-color                      {background-color: var(--accent-color)}
++.hover-bg-accent-color:hover          {background-color: var(--accent-color)}
++
++.accent-color-light                   {color: var(--accent-color-light)}
++.hover-accent-color-light:hover                   {color: var(--accent-color-light)}
++.bg-accent-color-light                {background-color: var(--accent-color-light)}
++.hover-bg-accent-color-light:hover    {background-color: var(--accent-color-light)}
++
++.accent-color-dark                    {color: var(--accent-color-dark)}
++.bg-accent-color-dark                 {background-color: var(--accent-color-dark)}
++.hover-bg-accent-color-dark:hover     {background-color: var(--accent-color-dark)}
++
++.text-color-primary    {color: var(--text-color-primary)}
++.text-on-primary-color {color: var(--text-on-primary-color)}
++.text-color-secondary  {color: var(--text-color-secondary)}
++.text-color-disabled   {color: var(--text-color-disabled)}
++.divider-color         {color: var(--divider-color)}
++.warn-color            {color: var(--warn-color)}
++
++
++.nested-links a {
++  color: var(--primary-color);
++  text-decoration: none;
++
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e1e938c742b3cb1a68d8adf7f4c7aca0a16c58ee
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,11 @@@
++.column-count-2 {column-count: 1}
++.column-gap-1 {column-gap: 0}
++.break-inside-avoid {break-inside: auto}
++
++
++@media (--breakpoint-large) {
++  .column-count-3-l {column-count: 3}
++  .column-count-2-l {column-count: 2}
++  .column-gap-1-l {column-gap: 1}
++  .break-inside-avoid-l {break-inside: avoid}
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4e092e8bf853b5c342173a0bcd65c19657312ba7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,28 @@@
++.prose table {
++    width: 100%;
++    margin-bottom: 3em;
++    border-collapse: collapse;
++    border-spacing: 0;
++    font-size: 1em;
++    border: 1px solid var(--light-gray);
++     & th {
++       background-color: var(--primary-color);
++       border-bottom: 1px solid var(--primary-color);
++       color: white;
++       font-weight: 400;
++
++       text-align: left;
++       padding: .375em .5em;
++     }
++
++    & td, & tc {
++      padding: .75em .5em;
++      text-align: left;
++      border-right: 1px solid var(--light-gray);
++    }
++
++}
++
++.prose table tr:nth-child(even) {
++  background-color: var(--light-gray);
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9c8a8a14d188d889749be24fde4c793db7efaa5b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,41 @@@
++.prose ul, .prose ol {
++  margin-bottom: 2em;
++}
++.prose ul li, .prose  ol li {
++  margin-bottom: .5em;
++}
++.prose li:hover {
++  background-color: var(--light-gray)
++}
++.prose ::selection {
++  background: var(--primary-color); /* WebKit/Blink Browsers */
++  color: white;
++}
++
++
++body {
++
++line-height: 1.45;
++
++}
++
++p {margin-bottom: 1.3em;}
++
++h1, h2, h3, h4 {
++margin: 1.414em 0 0.5em;
++
++line-height: 1.2;
++}
++
++h1 {
++margin-top: 0;
++font-size: 2.441em;
++}
++
++h2 {font-size: 1.953em;}
++
++h3 {font-size: 1.563em;}
++
++h4 {font-size: 1.25em;}
++
++small, .font_small {font-size: 0.8em;}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e28f67d4b1ddc65f79d2b34417e671486b9d39bb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,9 @@@
++
++dl dt {
++  font-weight: bold;
++  font-size: 1.125rem;
++}
++dd {
++  margin: .5em 0 2em 0;
++  padding: 0;
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0ea8e9b72657f81b6208ce282134d0ffb57d050f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,54 @@@
++.note,
++.warning {
++
++  border-left-width: 4px;
++  border-left-style: solid;
++  position: relative;
++  border-color: var(--primary-color);
++
++  display: block;
++}
++.note #exclamation-icon,
++.warning #exclamation-icon {
++
++  fill: var(--primary-color);
++  position: absolute;
++  top: 35%;
++  left: -12px;
++  /*background-color: white;*/
++}
++
++  .admonition-content {
++    display: block;
++    margin: 0px;
++    padding: .125em 1em;
++    /*margin-left: 1em;*/
++    margin-top: 2em;
++    margin-bottom: 2em;
++    overflow-x: auto;
++    /*font-size: .9375em;*/
++    background-color: var(--black-05);
++  }
++
++
++  .hide-child-menu .child-menu {
++    display: none;
++  }
++  .hide-child-menu:hover  .child-menu,
++  .hide-child-menu:focus  .child-menu,
++  .hide-child-menu:active .child-menu {
++  display: block;
++  }
++
++
++/*documentation-copy headings exaggerate spacing and size to chunk content */
++  .documentation-copy h2 {
++    margin-top: 3em;
++    &.minor {
++      font-size: inherit;
++      margin-top: inherit;
++      border-bottom: none;
++    }
++  }
++
++  
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..da9f04c8166db3a1e9ee93142500a61114a25c84
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,10 @@@
++.f2-fluid {
++  font-size: 2.25rem;
++}
++
++@media (--breakpoint-large) {
++  .f2-fluid {
++    font-size: 1.25rem;
++    font-size: calc(0.875rem + 0.5 * ((100vw - 20rem) / 60));
++  }
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9b451cf1ca99c0a341eb98a0949bacdf9eb627b0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,80 @@@
++/* From http://cssfontstack.com */
++code, .code, pre code, .highlight pre  {
++  font-family: 'inconsolata',Menlo,Monaco,'Courier New',monospace;
++}
++
++.sans-serif {
++  font-family: 'Muli',
++              avenir,
++               'helvetica neue', helvetica,
++               ubuntu,
++               roboto, noto,
++               'segoe ui', arial,
++               sans-serif;
++}
++
++
++.serif {
++  font-family: Palatino,"Palatino Linotype","Palatino LT STD","Book Antiqua",Georgia,serif;
++}
++
++/* Monospaced Typefaces (for code) */
++
++
++.courier {
++  font-family: 'Courier Next',
++               courier,
++               monospace;
++}
++
++
++/* Sans-Serif Typefaces */
++
++.helvetica {
++  font-family: 'helvetica neue', helvetica,
++               sans-serif;
++}
++
++.avenir {
++  font-family: 'avenir next', avenir,
++               sans-serif;
++}
++
++
++/* Serif Typefaces */
++
++.athelas {
++  font-family: athelas,
++               georgia,
++               serif;
++}
++
++.georgia {
++  font-family: georgia,
++               serif;
++}
++
++.times {
++  font-family: times,
++               serif;
++}
++
++.bodoni {
++  font-family: "Bodoni MT",
++                serif;
++}
++
++.calisto {
++  font-family: "Calisto MT",
++                serif;
++}
++
++.garamond {
++  font-family: garamond,
++               serif;
++}
++
++.baskerville {
++  font-family: baskerville,
++               serif;
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c491076552935a2c61b5f1db952037da43133f02
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,11 @@@
++/* modified from:*/
++@import 'highlight.js/styles/atom-one-light.css';
++
++/* hljs-template-variable covers the handlebars templating*/
++.hljs-template-variable {
++  color: var(--primary-color);
++}
++
++.hljs-attr {
++  color: var(--accent-color-light);
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0b1df9610a77e5470cdf2b3c735f97b33ce62445
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,52 @@@
++/* pagination.html: https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/template_embedded.go#L117 */
++.pagination {
++  margin: 3rem 0;
++}
++
++.pagination li {
++  display: inline-block;
++  margin-right: .375rem;
++  font-size: .875rem;
++  margin-bottom: 2.5em;
++}
++.pagination li a {
++  padding: .5rem .625rem;
++  background-color: white;
++  color: #333;
++  border: 1px solid #ddd;
++  border-radius: 3px;
++  text-decoration: none;
++}
++.pagination li.disabled {
++  display: none;
++}
++.pagination li.active a:link,
++.pagination li.active a:active,
++.pagination li.active a:visited {
++  background-color: #ddd;
++}
++
++/* Hides non-meaningful TOC items*/
++#TableOfContents ul li ul li ul li{
++    display: none;
++  }
++
++
++#TableOfContents ul li {
++  color: black;
++  display: block;
++  margin-bottom: .375em;
++  line-height: 1.375;
++}
++
++#TableOfContents ul li a{
++  width: 100%;
++  padding: .25em .375em;
++  margin-left: -.375em;
++
++}
++#TableOfContents ul li a:hover {
++  background-color: #999;
++  color: white;
++
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7991450fef20f2dc0d7e1ba1d221922f13da64b7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,7 @@@
++.no-js .needs-js {
++  opacity: 0
++}
++.js .needs-js {
++  opacity: 1;
++  transition: opacity .15s ease-in;
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..04ea11ec54897c6c498036645c856baaf53cda3e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++.facebook, .twitter, .instagram, .youtube {
++  fill: #BABABA;
++}
++.facebook:hover {
++  fill: #3b5998;
++}
++
++.twitter {
++  fill: #55acee;
++}
++
++.twitter:hover {
++  fill: #BABABA;
++}
++
++
++.instagram:hover {
++  fill: #e95950;
++}
++
++.youtube:hover {
++  fill: #bb0000;
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7759bed96fe4fad95f931841fb49d71b73b89482
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++
++@media (min-width: 75em) {
++  
++  [data-scrolldir="down"] .sticky {
++    position: fixed;
++    top:100px;
++    right:0;
++  }
++
++  [data-scrolldir="up"] .sticky {
++    position: fixed;
++    top:100px;
++    right:0;
++  }
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..299a4a96373628c70f73025ae6cebb5ad5823ff5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++.fill-current { fill: currentColor; }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6e0022cc9925494793fcd920d83a018b4e8b619e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,34 @@@
++.tab-button{
++      margin-bottom:1px;
++      position: relative;
++      z-index: 1;
++      color:#333;
++      border-color:#ccc;
++      outline: none;
++      background-color:white;
++}
++.tab-pane code{
++      background:#f1f2f2;
++      border-radius:0;
++}
++.tab-pane .chroma{
++      background:none;
++      padding:0;
++}
++.tab-button.active{
++      border-bottom-color:#f1f2f2;
++      background-color: #f1f2f2;
++}
++.tab-content .tab-pane{
++      display: none;
++}
++.tab-content .tab-pane.active{
++      display: block;
++}
++/* Treatment of copy buttons inside a tab module */ 
++.tab-content .copy, .tab-content .copied{
++      display: none;
++}
++.tab-content .tab-pane.active + .copy, .tab-content .tab-pane.active + .copied{
++      display: block;
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d697c4d853be6afb918bc2246188ac7b4bf4e033
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,94 @@@
++/*! TACHYONS v4.7.0 | http://tachyons.io */
++
++/*
++ * NOTE: The Tachyons folder is for backup/reference only. This file references the module
++ *      ________            ______
++ *      ___  __/_____ _________  /______  ______________________
++ *      __  /  _  __ `/  ___/_  __ \_  / / /  __ \_  __ \_  ___/
++ *      _  /   / /_/ // /__ _  / / /  /_/ // /_/ /  / / /(__  )
++ *      /_/    \__,_/ \___/ /_/ /_/_\__, / \____//_/ /_//____/
++ *                                 /____/
++ *
++ *    TABLE OF CONTENTS
++ *
++ *    1. External Library Includes
++ *       - Normalize.css | http://normalize.css.github.io
++ *    2. Tachyons Modules
++ *    3. Variables
++ *       - Media Queries
++ *       - Colors
++ *    4. Debugging
++ *       - Debug all
++ *       - Debug children
++ *
++ */
++
++
++/* External Library Includes */
++@import 'tachyons/src/_normalize';
++
++
++/* Modules */
++@import 'tachyons/src/_box-sizing';
++/*@import 'tachyons/src/_aspect-ratios';*/
++@import 'tachyons/src/_images';
++@import 'tachyons/src/_background-size';
++@import 'tachyons/src/_background-position';
++/*@import 'tachyons/src/_outlines';*/
++@import 'tachyons/src/_borders';
++@import 'tachyons/src/_border-colors';
++@import 'tachyons/src/_border-radius';
++@import 'tachyons/src/_border-style';
++@import 'tachyons/src/_border-widths';
++@import 'tachyons/src/_box-shadow';
++/*@import 'tachyons/src/_code';*/
++@import 'tachyons/src/_coordinates';
++@import 'tachyons/src/_clears';
++@import 'tachyons/src/_display';
++@import 'tachyons/src/_flexbox';
++@import 'tachyons/src/_floats';
++/*@import 'tachyons/src/_font-family';*/
++@import 'tachyons/src/_font-style';
++@import 'tachyons/src/_font-weight';
++@import 'tachyons/src/_forms';
++@import 'tachyons/src/_heights';
++@import 'tachyons/src/_letter-spacing';
++@import 'tachyons/src/_line-height';
++@import 'tachyons/src/_links';
++@import 'tachyons/src/_lists';
++@import 'tachyons/src/_max-widths';
++@import 'tachyons/src/_widths';
++@import 'tachyons/src/_overflow';
++@import 'tachyons/src/_position';
++@import 'tachyons/src/_opacity';
++/*@import 'tachyons/src/_rotations';*/
++@import 'tachyons/src/_skins';
++@import 'tachyons/src/_skins-pseudo';
++@import 'tachyons/src/_spacing';
++@import 'tachyons/src/_negative-margins';
++@import 'tachyons/src/_tables';
++@import 'tachyons/src/_text-decoration';
++@import 'tachyons/src/_text-align';
++@import 'tachyons/src/_text-transform';
++@import 'tachyons/src/_type-scale';
++@import 'tachyons/src/_typography';
++@import 'tachyons/src/_utilities';
++@import 'tachyons/src/_visibility';
++@import 'tachyons/src/_white-space';
++@import 'tachyons/src/_vertical-align';
++@import 'tachyons/src/_hovers';
++@import 'tachyons/src/_z-index';
++@import 'tachyons/src/_nested';
++/*@import 'tachyons/src/_styles';*/
++
++/* Variables */
++/* Importing here will allow you to override any variables in the modules */
++@import 'tachyons/src/_colors';
++@import 'tachyons/src/_media-queries';
++
++/* Debugging */
++/*@import 'tachyons/src/_debug-children';
++@import 'tachyons/src/_debug-grid';*/
++
++/* Uncomment out the line below to help debug layout issues */
++/* @import 'tachyons/src/_debug'; */
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8701b15303cbda923987a7a590666d8e19b92b5b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,16 @@@
++:root {
++  --primary-color:        #0594CB;
++  --primary-color-dark:   #0A1922;
++  --primary-color-light:  #f9f9f9;
++  --accent-color:         #EBB951;
++  --accent-color-light:   #FF4088;
++  --accent-color-dark:    #33ba91;
++  --text-color-primary:   #373737;
++  --text-on-primary-color: #fff;
++  --text-color-secondary: #ccc;
++  --text-color-disabled:  #F7f7f7;
++  --divider-color:        #f6f6f6;
++  --warn-color: red;
++
++  --blue: var(--primary-color);
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6995607df4806185e99108d91ce52c93a08b4c8f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,38 @@@
++/*Base Styles*/
++@import '_tachyons';
++
++/* purgecss start ignore */
++@import '_anchorforid';
++@import '_animation';
++@import '_documentation-styles';
++@import '_algolia';
++@import '_carousel';
++@import '_code';
++@import '_tabs';
++@import '_color-scheme';
++@import '_columns';
++@import '_content';
++@import '_content-tables';
++@import '_definition-lists';
++@import '_fluid-type';
++@import '_font-family';
++@import '_hugo-internal-template-styling';
++@import '_no-js';
++@import '_social-icons';
++@import '_stickyheader';
++
++@import '_svg';
++@import '_chroma';
++@import '_variables';
++
++.nested-blockquote blockquote {
++  border-left: 4px solid var(--primary-color);
++  padding-left: 1em;
++  /*margin: 0;*/
++}
++
++
++.mw-90 {
++  max-width:90%;
++}
++/* purgecss end ignore */
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5a3dbc8c13b265d6f5f2e8250a4a4d0905c03133
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,16 @@@
++require("typeface-muli")
++import styles from './css/main.css';
++import './js/anchorforid.js'
++import './js/clipboardjs.js'
++import './js/codeblocks.js'
++import './js/docsearch.js'
++import './js/hljs.js'
++import './js/lazysizes.js'
++import './js/menutoggle.js'
++import './js/scrolldir.js'
++import './js/smoothscroll.js'
++import './js/tabs.js'
++import './js/nojs.js'
++
++
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cb0855d52c7b3f6f289f421eb1133bc2526474fb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,34 @@@
++/**
++* Anchor for ID BPNY
++**/
++var anchorForId = function (id) {
++  var anchor = document.createElement("a");
++  anchor.className = "header-link";
++  anchor.href      = "#" + id;
++  anchor.innerHTML = '  <svg class="fill-current o-60 hover-accent-color-light" height="22px" viewBox="0 0 24 24" width="22px" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/></svg>';
++  return anchor;
++};
++
++var linkifyAnchors = function (level, containingElement) {
++  var headers = containingElement.getElementsByTagName("h" + level);
++  for (var h = 0; h < headers.length; h++) {
++    var header = headers[h];
++
++    if (typeof header.id !== "undefined" && header.id !== "") {
++      header.appendChild(anchorForId(header.id));
++    }
++  }
++};
++
++
++document.onreadystatechange = function () {
++  if (this.readyState === "complete") {
++    var contentBlock = document.getElementsByClassName("prose")[0]
++    if (!contentBlock) {
++      return;
++    }
++    for (var level = 2; level <= 4; level++) {
++      linkifyAnchors(level, contentBlock);
++    }
++  }
++};
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ffae31c7fa5b9a9fa01fe740781a37f95cc23a0a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,30 @@@
++var Clipboard = require('clipboard/dist/clipboard.js');
++new Clipboard('.copy', {
++  target: function(trigger) {
++    if(trigger.classList.contains('copy-toggle')){
++      return trigger.previousElementSibling;
++    }
++    return trigger.nextElementSibling;
++  }
++  }).on('success', function(e) {
++    successMessage(e.trigger, 'Copied!');
++    e.clearSelection();
++  }).on('error', function(e) {
++    successMessage(e.trigger, fallbackMessage(e.action));
++});
++
++function successMessage(elem, msg) {
++  elem.setAttribute('class', 'copied bg-primary-color-dark f6 absolute top-0 right-0 lh-solid hover-bg-primary-color-dark bn white ph3 pv2');
++  elem.setAttribute('aria-label', msg);
++}
++
++function fallbackMessage(elem, action) {
++  var actionMsg = '';
++  var actionKey = (action === 'cut' ? 'X' : 'C');
++  if (isMac) {
++      actionMsg = 'Press ⌘-' + actionKey;
++  } else {
++      actionMsg = 'Press Ctrl-' + actionKey;
++  }
++  return actionMsg;
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d8039c5d6f575f4443c2ae932a1d158363930b73
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,10 @@@
++let article = document.getElementById('prose')
++
++if (article) {
++  let codeBlocks = article.getElementsByTagName('code')
++    for (let [key, codeBlock] of Object.entries(codeBlocks)){
++    var widthDif = codeBlock.scrollWidth - codeBlock.clientWidth
++    if (widthDif > 0)
++      codeBlock.parentNode.classList.add('expand')
++  }
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0074da8cd7f1e5c502844b908ec286397fa5d64a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,7 @@@
++var docsearch = require('docsearch.js/dist/cdn/docsearch.js');
++docsearch({
++  apiKey: '167e7998590aebda7f9fedcf86bc4a55',
++  indexName: 'hugodocs',
++  inputSelector: '#search-input',
++  debug: true // Set debug to true if you want to inspect the dropdown
++});
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
new file mode 100644 (file)
--- /dev/null
--- /dev/null
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c2252e7831506586fde83c7ab37fd3211257faed
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,19 @@@
++var hljs = require('highlight.js/lib/highlight.js');
++
++hljs.registerLanguage('bash', require('highlight.js/lib/languages/bash'));
++hljs.registerLanguage('css', require('highlight.js/lib/languages/css'));
++hljs.registerLanguage('markdown', require('highlight.js/lib/languages/markdown'));
++hljs.registerLanguage('diff', require('highlight.js/lib/languages/diff'));
++// hljs.registerLanguage('go', require('highlight.js/lib/languages/go'));
++hljs.registerLanguage('javascript', require('highlight.js/lib/languages/javascript'));
++hljs.registerLanguage('json', require('highlight.js/lib/languages/json'));
++hljs.registerLanguage('yaml', require('highlight.js/lib/languages/yaml'));
++hljs.registerLanguage('xml', require('highlight.js/lib/languages/xml'));
++hljs.registerLanguage('html', require('highlight.js/lib/languages/handlebars'));
++
++hljs.registerLanguage("go", function(e) {
++  var t = { keyword: "code output note warning break default func interface select case map struct chan else goto package switch const fallthrough if range end type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune id autoplay Get", literal: "file download copy true false iota nil Pages with", built_in: "append cap close complex highlight copy imag len make new panic print println real recover delete Site Data tweet youtube ref relref vimeo instagram gist figure innershortcode" };
++  return { aliases: ["golang","hugo"], k: t, i: "</", c: [e.CLCM, e.CBCM, { cN: "string", v: [e.QSM, { b: "'", e: "[^\\\\]'" }, { b: "`", e: "`" }] }, { cN: "number", v: [{ b: e.CNR + "[dflsi]", r: 1 }, e.CNM] }, { b: /:=/ }, { cN: "function", bK: "func", e: /\s*\{/, eE: !0, c: [e.TM, { cN: "params", b: /\(/, e: /\)/, k: t, i: /["']/ }] }] }
++});
++
++hljs.initHighlightingOnLoad();
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4eb3950afe14e72a2a43bb6950cde1d209dfca11
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++var lazysizes = require('lazysizes');
++// var lsnoscript = require('lazysizes/plugins/noscript/ls.noscript.js');
++var unveilhooks = require('lazysizes/plugins/unveilhooks/ls.unveilhooks.js');
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b6ae53f3c89e5b7186091211f5587a18494f31fa
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,26 @@@
++import styles from './../css/main.css';
++import './anchorforid.js'
++import './clipboardjs.js'
++import './codeblocks.js'
++import './docsearch.js'
++//import './hljs.js'
++import './lazysizes.js'
++import './menutoggle.js'
++import './scrolldir.js'
++import './smoothscroll.js'
++import './tabs.js'
++import './nojs.js'
++
++
++
++// TO use Jquery, just call the modules you want
++// var $ = require('jquery/src/core');
++// require('jquery/src/core/init');
++// require('jquery/src/manipulation');
++
++// OR, use all of them
++// var $ = require('jquery/src/jquery');
++
++// And write your code
++// $('body').append('<p>Jquery is working</p>');
++//
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d0e6453850cdc366873ec380a0a46d16adda1d4c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,31 @@@
++// Grab any element that has the 'js-toggle' class and add an event listner for the toggleClass function
++var toggleBtns = document.getElementsByClassName('js-toggle')
++  for (var i = 0; i < toggleBtns.length; i++) {
++    toggleBtns[i].addEventListener('click', toggleClass, false)
++  }
++
++function toggleClass() {
++  // Define the data target via the dataset "target" (e.g. data-target=".docsmenu")
++  var content = this.dataset.target.split(' ')
++  // Find any menu items that are open
++  var mobileCurrentlyOpen = document.querySelector('.mobilemenu:not(.dn)')
++  var desktopCurrentlyOpen = document.querySelector('.desktopmenu:not(.dn)')
++  var desktopActive = document.querySelector('.desktopmenu:not(.dn)')
++
++  // Loop through the targets' divs
++  for (var i = 0; i < content.length; i++) {
++    var matches = document.querySelectorAll(content[i]);
++    //for each, if the div has the 'dn' class (which is "display:none;"), remove it, otherwise, add that class
++    [].forEach.call(matches, function(dom) {
++        dom.classList.contains('dn') ?
++        dom.classList.remove('dn') :
++        dom.classList.add('dn');
++         return false;
++       });
++        // close the currently open menu items
++      if (mobileCurrentlyOpen) mobileCurrentlyOpen.classList.add('dn')
++      if (desktopCurrentlyOpen) desktopCurrentlyOpen.classList.add('dn')
++      if (desktopActive) desktopActive.classList.remove('db')
++
++    }
++  }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..50b5126a980da564c0284532919ca4d63dbb8625
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/, 'js');
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0b69978cd060ec4f334eaf7cacbe625e08d9c30d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++var scrollDir = require('scrolldir/dist/scrolldir.auto.min.js');
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4bb2d99b87014110597c8080f6c3aa105347463b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,80 @@@
++// query selector targets Hugo TOC 
++(function() {
++
++  'use strict';
++
++  // Feature Test
++  if ('querySelector' in document && 'addEventListener' in window && Array.prototype.forEach) {
++
++    // Function to animate the scroll
++    var smoothScroll = function(anchor, duration) {
++
++      // Calculate how far and how fast to scroll
++      var startLocation = window.pageYOffset;
++      var endLocation = anchor.offsetTop;
++      var distance = endLocation - startLocation;
++      var increments = distance / (duration / 16);
++      var stopAnimation;
++
++      // Scroll the page by an increment, and check if it's time to stop
++      var animateScroll = function() {
++        window.scrollBy(0, increments);
++        stopAnimation();
++      };
++
++      // If scrolling down
++      if (increments >= 0) {
++        // Stop animation when you reach the anchor OR the bottom of the page
++        stopAnimation = function() {
++          var travelled = window.pageYOffset;
++          if ((travelled >= (endLocation - increments)) || ((window.innerHeight + travelled) >= document.body.offsetHeight)) {
++            clearInterval(runAnimation);
++          }
++        };
++      }
++      // If scrolling up
++      else {
++        // Stop animation when you reach the anchor OR the top of the page
++        stopAnimation = function() {
++          var travelled = window.pageYOffset;
++          if (travelled <= (endLocation || 0)) {
++            clearInterval(runAnimation);
++          }
++        };
++      }
++
++      // Loop the animation function
++      var runAnimation = setInterval(animateScroll, 16);
++
++    };
++
++    // Define smooth scroll links
++    var scrollToggle = document.querySelectorAll('#TableOfContents ul li a');
++
++    // For each smooth scroll link
++    [].forEach.call(scrollToggle, function(toggle) {
++
++      // When the smooth scroll link is clicked
++      toggle.addEventListener('click', function(e) {
++
++        // Prevent the default link behavior
++        e.preventDefault();
++
++        // Get anchor link and calculate distance from the top
++        var dataID = toggle.getAttribute('href');
++        var dataTarget = document.querySelector(dataID);
++        var dataSpeed = toggle.getAttribute('data-speed');
++
++        // If the anchor exists
++        if (dataTarget) {
++          // Scroll to the anchor
++          smoothScroll(dataTarget, dataSpeed || 500);
++        }
++
++      }, false);
++
++    });
++
++  }
++
++})();
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a689d474efb0cee1ffb345723515035091e95de3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,43 @@@
++/**
++ * Scripts which manages Code Toggle tabs.
++ */
++var i;
++// store tabs variable
++var allTabs = document.querySelectorAll("[data-toggle-tab]");
++var allPanes = document.querySelectorAll("[data-pane]");
++
++function toggleTabs(event) {
++
++      if(event.target){
++              event.preventDefault();
++              var clickedTab = event.currentTarget;
++              var targetKey = clickedTab.getAttribute("data-toggle-tab")
++      }else {
++              var targetKey = event
++      }
++      // We store the config language selected in users' localStorage
++      if(window.localStorage){
++              window.localStorage.setItem("configLangPref", targetKey)
++      }
++      var selectedTabs = document.querySelectorAll("[data-toggle-tab='" + targetKey + "']");
++      var selectedPanes = document.querySelectorAll("[data-pane='" + targetKey + "']");
++
++      for (var i = 0; i < allTabs.length; i++) {
++              allTabs[i].classList.remove("active");
++              allPanes[i].classList.remove("active");
++      }
++
++      for (var i = 0; i < selectedTabs.length; i++) {
++              selectedTabs[i].classList.add("active");
++              selectedPanes[i].classList.add("active");
++      }
++
++}
++
++for (i = 0; i < allTabs.length; i++) {
++      allTabs[i].addEventListener("click", toggleTabs)
++}
++// Upon page load, if user has a preferred language in its localStorage, tabs are set to it.
++if(window.localStorage.getItem('configLangPref')) {
++      toggleTabs(window.localStorage.getItem('configLangPref'))
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..315ba6892d2b1a3ea959a1987b0a6fdafa374e31
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2605 @@@
++/* muli-200normal - latin */
++@font-face {
++  font-family: 'Muli';
++  font-style: normal;
++  font-display: swap;
++  font-weight: 200;
++  src:
++    local('Muli Extra Light '),
++    local('Muli-Extra Light'),
++    url(/fonts/muli-latin-200.woff2) format('woff2'), 
++    url(/fonts/muli-latin-200.woff) format('woff'); /* Modern Browsers */
++}
++/* muli-200italic - latin */
++@font-face {
++  font-family: 'Muli';
++  font-style: italic;
++  font-display: swap;
++  font-weight: 200;
++  src:
++    local('Muli Extra Light italic'),
++    local('Muli-Extra Lightitalic'),
++    url(/fonts/muli-latin-200italic.woff2) format('woff2'), 
++    url(/fonts/muli-latin-200italic.woff) format('woff'); /* Modern Browsers */
++}
++/* muli-300normal - latin */
++@font-face {
++  font-family: 'Muli';
++  font-style: normal;
++  font-display: swap;
++  font-weight: 300;
++  src:
++    local('Muli Light '),
++    local('Muli-Light'),
++    url(/fonts/muli-latin-300.woff2) format('woff2'), 
++    url(/fonts/muli-latin-300.woff) format('woff'); /* Modern Browsers */
++}
++/* muli-300italic - latin */
++@font-face {
++  font-family: 'Muli';
++  font-style: italic;
++  font-display: swap;
++  font-weight: 300;
++  src:
++    local('Muli Light italic'),
++    local('Muli-Lightitalic'),
++    url(/fonts/muli-latin-300italic.woff2) format('woff2'), 
++    url(/fonts/muli-latin-300italic.woff) format('woff'); /* Modern Browsers */
++}
++/* muli-400normal - latin */
++@font-face {
++  font-family: 'Muli';
++  font-style: normal;
++  font-display: swap;
++  font-weight: 400;
++  src:
++    local('Muli Regular '),
++    local('Muli-Regular'),
++    url(/fonts/muli-latin-400.woff2) format('woff2'), 
++    url(/fonts/muli-latin-400.woff) format('woff'); /* Modern Browsers */
++}
++/* muli-400italic - latin */
++@font-face {
++  font-family: 'Muli';
++  font-style: italic;
++  font-display: swap;
++  font-weight: 400;
++  src:
++    local('Muli Regular italic'),
++    local('Muli-Regularitalic'),
++    url(/fonts/muli-latin-400italic.woff2) format('woff2'), 
++    url(/fonts/muli-latin-400italic.woff) format('woff'); /* Modern Browsers */
++}
++/* muli-600normal - latin */
++@font-face {
++  font-family: 'Muli';
++  font-style: normal;
++  font-display: swap;
++  font-weight: 600;
++  src:
++    local('Muli SemiBold '),
++    local('Muli-SemiBold'),
++    url(/fonts/muli-latin-600.woff2) format('woff2'), 
++    url(/fonts/muli-latin-600.woff) format('woff'); /* Modern Browsers */
++}
++/* muli-600italic - latin */
++@font-face {
++  font-family: 'Muli';
++  font-style: italic;
++  font-display: swap;
++  font-weight: 600;
++  src:
++    local('Muli SemiBold italic'),
++    local('Muli-SemiBolditalic'),
++    url(/fonts/muli-latin-600italic.woff2) format('woff2'), 
++    url(/fonts/muli-latin-600italic.woff) format('woff'); /* Modern Browsers */
++}
++/* muli-700normal - latin */
++@font-face {
++  font-family: 'Muli';
++  font-style: normal;
++  font-display: swap;
++  font-weight: 700;
++  src:
++    local('Muli Bold '),
++    local('Muli-Bold'),
++    url(/fonts/muli-latin-700.woff2) format('woff2'), 
++    url(/fonts/muli-latin-700.woff) format('woff'); /* Modern Browsers */
++}
++/* muli-700italic - latin */
++@font-face {
++  font-family: 'Muli';
++  font-style: italic;
++  font-display: swap;
++  font-weight: 700;
++  src:
++    local('Muli Bold italic'),
++    local('Muli-Bolditalic'),
++    url(/fonts/muli-latin-700italic.woff2) format('woff2'), 
++    url(/fonts/muli-latin-700italic.woff) format('woff'); /* Modern Browsers */
++}
++/* muli-800normal - latin */
++@font-face {
++  font-family: 'Muli';
++  font-style: normal;
++  font-display: swap;
++  font-weight: 800;
++  src:
++    local('Muli ExtraBold '),
++    local('Muli-ExtraBold'),
++    url(/fonts/muli-latin-800.woff2) format('woff2'), 
++    url(/fonts/muli-latin-800.woff) format('woff'); /* Modern Browsers */
++}
++/* muli-800italic - latin */
++@font-face {
++  font-family: 'Muli';
++  font-style: italic;
++  font-display: swap;
++  font-weight: 800;
++  src:
++    local('Muli ExtraBold italic'),
++    local('Muli-ExtraBolditalic'),
++    url(/fonts/muli-latin-800italic.woff2) format('woff2'), 
++    url(/fonts/muli-latin-800italic.woff) format('woff'); /* Modern Browsers */
++}
++/* muli-900normal - latin */
++@font-face {
++  font-family: 'Muli';
++  font-style: normal;
++  font-display: swap;
++  font-weight: 900;
++  src:
++    local('Muli Black '),
++    local('Muli-Black'),
++    url(/fonts/muli-latin-900.woff2) format('woff2'), 
++    url(/fonts/muli-latin-900.woff) format('woff'); /* Modern Browsers */
++}
++/* muli-900italic - latin */
++@font-face {
++  font-family: 'Muli';
++  font-style: italic;
++  font-display: swap;
++  font-weight: 900;
++  src:
++    local('Muli Black italic'),
++    local('Muli-Blackitalic'),
++    url(/fonts/muli-latin-900italic.woff2) format('woff2'), 
++    url(/fonts/muli-latin-900italic.woff) format('woff'); /* Modern Browsers */
++}
++
++
++/*Base Styles*/
++/*! TACHYONS v4.7.0 | http://tachyons.io */
++/*
++ * NOTE: The Tachyons folder is for backup/reference only. This file references the module
++ *      ________            ______
++ *      ___  __/_____ _________  /______  ______________________
++ *      __  /  _  __ `/  ___/_  __ \_  / / /  __ \_  __ \_  ___/
++ *      _  /   / /_/ // /__ _  / / /  /_/ // /_/ /  / / /(__  )
++ *      /_/    \__,_/ \___/ /_/ /_/_\__, / \____//_/ /_//____/
++ *                                 /____/
++ *
++ *    TABLE OF CONTENTS
++ *
++ *    1. External Library Includes
++ *       - Normalize.css | http://normalize.css.github.io
++ *    2. Tachyons Modules
++ *    3. Variables
++ *       - Media Queries
++ *       - Colors
++ *    4. Debugging
++ *       - Debug all
++ *       - Debug children
++ *
++ */
++/* External Library Includes */
++/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
++/* Document
++   ========================================================================== */
++/**
++ * 1. Correct the line height in all browsers.
++ * 2. Prevent adjustments of font size after orientation changes in iOS.
++ */
++html {
++  line-height: 1.15; /* 1 */
++  -webkit-text-size-adjust: 100%; /* 2 */
++}
++/* Sections
++   ========================================================================== */
++/**
++ * Remove the margin in all browsers.
++ */
++body {
++  margin: 0;
++}
++/**
++ * Correct the font size and margin on `h1` elements within `section` and
++ * `article` contexts in Chrome, Firefox, and Safari.
++ */
++h1 {
++  font-size: 2em;
++  margin: 0.67em 0;
++}
++/* Grouping content
++   ========================================================================== */
++/**
++ * 1. Add the correct box sizing in Firefox.
++ * 2. Show the overflow in Edge and IE.
++ */
++hr {
++  -webkit-box-sizing: content-box;
++          box-sizing: content-box; /* 1 */
++  height: 0; /* 1 */
++  overflow: visible; /* 2 */
++}
++/**
++ * 1. Correct the inheritance and scaling of font size in all browsers.
++ * 2. Correct the odd `em` font sizing in all browsers.
++ */
++pre {
++  font-family: monospace, monospace; /* 1 */
++  font-size: 1em; /* 2 */
++}
++/* Text-level semantics
++   ========================================================================== */
++/**
++ * Remove the gray background on active links in IE 10.
++ */
++a {
++  background-color: transparent;
++}
++/**
++ * 1. Remove the bottom border in Chrome 57-
++ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
++ */
++/**
++ * Add the correct font weight in Chrome, Edge, and Safari.
++ */
++b,
++strong {
++  font-weight: bolder;
++}
++/**
++ * 1. Correct the inheritance and scaling of font size in all browsers.
++ * 2. Correct the odd `em` font sizing in all browsers.
++ */
++code {
++  font-family: monospace, monospace; /* 1 */
++  font-size: 1em; /* 2 */
++}
++/**
++ * Add the correct font size in all browsers.
++ */
++small {
++  font-size: 80%;
++}
++/**
++ * Prevent `sub` and `sup` elements from affecting the line height in
++ * all browsers.
++ */
++/* Embedded content
++   ========================================================================== */
++/**
++ * Remove the border on images inside links in IE 10.
++ */
++img {
++  border-style: none;
++}
++/* Forms
++   ========================================================================== */
++/**
++ * 1. Change the font styles in all browsers.
++ * 2. Remove the margin in Firefox and Safari.
++ */
++button,
++input {
++  font-family: inherit; /* 1 */
++  font-size: 100%; /* 1 */
++  line-height: 1.15; /* 1 */
++  margin: 0; /* 2 */
++}
++/**
++ * Show the overflow in IE.
++ * 1. Show the overflow in Edge.
++ */
++button,
++input { /* 1 */
++  overflow: visible;
++}
++/**
++ * Remove the inheritance of text transform in Edge, Firefox, and IE.
++ * 1. Remove the inheritance of text transform in Firefox.
++ */
++button { /* 1 */
++  text-transform: none;
++}
++/**
++ * Correct the inability to style clickable types in iOS and Safari.
++ */
++button,
++[type="button"],
++[type="reset"],
++[type="submit"] {
++  -webkit-appearance: button;
++}
++/**
++ * Remove the inner border and padding in Firefox.
++ */
++button::-moz-focus-inner,
++[type="button"]::-moz-focus-inner,
++[type="reset"]::-moz-focus-inner,
++[type="submit"]::-moz-focus-inner {
++  border-style: none;
++  padding: 0;
++}
++/**
++ * Restore the focus styles unset by the previous rule.
++ */
++button:-moz-focusring,
++[type="button"]:-moz-focusring,
++[type="reset"]:-moz-focusring,
++[type="submit"]:-moz-focusring {
++  outline: 1px dotted ButtonText;
++}
++/**
++ * Correct the padding in Firefox.
++ */
++fieldset {
++  padding: 0.35em 0.75em 0.625em;
++}
++/**
++ * 1. Correct the text wrapping in Edge and IE.
++ * 2. Correct the color inheritance from `fieldset` elements in IE.
++ * 3. Remove the padding so developers are not caught out when they zero out
++ *    `fieldset` elements in all browsers.
++ */
++legend {
++  -webkit-box-sizing: border-box;
++          box-sizing: border-box; /* 1 */
++  color: inherit; /* 2 */
++  display: table; /* 1 */
++  max-width: 100%; /* 1 */
++  padding: 0; /* 3 */
++  white-space: normal; /* 1 */
++}
++/**
++ * Add the correct vertical alignment in Chrome, Firefox, and Opera.
++ */
++/**
++ * Remove the default vertical scrollbar in IE 10+.
++ */
++/**
++ * 1. Add the correct box sizing in IE 10.
++ * 2. Remove the padding in IE 10.
++ */
++[type="checkbox"],
++[type="radio"] {
++  -webkit-box-sizing: border-box;
++          box-sizing: border-box; /* 1 */
++  padding: 0; /* 2 */
++}
++/**
++ * Correct the cursor style of increment and decrement buttons in Chrome.
++ */
++[type="number"]::-webkit-inner-spin-button,
++[type="number"]::-webkit-outer-spin-button {
++  height: auto;
++}
++/**
++ * 1. Correct the odd appearance in Chrome and Safari.
++ * 2. Correct the outline style in Safari.
++ */
++[type="search"] {
++  -webkit-appearance: textfield; /* 1 */
++  outline-offset: -2px; /* 2 */
++}
++/**
++ * Remove the inner padding in Chrome and Safari on macOS.
++ */
++[type="search"]::-webkit-search-decoration {
++  -webkit-appearance: none;
++}
++/**
++ * 1. Correct the inability to style clickable types in iOS and Safari.
++ * 2. Change font properties to `inherit` in Safari.
++ */
++::-webkit-file-upload-button {
++  -webkit-appearance: button; /* 1 */
++  font: inherit; /* 2 */
++}
++/* Interactive
++   ========================================================================== */
++/*
++ * Add the correct display in Edge, IE 10+, and Firefox.
++ */
++details {
++  display: block;
++}
++/*
++ * Add the correct display in all browsers.
++ */
++/* Misc
++   ========================================================================== */
++/**
++ * Add the correct display in IE 10+.
++ */
++template {
++  display: none;
++}
++/**
++ * Add the correct display in IE 10.
++ */
++[hidden] {
++  display: none;
++}
++/* Modules */
++/*
++ 
++  BOX SIZING
++
++*/
++html,
++body,
++div,
++article,
++aside,
++section,
++main,
++nav,
++footer,
++header,
++form,
++fieldset,
++legend,
++pre,
++code,
++a,
++h1,h2,h3,h4,h5,h6,
++p,
++ul,
++li,
++blockquote,
++figcaption,
++table, 
++td,
++th,
++tr,
++input[type="email"],
++input[type="number"],
++input[type="password"],
++input[type="tel"],
++input[type="text"],
++input[type="url"] {
++  -webkit-box-sizing: border-box;
++          box-sizing: border-box;
++}
++/*@import 'tachyons/src/_aspect-ratios';*/
++/*
++
++   IMAGES
++   Docs: http://tachyons.io/docs/elements/images/
++
++*/
++/* Responsive images! */
++img { max-width: 100%; }
++/*
++
++   BACKGROUND SIZE
++   Docs: http://tachyons.io/docs/themes/background-size/
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++/*
++  Often used in combination with background image set as an inline style
++  on an html element.
++*/
++.cover { background-size: cover!important; }
++/*
++
++    BACKGROUND POSITION
++
++    Base:
++    bg = background
++
++    Modifiers:
++    -center = center center
++    -top = top center
++    -right = center right
++    -bottom = bottom center
++    -left = center left
++
++    Media Query Extensions:
++      -ns = not-small
++      -m  = medium
++      -l  = large
++
++ */
++/*@import 'tachyons/src/_outlines';*/
++/*
++
++    BORDERS
++    Docs: http://tachyons.io/docs/themes/borders/
++
++    Base:
++      b = border
++
++    Modifiers:
++      a = all
++      t = top
++      r = right
++      b = bottom
++      l = left
++      n = none
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++.ba { border-style: solid; border-width: 1px; }
++.bt { border-top-style: solid; border-top-width: 1px; }
++.br { border-right-style: solid; border-right-width: 1px; }
++.bb { border-bottom-style: solid; border-bottom-width: 1px; }
++.bl { border-left-style: solid; border-left-width: 1px; }
++.bn { border-style: none; border-width: 0; }
++@media screen and (min-width: 60em) {
++  .bl-l { border-left-style: solid; border-left-width: 1px; }
++}
++/*
++
++   BORDER COLORS
++   Docs: http://tachyons.io/docs/themes/borders/
++
++   Border colors can be used to extend the base
++   border classes ba,bt,bb,br,bl found in the _borders.css file.
++
++   The base border class by default will set the color of the border
++   to that of the current text color. These classes are for the cases
++   where you desire for the text and border colors to be different.
++
++   Base:
++     b = border
++
++   Modifiers:
++   --color-name = each color variable name is also a border color name
++
++*/
++.b--dark-gray {    border-color: #333; }
++.b--mid-gray {     border-color: #555; }
++.b--moon-gray {    border-color: #ccc; }
++.b--light-gray {   border-color: #eee; }
++.b--white-40 {   border-color: rgba(255, 255, 255, .4); }
++.b--black-10 {   border-color: rgba(0, 0, 0, .1); }
++.b--blue { border-color: #0594CB; }
++/*
++
++   BORDER RADIUS
++   Docs: http://tachyons.io/docs/themes/border-radius/
++
++   Base:
++     br   = border-radius
++
++   Modifiers:
++     0    = 0/none
++     1    = 1st step in scale
++     2    = 2nd step in scale
++     3    = 3rd step in scale
++     4    = 4th step in scale
++
++   Literal values:
++     -100 = 100%
++     -pill = 9999px
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++.br1 {        border-radius: .125rem; }
++.br2 {        border-radius: .25rem; }
++.br3 {        border-radius: .5rem; }
++.br-100 {     border-radius: 100%; }
++/*
++
++   BORDER STYLES
++   Docs: http://tachyons.io/docs/themes/borders/
++
++   Depends on base border module in _borders.css
++
++   Base:
++     b = border-style
++
++   Modifiers:
++     --none   = none
++     --dotted = dotted
++     --dashed = dashed
++     --solid  = solid
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++ */
++/*
++
++   BORDER WIDTHS
++   Docs: http://tachyons.io/docs/themes/borders/
++
++   Base:
++     bw = border-width
++
++   Modifiers:
++     0 = 0 width border
++     1 = 1st step in border-width scale
++     2 = 2nd step in border-width scale
++     3 = 3rd step in border-width scale
++     4 = 4th step in border-width scale
++     5 = 5th step in border-width scale
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++.bw1 { border-width: .125rem; }
++/* Resets */
++/*
++
++  BOX-SHADOW
++  Docs: http://tachyons.io/docs/themes/box-shadow/
++
++  Media Query Extensions:
++   -ns = not-small
++   -m  = medium
++   -l  = large
++
++ */
++.shadow-2 { -webkit-box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, .2); box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, .2); }
++.shadow-5 { -webkit-box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, .2); box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, .2); }
++/*@import 'tachyons/src/_code';*/
++/*
++
++   COORDINATES
++   Docs: http://tachyons.io/docs/layout/position/
++
++   Use in combination with the position module.
++
++   Base:
++     top
++     bottom
++     right
++     left
++
++   Modifiers:
++     -0  = literal value 0
++     -1  = literal value 1
++     -2  = literal value 2
++     --1 = literal value -1
++     --2 = literal value -2
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++.top-0    { top:    0; }
++.right-0  { right:  0; }
++.bottom-0 { bottom: 0; }
++.left-0   { left:   0; }
++/*
++
++   CLEARFIX
++   http://tachyons.io/docs/layout/clearfix/
++
++*/
++/* Nicolas Gallaghers Clearfix solution
++   Ref: http://nicolasgallagher.com/micro-clearfix-hack/ */
++.cf:before,
++.cf:after { content: " "; display: table; }
++.cf:after { clear: both; }
++.cf {       *zoom: 1; }
++/*
++
++   DISPLAY
++   Docs: http://tachyons.io/docs/layout/display
++
++   Base:
++    d = display
++
++   Modifiers:
++    n     = none
++    b     = block
++    ib    = inline-block
++    it    = inline-table
++    t     = table
++    tc    = table-cell
++    t-row          = table-row
++    t-columm       = table-column
++    t-column-group = table-column-group
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++.dn {              display: none; }
++.db {              display: block; }
++.dib {             display: inline-block; }
++/*
++  This will set table to full width and then
++  all cells will be equal width
++*/
++@media screen and (min-width: 30em) {
++  .dib-ns {             display: inline-block; }
++}
++@media screen and (min-width: 60em) {
++  .dn-l {              display: none; }
++  .db-l {              display: block; }
++  .dib-l {             display: inline-block; }
++}
++/*
++
++  FLEXBOX
++
++  Media Query Extensions:
++   -ns = not-small
++   -m  = medium
++   -l  = large
++
++*/
++.flex { display: -webkit-box; display: -ms-flexbox; display: flex; }
++/* 1. Fix for Chrome 44 bug.
++ * https://code.google.com/p/chromium/issues/detail?id=506893 */
++.flex-auto {
++  -webkit-box-flex: 1;
++      -ms-flex: 1 1 auto;
++          flex: 1 1 auto;
++  min-width: 0; /* 1 */
++  min-height: 0; /* 1 */
++}
++.flex-none { -webkit-box-flex: 0; -ms-flex: none; flex: none; }
++.flex-column  { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
++.flex-wrap    { -ms-flex-wrap: wrap; flex-wrap: wrap; }
++.flex-nowrap    { -ms-flex-wrap: nowrap; flex-wrap: nowrap; }
++.items-center   { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
++.items-stretch  { -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
++.justify-start   { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
++.justify-end     { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
++.justify-center  { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
++.justify-between { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
++.order-0 { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; }
++.order-1 { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
++.order-2 { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
++@media screen and (min-width: 30em) {
++  .flex-ns { display: -webkit-box; display: -ms-flexbox; display: flex; }
++  .flex-auto-ns {
++    -webkit-box-flex: 1;
++        -ms-flex: 1 1 auto;
++            flex: 1 1 auto;
++    min-width: 0; /* 1 */
++    min-height: 0; /* 1 */
++  }
++}
++@media screen and (min-width: 60em) {
++  .flex-l { display: -webkit-box; display: -ms-flexbox; display: flex; }
++
++  .order-0-l { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; }
++  .order-1-l { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
++}
++/*
++
++   FLOATS
++   http://tachyons.io/docs/layout/floats/
++
++   1. Floated elements are automatically rendered as block level elements.
++      Setting floats to display inline will fix the double margin bug in
++      ie6. You know... just in case.
++
++   2. Don't forget to clearfix your floats with .cf
++
++   Base:
++     f = float
++
++   Modifiers:
++     l = left
++     r = right
++     n = none
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++.fn { float: none; }
++/*@import 'tachyons/src/_font-family';*/
++/*
++
++   FONT STYLE
++   Docs: http://tachyons.io/docs/typography/font-style/
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++.i         { font-style: italic; }
++/*
++
++   FONT WEIGHT
++   Docs: http://tachyons.io/docs/typography/font-weight/
++
++   Base
++     fw = font-weight
++
++   Modifiers:
++     1 = literal value 100
++     2 = literal value 200
++     3 = literal value 300
++     4 = literal value 400
++     5 = literal value 500
++     6 = literal value 600
++     7 = literal value 700
++     8 = literal value 800
++     9 = literal value 900
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++.b      { font-weight: bold; }
++.fw2    { font-weight: 200; }
++.fw4    { font-weight: 400; }
++.fw7    { font-weight: 700; }
++.fw8    { font-weight: 800; }
++.fw9    { font-weight: 900; }
++/*
++
++   FORMS
++   
++*/
++.input-reset {
++  -webkit-appearance: none;
++  -moz-appearance: none;
++}
++
++.input-reset::-moz-focus-inner {
++  border: 0;
++  padding: 0;
++}
++/*
++
++   HEIGHTS
++   Docs: http://tachyons.io/docs/layout/heights/
++
++   Base:
++     h = height
++     min-h = min-height
++     min-vh = min-height vertical screen height
++     vh = vertical screen height
++
++   Modifiers
++     1 = 1st step in height scale
++     2 = 2nd step in height scale
++     3 = 3rd step in height scale
++     4 = 4th step in height scale
++     5 = 5th step in height scale
++
++     -25   = literal value 25%
++     -50   = literal value 50%
++     -75   = literal value 75%
++     -100  = literal value 100%
++
++     -auto = string value of auto
++     -inherit = string value of inherit
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++/* Height Scale */
++.h1 { height: 1rem; }
++.h2 { height: 2rem; }
++.h3 { height: 4rem; }
++.h4 { height: 8rem; }
++.h5 { height: 16rem; }
++/* Height Percentages - Based off of height of parent */
++.h-100 { height: 100%; }
++/* Screen Height Percentage */
++.min-vh-100 { min-height: 100vh; }
++/* String Properties */
++/*
++
++   LETTER SPACING
++   Docs: http://tachyons.io/docs/typography/tracking/
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++.tracked       { letter-spacing:  .1em; }
++/*
++
++   LINE HEIGHT / LEADING
++   Docs: http://tachyons.io/docs/typography/line-height
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++.lh-solid { line-height: 1; }
++.lh-title { line-height: 1.25; }
++.lh-copy  { line-height: 1.5; }
++/*
++
++   LINKS
++   Docs: http://tachyons.io/docs/elements/links/
++
++*/
++.link {
++  text-decoration: none;
++  -webkit-transition: color .15s ease-in;
++  transition: color .15s ease-in;
++}
++.link:link,
++.link:visited {
++  -webkit-transition: color .15s ease-in;
++  transition: color .15s ease-in;
++}
++.link:hover   {
++  -webkit-transition: color .15s ease-in;
++  transition: color .15s ease-in;
++}
++.link:active  {
++  -webkit-transition: color .15s ease-in;
++  transition: color .15s ease-in;
++}
++.link:focus   {
++  -webkit-transition: color .15s ease-in;
++  transition: color .15s ease-in;
++  outline: 1px dotted currentColor;
++}
++/*
++
++   LISTS
++   http://tachyons.io/docs/elements/lists/
++
++*/
++.list {         list-style-type: none; }
++/*
++
++   MAX WIDTHS
++   Docs: http://tachyons.io/docs/layout/max-widths/
++
++   Base:
++     mw = max-width
++
++   Modifiers
++     1 = 1st step in width scale
++     2 = 2nd step in width scale
++     3 = 3rd step in width scale
++     4 = 4th step in width scale
++     5 = 5th step in width scale
++     6 = 6st step in width scale
++     7 = 7nd step in width scale
++     8 = 8rd step in width scale
++     9 = 9th step in width scale
++
++     -100 = literal value 100%
++
++     -none  = string value none
++
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++/* Max Width Percentages */
++.mw-100  { max-width: 100%; }
++/* Max Width Scale */
++.mw3  {  max-width: 4rem; }
++.mw5  {  max-width: 16rem; }
++.mw7  {  max-width: 48rem; }
++.mw9  {  max-width: 96rem; }
++/* Max Width String Properties */
++@media screen and (min-width: 60em) {
++  .mw5-l  {  max-width: 16rem; }
++}
++/*
++
++   WIDTHS
++   Docs: http://tachyons.io/docs/layout/widths/
++
++   Base:
++     w = width
++
++   Modifiers
++     1 = 1st step in width scale
++     2 = 2nd step in width scale
++     3 = 3rd step in width scale
++     4 = 4th step in width scale
++     5 = 5th step in width scale
++
++     -10  = literal value 10%
++     -20  = literal value 20%
++     -25  = literal value 25%
++     -30  = literal value 30%
++     -33  = literal value 33%
++     -34  = literal value 34%
++     -40  = literal value 40%
++     -50  = literal value 50%
++     -60  = literal value 60%
++     -70  = literal value 70%
++     -75  = literal value 75%
++     -80  = literal value 80%
++     -90  = literal value 90%
++     -100 = literal value 100%
++
++     -third      = 100% / 3 (Not supported in opera mini or IE8)
++     -two-thirds = 100% / 1.5 (Not supported in opera mini or IE8)
++     -auto       = string value auto
++
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++/* Width Scale */
++.w3 {    width: 4rem; }
++.w4 {    width: 8rem; }
++.w5 {    width: 16rem; }
++.w-20 {  width:  20%; }
++.w-70 {  width:  70%; }
++.w-80 {  width:  80%; }
++.w-90 {  width:  90%; }
++.w-100 { width: 100%; }
++.w-auto { width: auto; }
++@media screen and (min-width: 30em) {
++  .w4-ns {  width: 8rem; }
++  .w-20-ns { width:  20%; }
++  .w-50-ns { width:  50%; }
++  .w-70-ns { width:  70%; }
++  .w-80-ns { width:  80%; }
++  .w-90-ns { width:  90%; }
++}
++@media screen and (min-width: 30em) and (max-width: 60em) {
++  .w-50-m { width:  50%; }
++}
++@media screen and (min-width: 60em) {
++  .w-10-l {    width:  10%; }
++  .w-20-l {    width:  20%; }
++  .w-25-l {    width:  25%; }
++  .w-30-l {    width:  30%; }
++  .w-40-l {    width:  40%; }
++  .w-50-l {    width:  50%; }
++  .w-60-l {    width:  60%; }
++  .w-80-l {    width:  80%; }
++  .w-90-l {    width:  90%; }
++  .w-third-l { width: 33.33333%; }
++}
++/*
++
++    OVERFLOW
++
++    Media Query Extensions:
++      -ns = not-small
++      -m  = medium
++      -l  = large
++
++ */
++.overflow-hidden { overflow: hidden; }
++.overflow-x-scroll { overflow-x: scroll; }
++/*
++
++   POSITIONING
++   Docs: http://tachyons.io/docs/layout/position/
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++.static { position: static; }
++.relative  { position: relative; }
++.absolute  { position: absolute; }
++.fixed  { position: fixed; }
++@media screen and (min-width: 60em) {
++  .absolute-l  { position: absolute; }
++}
++/*
++
++    OPACITY
++    Docs: http://tachyons.io/docs/themes/opacity/
++
++*/
++.o-100 { opacity: 1;    }
++.o-80  { opacity: .8;   }
++.o-50  { opacity: .5;   }
++.o-10  { opacity: .1;   }
++.o-0   { opacity: 0; }
++/*@import 'tachyons/src/_rotations';*/
++/*
++
++   SKINS
++   Docs: http://tachyons.io/docs/themes/skins/
++
++   Classes for setting foreground and background colors on elements.
++   If you haven't declared a border color, but set border on an element, it will 
++   be set to the current text color. 
++
++*/
++/* Text colors */
++.black-70 {         color: rgba(0, 0, 0, .7); }
++.black-60 {         color: rgba(0, 0, 0, .6); }
++.white-90 {         color: rgba(255, 255, 255, .9); }
++.black {         color: #000; }
++.near-black {    color: #111; }
++.dark-gray {     color: #333; }
++.mid-gray {      color: #555; }
++.gray {          color: #777; }
++.silver  {       color: #999; }
++.light-silver {  color: #aaa; }
++.moon-gray {     color: #ccc; }
++.light-gray {    color: #eee; }
++.white {         color: #fff; }
++.light-green { color: #9eebcf; }
++.blue { color: #0594CB; }
++/* Background colors */
++.bg-black {         background-color: #000; }
++.bg-light-gray {    background-color: #eee; }
++.bg-near-white {    background-color: #f4f4f4; }
++.bg-white {         background-color: #fff; }
++.bg-blue { background-color: #0594CB; }
++/* 
++  
++   SKINS:PSEUDO
++
++   Customize the color of an element when
++   it is focused or hovered over.
++ 
++ */
++.hover-black:hover, 
++.hover-black:focus { color: #000; }
++.hover-white:hover, 
++.hover-white:focus { color: #fff; }
++.hover-bg-black:hover, 
++.hover-bg-black:focus { background-color: #000; }
++.hover-bg-gray:hover, 
++.hover-bg-gray:focus { background-color: #777; }
++.hover-bg-light-gray:hover, 
++.hover-bg-light-gray:focus { background-color: #eee; }
++.hover-bg-near-white:hover, 
++.hover-bg-near-white:focus { background-color: #f4f4f4; }
++.hover-blue:hover,
++.hover-blue:focus { color: #0594CB; }
++.hover-bg-green:hover,
++.hover-bg-green:focus { background-color: #19a974; }
++/* Variables */
++/*
++   SPACING
++   Docs: http://tachyons.io/docs/layout/spacing/
++
++   An eight step powers of two scale ranging from 0 to 16rem.
++
++   Base:
++     p = padding
++     m = margin
++
++   Modifiers:
++     a = all
++     h = horizontal
++     v = vertical
++     t = top
++     r = right
++     b = bottom
++     l = left
++
++     0 = none
++     1 = 1st step in spacing scale
++     2 = 2nd step in spacing scale
++     3 = 3rd step in spacing scale
++     4 = 4th step in spacing scale
++     5 = 5th step in spacing scale
++     6 = 6th step in spacing scale
++     7 = 7th step in spacing scale
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++.pa0 { padding: 0; }
++.pa1 { padding: .25rem; }
++.pa2 { padding: .5rem; }
++.pa3 { padding: 1rem; }
++.pa4 { padding: 2rem; }
++.pa5 { padding: 4rem; }
++.pl0 { padding-left: 0; }
++.pl1 { padding-left: .25rem; }
++.pl2 { padding-left: .5rem; }
++.pl3 { padding-left: 1rem; }
++.pl4 { padding-left: 2rem; }
++.pr1 { padding-right: .25rem; }
++.pr2 { padding-right: .5rem; }
++.pr3 { padding-right: 1rem; }
++.pb1 { padding-bottom: .25rem; }
++.pb2 { padding-bottom: .5rem; }
++.pb3 { padding-bottom: 1rem; }
++.pb4 { padding-bottom: 2rem; }
++.pb5 { padding-bottom: 4rem; }
++.pb7 { padding-bottom: 16rem; }
++.pt1 { padding-top: .25rem; }
++.pt2 { padding-top: .5rem; }
++.pt3 { padding-top: 1rem; }
++.pt4 { padding-top: 2rem; }
++.pt5 { padding-top: 4rem; }
++.pv1 {
++  padding-top: .25rem;
++  padding-bottom: .25rem;
++}
++.pv2 {
++  padding-top: .5rem;
++  padding-bottom: .5rem;
++}
++.pv3 {
++  padding-top: 1rem;
++  padding-bottom: 1rem;
++}
++.pv4 {
++  padding-top: 2rem;
++  padding-bottom: 2rem;
++}
++.ph0 {
++  padding-left: 0;
++  padding-right: 0;
++}
++.ph1 {
++  padding-left: .25rem;
++  padding-right: .25rem;
++}
++.ph2 {
++  padding-left: .5rem;
++  padding-right: .5rem;
++}
++.ph3 {
++  padding-left: 1rem;
++  padding-right: 1rem;
++}
++.ph4 {
++  padding-left: 2rem;
++  padding-right: 2rem;
++}
++.ph5 {
++  padding-left: 4rem;
++  padding-right: 4rem;
++}
++.ma0  {  margin: 0; }
++.ma2  {  margin: .5rem; }
++.ml0  {  margin-left: 0; }
++.ml1 {  margin-left: .25rem; }
++.ml4  {  margin-left: 2rem; }
++.ml6 {  margin-left: 8rem; }
++.mr0  {  margin-right: 0; }
++.mr2  {  margin-right: .5rem; }
++.mr3  {  margin-right: 1rem; }
++.mr4  {  margin-right: 2rem; }
++.mr5  {  margin-right: 4rem; }
++.mb0  {  margin-bottom: 0; }
++.mb1 {  margin-bottom: .25rem; }
++.mb2  {  margin-bottom: .5rem; }
++.mb3  {  margin-bottom: 1rem; }
++.mb4  {  margin-bottom: 2rem; }
++.mb5  {  margin-bottom: 4rem; }
++.mb7 { margin-bottom: 16rem; }
++.mt0  {  margin-top: 0; }
++.mt1 {  margin-top: .25rem; }
++.mt2  {  margin-top: .5rem; }
++.mt3  {  margin-top: 1rem; }
++.mt4  {  margin-top: 2rem; }
++.mt5  {  margin-top: 4rem; }
++.mv0   {
++  margin-top: 0;
++  margin-bottom: 0;
++}
++.mv1  {
++  margin-top: .25rem;
++  margin-bottom: .25rem;
++}
++.mv2   {
++  margin-top: .5rem;
++  margin-bottom: .5rem;
++}
++.mv3   {
++  margin-top: 1rem;
++  margin-bottom: 1rem;
++}
++.mv4   {
++  margin-top: 2rem;
++  margin-bottom: 2rem;
++}
++.mv6  {
++  margin-top: 8rem;
++  margin-bottom: 8rem;
++}
++@media screen and (min-width: 30em) {
++  .pa4-ns  {  padding: 2rem; }
++  .pl4-ns  {  padding-left: 2rem; }
++
++  .pb0-ns  {  padding-bottom: 0; }
++  .pb6-ns {  padding-bottom: 8rem; }
++  .pt3-ns  {  padding-top: 1rem; }
++  .pt5-ns  {  padding-top: 4rem; }
++
++  .pv0-ns {
++    padding-top: 0;
++    padding-bottom: 0;
++  }
++  .pv4-ns {
++    padding-top: 2rem;
++    padding-bottom: 2rem;
++  }
++  .pv5-ns {
++    padding-top: 4rem;
++    padding-bottom: 4rem;
++  }
++  .pv6-ns {
++    padding-top: 8rem;
++    padding-bottom: 8rem;
++  }
++  .ph4-ns {
++    padding-left: 2rem;
++    padding-right: 2rem;
++  }
++  .ph5-ns {
++    padding-left: 4rem;
++    padding-right: 4rem;
++  }
++
++  .ml0-ns  {  margin-left: 0; }
++
++  .mb0-ns  {  margin-bottom: 0; }
++
++  .mt0-ns  {  margin-top: 0; }
++  .mt4-ns  {  margin-top: 2rem; }
++
++}
++@media screen and (min-width: 30em) and (max-width: 60em) {
++  .pa4-m  {  padding: 2rem; }
++  .ph5-m {
++    padding-left: 4rem;
++    padding-right: 4rem;
++  }
++
++}
++@media screen and (min-width: 60em) {
++  .pa4-l  {  padding: 2rem; }
++  .pl5-l  {  padding-left: 4rem; }
++  .pb5-l  {  padding-bottom: 4rem; }
++
++  .pt0-l  {  padding-top: 0; }
++  .pv4-l {
++    padding-top: 2rem;
++    padding-bottom: 2rem;
++  }
++  .pv5-l {
++    padding-top: 4rem;
++    padding-bottom: 4rem;
++  }
++
++  .ph0-l {
++    padding-left: 0;
++    padding-right: 0;
++  }
++  .ph4-l {
++    padding-left: 2rem;
++    padding-right: 2rem;
++  }
++  .ph5-l {
++    padding-left: 4rem;
++    padding-right: 4rem;
++  }
++  .mr4-l  {  margin-right: 2rem; }
++
++  .mb0-l  {  margin-bottom: 0; }
++
++  .mt0-l  {  margin-top: 0; }
++  .mt2-l  {  margin-top: .5rem; }
++}
++/*
++   NEGATIVE MARGINS
++
++   Base:
++     n = negative
++
++   Modifiers:
++     a = all
++     t = top
++     r = right
++     b = bottom
++     l = left
++
++     1 = 1st step in spacing scale
++     2 = 2nd step in spacing scale
++     3 = 3rd step in spacing scale
++     4 = 4th step in spacing scale
++     5 = 5th step in spacing scale
++     6 = 6th step in spacing scale
++     7 = 7th step in spacing scale
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++.nl2 { margin-left: -0.5rem; }
++.nl3 { margin-left: -1rem; }
++.nt3 { margin-top: -1rem; }
++/*
++
++  TABLES
++  Docs: http://tachyons.io/docs/elements/tables/
++
++*/
++/*
++
++   TEXT DECORATION
++   Docs: http://tachyons.io/docs/typography/text-decoration/
++
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++.no-underline { text-decoration: none; }
++/*
++
++  TEXT ALIGN
++  Docs: http://tachyons.io/docs/typography/text-align/
++
++  Base
++    t = text-align
++
++  Modifiers
++    l = left
++    r = right
++    c = center
++    j = justify
++
++  Media Query Extensions:
++    -ns = not-small
++    -m  = medium
++    -l  = large
++
++*/
++.tl  { text-align: left; }
++.tr  { text-align: right; }
++.tc  { text-align: center; }
++@media screen and (min-width: 30em) {
++  .tl-ns  { text-align: left; }
++  .tr-ns  { text-align: right; }
++  .tc-ns  { text-align: center; }
++}
++@media screen and (min-width: 60em) {
++  .tl-l  { text-align: left; }
++}
++/*
++
++   TEXT TRANSFORM
++   Docs: http://tachyons.io/docs/typography/text-transform/
++
++   Base:
++     tt = text-transform
++
++   Modifiers
++     c = capitalize
++     l = lowercase
++     u = uppercase
++     n = none
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++.ttu { text-transform: uppercase; }
++/*
++
++   TYPE SCALE
++   Docs: http://tachyons.io/docs/typography/scale/
++
++   Base:
++    f = font-size
++
++   Modifiers
++     1 = 1st step in size scale
++     2 = 2nd step in size scale
++     3 = 3rd step in size scale
++     4 = 4th step in size scale
++     5 = 5th step in size scale
++     6 = 6th step in size scale
++     7 = 7th step in size scale
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++*/
++/*
++ * For Hero/Marketing Titles
++ *
++ * These generally are too large for mobile
++ * so be careful using them on smaller screens.
++ * */
++/* Type Scale */
++.f1 { font-size: 3rem; }
++.f2 { font-size: 2.25rem; }
++.f3 { font-size: 1.5rem; }
++.f4 { font-size: 1.25rem; }
++.f5 { font-size: 1rem; }
++.f6 { font-size: .875rem; }
++.f7 { font-size: .75rem; }
++/* Small and hard to read for many people so use with extreme caution */
++@media screen and (min-width: 30em){
++  .f2-ns { font-size: 2.25rem; }
++  .f3-ns { font-size: 1.5rem; }
++  .f5-ns { font-size: 1rem; }
++}
++@media screen and (min-width: 60em) {
++  .f1-l { font-size: 3rem; }
++  .f4-l { font-size: 1.25rem; }
++}
++/*
++
++   TYPOGRAPHY
++   http://tachyons.io/docs/typography/measure/
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++/* Measure is limited to ~66 characters */
++.measure {
++  max-width: 30em;
++}
++/* Measure is limited to ~80 characters */
++.measure-wide {
++  max-width: 34em;
++}
++/* Measure is limited to ~45 characters */
++/* Book paragraph style - paragraphs are indented with no vertical spacing. */
++/* Combine this class with a width to truncate text (or just leave as is to truncate at width of containing element. */
++.truncate {
++  white-space: nowrap;
++  overflow: hidden;
++  text-overflow: ellipsis;
++}
++@media screen and (min-width: 60em) {
++  .measure-wide-l {
++    max-width: 34em;
++  }
++}
++/*
++
++   UTILITIES
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++/* Equivalent to .overflow-y-scroll */
++.center {
++  margin-right: auto;
++  margin-left: auto;
++}
++/*
++
++   VISIBILITY
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++/*
++    Text that is hidden but accessible
++    Ref: http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
++*/
++.clip {
++  position: fixed !important;
++  _position: absolute !important;
++  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
++  clip: rect(1px, 1px, 1px, 1px);
++}
++/*
++
++   WHITE SPACE
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++.nowrap { white-space: nowrap; }
++.pre { white-space: pre; }
++/*
++
++   VERTICAL ALIGN
++
++   Media Query Extensions:
++     -ns = not-small
++     -m  = medium
++     -l  = large
++
++*/
++.v-mid      { vertical-align: middle; }
++.v-top      { vertical-align: top; }
++/*
++
++  HOVER EFFECTS
++  Docs: http://tachyons.io/docs/themes/hovers/
++
++    - Dim
++    - Glow
++    - Hide Child
++    - Underline text
++    - Grow
++    - Pointer
++    - Shadow
++
++*/
++/*
++
++  Dim element on hover by adding the dim class.
++
++*/
++.dim {
++  opacity: 1;
++  -webkit-transition: opacity .15s ease-in;
++  transition: opacity .15s ease-in;
++}
++.dim:hover,
++.dim:focus {
++  opacity: .5;
++  -webkit-transition: opacity .15s ease-in;
++  transition: opacity .15s ease-in;
++}
++.dim:active {
++  opacity: .8; -webkit-transition: opacity .15s ease-out; transition: opacity .15s ease-out;
++}
++/*
++
++  Animate opacity to 100% on hover by adding the glow class.
++
++*/
++/*
++
++  Hide child & reveal on hover:
++
++  Put the hide-child class on a parent element and any nested element with the
++  child class will be hidden and displayed on hover or focus.
++
++  <div class="hide-child">
++    <div class="child"> Hidden until hover or focus </div>
++    <div class="child"> Hidden until hover or focus </div>
++    <div class="child"> Hidden until hover or focus </div>
++    <div class="child"> Hidden until hover or focus </div>
++  </div>
++*/
++.hide-child .child {
++  opacity: 0;
++  -webkit-transition: opacity .15s ease-in;
++  transition: opacity .15s ease-in;
++}
++.hide-child:hover  .child,
++.hide-child:focus  .child,
++.hide-child:active .child {
++  opacity: 1;
++  -webkit-transition: opacity .15s ease-in;
++  transition: opacity .15s ease-in;
++}
++/* Can combine this with overflow-hidden to make background images grow on hover
++ * even if you are using background-size: cover */
++.grow {
++  -moz-osx-font-smoothing: grayscale;
++  -webkit-backface-visibility: hidden;
++          backface-visibility: hidden;
++  -webkit-transform: translateZ(0);
++          transform: translateZ(0);
++  -webkit-transition: -webkit-transform 0.25s ease-out;
++  transition: -webkit-transform 0.25s ease-out;
++  transition: transform 0.25s ease-out;
++  transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
++}
++.grow:hover,
++.grow:focus {
++  -webkit-transform: scale(1.05);
++          transform: scale(1.05);
++}
++.grow:active {
++  -webkit-transform: scale(.90);
++          transform: scale(.90);
++}
++/* Add pointer on hover */
++/* 
++   Add shadow on hover.
++
++   Performant box-shadow animation pattern from 
++   http://tobiasahlin.com/blog/how-to-animate-box-shadow/ 
++*/
++/* Combine with classes in skins and skins-pseudo for 
++ * many different transition possibilities. */
++.bg-animate,
++.bg-animate:hover,
++.bg-animate:focus {
++  -webkit-transition: background-color .15s ease-in-out;
++  transition: background-color .15s ease-in-out; 
++}
++/*
++
++  Z-INDEX
++
++  Base
++    z = z-index
++
++  Modifiers
++    -0 = literal value 0
++    -1 = literal value 1
++    -2 = literal value 2
++    -3 = literal value 3
++    -4 = literal value 4
++    -5 = literal value 5
++    -999 = literal value 999
++    -9999 = literal value 9999
++
++    -max = largest accepted z-index value as integer
++
++    -inherit = string value inherit
++    -initial = string value initial
++    -unset = string value unset
++
++  MDN: https://developer.mozilla.org/en/docs/Web/CSS/z-index
++  Spec: http://www.w3.org/TR/CSS2/zindex.html
++  Articles:
++    https://philipwalton.com/articles/what-no-one-told-you-about-z-index/
++
++  Tips on extending:
++  There might be a time worth using negative z-index values.
++  Or if you are using tachyons with another project, you might need to
++  adjust these values to suit your needs.
++
++*/
++.z-5 { z-index: 5; }
++.z-999 { z-index: 999; }
++/*
++
++    NESTED
++    Tachyons module for styling nested elements
++    that are generated by a cms.
++
++*/
++.nested-copy-line-height p,
++.nested-copy-line-height ul {
++  line-height: 1.5;
++}
++.nested-list-reset ul {
++  padding-left: 0;
++  margin-left: 0;
++  list-style-type: none;
++}
++.nested-img img {
++  width: 100%;
++  max-width: 100%;
++  display: block;
++}
++.nested-links a {
++  color: #0594CB;
++  -webkit-transition: color .15s ease-in;
++  transition: color .15s ease-in;
++}
++.nested-links a:hover,
++.nested-links a:focus {
++  color: #96ccff;
++  -webkit-transition: color .15s ease-in;
++  transition: color .15s ease-in;
++}
++/*@import 'tachyons/src/_styles';*/
++/* Variables */
++/* Importing here will allow you to override any variables in the modules */
++/*
++
++   Tachyons
++   COLOR VARIABLES
++
++   Grayscale
++   - Solids
++   - Transparencies
++   Colors
++
++*/
++/*
++
++  CUSTOM MEDIA QUERIES
++
++  Media query values can be changed to fit your own content.
++  There are no magic bullets when it comes to media query width values.
++  They should be declared in em units - and they should be set to meet
++  the needs of your content. You can also add additional media queries,
++  or remove some of the existing ones.
++
++  These media queries can be referenced like so:
++
++  @media (--breakpoint-not-small) {
++    .medium-and-larger-specific-style {
++      background-color: red;
++    }
++  }
++
++  @media (--breakpoint-medium) {
++    .medium-screen-specific-style {
++      background-color: red;
++    }
++  }
++
++  @media (--breakpoint-large) {
++    .large-and-larger-screen-specific-style {
++      background-color: red;
++    }
++  }
++
++*/
++/* Media Queries */
++/* Debugging */
++/*@import 'tachyons/src/_debug-children';
++@import 'tachyons/src/_debug-grid';*/
++/* Uncomment out the line below to help debug layout issues */
++/* @import 'tachyons/src/_debug'; */
++/* purgecss start ignore */
++.header-link:after {
++  position: relative;
++  left: 0.5em;
++  opacity: 0;
++  font-size: 0.8em;
++  -moz-transition: opacity 0.2s ease-in-out 0.1s;
++  -ms-transition: opacity 0.2s ease-in-out 0.1s;
++}
++h2:hover .header-link,
++h3:hover .header-link,
++h4:hover .header-link,
++h5:hover .header-link,
++h6:hover .header-link {
++  opacity: 1;
++}
++.animated {
++  -webkit-animation-duration: .5s;
++          animation-duration: .5s;
++  -webkit-animation-fill-mode: forwards;
++          animation-fill-mode: forwards;
++  -webkit-animation-timing-function: ease-in-out;
++          animation-timing-function: ease-in-out;
++}
++@-webkit-keyframes fadeIn {
++  from {
++    opacity: 0;
++  }
++
++  to {
++    opacity: 1;
++  }
++}
++@keyframes fadeIn {
++  from {
++    opacity: 0;
++  }
++
++  to {
++    opacity: 1;
++  }
++}
++.fadeIn {
++  -webkit-animation-name: fadeIn;
++          animation-name: fadeIn;
++}
++.animated-delay-1 {
++  -webkit-animation-delay: 0.5s;
++          animation-delay: 0.5s;
++}
++.note,
++.warning {
++
++  border-left-width: 4px;
++  border-left-style: solid;
++  position: relative;
++  border-color: #0594CB;
++
++  display: block;
++}
++.note #exclamation-icon,
++.warning #exclamation-icon {
++
++  fill: #0594CB;
++  position: absolute;
++  top: 35%;
++  left: -12px;
++  /*background-color: white;*/
++}
++.admonition-content {
++    display: block;
++    margin: 0px;
++    padding: .125em 1em;
++    /*margin-left: 1em;*/
++    margin-top: 2em;
++    margin-bottom: 2em;
++    overflow-x: auto;
++    /*font-size: .9375em;*/
++    background-color: rgba(0, 0, 0, .05);
++  }
++.hide-child-menu .child-menu {
++    display: none;
++  }
++.hide-child-menu:hover  .child-menu,
++  .hide-child-menu:focus  .child-menu,
++  .hide-child-menu:active .child-menu {
++  display: block;
++  }
++/*documentation-copy headings exaggerate spacing and size to chunk content */
++.documentation-copy h2 {
++    margin-top: 3em
++  }
++.documentation-copy h2.minor {
++  font-size: inherit;
++  margin-top: inherit;
++  border-bottom: none;
++}
++.searchbox{display:inline-block;position:relative;width:200px;height:32px!important;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;visibility:visible!important}
++.searchbox .algolia-autocomplete{display:block;width:100%;height:100%}
++.searchbox__wrapper{width:100%;height:100%;z-index:1;position:relative}
++.searchbox__input{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:box-shadow .4s ease,background .4s ease;-webkit-transition:background .4s ease,-webkit-box-shadow .4s ease;transition:background .4s ease,-webkit-box-shadow .4s ease;transition:box-shadow .4s ease,background .4s ease;transition:box-shadow .4s ease,background .4s ease,-webkit-box-shadow .4s ease;border:0;border-radius:16px;-webkit-box-shadow:inset 0 0 0 1px #ccc;box-shadow:inset 0 0 0 1px #ccc;background:#fff!important;padding:0;padding-right:26px;padding-left:32px;width:100%;height:100%;vertical-align:middle;white-space:normal;font-size:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none}
++.searchbox__input::-webkit-search-cancel-button,.searchbox__input::-webkit-search-decoration,.searchbox__input::-webkit-search-results-button,.searchbox__input::-webkit-search-results-decoration{display:none}
++.searchbox__input:hover{-webkit-box-shadow:inset 0 0 0 1px #b3b3b3;box-shadow:inset 0 0 0 1px #b3b3b3}
++.searchbox__input:active,.searchbox__input:focus{outline:0;-webkit-box-shadow:inset 0 0 0 1px #aaa;box-shadow:inset 0 0 0 1px #aaa;background:#fff}
++.searchbox__input::-webkit-input-placeholder{color:#aaa}
++.searchbox__input:-ms-input-placeholder{color:#aaa}
++.searchbox__input::-ms-input-placeholder{color:#aaa}
++.searchbox__input::placeholder{color:#aaa}
++.searchbox__submit{position:absolute;top:0;margin:0;border:0;border-radius:16px 0 0 16px;background-color:rgba(69, 142, 225, 0);padding:0;width:32px;height:100%;vertical-align:middle;text-align:center;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;right:inherit;left:0}
++.searchbox__submit:before{display:inline-block;margin-right:-4px;height:100%;vertical-align:middle;content:""}
++.searchbox__submit:active,.searchbox__submit:hover{cursor:pointer}
++.searchbox__submit:focus{outline:0}
++.searchbox__submit svg{width:14px;height:14px;vertical-align:middle;fill:#6d7e96}
++.searchbox__reset{display:block;position:absolute;top:8px;right:8px;margin:0;border:0;background:none;cursor:pointer;padding:0;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:rgba(0, 0, 0, .5)}
++.searchbox__reset.hide{display:none}
++.searchbox__reset:focus{outline:0}
++.searchbox__reset svg{display:block;margin:4px;width:8px;height:8px}
++.searchbox__input:valid~.searchbox__reset{display:block;-webkit-animation-name:a;animation-name:a;-webkit-animation-duration:.15s;animation-duration:.15s}
++@-webkit-keyframes a{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}
++@keyframes a{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}
++.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu{right:0!important;left:inherit!important}
++.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu:before{right:48px}
++.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu{left:0!important;right:inherit!important}
++.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu:before{left:48px}
++.algolia-autocomplete .ds-dropdown-menu{top:-6px;border-radius:4px;margin:6px 0 0;padding:0;text-align:left;height:auto;position:relative;background:transparent;border:none;z-index:1;max-width:600px;min-width:500px;-webkit-box-shadow:0 1px 0 0 rgba(0, 0, 0, .2),0 2px 3px 0 rgba(0, 0, 0, .1);box-shadow:0 1px 0 0 rgba(0, 0, 0, .2),0 2px 3px 0 rgba(0, 0, 0, .1)}
++.algolia-autocomplete .ds-dropdown-menu:before{display:block;position:absolute;content:"";width:14px;height:14px;background:#fff;z-index:2;top:-7px;border-top:1px solid #d9d9d9;border-right:1px solid #d9d9d9;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);border-radius:2px}
++.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{position:relative;z-index:2;margin-top:8px}
++.algolia-autocomplete .ds-dropdown-menu .ds-suggestion{cursor:pointer}
++.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion.suggestion-layout-simple,.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion:not(.suggestion-layout-simple) .algolia-docsearch-suggestion--content{background-color:rgba(69, 142, 225, .05)}
++.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{position:relative;border:1px solid #d9d9d9;background:#fff;border-radius:4px;overflow:auto;padding:0 8px 8px}
++.algolia-autocomplete .ds-dropdown-menu *{-webkit-box-sizing:border-box;box-sizing:border-box}
++.algolia-autocomplete .algolia-docsearch-suggestion{position:relative;padding:0 8px;background:#fff;color:#02060c;overflow:hidden}
++.algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#174d8c;background:rgba(143, 187, 237, .1);padding:.1em .05em}
++.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight{color:inherit;background:inherit}
++.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{padding:0 0 1px;background:inherit;-webkit-box-shadow:inset 0 -2px 0 0 rgba(69, 142, 225, .8);box-shadow:inset 0 -2px 0 0 rgba(69, 142, 225, .8);color:inherit}
++.algolia-autocomplete .algolia-docsearch-suggestion--content{display:block;float:right;width:70%;position:relative;padding:5.33333px 0 5.33333px 10.66667px;cursor:pointer}
++.algolia-autocomplete .algolia-docsearch-suggestion--content:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;left:-1px}
++.algolia-autocomplete .algolia-docsearch-suggestion--category-header{position:relative;border-bottom:1px solid #ddd;display:none;margin-top:8px;padding:4px 0;font-size:1em;color:#33363d}
++.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{width:100%;float:left;padding:8px 0 0}
++.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{float:left;width:30%;display:none;padding-left:0;text-align:right;position:relative;padding:5.33333px 10.66667px;color:#a4a7ae;font-size:.9em;word-wrap:break-word}
++.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;right:0}
++.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column .algolia-docsearch-suggestion--highlight{background-color:inherit;color:inherit}
++.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline{display:none}
++.algolia-autocomplete .algolia-docsearch-suggestion--title{margin-bottom:4px;color:#02060c;font-size:.9em;font-weight:700}
++.algolia-autocomplete .algolia-docsearch-suggestion--text{display:block;line-height:1.2em;font-size:.85em;color:#63676d}
++.algolia-autocomplete .algolia-docsearch-suggestion--no-results{width:100%;padding:8px 0;text-align:center;font-size:1.2em}
++.algolia-autocomplete .algolia-docsearch-suggestion--no-results:before{display:none}
++.algolia-autocomplete .algolia-docsearch-suggestion code{padding:1px 5px;font-size:90%;border:none;color:#222;background-color:#ebebeb;border-radius:3px;font-family:Menlo,Monaco,Consolas,Courier New,monospace}
++.algolia-autocomplete .algolia-docsearch-suggestion code .algolia-docsearch-suggestion--highlight{background:none}
++.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header,.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary .algolia-docsearch-suggestion--subcategory-column{display:block}
++.algolia-autocomplete .suggestion-layout-simple.algolia-docsearch-suggestion{border-bottom:1px solid #eee;padding:8px;margin:0}
++.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content{width:100%;padding:0}
++.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content:before{display:none}
++.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header{margin:0;padding:0;display:block;width:100%;border:none}
++.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl0,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1{opacity:.6;font-size:.85em}
++.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1:before{background-image:url('data:image/svg+xml;utf8,<svg width="10" height="10" viewBox="0 0 20 38" xmlns="http://www.w3.org/2000/svg"><path d="M1.49 4.31l14 16.126.002-2.624-14 16.074-1.314 1.51 3.017 2.626 1.313-1.508 14-16.075 1.142-1.313-1.14-1.313-14-16.125L3.2.18.18 2.8l1.31 1.51z" fill-rule="evenodd" fill="%231D3657" /></svg>');content:"";width:10px;height:10px;display:inline-block}
++.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--wrapper{width:100%;float:left;margin:0;padding:0}
++.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--duplicate-content,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--subcategory-column,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--subcategory-inline{display:none!important}
++.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title{margin:0;color:#458ee1;font-size:.9em;font-weight:400}
++.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title:before{content:"#";font-weight:700;color:#458ee1;display:inline-block}
++.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text{margin:4px 0 0;display:block;line-height:1.4em;padding:5.33333px 8px;background:#f8f8f8;font-size:.85em;opacity:.8}
++.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{color:#3f4145;font-weight:700;-webkit-box-shadow:none;box-shadow:none}
++.algolia-autocomplete .algolia-docsearch-footer{width:110px;height:20px;z-index:3;margin-top:10.66667px;float:right;font-size:0;line-height:0}
++.algolia-autocomplete .algolia-docsearch-footer--logo{background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 130 18' xmlns='http://www.w3.org/2000/svg'><defs><linearGradient x1='-36.868%' y1='134.936%' x2='129.432%' y2='-27.7%' id='a'><stop stop-color='%2300AEFF' offset='0%'/><stop stop-color='%233369E7' offset='100%'/></linearGradient></defs><g fill='none' fill-rule='evenodd'><path d='M59.399.022h13.299a2.372 2.372 0 0 1 2.377 2.364V15.62a2.372 2.372 0 0 1-2.377 2.364H59.399a2.372 2.372 0 0 1-2.377-2.364V2.381A2.368 2.368 0 0 1 59.399.022z' fill='url(%23a)'/><path d='M66.257 4.56c-2.815 0-5.1 2.272-5.1 5.078 0 2.806 2.284 5.072 5.1 5.072 2.815 0 5.1-2.272 5.1-5.078 0-2.806-2.279-5.072-5.1-5.072zm0 8.652c-1.983 0-3.593-1.602-3.593-3.574 0-1.972 1.61-3.574 3.593-3.574 1.983 0 3.593 1.602 3.593 3.574a3.582 3.582 0 0 1-3.593 3.574zm0-6.418v2.664c0 .076.082.131.153.093l2.377-1.226c.055-.027.071-.093.044-.147a2.96 2.96 0 0 0-2.465-1.487c-.055 0-.11.044-.11.104l.001-.001zm-3.33-1.956l-.312-.311a.783.783 0 0 0-1.106 0l-.372.37a.773.773 0 0 0 0 1.101l.307.305c.049.049.121.038.164-.011.181-.245.378-.479.597-.697.225-.223.455-.42.707-.599.055-.033.06-.109.016-.158h-.001zm5.001-.806v-.616a.781.781 0 0 0-.783-.779h-1.824a.78.78 0 0 0-.783.779v.632c0 .071.066.12.137.104a5.736 5.736 0 0 1 1.588-.223c.52 0 1.035.071 1.534.207a.106.106 0 0 0 .131-.104z' fill='%23FFF'/><path d='M102.162 13.762c0 1.455-.372 2.517-1.123 3.193-.75.676-1.895 1.013-3.44 1.013-.564 0-1.736-.109-2.673-.316l.345-1.689c.783.163 1.819.207 2.361.207.86 0 1.473-.174 1.84-.523.367-.349.548-.866.548-1.553v-.349a6.374 6.374 0 0 1-.838.316 4.151 4.151 0 0 1-1.194.158 4.515 4.515 0 0 1-1.616-.278 3.385 3.385 0 0 1-1.254-.817 3.744 3.744 0 0 1-.811-1.351c-.192-.539-.29-1.504-.29-2.212 0-.665.104-1.498.307-2.054a3.925 3.925 0 0 1 .904-1.433 4.124 4.124 0 0 1 1.441-.926 5.31 5.31 0 0 1 1.945-.365c.696 0 1.337.087 1.961.191a15.86 15.86 0 0 1 1.588.332v8.456h-.001zm-5.954-4.206c0 .893.197 1.885.592 2.299.394.414.904.621 1.528.621.34 0 .663-.049.964-.142a2.75 2.75 0 0 0 .734-.332v-5.29a8.531 8.531 0 0 0-1.413-.18c-.778-.022-1.369.294-1.786.801-.411.507-.619 1.395-.619 2.223zm16.12 0c0 .719-.104 1.264-.318 1.858a4.389 4.389 0 0 1-.904 1.52c-.389.42-.854.746-1.402.975-.548.229-1.391.36-1.813.36-.422-.005-1.26-.125-1.802-.36a4.088 4.088 0 0 1-1.397-.975 4.486 4.486 0 0 1-.909-1.52 5.037 5.037 0 0 1-.329-1.858c0-.719.099-1.411.318-1.999.219-.588.526-1.09.92-1.509.394-.42.865-.741 1.402-.97a4.547 4.547 0 0 1 1.786-.338 4.69 4.69 0 0 1 1.791.338c.548.229 1.019.55 1.402.97.389.42.69.921.909 1.509.23.588.345 1.28.345 1.999h.001zm-2.191.005c0-.921-.203-1.689-.597-2.223-.394-.539-.948-.806-1.654-.806-.707 0-1.26.267-1.654.806-.394.539-.586 1.302-.586 2.223 0 .932.197 1.558.592 2.098.394.545.948.812 1.654.812.707 0 1.26-.272 1.654-.812.394-.545.592-1.166.592-2.098h-.001zm6.962 4.707c-3.511.016-3.511-2.822-3.511-3.274L113.583.926l2.142-.338v10.003c0 .256 0 1.88 1.375 1.885v1.792h-.001zm3.774 0h-2.153V5.072l2.153-.338v9.534zm-1.079-10.542c.718 0 1.304-.578 1.304-1.291 0-.714-.581-1.291-1.304-1.291-.723 0-1.304.578-1.304 1.291 0 .714.586 1.291 1.304 1.291zm6.431 1.013c.707 0 1.304.087 1.786.262.482.174.871.42 1.156.73.285.311.488.735.608 1.182.126.447.186.937.186 1.476v5.481a25.24 25.24 0 0 1-1.495.251c-.668.098-1.419.147-2.251.147a6.829 6.829 0 0 1-1.517-.158 3.213 3.213 0 0 1-1.178-.507 2.455 2.455 0 0 1-.761-.904c-.181-.37-.274-.893-.274-1.438 0-.523.104-.855.307-1.215.208-.36.487-.654.838-.883a3.609 3.609 0 0 1 1.227-.49 7.073 7.073 0 0 1 2.202-.103c.263.027.537.076.833.147v-.349c0-.245-.027-.479-.088-.697a1.486 1.486 0 0 0-.307-.583c-.148-.169-.34-.3-.581-.392a2.536 2.536 0 0 0-.915-.163c-.493 0-.942.06-1.353.131-.411.071-.75.153-1.008.245l-.257-1.749c.268-.093.668-.185 1.183-.278a9.335 9.335 0 0 1 1.66-.142l-.001-.001zm.181 7.731c.657 0 1.145-.038 1.484-.104v-2.168a5.097 5.097 0 0 0-1.978-.104c-.241.033-.46.098-.652.191a1.167 1.167 0 0 0-.466.392c-.121.169-.175.267-.175.523 0 .501.175.79.493.981.323.196.75.289 1.293.289h.001zM84.109 4.794c.707 0 1.304.087 1.786.262.482.174.871.42 1.156.73.29.316.487.735.608 1.182.126.447.186.937.186 1.476v5.481a25.24 25.24 0 0 1-1.495.251c-.668.098-1.419.147-2.251.147a6.829 6.829 0 0 1-1.517-.158 3.213 3.213 0 0 1-1.178-.507 2.455 2.455 0 0 1-.761-.904c-.181-.37-.274-.893-.274-1.438 0-.523.104-.855.307-1.215.208-.36.487-.654.838-.883a3.609 3.609 0 0 1 1.227-.49 7.073 7.073 0 0 1 2.202-.103c.257.027.537.076.833.147v-.349c0-.245-.027-.479-.088-.697a1.486 1.486 0 0 0-.307-.583c-.148-.169-.34-.3-.581-.392a2.536 2.536 0 0 0-.915-.163c-.493 0-.942.06-1.353.131-.411.071-.75.153-1.008.245l-.257-1.749c.268-.093.668-.185 1.183-.278a8.89 8.89 0 0 1 1.66-.142l-.001-.001zm.186 7.736c.657 0 1.145-.038 1.484-.104v-2.168a5.097 5.097 0 0 0-1.978-.104c-.241.033-.46.098-.652.191a1.167 1.167 0 0 0-.466.392c-.121.169-.175.267-.175.523 0 .501.175.79.493.981.318.191.75.289 1.293.289h.001zm8.682 1.738c-3.511.016-3.511-2.822-3.511-3.274L89.461.926l2.142-.338v10.003c0 .256 0 1.88 1.375 1.885v1.792h-.001z' fill='%23182359'/><path d='M5.027 11.025c0 .698-.252 1.246-.757 1.644-.505.397-1.201.596-2.089.596-.888 0-1.615-.138-2.181-.414v-1.214c.358.168.739.301 1.141.397.403.097.778.145 1.125.145.508 0 .884-.097 1.125-.29a.945.945 0 0 0 .363-.779.978.978 0 0 0-.333-.747c-.222-.204-.68-.446-1.375-.725-.716-.29-1.221-.621-1.515-.994-.294-.372-.44-.82-.44-1.343 0-.655.233-1.171.698-1.547.466-.376 1.09-.564 1.875-.564.752 0 1.5.165 2.245.494l-.408 1.047c-.698-.294-1.321-.44-1.869-.44-.415 0-.73.09-.945.271a.89.89 0 0 0-.322.717c0 .204.043.379.129.524.086.145.227.282.424.411.197.129.551.299 1.063.51.577.24.999.464 1.268.671.269.208.466.442.591.704.125.261.188.569.188.924l-.001.002zm3.98 2.24c-.924 0-1.646-.269-2.167-.808-.521-.539-.782-1.281-.782-2.226 0-.97.242-1.733.725-2.288.483-.555 1.148-.833 1.993-.833.784 0 1.404.238 1.858.714.455.476.682 1.132.682 1.966v.682H7.357c.018.577.174 1.02.467 1.329.294.31.707.465 1.241.465.351 0 .678-.033.98-.099a5.1 5.1 0 0 0 .975-.33v1.026a3.865 3.865 0 0 1-.935.312 5.723 5.723 0 0 1-1.08.091l.002-.001zm-.231-5.199c-.401 0-.722.127-.964.381s-.386.625-.432 1.112h2.696c-.007-.491-.125-.862-.354-1.115-.229-.252-.544-.379-.945-.379l-.001.001zm7.692 5.092l-.252-.827h-.043c-.286.362-.575.608-.865.739-.29.131-.662.196-1.117.196-.584 0-1.039-.158-1.367-.473-.328-.315-.491-.761-.491-1.337 0-.612.227-1.074.682-1.386.455-.312 1.148-.482 2.079-.51l1.026-.032v-.317c0-.38-.089-.663-.266-.851-.177-.188-.452-.282-.824-.282-.304 0-.596.045-.876.134a6.68 6.68 0 0 0-.806.317l-.408-.902a4.414 4.414 0 0 1 1.058-.384 4.856 4.856 0 0 1 1.085-.132c.756 0 1.326.165 1.711.494.385.329.577.847.577 1.552v4.002h-.902l-.001-.001zm-1.88-.859c.458 0 .826-.128 1.104-.384.278-.256.416-.615.416-1.077v-.516l-.763.032c-.594.021-1.027.121-1.297.298s-.406.448-.406.814c0 .265.079.47.236.615.158.145.394.218.709.218h.001zm7.557-5.189c.254 0 .464.018.628.054l-.124 1.176a2.383 2.383 0 0 0-.559-.064c-.505 0-.914.165-1.227.494-.313.329-.47.757-.47 1.284v3.105h-1.262V7.218h.988l.167 1.047h.064c.197-.354.454-.636.771-.843a1.83 1.83 0 0 1 1.023-.312h.001zm4.125 6.155c-.899 0-1.582-.262-2.049-.787-.467-.525-.701-1.277-.701-2.259 0-.999.244-1.767.733-2.304.489-.537 1.195-.806 2.119-.806.627 0 1.191.116 1.692.349l-.381 1.015c-.534-.208-.974-.312-1.321-.312-1.028 0-1.542.682-1.542 2.046 0 .666.128 1.166.384 1.501.256.335.631.502 1.125.502a3.23 3.23 0 0 0 1.595-.419v1.101a2.53 2.53 0 0 1-.722.285 4.356 4.356 0 0 1-.932.086v.002zm8.277-.107h-1.268V9.506c0-.458-.092-.8-.277-1.026-.184-.226-.477-.338-.878-.338-.53 0-.919.158-1.168.475-.249.317-.373.848-.373 1.593v2.949h-1.262V4.801h1.262v2.122c0 .34-.021.704-.064 1.09h.081a1.76 1.76 0 0 1 .717-.666c.306-.158.663-.236 1.072-.236 1.439 0 2.159.725 2.159 2.175v3.873l-.001-.001zm7.649-6.048c.741 0 1.319.269 1.732.806.414.537.62 1.291.62 2.261 0 .974-.209 1.732-.628 2.275-.419.542-1.001.814-1.746.814-.752 0-1.336-.27-1.751-.811h-.086l-.231.704h-.945V4.801h1.262v1.987l-.021.655-.032.553h.054c.401-.591.992-.886 1.772-.886zm-.328 1.031c-.508 0-.875.149-1.098.448-.224.299-.339.799-.346 1.501v.086c0 .723.115 1.247.344 1.571.229.324.603.486 1.123.486.448 0 .787-.177 1.018-.532.231-.354.346-.867.346-1.536 0-1.35-.462-2.025-1.386-2.025l-.001.001zm3.244-.924h1.375l1.209 3.368c.183.48.304.931.365 1.354h.043c.032-.197.091-.436.177-.717.086-.281.541-1.616 1.364-4.004h1.364l-2.541 6.73c-.462 1.235-1.232 1.853-2.31 1.853-.279 0-.551-.03-.816-.091v-.999c.19.043.406.064.65.064.609 0 1.037-.353 1.284-1.058l.22-.559-2.385-5.941h.001z' fill='%231D3657'/></g></svg>");background-repeat:no-repeat;background-position:50%;background-size:100%;overflow:hidden;text-indent:-9000px;padding:0!important;width:100%;height:100%;display:block}
++/* These styles enhance the home page carousel, located here: themes/gohugoioTheme/layouts/partials/home-page-sections/showcase.html */
++.overflow-x-scroll{
++  -webkit-overflow-scrolling: touch;
++}
++.row {
++  -webkit-transition: 450ms -webkit-transform;
++  transition: 450ms -webkit-transform;
++  transition: 450ms transform;
++  transition: 450ms transform, 450ms -webkit-transform;
++  font-size: 0;
++}
++.tile {
++  -webkit-transition: 450ms all;
++  transition: 450ms all;
++}
++.details {
++  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, .9)), to(rgba(0, 0, 0, 0)));
++  background: linear-gradient(to top, rgba(0, 0, 0, .9) 0%, rgba(0, 0, 0, 0) 100%);
++  -webkit-transition: 450ms opacity;
++  transition: 450ms opacity;
++}
++.tile:hover .details {
++  opacity: 1;
++}
++.row:hover .tile {
++  opacity: 0.3;
++}
++.row:hover .tile:hover {
++  opacity: 1;
++}
++.chroma .lntable pre {
++  padding: 0;
++  margin: 0;
++  border: 0;
++}
++.chroma .lntable pre code  {
++  padding: 0;
++  margin: 0;
++}
++pre, .pre  {
++  overflow-x: auto;
++  overflow-y: hidden;
++  overflow:   scroll;
++}
++code {
++    padding: 0.2em;
++    margin: 0;
++    font-size: 85%;
++    background-color: rgba(27, 31, 35, .05);
++    border-radius: 3px;
++}
++pre  code {
++  display: block;
++  padding: 1.5em 1.5em;
++  font-size: .875rem;
++  line-height: 2;
++  overflow-x: auto;
++}
++pre {
++  background-color: #fff;
++  color: #333;
++  white-space: pre;
++  -webkit-hyphens: none;
++      -ms-hyphens: none;
++          hyphens: none;
++  position: relative;
++  border-width: 1px;
++  border-color: #ccc;
++  border-style: solid;
++}
++/* The Pygments highlighter comes with its own styles. */
++.highlight pre {
++  background-color: inherit;
++  color: inherit;
++  padding: 0.5em;
++  font-size: .875rem;
++}
++/*We are adding the copy button content here so we can change it with javascript. See the "Clipboard scripts"*/
++.copy:after {
++  content: "Copy"
++}
++.copied:after {
++  content: "Copied"
++}
++@media screen and (min-width: 60em) {
++  .full-width, pre.expand:hover
++  {
++  /*width: 100vw;
++  position: relative;
++  left: 50%;
++  right: 50%;
++  margin-left: -50vw;
++  margin-right: -50vw;*/
++  /*width: 60vw;*/
++  /*position: relative;
++  left: 50%;
++  right: 50%;*/
++  /*margin-left: -30vw;*/
++  margin-right: -30vw;
++  max-width: 100vw;
++  }
++}
++.code-block .line-numbers-rows {
++    background: #2f3a46;
++    border: none;
++    bottom: -50px;
++    color: #98a4b3;
++    left: -178px;
++    padding: 50px 0;
++    top: -50px;
++    width: 138px
++}
++.code-block .line-numbers-rows>span:before {
++    color: inherit;
++    padding-right: 30px
++}
++.tab-button{
++      margin-bottom:1px;
++      position: relative;
++      z-index: 1;
++      color:#333;
++      border-color:#ccc;
++      outline: none;
++      background-color:white;
++}
++.tab-pane code{
++      background:#f1f2f2;
++      border-radius:0;
++}
++.tab-pane .chroma{
++      background:none;
++      padding:0;
++}
++.tab-button.active{
++      border-bottom-color:#f1f2f2;
++      background-color: #f1f2f2;
++}
++.tab-content .tab-pane{
++      display: none;
++}
++.tab-content .tab-pane.active{
++      display: block;
++}
++/* Treatment of copy buttons inside a tab module */
++.tab-content .copy, .tab-content .copied{
++      display: none;
++}
++.tab-content .tab-pane.active + .copy, .tab-content .tab-pane.active + .copied{
++      display: block;
++}
++.primary-color                      {color: #0594CB}
++.bg-primary-color                   {background-color: #0594CB}
++.hover-bg-primary-color:hover       {background-color: #0594CB}
++.primary-color-dark                  {color: #0A1922}
++.bg-primary-color-dark               {background-color: #0A1922}
++.hover-bg-primary-color-dark:hover   {background-color: #0A1922}
++.primary-color-light                  {color: #f9f9f9}
++.bg-primary-color-light               {background-color: #f9f9f9}
++.hover-bg-primary-color-light:hover   {background-color: #f9f9f9}
++.accent-color                         {color: #EBB951}
++.bg-accent-color                      {background-color: #EBB951}
++.hover-bg-accent-color:hover          {background-color: #EBB951}
++.accent-color-light                   {color: #FF4088}
++.hover-accent-color-light:hover                   {color: #FF4088}
++.bg-accent-color-light                {background-color: #FF4088}
++.hover-bg-accent-color-light:hover    {background-color: #FF4088}
++.accent-color-dark                    {color: #33ba91}
++.bg-accent-color-dark                 {background-color: #33ba91}
++.hover-bg-accent-color-dark:hover     {background-color: #33ba91}
++.text-color-primary    {color: #373737}
++.text-on-primary-color {color: #fff}
++.text-color-secondary  {color: #ccc}
++.text-color-disabled   {color: #F7f7f7}
++.divider-color         {color: #f6f6f6}
++.warn-color            {color: red}
++.nested-links a {
++  color: #0594CB;
++  text-decoration: none;
++
++}
++.column-count-2 {-webkit-column-count: 1;column-count: 1}
++.column-gap-1 {-webkit-column-gap: 0;column-gap: 0}
++.break-inside-avoid {-webkit-column-break-inside: auto;break-inside: auto}
++@media screen and (min-width: 60em) {
++  .column-count-3-l {-webkit-column-count: 3;column-count: 3}
++  .column-count-2-l {-webkit-column-count: 2;column-count: 2}
++  .column-gap-1-l {-webkit-column-gap: 1;column-gap: 1}
++  .break-inside-avoid-l {-webkit-column-break-inside: avoid;break-inside: avoid}
++}
++.prose ul, .prose ol {
++  margin-bottom: 2em;
++}
++.prose ul li, .prose  ol li {
++  margin-bottom: .5em;
++}
++.prose li:hover {
++  background-color: #eee
++}
++.prose ::selection {
++  background: #0594CB; /* WebKit/Blink Browsers */
++  color: white;
++}
++body {
++
++line-height: 1.45;
++
++}
++p {margin-bottom: 1.3em;}
++h1, h2, h3, h4 {
++margin: 1.414em 0 0.5em;
++
++line-height: 1.2;
++}
++h1 {
++margin-top: 0;
++font-size: 2.441em;
++}
++h2 {font-size: 1.953em;}
++h3 {font-size: 1.563em;}
++h4 {font-size: 1.25em;}
++small, .font_small {font-size: 0.8em;}
++.prose table {
++    width: 100%;
++    margin-bottom: 3em;
++    border-collapse: collapse;
++    border-spacing: 0;
++    font-size: 1em;
++    border: 1px solid #eee
++
++}
++.prose table th {
++  background-color: #0594CB;
++  border-bottom: 1px solid #0594CB;
++  color: white;
++  font-weight: 400;
++  text-align: left;
++  padding: .375em .5em;
++}
++.prose table td, .prose table tc {
++  padding: .75em .5em;
++  text-align: left;
++  border-right: 1px solid #eee;
++}
++.prose table tr:nth-child(even) {
++  background-color: #eee;
++}
++dl dt {
++  font-weight: bold;
++  font-size: 1.125rem;
++}
++dd {
++  margin: .5em 0 2em 0;
++  padding: 0;
++}
++.f2-fluid {
++  font-size: 2.25rem;
++}
++@media screen and (min-width: 60em) {
++  .f2-fluid {
++    font-size: 1.25rem;
++    font-size: calc(0.70833rem + 0.83333vw);
++  }
++}
++/* From http://cssfontstack.com */
++code, .code, pre code, .highlight pre  {
++  font-family: 'inconsolata',Menlo,Monaco,'Courier New',monospace;
++}
++.sans-serif {
++  font-family: 'Muli',
++              avenir,
++               'helvetica neue', helvetica,
++               ubuntu,
++               roboto, noto,
++               'segoe ui', arial,
++               sans-serif;
++}
++.serif {
++  font-family: Palatino,"Palatino Linotype","Palatino LT STD","Book Antiqua",Georgia,serif;
++}
++/* Monospaced Typefaces (for code) */
++.courier {
++  font-family: 'Courier Next',
++               courier,
++               monospace;
++}
++/* Sans-Serif Typefaces */
++.helvetica {
++  font-family: 'helvetica neue', helvetica,
++               sans-serif;
++}
++.avenir {
++  font-family: 'avenir next', avenir,
++               sans-serif;
++}
++/* Serif Typefaces */
++.athelas {
++  font-family: athelas,
++               georgia,
++               serif;
++}
++.georgia {
++  font-family: georgia,
++               serif;
++}
++.times {
++  font-family: times,
++               serif;
++}
++.bodoni {
++  font-family: "Bodoni MT",
++                serif;
++}
++.calisto {
++  font-family: "Calisto MT",
++                serif;
++}
++.garamond {
++  font-family: garamond,
++               serif;
++}
++.baskerville {
++  font-family: baskerville,
++               serif;
++}
++/* pagination.html: https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/template_embedded.go#L117 */
++.pagination {
++  margin: 3rem 0;
++}
++.pagination li {
++  display: inline-block;
++  margin-right: .375rem;
++  font-size: .875rem;
++  margin-bottom: 2.5em;
++}
++.pagination li a {
++  padding: .5rem .625rem;
++  background-color: white;
++  color: #333;
++  border: 1px solid #ddd;
++  border-radius: 3px;
++  text-decoration: none;
++}
++.pagination li.disabled {
++  display: none;
++}
++.pagination li.active a:link,
++.pagination li.active a:active,
++.pagination li.active a:visited {
++  background-color: #ddd;
++}
++/* Hides non-meaningful TOC items*/
++#TableOfContents ul li ul li ul li{
++    display: none;
++  }
++#TableOfContents ul li {
++  color: black;
++  display: block;
++  margin-bottom: .375em;
++  line-height: 1.375;
++}
++#TableOfContents ul li a{
++  width: 100%;
++  padding: .25em .375em;
++  margin-left: -.375em;
++
++}
++#TableOfContents ul li a:hover {
++  background-color: #999;
++  color: white;
++
++}
++.no-js .needs-js {
++  opacity: 0
++}
++.js .needs-js {
++  opacity: 1;
++  -webkit-transition: opacity .15s ease-in;
++  transition: opacity .15s ease-in;
++}
++.facebook, .twitter, .instagram, .youtube {
++  fill: #BABABA;
++}
++.facebook:hover {
++  fill: #3b5998;
++}
++.twitter {
++  fill: #55acee;
++}
++.twitter:hover {
++  fill: #BABABA;
++}
++.instagram:hover {
++  fill: #e95950;
++}
++.youtube:hover {
++  fill: #bb0000;
++}
++@media (min-width: 75em) {
++  
++  [data-scrolldir="down"] .sticky {
++    position: fixed;
++    top:100px;
++    right:0;
++  }
++
++  [data-scrolldir="up"] .sticky {
++    position: fixed;
++    top:100px;
++    right:0;
++  }
++}
++.fill-current { fill: currentColor; }
++/* Background */
++.chroma { background-color: #ffffff }
++/* Error */
++.chroma .err { color: #a61717; background-color: #e3d2d2 }
++/* LineTableTD */
++.chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
++/* LineTable */
++.chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; }
++/* LineHighlight */
++.chroma .hl { display: block; width: 100%;background-color: #ffffcc }
++/* LineNumbersTable */
++.chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; }
++/* LineNumbers */
++.chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; }
++/* Keyword */
++.chroma .k { font-weight: bold }
++/* KeywordConstant */
++.chroma .kc { font-weight: bold }
++/* KeywordDeclaration */
++.chroma .kd { font-weight: bold }
++/* KeywordNamespace */
++.chroma .kn { font-weight: bold }
++/* KeywordPseudo */
++.chroma .kp { font-weight: bold }
++/* KeywordReserved */
++.chroma .kr { font-weight: bold }
++/* KeywordType */
++.chroma .kt { color: #445588; font-weight: bold }
++/* NameAttribute */
++.chroma .na { color: #008080 }
++/* NameBuiltin */
++.chroma .nb { color: #999999 }
++/* NameClass */
++.chroma .nc { color: #445588; font-weight: bold }
++/* NameConstant */
++.chroma .no { color: #008080 }
++/* NameEntity */
++.chroma .ni { color: #800080 }
++/* NameException */
++.chroma .ne { color: #990000; font-weight: bold }
++/* NameFunction */
++.chroma .nf { color: #990000; font-weight: bold }
++/* NameNamespace */
++.chroma .nn { color: #555555 }
++/* NameTag */
++.chroma .nt { color: #000080 }
++/* NameVariable */
++.chroma .nv { color: #008080 }
++/* LiteralString */
++.chroma .s { color: #bb8844 }
++/* LiteralStringAffix */
++.chroma .sa { color: #bb8844 }
++/* LiteralStringBacktick */
++.chroma .sb { color: #bb8844 }
++/* LiteralStringChar */
++.chroma .sc { color: #bb8844 }
++/* LiteralStringDelimiter */
++.chroma .dl { color: #bb8844 }
++/* LiteralStringDoc */
++.chroma .sd { color: #bb8844 }
++/* LiteralStringDouble */
++.chroma .s2 { color: #bb8844 }
++/* LiteralStringEscape */
++.chroma .se { color: #bb8844 }
++/* LiteralStringHeredoc */
++.chroma .sh { color: #bb8844 }
++/* LiteralStringInterpol */
++.chroma .si { color: #bb8844 }
++/* LiteralStringOther */
++.chroma .sx { color: #bb8844 }
++/* LiteralStringRegex */
++.chroma .sr { color: #808000 }
++/* LiteralStringSingle */
++.chroma .s1 { color: #bb8844 }
++/* LiteralStringSymbol */
++.chroma .ss { color: #bb8844 }
++/* LiteralNumber */
++.chroma .m { color: #009999 }
++/* LiteralNumberBin */
++.chroma .mb { color: #009999 }
++/* LiteralNumberFloat */
++.chroma .mf { color: #009999 }
++/* LiteralNumberHex */
++.chroma .mh { color: #009999 }
++/* LiteralNumberInteger */
++.chroma .mi { color: #009999 }
++/* LiteralNumberIntegerLong */
++.chroma .il { color: #009999 }
++/* LiteralNumberOct */
++.chroma .mo { color: #009999 }
++/* Operator */
++.chroma .o { font-weight: bold }
++/* OperatorWord */
++.chroma .ow { font-weight: bold }
++/* Comment */
++.chroma .c { color: #999988; font-style: italic }
++/* CommentHashbang */
++.chroma .ch { color: #999988; font-style: italic }
++/* CommentMultiline */
++.chroma .cm { color: #999988; font-style: italic }
++/* CommentSingle */
++.chroma .c1 { color: #999988; font-style: italic }
++/* CommentSpecial */
++.chroma .cs { color: #999999; font-weight: bold; font-style: italic }
++/* CommentPreproc */
++.chroma .cp { color: #999999; font-weight: bold }
++/* CommentPreprocFile */
++.chroma .cpf { color: #999999; font-weight: bold }
++/* GenericDeleted */
++.chroma .gd { color: #000000; background-color: #ffdddd }
++/* GenericEmph */
++.chroma .ge { font-style: italic }
++/* GenericError */
++.chroma .gr { color: #aa0000 }
++/* GenericHeading */
++.chroma .gh { color: #999999 }
++/* GenericInserted */
++.chroma .gi { color: #000000; background-color: #ddffdd }
++/* GenericOutput */
++.chroma .go { color: #888888 }
++/* GenericPrompt */
++.chroma .gp { color: #555555 }
++/* GenericStrong */
++.chroma .gs { font-weight: bold }
++/* GenericSubheading */
++.chroma .gu { color: #aaaaaa }
++/* GenericTraceback */
++.chroma .gt { color: #aa0000 }
++/* TextWhitespace */
++.chroma .w { color: #bbbbbb }
++.nested-blockquote blockquote {
++  border-left: 4px solid #0594CB;
++  padding-left: 1em;
++  /*margin: 0;*/
++}
++.mw-90 {
++  max-width:90%;
++}
++/* purgecss end ignore */
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3097ec5a6b8409a995fb53cc8fe04cbf0094cce7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,18 @@@
++!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t,n){!function(t,n){var r=function(e,t){"use strict";if(!t.getElementsByClassName)return;var n,r,i=t.documentElement,s=e.Date,o=e.HTMLPictureElement,a=e.addEventListener,c=e.setTimeout,u=e.requestAnimationFrame||c,l=e.requestIdleCallback,h=/^picture$/i,d=["load","error","lazyincluded","_lazyloaded"],f={},p=Array.prototype.forEach,g=function(e,t){return f[t]||(f[t]=new RegExp("(\\s|^)"+t+"(\\s|$)")),f[t].test(e.getAttribute("class")||"")&&f[t]},m=function(e,t){g(e,t)||e.setAttribute("class",(e.getAttribute("class")||"").trim()+" "+t)},v=function(e,t){var n;(n=g(e,t))&&e.setAttribute("class",(e.getAttribute("class")||"").replace(n," "))},y=function(e,t,n){var r=n?"addEventListener":"removeEventListener";n&&y(e,t),d.forEach(function(n){e[r](n,t)})},b=function(e,r,i,s,o){var a=t.createEvent("Event");return i||(i={}),i.instance=n,a.initEvent(r,!s,!o),a.detail=i,e.dispatchEvent(a),a},w=function(t,n){var i;!o&&(i=e.picturefill||r.pf)?(n&&n.src&&!t.getAttribute("srcset")&&t.setAttribute("srcset",n.src),i({reevaluate:!0,elements:[t]})):n&&n.src&&(t.src=n.src)},_=function(e,t){return(getComputedStyle(e,null)||{})[t]},E=function(e,t,n){for(n=n||e.offsetWidth;n<r.minSize&&t&&!e._lazysizesWidth;)n=t.offsetWidth,t=t.parentNode;return n},x=function(){var e,n,r=[],i=[],s=r,o=function(){var t=s;for(s=r.length?i:r,e=!0,n=!1;t.length;)t.shift()();e=!1},a=function(r,i){e&&!i?r.apply(this,arguments):(s.push(r),n||(n=!0,(t.hidden?c:u)(o)))};return a._lsFlush=o,a}(),S=function(e,t){return t?function(){x(e)}:function(){var t=this,n=arguments;x(function(){e.apply(t,n)})}},C=function(e){var t,n,r=function(){t=null,e()},i=function(){var e=s.now()-n;e<99?c(i,99-e):(l||r)(r)};return function(){n=s.now(),t||(t=c(i,99))}};!function(){var t,n={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",errorClass:"lazyerror",autosizesClass:"lazyautosizes",srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:!0,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:!0,ricTimeout:0,throttleDelay:125};for(t in r=e.lazySizesConfig||e.lazysizesConfig||{},n)t in r||(r[t]=n[t]);e.lazySizesConfig=r,c(function(){r.init&&O()})}();var A=function(){var o,u,d,f,E,A,O,T,k,R,M,L,I,D,P=/^img$/i,j=/^iframe$/i,$="onscroll"in e&&!/(gle|ing)bot/.test(navigator.userAgent),H=0,B=0,q=-1,z=function(e){B--,e&&e.target&&y(e.target,z),(!e||B<0||!e.target)&&(B=0)},F=function(e,n){var r,s=e,o="hidden"==_(t.body,"visibility")||"hidden"!=_(e.parentNode,"visibility")&&"hidden"!=_(e,"visibility");for(T-=n,M+=n,k-=n,R+=n;o&&(s=s.offsetParent)&&s!=t.body&&s!=i;)(o=(_(s,"opacity")||1)>0)&&"visible"!=_(s,"overflow")&&(r=s.getBoundingClientRect(),o=R>r.left&&k<r.right&&M>r.top-1&&T<r.bottom+1);return o},U=function(){var e,s,a,c,l,h,d,p,g,m=n.elements;if((f=r.loadMode)&&B<8&&(e=m.length)){s=0,q++,null==I&&("expand"in r||(r.expand=i.clientHeight>500&&i.clientWidth>500?500:370),L=r.expand,I=L*r.expFactor),H<I&&B<1&&q>2&&f>2&&!t.hidden?(H=I,q=0):H=f>1&&q>1&&B<6?L:0;for(;s<e;s++)if(m[s]&&!m[s]._lazyRace)if($)if((p=m[s].getAttribute("data-expand"))&&(h=1*p)||(h=H),g!==h&&(A=innerWidth+h*D,O=innerHeight+h,d=-1*h,g=h),a=m[s].getBoundingClientRect(),(M=a.bottom)>=d&&(T=a.top)<=O&&(R=a.right)>=d*D&&(k=a.left)<=A&&(M||R||k||T)&&(r.loadHidden||"hidden"!=_(m[s],"visibility"))&&(u&&B<3&&!p&&(f<3||q<4)||F(m[s],h))){if(X(m[s]),l=!0,B>9)break}else!l&&u&&!c&&B<4&&q<4&&f>2&&(o[0]||r.preloadAfterLoad)&&(o[0]||!p&&(M||R||k||T||"auto"!=m[s].getAttribute(r.sizesAttr)))&&(c=o[0]||m[s]);else X(m[s]);c&&!l&&X(c)}},K=function(e){var t,n=0,i=r.throttleDelay,o=r.ricTimeout,a=function(){t=!1,n=s.now(),e()},u=l&&o>49?function(){l(a,{timeout:o}),o!==r.ricTimeout&&(o=r.ricTimeout)}:S(function(){c(a)},!0);return function(e){var r;(e=!0===e)&&(o=33),t||(t=!0,(r=i-(s.now()-n))<0&&(r=0),e||r<9?u():c(u,r))}}(U),V=function(e){m(e.target,r.loadedClass),v(e.target,r.loadingClass),y(e.target,W),b(e.target,"lazyloaded")},J=S(V),W=function(e){J({target:e.target})},G=function(e){var t,n=e.getAttribute(r.srcsetAttr);(t=r.customMedia[e.getAttribute("data-media")||e.getAttribute("media")])&&e.setAttribute("media",t),n&&e.setAttribute("srcset",n)},Q=S(function(e,t,n,i,s){var o,a,u,l,f,g;(f=b(e,"lazybeforeunveil",t)).defaultPrevented||(i&&(n?m(e,r.autosizesClass):e.setAttribute("sizes",i)),a=e.getAttribute(r.srcsetAttr),o=e.getAttribute(r.srcAttr),s&&(u=e.parentNode,l=u&&h.test(u.nodeName||"")),g=t.firesLoad||"src"in e&&(a||o||l),f={target:e},g&&(y(e,z,!0),clearTimeout(d),d=c(z,2500),m(e,r.loadingClass),y(e,W,!0)),l&&p.call(u.getElementsByTagName("source"),G),a?e.setAttribute("srcset",a):o&&!l&&(j.test(e.nodeName)?function(e,t){try{e.contentWindow.location.replace(t)}catch(n){e.src=t}}(e,o):e.src=o),s&&(a||l)&&w(e,{src:o})),e._lazyRace&&delete e._lazyRace,v(e,r.lazyClass),x(function(){(!g||e.complete&&e.naturalWidth>1)&&(g?z(f):B--,V(f))},!0)}),X=function(e){var t,n=P.test(e.nodeName),i=n&&(e.getAttribute(r.sizesAttr)||e.getAttribute("sizes")),s="auto"==i;(!s&&u||!n||!e.getAttribute("src")&&!e.srcset||e.complete||g(e,r.errorClass)||!g(e,r.lazyClass))&&(t=b(e,"lazyunveilread").detail,s&&N.updateElem(e,!0,e.offsetWidth),e._lazyRace=!0,B++,Q(e,t,s,i,n))},Z=function(){if(!u)if(s.now()-E<999)c(Z,999);else{var e=C(function(){r.loadMode=3,K()});u=!0,r.loadMode=3,K(),a("scroll",function(){3==r.loadMode&&(r.loadMode=2),e()},!0)}};return{_:function(){E=s.now(),n.elements=t.getElementsByClassName(r.lazyClass),o=t.getElementsByClassName(r.lazyClass+" "+r.preloadClass),D=r.hFac,a("scroll",K,!0),a("resize",K,!0),e.MutationObserver?new MutationObserver(K).observe(i,{childList:!0,subtree:!0,attributes:!0}):(i.addEventListener("DOMNodeInserted",K,!0),i.addEventListener("DOMAttrModified",K,!0),setInterval(K,999)),a("hashchange",K,!0),["focus","mouseover","click","load","transitionend","animationend","webkitAnimationEnd"].forEach(function(e){t.addEventListener(e,K,!0)}),/d$|^c/.test(t.readyState)?Z():(a("load",Z),t.addEventListener("DOMContentLoaded",K),c(Z,2e4)),n.elements.length?(U(),x._lsFlush()):K()},checkElems:K,unveil:X}}(),N=function(){var e,n=S(function(e,t,n,r){var i,s,o;if(e._lazysizesWidth=r,r+="px",e.setAttribute("sizes",r),h.test(t.nodeName||""))for(i=t.getElementsByTagName("source"),s=0,o=i.length;s<o;s++)i[s].setAttribute("sizes",r);n.detail.dataAttr||w(e,n.detail)}),i=function(e,t,r){var i,s=e.parentNode;s&&(r=E(e,s,r),(i=b(e,"lazybeforesizes",{width:r,dataAttr:!!t})).defaultPrevented||(r=i.detail.width)&&r!==e._lazysizesWidth&&n(e,s,i,r))},s=C(function(){var t,n=e.length;if(n)for(t=0;t<n;t++)i(e[t])});return{_:function(){e=t.getElementsByClassName(r.autosizesClass),a("resize",s)},checkElems:s,updateElem:i}}(),O=function(){O.i||(O.i=!0,N._(),A._())};return n={cfg:r,autoSizer:N,loader:A,init:O,uP:w,aC:m,rC:v,hC:g,fire:b,gW:E,rAF:x}}(t,t.document);t.lazySizes=r,e.exports&&(e.exports=r)}(window)},function(e,t,n){"use strict";n.r(t);n(3),n(4),n(5),n(7),n(8),n(10),n(21),n(23),n(24),n(26),n(27),n(28);n(2)},function(e,t,n){},function(e,t,n){},function(e,t){var n=function(e){var t=document.createElement("a");return t.className="header-link",t.href="#"+e,t.innerHTML='  <svg class="fill-current o-60 hover-accent-color-light" height="22px" viewBox="0 0 24 24" width="22px" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/></svg>',t},r=function(e,t){for(var r=t.getElementsByTagName("h"+e),i=0;i<r.length;i++){var s=r[i];void 0!==s.id&&""!==s.id&&s.appendChild(n(s.id))}};document.onreadystatechange=function(){if("complete"===this.readyState){var e=document.getElementsByClassName("prose")[0];if(!e)return;for(var t=2;t<=4;t++)r(t,e)}}},function(e,t,n){function r(e,t){e.setAttribute("class","copied bg-primary-color-dark f6 absolute top-0 right-0 lh-solid hover-bg-primary-color-dark bn white ph3 pv2"),e.setAttribute("aria-label",t)}new(n(6))(".copy",{target:function(e){return e.classList.contains("copy-toggle")?e.previousElementSibling:e.nextElementSibling}}).on("success",function(e){r(e.trigger,"Copied!"),e.clearSelection()}).on("error",function(e){r(e.trigger,function(e,t){var n="",r="cut"===t?"X":"C";n=isMac?"Press ⌘-"+r:"Press Ctrl-"+r;return n}(e.action))})},function(e,t,n){
++/*!
++ * clipboard.js v2.0.4
++ * https://zenorocha.github.io/clipboard.js
++ * 
++ * Licensed MIT © Zeno Rocha
++ */
++!function(t,n){e.exports=n()}(0,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=c(n(1)),o=c(n(3)),a=c(n(4));function c(e){return e&&e.__esModule?e:{default:e}}var u=function(e){function t(e,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.resolveOptions(n),r.listenClick(e),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,o.default),i(t,[{key:"resolveOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText,this.container="object"===r(e.container)?e.container:document.body}},{key:"listenClick",value:function(e){var t=this;this.listener=(0,a.default)(e,"click",function(e){return t.onClick(e)})}},{key:"onClick",value:function(e){var t=e.delegateTarget||e.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new s.default({action:this.action(t),target:this.target(t),text:this.text(t),container:this.container,trigger:t,emitter:this})}},{key:"defaultAction",value:function(e){return l("action",e)}},{key:"defaultTarget",value:function(e){var t=l("target",e);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(e){return l("text",e)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof e?[e]:e,n=!!document.queryCommandSupported;return t.forEach(function(e){n=n&&!!document.queryCommandSupported(e)}),n}}]),t}();function l(e,t){var n="data-clipboard-"+e;if(t.hasAttribute(n))return t.getAttribute(n)}e.exports=u},function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=function(e){return e&&e.__esModule?e:{default:e}}(n(2));var o=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.resolveOptions(t),this.initSelection()}return i(e,[{key:"resolveOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action=e.action,this.container=e.container,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var e=this,t="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return e.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[t?"right":"left"]="-9999px";var n=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=n+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=(0,s.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,s.default)(this.target),this.copyText()}},{key:"copyText",value:function(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function(e){this.emitter.emit(e?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(e){if(void 0!==e){if(!e||"object"!==(void 0===e?"undefined":r(e))||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=e}},get:function(){return this._target}}]),e}();e.exports=o},function(e,t){e.exports=function(e){var t;if("SELECT"===e.nodeName)e.focus(),t=e.value;else if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName){var n=e.hasAttribute("readonly");n||e.setAttribute("readonly",""),e.select(),e.setSelectionRange(0,e.value.length),n||e.removeAttribute("readonly"),t=e.value}else{e.hasAttribute("contenteditable")&&e.focus();var r=window.getSelection(),i=document.createRange();i.selectNodeContents(e),r.removeAllRanges(),r.addRange(i),t=r.toString()}return t}},function(e,t){function n(){}n.prototype={on:function(e,t,n){var r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:t,ctx:n}),this},once:function(e,t,n){var r=this;function i(){r.off(e,i),t.apply(n,arguments)}return i._=t,this.on(e,i,n)},emit:function(e){for(var t=[].slice.call(arguments,1),n=((this.e||(this.e={}))[e]||[]).slice(),r=0,i=n.length;r<i;r++)n[r].fn.apply(n[r].ctx,t);return this},off:function(e,t){var n=this.e||(this.e={}),r=n[e],i=[];if(r&&t)for(var s=0,o=r.length;s<o;s++)r[s].fn!==t&&r[s].fn._!==t&&i.push(r[s]);return i.length?n[e]=i:delete n[e],this}},e.exports=n},function(e,t,n){var r=n(5),i=n(6);e.exports=function(e,t,n){if(!e&&!t&&!n)throw new Error("Missing required arguments");if(!r.string(t))throw new TypeError("Second argument must be a String");if(!r.fn(n))throw new TypeError("Third argument must be a Function");if(r.node(e))return function(e,t,n){return e.addEventListener(t,n),{destroy:function(){e.removeEventListener(t,n)}}}(e,t,n);if(r.nodeList(e))return function(e,t,n){return Array.prototype.forEach.call(e,function(e){e.addEventListener(t,n)}),{destroy:function(){Array.prototype.forEach.call(e,function(e){e.removeEventListener(t,n)})}}}(e,t,n);if(r.string(e))return function(e,t,n){return i(document.body,e,t,n)}(e,t,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}},function(e,t){t.node=function(e){return void 0!==e&&e instanceof HTMLElement&&1===e.nodeType},t.nodeList=function(e){var n=Object.prototype.toString.call(e);return void 0!==e&&("[object NodeList]"===n||"[object HTMLCollection]"===n)&&"length"in e&&(0===e.length||t.node(e[0]))},t.string=function(e){return"string"==typeof e||e instanceof String},t.fn=function(e){return"[object Function]"===Object.prototype.toString.call(e)}},function(e,t,n){var r=n(7);function i(e,t,n,i,s){var o=function(e,t,n,i){return function(n){n.delegateTarget=r(n.target,t),n.delegateTarget&&i.call(e,n)}}.apply(this,arguments);return e.addEventListener(n,o,s),{destroy:function(){e.removeEventListener(n,o,s)}}}e.exports=function(e,t,n,r,s){return"function"==typeof e.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof e&&(e=document.querySelectorAll(e)),Array.prototype.map.call(e,function(e){return i(e,t,n,r,s)}))}},function(e,t){var n=9;if("undefined"!=typeof Element&&!Element.prototype.matches){var r=Element.prototype;r.matches=r.matchesSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector||r.webkitMatchesSelector}e.exports=function(e,t){for(;e&&e.nodeType!==n;){if("function"==typeof e.matches&&e.matches(t))return e;e=e.parentNode}}}])})},function(e,t){let n=document.getElementById("prose");if(n){let e=n.getElementsByTagName("code");for(let[t,n]of Object.entries(e)){n.scrollWidth-n.clientWidth>0&&n.parentNode.classList.add("expand")}}},function(e,t,n){n(9)({apiKey:"167e7998590aebda7f9fedcf86bc4a55",indexName:"hugodocs",inputSelector:"#search-input",debug:!0})},function(e,t,n){
++/*! docsearch 2.6.1 | © Algolia | github.com/algolia/docsearch */
++!function(t,n){e.exports=n()}("undefined"!=typeof self&&self,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=22)}([function(e,t,n){"use strict";var r=n(1);function i(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}e.exports={isArray:null,isFunction:null,isObject:null,bind:null,each:null,map:null,mixin:null,isMsie:function(e){if(void 0===e&&(e=navigator.userAgent),/(msie|trident)/i.test(e)){var t=e.match(/(msie |rv:)(\d+(.\d+)?)/i);if(t)return t[2]}return!1},escapeRegExChars:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isNumber:function(e){return"number"==typeof e},toStr:function(e){return void 0===e||null===e?"":e+""},cloneDeep:function(e){var t=this.mixin({},e),n=this;return this.each(t,function(e,r){e&&(n.isArray(e)?t[r]=[].concat(e):n.isObject(e)&&(t[r]=n.cloneDeep(e)))}),t},error:function(e){throw new Error(e)},every:function(e,t){var n=!0;return e?(this.each(e,function(r,i){if(!(n=t.call(null,r,i,e)))return!1}),!!n):n},any:function(e,t){var n=!1;return e?(this.each(e,function(r,i){if(t.call(null,r,i,e))return n=!0,!1}),n):n},getUniqueId:function(){var e=0;return function(){return e++}}(),templatify:function(e){if(this.isFunction(e))return e;var t=r.element(e);return"SCRIPT"===t.prop("tagName")?function(){return t.text()}:function(){return String(e)}},defer:function(e){setTimeout(e,0)},noop:function(){},formatPrefix:function(e,t){return t?"":e+"-"},className:function(e,t,n){return(n?"":".")+e+t},escapeHighlightedString:function(e,t,n){t=t||"<em>";var r=document.createElement("div");r.appendChild(document.createTextNode(t)),n=n||"</em>";var s=document.createElement("div");s.appendChild(document.createTextNode(n));var o=document.createElement("div");return o.appendChild(document.createTextNode(e)),o.innerHTML.replace(RegExp(i(r.innerHTML),"g"),t).replace(RegExp(i(s.innerHTML),"g"),n)}}},function(e,t,n){"use strict";e.exports={element:null}},function(e,t){var n=Object.prototype.hasOwnProperty,r=Object.prototype.toString;e.exports=function(e,t,i){if("[object Function]"!==r.call(t))throw new TypeError("iterator must be a function");var s=e.length;if(s===+s)for(var o=0;o<s;o++)t.call(i,e[o],o,e);else for(var a in e)n.call(e,a)&&t.call(i,e[a],a,e)}},function(e,t){e.exports=function(e){return JSON.parse(JSON.stringify(e))}},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";var r=n(12);function i(e,t){var r=n(2),i=this;"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):i.stack=(new Error).stack||"Cannot get a stacktrace, browser is too old",this.name="AlgoliaSearchError",this.message=e||"Unknown error",t&&r(t,function(e,t){i[t]=e})}function s(e,t){function n(){var n=Array.prototype.slice.call(arguments,0);"string"!=typeof n[0]&&n.unshift(t),i.apply(this,n),this.name="AlgoliaSearch"+e+"Error"}return r(n,i),n}r(i,Error),e.exports={AlgoliaSearchError:i,UnparsableJSON:s("UnparsableJSON","Could not parse the incoming response as JSON, see err.more for details"),RequestTimeout:s("RequestTimeout","Request timedout before getting a response"),Network:s("Network","Network issue, see err.more for details"),JSONPScriptFail:s("JSONPScriptFail","<script> was loaded but did not call our provided callback"),JSONPScriptError:s("JSONPScriptError","<script> unable to load due to an `error` event on it"),Unknown:s("Unknown","Unknown error occured")}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){var r=n(2);e.exports=function(e,t){var n=[];return r(e,function(r,i){n.push(t(r,i,e))}),n}},function(e,t,n){(function(r){function i(){var e;try{e=t.storage.debug}catch(e){}return!e&&void 0!==r&&"env"in r&&(e=Object({NODE_ENV:"production"}).DEBUG),e}(t=e.exports=n(39)).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},t.formatArgs=function(e){var n=this.useColors;if(e[0]=(n?"%c":"")+this.namespace+(n?" %c":" ")+e[0]+(n?"%c ":" ")+"+"+t.humanize(this.diff),!n)return;var r="color: "+this.color;e.splice(1,0,r,"color: inherit");var i=0,s=0;e[0].replace(/%[a-zA-Z%]/g,function(e){"%%"!==e&&"%c"===e&&(s=++i)}),e.splice(s,0,r)},t.save=function(e){try{null==e?t.storage.removeItem("debug"):t.storage.debug=e}catch(e){}},t.load=i,t.useColors=function(){if("undefined"!=typeof window&&window.process&&"renderer"===window.process.type)return!0;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},t.enable(i())}).call(t,n(9))},function(e,t){var n,r,i=e.exports={};function s(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(e){if(n===setTimeout)return setTimeout(e,0);if((n===s||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:s}catch(e){n=s}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var c,u=[],l=!1,h=-1;function d(){l&&c&&(l=!1,c.length?u=c.concat(u):h=-1,u.length&&f())}function f(){if(!l){var e=a(d);l=!0;for(var t=u.length;t;){for(c=u,u=[];++h<t;)c&&c[h].run();h=-1,t=u.length}c=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function g(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new p(e,t)),1!==u.length||l||a(f)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t,n){"use strict";var r=n(53),i=/\s+/;function s(e,t,n,r){var s;if(!n)return this;for(t=t.split(i),n=r?function(e,t){return e.bind?e.bind(t):function(){e.apply(t,[].slice.call(arguments,0))}}(n,r):n,this._callbacks=this._callbacks||{};s=t.shift();)this._callbacks[s]=this._callbacks[s]||{sync:[],async:[]},this._callbacks[s][e].push(n);return this}function o(e,t,n){return function(){for(var r,i=0,s=e.length;!r&&i<s;i+=1)r=!1===e[i].apply(t,n);return!r}}e.exports={onSync:function(e,t,n){return s.call(this,"sync",e,t,n)},onAsync:function(e,t,n){return s.call(this,"async",e,t,n)},off:function(e){var t;if(!this._callbacks)return this;e=e.split(i);for(;t=e.shift();)delete this._callbacks[t];return this},trigger:function(e){var t,n,s,a,c;if(!this._callbacks)return this;e=e.split(i),s=[].slice.call(arguments,1);for(;(t=e.shift())&&(n=this._callbacks[t]);)a=o(n.sync,this,[t].concat(s)),c=o(n.async,this,[t].concat(s)),a()&&r(c);return this}}},function(e,t,n){"use strict";var r=n(0),i={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:"0"},defaultClasses:{root:"algolia-autocomplete",prefix:"aa",noPrefix:!1,dropdownMenu:"dropdown-menu",input:"input",hint:"hint",suggestions:"suggestions",suggestion:"suggestion",cursor:"cursor",dataset:"dataset",empty:"empty"},appendTo:{wrapper:{position:"absolute",zIndex:"100",display:"none"},input:{},inputWithNoHint:{},dropdown:{display:"block"}}};r.isMsie()&&r.mixin(i.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),r.isMsie()&&r.isMsie()<=7&&r.mixin(i.input,{marginTop:"-1px"}),e.exports=i},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){e.exports=function(e,t){return function(n,i,s){if("function"==typeof n&&"object"==typeof i||"object"==typeof s)throw new r.AlgoliaSearchError("index.search usage is index.search(query, params, cb)");0===arguments.length||"function"==typeof n?(s=n,n=""):1!==arguments.length&&"function"!=typeof i||(s=i,i=void 0),"object"==typeof n&&null!==n?(i=n,n=void 0):void 0!==n&&null!==n||(n="");var o,a="";return void 0!==n&&(a+=e+"="+encodeURIComponent(n)),void 0!==i&&(i.additionalUA&&(o=i.additionalUA,delete i.additionalUA),a=this.as._getSearchParams(i,a)),this._search(a,t,s,o)}};var r=n(5)},function(e,t,n){e.exports=function(e,t){var r=n(36),i={};return n(2)(r(e),function(n){!0!==t(n)&&(i[n]=e[n])}),i}},function(e,t){!function(t,n){e.exports=function(e){var t=function(){var t,n,r,i,s,o,a=[],c=a.concat,u=a.filter,l=a.slice,h=e.document,d={},f={},p={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},g=/^\s*<(\w+|!)[^>]*>/,m=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,y=/^(?:body|html)$/i,b=/([A-Z])/g,w=["val","css","html","text","data","width","height","offset"],_=h.createElement("table"),E=h.createElement("tr"),x={tr:h.createElement("tbody"),tbody:_,thead:_,tfoot:_,td:E,th:E,"*":h.createElement("div")},S=/complete|loaded|interactive/,C=/^[\w-]*$/,A={},N=A.toString,O={},T=h.createElement("div"),k={tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},R=Array.isArray||function(e){return e instanceof Array};function M(e){return null==e?String(e):A[N.call(e)]||"object"}function L(e){return"function"==M(e)}function I(e){return null!=e&&e==e.window}function D(e){return null!=e&&e.nodeType==e.DOCUMENT_NODE}function P(e){return"object"==M(e)}function j(e){return P(e)&&!I(e)&&Object.getPrototypeOf(e)==Object.prototype}function $(e){var t=!!e&&"length"in e&&e.length,n=r.type(e);return"function"!=n&&!I(e)&&("array"==n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function H(e){return e.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function B(e){return e in f?f[e]:f[e]=new RegExp("(^|\\s)"+e+"(\\s|$)")}function q(e,t){return"number"!=typeof t||p[H(e)]?t:t+"px"}function z(e){return"children"in e?l.call(e.children):r.map(e.childNodes,function(e){if(1==e.nodeType)return e})}function F(e,t){var n,r=e?e.length:0;for(n=0;n<r;n++)this[n]=e[n];this.length=r,this.selector=t||""}function U(e,t){return null==t?r(e):r(e).filter(t)}function K(e,t,n,r){return L(t)?t.call(e,n,r):t}function V(e,t,n){null==n?e.removeAttribute(t):e.setAttribute(t,n)}function J(e,n){var r=e.className||"",i=r&&r.baseVal!==t;if(n===t)return i?r.baseVal:r;i?r.baseVal=n:e.className=n}function W(e){try{return e?"true"==e||"false"!=e&&("null"==e?null:+e+""==e?+e:/^[\[\{]/.test(e)?r.parseJSON(e):e):e}catch(t){return e}}return O.matches=function(e,t){if(!t||!e||1!==e.nodeType)return!1;var n=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.matchesSelector;if(n)return n.call(e,t);var r,i=e.parentNode,s=!i;return s&&(i=T).appendChild(e),r=~O.qsa(i,t).indexOf(e),s&&T.removeChild(e),r},s=function(e){return e.replace(/-+(.)?/g,function(e,t){return t?t.toUpperCase():""})},o=function(e){return u.call(e,function(t,n){return e.indexOf(t)==n})},O.fragment=function(e,n,i){var s,o,a;return m.test(e)&&(s=r(h.createElement(RegExp.$1))),s||(e.replace&&(e=e.replace(v,"<$1></$2>")),n===t&&(n=g.test(e)&&RegExp.$1),n in x||(n="*"),(a=x[n]).innerHTML=""+e,s=r.each(l.call(a.childNodes),function(){a.removeChild(this)})),j(i)&&(o=r(s),r.each(i,function(e,t){w.indexOf(e)>-1?o[e](t):o.attr(e,t)})),s},O.Z=function(e,t){return new F(e,t)},O.isZ=function(e){return e instanceof O.Z},O.init=function(e,n){var i;if(!e)return O.Z();if("string"==typeof e)if("<"==(e=e.trim())[0]&&g.test(e))i=O.fragment(e,RegExp.$1,n),e=null;else{if(n!==t)return r(n).find(e);i=O.qsa(h,e)}else{if(L(e))return r(h).ready(e);if(O.isZ(e))return e;if(R(e))i=function(e){return u.call(e,function(e){return null!=e})}(e);else if(P(e))i=[e],e=null;else if(g.test(e))i=O.fragment(e.trim(),RegExp.$1,n),e=null;else{if(n!==t)return r(n).find(e);i=O.qsa(h,e)}}return O.Z(i,e)},(r=function(e,t){return O.init(e,t)}).extend=function(e){var r,i=l.call(arguments,1);return"boolean"==typeof e&&(r=e,e=i.shift()),i.forEach(function(i){!function e(r,i,s){for(n in i)s&&(j(i[n])||R(i[n]))?(j(i[n])&&!j(r[n])&&(r[n]={}),R(i[n])&&!R(r[n])&&(r[n]=[]),e(r[n],i[n],s)):i[n]!==t&&(r[n]=i[n])}(e,i,r)}),e},O.qsa=function(e,t){var n,r="#"==t[0],i=!r&&"."==t[0],s=r||i?t.slice(1):t,o=C.test(s);return e.getElementById&&o&&r?(n=e.getElementById(s))?[n]:[]:1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType?[]:l.call(o&&!r&&e.getElementsByClassName?i?e.getElementsByClassName(s):e.getElementsByTagName(t):e.querySelectorAll(t))},r.contains=h.documentElement.contains?function(e,t){return e!==t&&e.contains(t)}:function(e,t){for(;t&&(t=t.parentNode);)if(t===e)return!0;return!1},r.type=M,r.isFunction=L,r.isWindow=I,r.isArray=R,r.isPlainObject=j,r.isEmptyObject=function(e){var t;for(t in e)return!1;return!0},r.isNumeric=function(e){var t=Number(e),n=typeof e;return null!=e&&"boolean"!=n&&("string"!=n||e.length)&&!isNaN(t)&&isFinite(t)||!1},r.inArray=function(e,t,n){return a.indexOf.call(t,e,n)},r.camelCase=s,r.trim=function(e){return null==e?"":String.prototype.trim.call(e)},r.uuid=0,r.support={},r.expr={},r.noop=function(){},r.map=function(e,t){var n,i,s,o=[];if($(e))for(i=0;i<e.length;i++)null!=(n=t(e[i],i))&&o.push(n);else for(s in e)null!=(n=t(e[s],s))&&o.push(n);return function(e){return e.length>0?r.fn.concat.apply([],e):e}(o)},r.each=function(e,t){var n,r;if($(e)){for(n=0;n<e.length;n++)if(!1===t.call(e[n],n,e[n]))return e}else for(r in e)if(!1===t.call(e[r],r,e[r]))return e;return e},r.grep=function(e,t){return u.call(e,t)},e.JSON&&(r.parseJSON=JSON.parse),r.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){A["[object "+t+"]"]=t.toLowerCase()}),r.fn={constructor:O.Z,length:0,forEach:a.forEach,reduce:a.reduce,push:a.push,sort:a.sort,splice:a.splice,indexOf:a.indexOf,concat:function(){var e,t,n=[];for(e=0;e<arguments.length;e++)t=arguments[e],n[e]=O.isZ(t)?t.toArray():t;return c.apply(O.isZ(this)?this.toArray():this,n)},map:function(e){return r(r.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return r(l.apply(this,arguments))},ready:function(e){return S.test(h.readyState)&&h.body?e(r):h.addEventListener("DOMContentLoaded",function(){e(r)},!1),this},get:function(e){return e===t?l.call(this):this[e>=0?e:e+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(e){return a.every.call(this,function(t,n){return!1!==e.call(t,n,t)}),this},filter:function(e){return L(e)?this.not(this.not(e)):r(u.call(this,function(t){return O.matches(t,e)}))},add:function(e,t){return r(o(this.concat(r(e,t))))},is:function(e){return this.length>0&&O.matches(this[0],e)},not:function(e){var n=[];if(L(e)&&e.call!==t)this.each(function(t){e.call(this,t)||n.push(this)});else{var i="string"==typeof e?this.filter(e):$(e)&&L(e.item)?l.call(e):r(e);this.forEach(function(e){i.indexOf(e)<0&&n.push(e)})}return r(n)},has:function(e){return this.filter(function(){return P(e)?r.contains(this,e):r(this).find(e).size()})},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},first:function(){var e=this[0];return e&&!P(e)?e:r(e)},last:function(){var e=this[this.length-1];return e&&!P(e)?e:r(e)},find:function(e){var t=this;return e?"object"==typeof e?r(e).filter(function(){var e=this;return a.some.call(t,function(t){return r.contains(t,e)})}):1==this.length?r(O.qsa(this[0],e)):this.map(function(){return O.qsa(this,e)}):r()},closest:function(e,t){var n=[],i="object"==typeof e&&r(e);return this.each(function(r,s){for(;s&&!(i?i.indexOf(s)>=0:O.matches(s,e));)s=s!==t&&!D(s)&&s.parentNode;s&&n.indexOf(s)<0&&n.push(s)}),r(n)},parents:function(e){for(var t=[],n=this;n.length>0;)n=r.map(n,function(e){if((e=e.parentNode)&&!D(e)&&t.indexOf(e)<0)return t.push(e),e});return U(t,e)},parent:function(e){return U(o(this.pluck("parentNode")),e)},children:function(e){return U(this.map(function(){return z(this)}),e)},contents:function(){return this.map(function(){return this.contentDocument||l.call(this.childNodes)})},siblings:function(e){return U(this.map(function(e,t){return u.call(z(t.parentNode),function(e){return e!==t})}),e)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(e){return r.map(this,function(t){return t[e]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=function(e){var t,n;d[e]||(t=h.createElement(e),h.body.appendChild(t),n=getComputedStyle(t,"").getPropertyValue("display"),t.parentNode.removeChild(t),"none"==n&&(n="block"),d[e]=n);return d[e]}(this.nodeName))})},replaceWith:function(e){return this.before(e).remove()},wrap:function(e){var t=L(e);if(this[0]&&!t)var n=r(e).get(0),i=n.parentNode||this.length>1;return this.each(function(s){r(this).wrapAll(t?e.call(this,s):i?n.cloneNode(!0):n)})},wrapAll:function(e){if(this[0]){var t;for(r(this[0]).before(e=r(e));(t=e.children()).length;)e=t.first();r(e).append(this)}return this},wrapInner:function(e){var t=L(e);return this.each(function(n){var i=r(this),s=i.contents(),o=t?e.call(this,n):e;s.length?s.wrapAll(o):i.append(o)})},unwrap:function(){return this.parent().each(function(){r(this).replaceWith(r(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(e){return this.each(function(){var n=r(this);(e===t?"none"==n.css("display"):e)?n.show():n.hide()})},prev:function(e){return r(this.pluck("previousElementSibling")).filter(e||"*")},next:function(e){return r(this.pluck("nextElementSibling")).filter(e||"*")},html:function(e){return 0 in arguments?this.each(function(t){var n=this.innerHTML;r(this).empty().append(K(this,e,t,n))}):0 in this?this[0].innerHTML:null},text:function(e){return 0 in arguments?this.each(function(t){var n=K(this,e,t,this.textContent);this.textContent=null==n?"":""+n}):0 in this?this.pluck("textContent").join(""):null},attr:function(e,r){var i;return"string"!=typeof e||1 in arguments?this.each(function(t){if(1===this.nodeType)if(P(e))for(n in e)V(this,n,e[n]);else V(this,e,K(this,r,t,this.getAttribute(e)))}):0 in this&&1==this[0].nodeType&&null!=(i=this[0].getAttribute(e))?i:t},removeAttr:function(e){return this.each(function(){1===this.nodeType&&e.split(" ").forEach(function(e){V(this,e)},this)})},prop:function(e,t){return e=k[e]||e,1 in arguments?this.each(function(n){this[e]=K(this,t,n,this[e])}):this[0]&&this[0][e]},removeProp:function(e){return e=k[e]||e,this.each(function(){delete this[e]})},data:function(e,n){var r="data-"+e.replace(b,"-$1").toLowerCase(),i=1 in arguments?this.attr(r,n):this.attr(r);return null!==i?W(i):t},val:function(e){return 0 in arguments?(null==e&&(e=""),this.each(function(t){this.value=K(this,e,t,this.value)})):this[0]&&(this[0].multiple?r(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(t){if(t)return this.each(function(e){var n=r(this),i=K(this,t,e,n.offset()),s=n.offsetParent().offset(),o={top:i.top-s.top,left:i.left-s.left};"static"==n.css("position")&&(o.position="relative"),n.css(o)});if(!this.length)return null;if(h.documentElement!==this[0]&&!r.contains(h.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+e.pageXOffset,top:n.top+e.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(e,t){if(arguments.length<2){var i=this[0];if("string"==typeof e){if(!i)return;return i.style[s(e)]||getComputedStyle(i,"").getPropertyValue(e)}if(R(e)){if(!i)return;var o={},a=getComputedStyle(i,"");return r.each(e,function(e,t){o[t]=i.style[s(t)]||a.getPropertyValue(t)}),o}}var c="";if("string"==M(e))t||0===t?c=H(e)+":"+q(e,t):this.each(function(){this.style.removeProperty(H(e))});else for(n in e)e[n]||0===e[n]?c+=H(n)+":"+q(n,e[n])+";":this.each(function(){this.style.removeProperty(H(n))});return this.each(function(){this.style.cssText+=";"+c})},index:function(e){return e?this.indexOf(r(e)[0]):this.parent().children().indexOf(this[0])},hasClass:function(e){return!!e&&a.some.call(this,function(e){return this.test(J(e))},B(e))},addClass:function(e){return e?this.each(function(t){if("className"in this){i=[];var n=J(this),s=K(this,e,t,n);s.split(/\s+/g).forEach(function(e){r(this).hasClass(e)||i.push(e)},this),i.length&&J(this,n+(n?" ":"")+i.join(" "))}}):this},removeClass:function(e){return this.each(function(n){if("className"in this){if(e===t)return J(this,"");i=J(this),K(this,e,n,i).split(/\s+/g).forEach(function(e){i=i.replace(B(e)," ")}),J(this,i.trim())}})},toggleClass:function(e,n){return e?this.each(function(i){var s=r(this),o=K(this,e,i,J(this));o.split(/\s+/g).forEach(function(e){(n===t?!s.hasClass(e):n)?s.addClass(e):s.removeClass(e)})}):this},scrollTop:function(e){if(this.length){var n="scrollTop"in this[0];return e===t?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=e}:function(){this.scrollTo(this.scrollX,e)})}},scrollLeft:function(e){if(this.length){var n="scrollLeft"in this[0];return e===t?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=e}:function(){this.scrollTo(e,this.scrollY)})}},position:function(){if(this.length){var e=this[0],t=this.offsetParent(),n=this.offset(),i=y.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(r(e).css("margin-top"))||0,n.left-=parseFloat(r(e).css("margin-left"))||0,i.top+=parseFloat(r(t[0]).css("border-top-width"))||0,i.left+=parseFloat(r(t[0]).css("border-left-width"))||0,{top:n.top-i.top,left:n.left-i.left}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||h.body;e&&!y.test(e.nodeName)&&"static"==r(e).css("position");)e=e.offsetParent;return e})}},r.fn.detach=r.fn.remove,["width","height"].forEach(function(e){var n=e.replace(/./,function(e){return e[0].toUpperCase()});r.fn[e]=function(i){var s,o=this[0];return i===t?I(o)?o["inner"+n]:D(o)?o.documentElement["scroll"+n]:(s=this.offset())&&s[e]:this.each(function(t){(o=r(this)).css(e,K(this,i,t,o[e]()))})}}),["after","prepend","before","append"].forEach(function(n,i){var s=i%2;r.fn[n]=function(){var n,o,a=r.map(arguments,function(e){var i=[];return"array"==(n=M(e))?(e.forEach(function(e){return e.nodeType!==t?i.push(e):r.zepto.isZ(e)?i=i.concat(e.get()):void(i=i.concat(O.fragment(e)))}),i):"object"==n||null==e?e:O.fragment(e)}),c=this.length>1;return a.length<1?this:this.each(function(t,n){o=s?n:n.parentNode,n=0==i?n.nextSibling:1==i?n.firstChild:2==i?n:null;var u=r.contains(h.documentElement,o);a.forEach(function(t){if(c)t=t.cloneNode(!0);else if(!o)return r(t).remove();o.insertBefore(t,n),u&&function e(t,n){n(t);for(var r=0,i=t.childNodes.length;r<i;r++)e(t.childNodes[r],n)}(t,function(t){if(!(null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src)){var n=t.ownerDocument?t.ownerDocument.defaultView:e;n.eval.call(n,t.innerHTML)}})})})},r.fn[s?n+"To":"insert"+(i?"Before":"After")]=function(e){return r(e)[n](this),this}}),O.Z.prototype=F.prototype=r.fn,O.uniq=o,O.deserializeValue=W,r.zepto=O,r}();return function(t){var n,r=1,i=Array.prototype.slice,s=t.isFunction,o=function(e){return"string"==typeof e},a={},c={},u="onfocusin"in e,l={focus:"focusin",blur:"focusout"},h={mouseenter:"mouseover",mouseleave:"mouseout"};function d(e){return e._zid||(e._zid=r++)}function f(e,t,n,r){if((t=p(t)).ns)var i=function(e){return new RegExp("(?:^| )"+e.replace(" "," .* ?")+"(?: |$)")}(t.ns);return(a[d(e)]||[]).filter(function(e){return e&&(!t.e||e.e==t.e)&&(!t.ns||i.test(e.ns))&&(!n||d(e.fn)===d(n))&&(!r||e.sel==r)})}function p(e){var t=(""+e).split(".");return{e:t[0],ns:t.slice(1).sort().join(" ")}}function g(e,t){return e.del&&!u&&e.e in l||!!t}function m(e){return h[e]||u&&l[e]||e}function v(e,r,i,s,o,c,u){var l=d(e),f=a[l]||(a[l]=[]);r.split(/\s/).forEach(function(r){if("ready"==r)return t(document).ready(i);var a=p(r);a.fn=i,a.sel=o,a.e in h&&(i=function(e){var n=e.relatedTarget;if(!n||n!==this&&!t.contains(this,n))return a.fn.apply(this,arguments)}),a.del=c;var l=c||i;a.proxy=function(t){if(!(t=x(t)).isImmediatePropagationStopped()){try{var r=Object.getOwnPropertyDescriptor(t,"data");r&&!r.writable||(t.data=s)}catch(t){}var i=l.apply(e,t._args==n?[t]:[t].concat(t._args));return!1===i&&(t.preventDefault(),t.stopPropagation()),i}},a.i=f.length,f.push(a),"addEventListener"in e&&e.addEventListener(m(a.e),a.proxy,g(a,u))})}function y(e,t,n,r,i){var s=d(e);(t||"").split(/\s/).forEach(function(t){f(e,t,n,r).forEach(function(t){delete a[s][t.i],"removeEventListener"in e&&e.removeEventListener(m(t.e),t.proxy,g(t,i))})})}c.click=c.mousedown=c.mouseup=c.mousemove="MouseEvents",t.event={add:v,remove:y},t.proxy=function(e,n){var r=2 in arguments&&i.call(arguments,2);if(s(e)){var a=function(){return e.apply(n,r?r.concat(i.call(arguments)):arguments)};return a._zid=d(e),a}if(o(n))return r?(r.unshift(e[n],e),t.proxy.apply(null,r)):t.proxy(e[n],e);throw new TypeError("expected function")},t.fn.bind=function(e,t,n){return this.on(e,t,n)},t.fn.unbind=function(e,t){return this.off(e,t)},t.fn.one=function(e,t,n,r){return this.on(e,t,n,r,1)};var b=function(){return!0},w=function(){return!1},_=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,E={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};function x(e,r){return!r&&e.isDefaultPrevented||(r||(r=e),t.each(E,function(t,n){var i=r[t];e[t]=function(){return this[n]=b,i&&i.apply(r,arguments)},e[n]=w}),e.timeStamp||(e.timeStamp=Date.now()),(r.defaultPrevented!==n?r.defaultPrevented:"returnValue"in r?!1===r.returnValue:r.getPreventDefault&&r.getPreventDefault())&&(e.isDefaultPrevented=b)),e}function S(e){var t,r={originalEvent:e};for(t in e)_.test(t)||e[t]===n||(r[t]=e[t]);return x(r,e)}t.fn.delegate=function(e,t,n){return this.on(t,e,n)},t.fn.undelegate=function(e,t,n){return this.off(t,e,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,r,a,c,u){var l,h,d=this;return e&&!o(e)?(t.each(e,function(e,t){d.on(e,r,a,t,u)}),d):(o(r)||s(c)||!1===c||(c=a,a=r,r=n),c!==n&&!1!==a||(c=a,a=n),!1===c&&(c=w),d.each(function(n,s){u&&(l=function(e){return y(s,e.type,c),c.apply(this,arguments)}),r&&(h=function(e){var n,o=t(e.target).closest(r,s).get(0);if(o&&o!==s)return n=t.extend(S(e),{currentTarget:o,liveFired:s}),(l||c).apply(o,[n].concat(i.call(arguments,1)))}),v(s,e,c,a,r,h||l)}))},t.fn.off=function(e,r,i){var a=this;return e&&!o(e)?(t.each(e,function(e,t){a.off(e,r,t)}),a):(o(r)||s(i)||!1===i||(i=r,r=n),!1===i&&(i=w),a.each(function(){y(this,e,i,r)}))},t.fn.trigger=function(e,n){return(e=o(e)||t.isPlainObject(e)?t.Event(e):x(e))._args=n,this.each(function(){e.type in l&&"function"==typeof this[e.type]?this[e.type]():"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,n)})},t.fn.triggerHandler=function(e,n){var r,i;return this.each(function(s,a){(r=S(o(e)?t.Event(e):e))._args=n,r.target=a,t.each(f(a,e.type||e),function(e,t){if(i=t.proxy(r),r.isImmediatePropagationStopped())return!1})}),i},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return 0 in arguments?this.bind(e,t):this.trigger(e)}}),t.Event=function(e,t){o(e)||(e=(t=e).type);var n=document.createEvent(c[e]||"Events"),r=!0;if(t)for(var i in t)"bubbles"==i?r=!!t[i]:n[i]=t[i];return n.initEvent(e,r,!0),x(n)}}(t),function(e){var n,r=[];t.fn.remove=function(){return this.each(function(){this.parentNode&&("IMG"===this.tagName&&(r.push(this),this.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",n&&clearTimeout(n),n=setTimeout(function(){r=[]},6e4)),this.parentNode.removeChild(this))})}}(),function(e){var t={},n=e.fn.data,r=e.camelCase,i=e.expando="Zepto"+ +new Date,s=[];function o(n,o,a){var c=n[i]||(n[i]=++e.uuid),u=t[c]||(t[c]=function(t){var n={};return e.each(t.attributes||s,function(t,i){0==i.name.indexOf("data-")&&(n[r(i.name.replace("data-",""))]=e.zepto.deserializeValue(i.value))}),n}(n));return void 0!==o&&(u[r(o)]=a),u}e.fn.data=function(s,a){return void 0===a?e.isPlainObject(s)?this.each(function(t,n){e.each(s,function(e,t){o(n,e,t)})}):0 in this?function(s,a){var c=s[i],u=c&&t[c];if(void 0===a)return u||o(s);if(u){if(a in u)return u[a];var l=r(a);if(l in u)return u[l]}return n.call(e(s),a)}(this[0],s):void 0:this.each(function(){o(this,s,a)})},e.data=function(t,n,r){return e(t).data(n,r)},e.hasData=function(n){var r=n[i],s=r&&t[r];return!!s&&!e.isEmptyObject(s)},e.fn.removeData=function(n){return"string"==typeof n&&(n=n.split(/\s+/)),this.each(function(){var s=this[i],o=s&&t[s];o&&e.each(n||o,function(e){delete o[n?r(this):e]})})},["remove","empty"].forEach(function(t){var n=e.fn[t];e.fn[t]=function(){var e=this.find("*");return"remove"===t&&(e=e.add(this)),e.removeData(),n.call(this)}})}(t),t}(t)}(window)},function(e,t,n){"use strict";var r=n(0),i=n(1);function s(e){e&&e.el||r.error("EventBus initialized without el"),this.$el=i.element(e.el)}r.mixin(s.prototype,{trigger:function(e){var t=[].slice.call(arguments,1),n=r.Event("autocomplete:"+e);return this.$el.trigger(n,t),n}}),e.exports=s},function(e,t,n){"use strict";e.exports={wrapper:'<span class="%ROOT%"></span>',dropdown:'<span class="%PREFIX%%DROPDOWN_MENU%"></span>',dataset:'<div class="%PREFIX%%DATASET%-%CLASS%"></div>',suggestions:'<span class="%PREFIX%%SUGGESTIONS%"></span>',suggestion:'<div class="%PREFIX%%SUGGESTION%"></div>'}},function(e,t){e.exports="0.32.0"},function(e,t,n){"use strict";e.exports=function(e){var t=e.match(/Algolia for vanilla JavaScript (\d+\.)(\d+\.)(\d+)/);if(t)return[t[1],t[2],t[3]]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(15));t.default=r.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="2.6.1"},function(e,t,n){"use strict";var r=function(e){return e&&e.__esModule?e:{default:e}}(n(23));e.exports=r.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(n(24)),i=o(n(25)),s=o(n(21));function o(e){return e&&e.__esModule?e:{default:e}}var a=(0,r.default)(i.default);a.version=s.default,t.default=a},function(e,t,n){"use strict";var r=Function.prototype.bind;e.exports=function(e){var t=function(){for(var t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];return new(r.apply(e,[null].concat(n)))};return t.__proto__=e,t.prototype=e.prototype,t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=d(n(26)),o=d(n(29)),a=d(n(49)),c=d(n(64)),u=d(n(65)),l=d(n(21)),h=d(n(20));function d(e){return e&&e.__esModule?e:{default:e}}var f=function(){function e(t){var n=t.apiKey,i=t.indexName,s=t.inputSelector,u=t.appId,d=void 0===u?"BH4D9OD16A":u,f=t.debug,p=void 0!==f&&f,g=t.algoliaOptions,m=void 0===g?{}:g,v=t.autocompleteOptions,y=void 0===v?{debug:!1,hint:!1,autoselect:!0}:v,b=t.transformData,w=void 0!==b&&b,_=t.queryHook,E=void 0!==_&&_,x=t.handleSelected,S=void 0!==x&&x,C=t.enhancedSearchInput,A=void 0!==C&&C,N=t.layout,O=void 0===N?"collumns":N;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),e.checkArguments({apiKey:n,indexName:i,inputSelector:s,debug:p,algoliaOptions:m,autocompleteOptions:y,transformData:w,queryHook:E,handleSelected:S,enhancedSearchInput:A,layout:O}),this.apiKey=n,this.appId=d,this.indexName=i,this.input=e.getInputFromSelector(s),this.algoliaOptions=r({hitsPerPage:5},m);var T=!(!y||!y.debug)&&y.debug;y.debug=p||T,this.autocompleteOptions=y,this.autocompleteOptions.cssClasses=this.autocompleteOptions.cssClasses||{},this.autocompleteOptions.cssClasses.prefix=this.autocompleteOptions.cssClasses.prefix||"ds",S=S||this.handleSelected,this.isSimpleLayout="simple"===O,this.client=(0,o.default)(this.appId,this.apiKey),this.client.addAlgoliaAgent("docsearch.js "+l.default),A&&(this.input=e.injectSearchBox(this.input)),this.autocomplete=(0,a.default)(this.input,y,[{source:this.getAutocompleteSource(w,E),templates:{suggestion:e.getSuggestionTemplate(this.isSimpleLayout),footer:c.default.footer,empty:e.getEmptyTemplate()}}]),S&&(0,h.default)(".algolia-autocomplete").on("click",".ds-suggestions a",function(e){e.preventDefault()}),this.autocomplete.on("autocomplete:selected",S.bind(null,this.autocomplete.autocomplete)),this.autocomplete.on("autocomplete:shown",this.handleShown.bind(null,this.input)),A&&e.bindSearchBoxEvent()}return i(e,[{key:"getAutocompleteSource",value:function(t,n){var r=this;return function(i,s){n&&(i=n(i)||i),r.client.search([{indexName:r.indexName,query:i,params:r.algoliaOptions}]).then(function(n){var r=n.results[0].hits;t&&(r=t(r)||r),s(e.formatHits(r))})}}},{key:"handleSelected",value:function(e,t,n){e.setVal(""),window.location.assign(n.url)}},{key:"handleShown",value:function(e){var t=e.offset().left+e.width()/2,n=(0,h.default)(document).width()/2;isNaN(n)&&(n=900);var r=t-n>=0?"algolia-autocomplete-right":"algolia-autocomplete-left",i=t-n<0?"algolia-autocomplete-right":"algolia-autocomplete-left",s=(0,h.default)(".algolia-autocomplete");s.hasClass(r)||s.addClass(r),s.hasClass(i)&&s.removeClass(i)}}],[{key:"checkArguments",value:function(t){if(!t.apiKey||!t.indexName)throw new Error("Usage:\n  documentationSearch({\n  apiKey,\n  indexName,\n  inputSelector,\n  [ appId ],\n  [ algoliaOptions.{hitsPerPage} ]\n  [ autocompleteOptions.{hint,debug} ]\n})");if("string"!=typeof t.inputSelector)throw new Error("Error: inputSelector:"+t.inputSelector+"  must be a string. Each selector must match only one element and separated by ','");if(!e.getInputFromSelector(t.inputSelector))throw new Error("Error: No input element in the page matches "+t.inputSelector)}},{key:"injectSearchBox",value:function(e){e.before(c.default.searchBox);var t=e.prev().prev().find("input");return e.remove(),t}},{key:"bindSearchBoxEvent",value:function(){(0,h.default)('.searchbox [type="reset"]').on("click",function(){(0,h.default)("input#docsearch").focus(),(0,h.default)(this).addClass("hide"),a.default.autocomplete.setVal("")}),(0,h.default)("input#docsearch").on("keyup",function(){var e=document.querySelector("input#docsearch"),t=document.querySelector('.searchbox [type="reset"]');t.className="searchbox__reset",0===e.value.length&&(t.className+=" hide")})}},{key:"getInputFromSelector",value:function(e){var t=(0,h.default)(e).filter("input");return t.length?(0,h.default)(t[0]):null}},{key:"formatHits",value:function(t){var n=u.default.deepClone(t).map(function(e){return e._highlightResult&&(e._highlightResult=u.default.mergeKeyWithParent(e._highlightResult,"hierarchy")),u.default.mergeKeyWithParent(e,"hierarchy")}),r=u.default.groupBy(n,"lvl0");return h.default.each(r,function(e,t){var n=u.default.groupBy(t,"lvl1"),i=u.default.flattenAndFlagFirst(n,"isSubCategoryHeader");r[e]=i}),(r=u.default.flattenAndFlagFirst(r,"isCategoryHeader")).map(function(t){var n=e.formatURL(t),r=u.default.getHighlightedValue(t,"lvl0"),i=u.default.getHighlightedValue(t,"lvl1")||r,s=u.default.compact([u.default.getHighlightedValue(t,"lvl2")||i,u.default.getHighlightedValue(t,"lvl3"),u.default.getHighlightedValue(t,"lvl4"),u.default.getHighlightedValue(t,"lvl5"),u.default.getHighlightedValue(t,"lvl6")]).join('<span class="aa-suggestion-title-separator" aria-hidden="true"> › </span>'),o=u.default.getSnippetedValue(t,"content"),a=i&&""!==i||s&&""!==s,c=s&&""!==s&&s!==i,l=!c&&i&&""!==i&&i!==r;return{isLvl0:!l&&!c,isLvl1:l,isLvl2:c,isLvl1EmptyOrDuplicate:!i||""===i||i===r,isCategoryHeader:t.isCategoryHeader,isSubCategoryHeader:t.isSubCategoryHeader,isTextOrSubcategoryNonEmpty:a,category:r,subcategory:i,title:s,text:o,url:n}})}},{key:"formatURL",value:function(e){var t=e.url,n=e.anchor;return t?-1!==t.indexOf("#")?t:n?e.url+"#"+e.anchor:t:n?"#"+e.anchor:(console.warn("no anchor nor url for : ",JSON.stringify(e)),null)}},{key:"getEmptyTemplate",value:function(){return function(e){return s.default.compile(c.default.empty).render(e)}}},{key:"getSuggestionTemplate",value:function(e){var t=e?c.default.suggestionSimple:c.default.suggestion,n=s.default.compile(t);return function(e){return n.render(e)}}}]),e}();t.default=f},function(e,t,n){var r=n(27);r.Template=n(28).Template,r.template=r.Template,e.exports=r},function(e,t,n){!function(e){var t=/\S/,n=/\"/g,r=/\n/g,i=/\r/g,s=/\\/g,o=/\u2028/,a=/\u2029/;function c(e){"}"===e.n.substr(e.n.length-1)&&(e.n=e.n.substring(0,e.n.length-1))}function u(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function l(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var r=1,i=e.length;r<i;r++)if(t.charAt(n+r)!=e.charAt(r))return!1;return!0}e.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(n,r){var i=n.length,s=0,o=null,a=null,h="",d=[],f=!1,p=0,g=0,m="{{",v="}}";function y(){h.length>0&&(d.push({tag:"_t",text:new String(h)}),h="")}function b(n,r){if(y(),n&&function(){for(var n=!0,r=g;r<d.length;r++)if(!(n=e.tags[d[r].tag]<e.tags._v||"_t"==d[r].tag&&null===d[r].text.match(t)))return!1;return n}())for(var i,s=g;s<d.length;s++)d[s].text&&((i=d[s+1])&&">"==i.tag&&(i.indent=d[s].text.toString()),d.splice(s,1));else r||d.push({tag:"\n"});f=!1,g=d.length}function w(e,t){var n="="+v,r=e.indexOf(n,t),i=u(e.substring(e.indexOf("=",t)+1,r)).split(" ");return m=i[0],v=i[i.length-1],r+n.length-1}for(r&&(r=r.split(" "),m=r[0],v=r[1]),p=0;p<i;p++)0==s?l(m,n,p)?(--p,y(),s=1):"\n"==n.charAt(p)?b(f):h+=n.charAt(p):1==s?(p+=m.length-1,"="==(o=(a=e.tags[n.charAt(p+1)])?n.charAt(p+1):"_v")?(p=w(n,p),s=0):(a&&p++,s=2),f=p):l(v,n,p)?(d.push({tag:o,n:u(h),otag:m,ctag:v,i:"/"==o?f-m.length:p+v.length}),h="",p+=v.length-1,s=0,"{"==o&&("}}"==v?p++:c(d[d.length-1]))):h+=n.charAt(p);return b(f,!0),d};var h={_t:!0,"\n":!0,$:!0,"/":!0};function d(e,t){for(var n=0,r=t.length;n<r;n++)if(t[n].o==e.n)return e.tag="#",!0}function f(e,t,n){for(var r=0,i=n.length;r<i;r++)if(n[r].c==e&&n[r].o==t)return!0}function p(e){var t=[];for(var n in e.partials)t.push('"'+m(n)+'":{name:"'+m(e.partials[n].name)+'", '+p(e.partials[n])+"}");return"partials: {"+t.join(",")+"}, subs: "+function(e){var t=[];for(var n in e)t.push('"'+m(n)+'": function(c,p,t,i) {'+e[n]+"}");return"{ "+t.join(",")+" }"}(e.subs)}e.stringify=function(t,n,r){return"{code: function (c,p,i) { "+e.wrapMain(t.code)+" },"+p(t)+"}"};var g=0;function m(e){return e.replace(s,"\\\\").replace(n,'\\"').replace(r,"\\n").replace(i,"\\r").replace(o,"\\u2028").replace(a,"\\u2029")}function v(e){return~e.indexOf(".")?"d":"f"}function y(e,t){var n="<"+(t.prefix||"")+e.n+g++;return t.partials[n]={name:e.n,partials:{}},t.code+='t.b(t.rp("'+m(n)+'",c,p,"'+(e.indent||"")+'"));',n}function b(e,t){t.code+="t.b(t.t(t."+v(e.n)+'("'+m(e.n)+'",c,p,0)));'}function w(e){return"t.b("+e+");"}e.generate=function(t,n,r){g=0;var i={code:"",subs:{},partials:{}};return e.walk(t,i),r.asString?this.stringify(i,n,r):this.makeTemplate(i,n,r)},e.wrapMain=function(e){return'var t=this;t.b(i=i||"");'+e+"return t.fl();"},e.template=e.Template,e.makeTemplate=function(e,t,n){var r=this.makePartials(e);return r.code=new Function("c","p","i",this.wrapMain(e.code)),new this.template(r,t,this,n)},e.makePartials=function(e){var t,n={subs:{},partials:e.partials,name:e.name};for(t in n.partials)n.partials[t]=this.makePartials(n.partials[t]);for(t in e.subs)n.subs[t]=new Function("c","p","t","i",e.subs[t]);return n},e.codegen={"#":function(t,n){n.code+="if(t.s(t."+v(t.n)+'("'+m(t.n)+'",c,p,1),c,p,0,'+t.i+","+t.end+',"'+t.otag+" "+t.ctag+'")){t.rs(c,p,function(c,p,t){',e.walk(t.nodes,n),n.code+="});c.pop();}"},"^":function(t,n){n.code+="if(!t.s(t."+v(t.n)+'("'+m(t.n)+'",c,p,1),c,p,1,0,0,"")){',e.walk(t.nodes,n),n.code+="};"},">":y,"<":function(t,n){var r={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,r);var i=n.partials[y(t,n)];i.subs=r.subs,i.partials=r.partials},$:function(t,n){var r={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,r),n.subs[t.n]=r.code,n.inPartial||(n.code+='t.sub("'+m(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=w('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+v(e.n)+'("'+m(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=w('"'+m(e.text)+'"')},"{":b,"&":b},e.walk=function(t,n){for(var r,i=0,s=t.length;i<s;i++)(r=e.codegen[t[i].tag])&&r(t[i],n);return n},e.parse=function(t,n,r){return function t(n,r,i,s){var o,a=[],c=null,u=null;for(o=i[i.length-1];n.length>0;){if(u=n.shift(),o&&"<"==o.tag&&!(u.tag in h))throw new Error("Illegal content in < super tag.");if(e.tags[u.tag]<=e.tags.$||d(u,s))i.push(u),u.nodes=t(n,u.tag,i,s);else{if("/"==u.tag){if(0===i.length)throw new Error("Closing tag without opener: /"+u.n);if(c=i.pop(),u.n!=c.n&&!f(u.n,c.n,s))throw new Error("Nesting error: "+c.n+" vs. "+u.n);return c.end=u.i,a}"\n"==u.tag&&(u.last=0==n.length||"\n"==n[0].tag)}a.push(u)}if(i.length>0)throw new Error("missing closing tag: "+i.pop().n);return a}(t,0,[],(r=r||{}).sectionTags||[])},e.cache={},e.cacheKey=function(e,t){return[e,!!t.asString,!!t.disableLambda,t.delimiters,!!t.modelGet].join("||")},e.compile=function(t,n){n=n||{};var r=e.cacheKey(t,n),i=this.cache[r];if(i){var s=i.partials;for(var o in s)delete s[o].instance;return i}return i=this.generate(this.parse(this.scan(t,n.delimiters),t,n),t,n),this.cache[r]=i}}(t)},function(e,t,n){!function(e){function t(e,t,n){var r;return t&&"object"==typeof t&&(void 0!==t[e]?r=t[e]:n&&t.get&&"function"==typeof t.get&&(r=t.get(e))),r}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:function(e){return e=c(e),a.test(e)?e.replace(n,"&amp;").replace(r,"&lt;").replace(i,"&gt;").replace(s,"&#39;").replace(o,"&quot;"):e},t:c,render:function(e,t,n){return this.ri([e],t||{},n)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var n=this.partials[e],r=t[n.name];if(n.instance&&n.base==r)return n.instance;if("string"==typeof r){if(!this.c)throw new Error("No compiler available.");r=this.c.compile(r,this.options)}if(!r)return null;if(this.partials[e].base=r,n.subs){for(key in t.stackText||(t.stackText={}),n.subs)t.stackText[key]||(t.stackText[key]=void 0!==this.activeSub&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);r=function(e,t,n,r,i,s){function o(){}function a(){}var c;o.prototype=e,a.prototype=e.subs;var u=new o;for(c in u.subs=new a,u.subsText={},u.buf="",r=r||{},u.stackSubs=r,u.subsText=s,t)r[c]||(r[c]=t[c]);for(c in r)u.subs[c]=r[c];for(c in i=i||{},u.stackPartials=i,n)i[c]||(i[c]=n[c]);for(c in i)u.partials[c]=i[c];return u}(r,n.subs,n.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=r,r},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):""},rs:function(e,t,n){var r=e[e.length-1];if(u(r))for(var i=0;i<r.length;i++)e.push(r[i]),n(e,t,this),e.pop();else n(e,t,this)},s:function(e,t,n,r,i,s,o){var a;return(!u(e)||0!==e.length)&&("function"==typeof e&&(e=this.ms(e,t,n,r,i,s,o)),a=!!e,!r&&a&&t&&t.push("object"==typeof e?e:t[t.length-1]),a)},d:function(e,n,r,i){var s,o=e.split("."),a=this.f(o[0],n,r,i),c=this.options.modelGet,l=null;if("."===e&&u(n[n.length-2]))a=n[n.length-1];else for(var h=1;h<o.length;h++)void 0!==(s=t(o[h],a,c))?(l=a,a=s):a="";return!(i&&!a)&&(i||"function"!=typeof a||(n.push(l),a=this.mv(a,n,r),n.pop()),a)},f:function(e,n,r,i){for(var s=!1,o=!1,a=this.options.modelGet,c=n.length-1;c>=0;c--)if(void 0!==(s=t(e,n[c],a))){o=!0;break}return o?(i||"function"!=typeof s||(s=this.mv(s,n,r)),s):!i&&""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(c(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var a,c=t[t.length-1],u=e.call(c);return"function"==typeof u?!!r||(a=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(u,c,n,a.substring(i,s),o)):u},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return"function"==typeof i?this.ct(c(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var n=/&/g,r=/</g,i=/>/g,s=/\'/g,o=/\"/g,a=/[&<>\"\']/;function c(e){return String(null===e||void 0===e?"":e)}var u=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}}(t)},function(e,t,n){"use strict";var r=n(30),i=n(41);e.exports=i(r,"(lite) ")},function(e,t,n){e.exports=c;var r=n(5),i=n(31),s=n(32),o=n(38),a=Object({NODE_ENV:"production"}).RESET_APP_DATA_TIMER&&parseInt(Object({NODE_ENV:"production"}).RESET_APP_DATA_TIMER,10)||12e4;function c(e,t,i){var s=n(8)("algoliasearch"),o=n(3),a=n(6),c=n(7),l="Usage: algoliasearch(applicationID, apiKey, opts)";if(!0!==i._allowEmptyCredentials&&!e)throw new r.AlgoliaSearchError("Please provide an application ID. "+l);if(!0!==i._allowEmptyCredentials&&!t)throw new r.AlgoliaSearchError("Please provide an API key. "+l);this.applicationID=e,this.apiKey=t,this.hosts={read:[],write:[]},i=i||{},this._timeouts=i.timeouts||{connect:1e3,read:2e3,write:3e4},i.timeout&&(this._timeouts.connect=this._timeouts.read=this._timeouts.write=i.timeout);var h=i.protocol||"https:";if(/:$/.test(h)||(h+=":"),"http:"!==h&&"https:"!==h)throw new r.AlgoliaSearchError("protocol must be `http:` or `https:` (was `"+i.protocol+"`)");if(this._checkAppIdData(),i.hosts)a(i.hosts)?(this.hosts.read=o(i.hosts),this.hosts.write=o(i.hosts)):(this.hosts.read=o(i.hosts.read),this.hosts.write=o(i.hosts.write));else{var d=c(this._shuffleResult,function(t){return e+"-"+t+".algolianet.com"}),f=(!1===i.dsn?"":"-dsn")+".algolia.net";this.hosts.read=[this.applicationID+f].concat(d),this.hosts.write=[this.applicationID+".algolia.net"].concat(d)}this.hosts.read=c(this.hosts.read,u(h)),this.hosts.write=c(this.hosts.write,u(h)),this.extraHeaders={},this.cache=i._cache||{},this._ua=i._ua,this._useCache=!(void 0!==i._useCache&&!i._cache)||i._useCache,this._useRequestCache=this._useCache&&i._useRequestCache,this._useFallback=void 0===i.useFallback||i.useFallback,this._setTimeout=i._setTimeout,s("init done, %j",this)}function u(e){return function(t){return e+"//"+t.toLowerCase()}}function l(e){if(void 0===Array.prototype.toJSON)return JSON.stringify(e);var t=Array.prototype.toJSON;delete Array.prototype.toJSON;var n=JSON.stringify(e);return Array.prototype.toJSON=t,n}function h(e){var t={};for(var n in e){var r;if(Object.prototype.hasOwnProperty.call(e,n))r="x-algolia-api-key"===n||"x-algolia-application-id"===n?"**hidden for security purposes**":e[n],t[n]=r}return t}c.prototype.initIndex=function(e){return new s(this,e)},c.prototype.setExtraHeader=function(e,t){this.extraHeaders[e.toLowerCase()]=t},c.prototype.getExtraHeader=function(e){return this.extraHeaders[e.toLowerCase()]},c.prototype.unsetExtraHeader=function(e){delete this.extraHeaders[e.toLowerCase()]},c.prototype.addAlgoliaAgent=function(e){-1===this._ua.indexOf(";"+e)&&(this._ua+=";"+e)},c.prototype._jsonRequest=function(e){this._checkAppIdData();var t,s,o,a=n(8)("algoliasearch:"+e.url),c=e.additionalUA||"",u=e.cache,d=this,f=0,p=!1,g=d._useFallback&&d._request.fallback&&e.fallback;this.apiKey.length>500&&void 0!==e.body&&(void 0!==e.body.params||void 0!==e.body.requests)?(e.body.apiKey=this.apiKey,o=this._computeRequestHeaders({additionalUA:c,withApiKey:!1,headers:e.headers})):o=this._computeRequestHeaders({additionalUA:c,headers:e.headers}),void 0!==e.body&&(t=l(e.body)),a("request start");var m=[];function v(e,t,n){return d._useCache&&e&&t&&void 0!==t[n]}function y(t,n){if(v(d._useRequestCache,u,s)&&t.catch(function(){delete u[s]}),"function"!=typeof e.callback)return t.then(n);t.then(function(t){i(function(){e.callback(null,n(t))},d._setTimeout||setTimeout)},function(t){i(function(){e.callback(t)},d._setTimeout||setTimeout)})}if(d._useCache&&d._useRequestCache&&(s=e.url),d._useCache&&d._useRequestCache&&t&&(s+="_body_"+t),v(d._useRequestCache,u,s)){a("serving request from cache");var b=u[s];return y("function"!=typeof b.then?d._promise.resolve({responseText:b}):b,function(e){return JSON.parse(e.responseText)})}var w=function n(i,y){d._checkAppIdData();var b=new Date;if(d._useCache&&!d._useRequestCache&&(s=e.url),d._useCache&&!d._useRequestCache&&t&&(s+="_body_"+y.body),v(!d._useRequestCache,u,s)){a("serving response from cache");var w=u[s];return d._promise.resolve({body:JSON.parse(w),responseText:w})}if(f>=d.hosts[e.hostType].length)return!g||p?(a("could not get any response"),d._promise.reject(new r.AlgoliaSearchError("Cannot connect to the AlgoliaSearch API. Send an email to support@algolia.com to report and resolve the issue. Application id was: "+d.applicationID,{debugData:m}))):(a("switching to fallback"),f=0,y.method=e.fallback.method,y.url=e.fallback.url,y.jsonBody=e.fallback.body,y.jsonBody&&(y.body=l(y.jsonBody)),o=d._computeRequestHeaders({additionalUA:c,headers:e.headers}),y.timeouts=d._getTimeoutsForRequest(e.hostType),d._setHostIndexByType(0,e.hostType),p=!0,n(d._request.fallback,y));var _=d._getHostByType(e.hostType),E=_+y.url,x={body:y.body,jsonBody:y.jsonBody,method:y.method,headers:o,timeouts:y.timeouts,debug:a,forceAuthHeaders:y.forceAuthHeaders};return a("method: %s, url: %s, headers: %j, timeouts: %d",x.method,E,x.headers,x.timeouts),i===d._request.fallback&&a("using fallback"),i.call(d,E,x).then(function(e){var n=e&&e.body&&e.body.message&&e.body.status||e.statusCode||e&&e.body&&200;a("received response: statusCode: %s, computed statusCode: %d, headers: %j",e.statusCode,n,e.headers);var i=2===Math.floor(n/100),c=new Date;if(m.push({currentHost:_,headers:h(o),content:t||null,contentLength:void 0!==t?t.length:null,method:y.method,timeouts:y.timeouts,url:y.url,startTime:b,endTime:c,duration:c-b,statusCode:n}),i)return d._useCache&&!d._useRequestCache&&u&&(u[s]=e.responseText),{responseText:e.responseText,body:e.body};if(4!==Math.floor(n/100))return f+=1,S();a("unrecoverable error");var l=new r.AlgoliaSearchError(e.body&&e.body.message,{debugData:m,statusCode:n});return d._promise.reject(l)},function(s){a("error: %s, stack: %s",s.message,s.stack);var c=new Date;return m.push({currentHost:_,headers:h(o),content:t||null,contentLength:void 0!==t?t.length:null,method:y.method,timeouts:y.timeouts,url:y.url,startTime:b,endTime:c,duration:c-b}),s instanceof r.AlgoliaSearchError||(s=new r.Unknown(s&&s.message,s)),f+=1,s instanceof r.Unknown||s instanceof r.UnparsableJSON||f>=d.hosts[e.hostType].length&&(p||!g)?(s.debugData=m,d._promise.reject(s)):s instanceof r.RequestTimeout?(a("retrying request with higher timeout"),d._incrementHostIndex(e.hostType),d._incrementTimeoutMultipler(),y.timeouts=d._getTimeoutsForRequest(e.hostType),n(i,y)):S()});function S(){return a("retrying request"),d._incrementHostIndex(e.hostType),n(i,y)}}(d._request,{url:e.url,method:e.method,body:t,jsonBody:e.body,timeouts:d._getTimeoutsForRequest(e.hostType),forceAuthHeaders:e.forceAuthHeaders});return d._useCache&&d._useRequestCache&&u&&(u[s]=w),y(w,function(e){return e.body})},c.prototype._getSearchParams=function(e,t){if(void 0===e||null===e)return t;for(var n in e)null!==n&&void 0!==e[n]&&e.hasOwnProperty(n)&&(t+=""===t?"":"&",t+=n+"="+encodeURIComponent("[object Array]"===Object.prototype.toString.call(e[n])?l(e[n]):e[n]));return t},c.prototype._computeRequestHeaders=function(e){var t=n(2),r={"x-algolia-agent":e.additionalUA?this._ua+";"+e.additionalUA:this._ua,"x-algolia-application-id":this.applicationID};return!1!==e.withApiKey&&(r["x-algolia-api-key"]=this.apiKey),this.userToken&&(r["x-algolia-usertoken"]=this.userToken),this.securityTags&&(r["x-algolia-tagfilters"]=this.securityTags),t(this.extraHeaders,function(e,t){r[t]=e}),e.headers&&t(e.headers,function(e,t){r[t]=e}),r},c.prototype.search=function(e,t,r){var i=n(6),s=n(7);if(!i(e))throw new Error("Usage: client.search(arrayOfQueries[, callback])");"function"==typeof t?(r=t,t={}):void 0===t&&(t={});var o=this,a={requests:s(e,function(e){var t="";return void 0!==e.query&&(t+="query="+encodeURIComponent(e.query)),{indexName:e.indexName,params:o._getSearchParams(e.params,t)}})},c=s(a.requests,function(e,t){return t+"="+encodeURIComponent("/1/indexes/"+encodeURIComponent(e.indexName)+"?"+e.params)}).join("&");return void 0!==t.strategy&&(a.strategy=t.strategy),this._jsonRequest({cache:this.cache,method:"POST",url:"/1/indexes/*/queries",body:a,hostType:"read",fallback:{method:"GET",url:"/1/indexes/*",body:{params:c}},callback:r})},c.prototype.searchForFacetValues=function(e){var t=n(6),r=n(7),i="Usage: client.searchForFacetValues([{indexName, params: {facetName, facetQuery, ...params}}, ...queries])";if(!t(e))throw new Error(i);var s=this;return s._promise.all(r(e,function(e){if(!e||void 0===e.indexName||void 0===e.params.facetName||void 0===e.params.facetQuery)throw new Error(i);var t=n(3),r=n(14),o=e.indexName,a=e.params,c=a.facetName,u=r(t(a),function(e){return"facetName"===e}),l=s._getSearchParams(u,"");return s._jsonRequest({cache:s.cache,method:"POST",url:"/1/indexes/"+encodeURIComponent(o)+"/facets/"+encodeURIComponent(c)+"/query",hostType:"read",body:{params:l}})}))},c.prototype.setSecurityTags=function(e){if("[object Array]"===Object.prototype.toString.call(e)){for(var t=[],n=0;n<e.length;++n)if("[object Array]"===Object.prototype.toString.call(e[n])){for(var r=[],i=0;i<e[n].length;++i)r.push(e[n][i]);t.push("("+r.join(",")+")")}else t.push(e[n]);e=t.join(",")}this.securityTags=e},c.prototype.setUserToken=function(e){this.userToken=e},c.prototype.clearCache=function(){this.cache={}},c.prototype.setRequestTimeout=function(e){e&&(this._timeouts.connect=this._timeouts.read=this._timeouts.write=e)},c.prototype.setTimeouts=function(e){this._timeouts=e},c.prototype.getTimeouts=function(){return this._timeouts},c.prototype._getAppIdData=function(){var e=o.get(this.applicationID);return null!==e&&this._cacheAppIdData(e),e},c.prototype._setAppIdData=function(e){return e.lastChange=(new Date).getTime(),this._cacheAppIdData(e),o.set(this.applicationID,e)},c.prototype._checkAppIdData=function(){var e=this._getAppIdData(),t=(new Date).getTime();return null===e||t-e.lastChange>a?this._resetInitialAppIdData(e):e},c.prototype._resetInitialAppIdData=function(e){var t=e||{};return t.hostIndexes={read:0,write:0},t.timeoutMultiplier=1,t.shuffleResult=t.shuffleResult||function(e){var t,n,r=e.length;for(;0!==r;)n=Math.floor(Math.random()*r),t=e[r-=1],e[r]=e[n],e[n]=t;return e}([1,2,3]),this._setAppIdData(t)},c.prototype._cacheAppIdData=function(e){this._hostIndexes=e.hostIndexes,this._timeoutMultiplier=e.timeoutMultiplier,this._shuffleResult=e.shuffleResult},c.prototype._partialAppIdDataUpdate=function(e){var t=n(2),r=this._getAppIdData();return t(e,function(e,t){r[t]=e}),this._setAppIdData(r)},c.prototype._getHostByType=function(e){return this.hosts[e][this._getHostIndexByType(e)]},c.prototype._getTimeoutMultiplier=function(){return this._timeoutMultiplier},c.prototype._getHostIndexByType=function(e){return this._hostIndexes[e]},c.prototype._setHostIndexByType=function(e,t){var r=n(3)(this._hostIndexes);return r[t]=e,this._partialAppIdDataUpdate({hostIndexes:r}),e},c.prototype._incrementHostIndex=function(e){return this._setHostIndexByType((this._getHostIndexByType(e)+1)%this.hosts[e].length,e)},c.prototype._incrementTimeoutMultipler=function(){var e=Math.max(this._timeoutMultiplier+1,4);return this._partialAppIdDataUpdate({timeoutMultiplier:e})},c.prototype._getTimeoutsForRequest=function(e){return{connect:this._timeouts.connect*this._timeoutMultiplier,complete:this._timeouts[e]*this._timeoutMultiplier}}},function(e,t){e.exports=function(e,t){t(e,0)}},function(e,t,n){var r=n(13),i=n(33),s=n(34);function o(e,t){this.indexName=t,this.as=e,this.typeAheadArgs=null,this.typeAheadValueOption=null,this.cache={}}e.exports=o,o.prototype.clearCache=function(){this.cache={}},o.prototype.search=r("query"),o.prototype.similarSearch=r("similarQuery"),o.prototype.browse=function(e,t,r){var i,s,o=n(35);0===arguments.length||1===arguments.length&&"function"==typeof arguments[0]?(i=0,r=arguments[0],e=void 0):"number"==typeof arguments[0]?(i=arguments[0],"number"==typeof arguments[1]?s=arguments[1]:"function"==typeof arguments[1]&&(r=arguments[1],s=void 0),e=void 0,t=void 0):"object"==typeof arguments[0]?("function"==typeof arguments[1]&&(r=arguments[1]),t=arguments[0],e=void 0):"string"==typeof arguments[0]&&"function"==typeof arguments[1]&&(r=arguments[1],t=void 0),t=o({},t||{},{page:i,hitsPerPage:s,query:e});var a=this.as._getSearchParams(t,"");return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/browse",body:{params:a},hostType:"read",callback:r})},o.prototype.browseFrom=function(e,t){return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/browse",body:{cursor:e},hostType:"read",callback:t})},o.prototype.searchForFacetValues=function(e,t){var r=n(3),i=n(14);if(void 0===e.facetName||void 0===e.facetQuery)throw new Error("Usage: index.searchForFacetValues({facetName, facetQuery, ...params}[, callback])");var s=e.facetName,o=i(r(e),function(e){return"facetName"===e}),a=this.as._getSearchParams(o,"");return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/facets/"+encodeURIComponent(s)+"/query",hostType:"read",body:{params:a},callback:t})},o.prototype.searchFacet=i(function(e,t){return this.searchForFacetValues(e,t)},s("index.searchFacet(params[, callback])","index.searchForFacetValues(params[, callback])")),o.prototype._search=function(e,t,n,r){return this.as._jsonRequest({cache:this.cache,method:"POST",url:t||"/1/indexes/"+encodeURIComponent(this.indexName)+"/query",body:{params:e},hostType:"read",fallback:{method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName),body:{params:e}},callback:n,additionalUA:r})},o.prototype.getObject=function(e,t,n){1!==arguments.length&&"function"!=typeof t||(n=t,t=void 0);var r="";if(void 0!==t){r="?attributes=";for(var i=0;i<t.length;++i)0!==i&&(r+=","),r+=t[i]}return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/"+encodeURIComponent(e)+r,hostType:"read",callback:n})},o.prototype.getObjects=function(e,t,r){var i=n(6),s=n(7);if(!i(e))throw new Error("Usage: index.getObjects(arrayOfObjectIDs[, callback])");var o=this;1!==arguments.length&&"function"!=typeof t||(r=t,t=void 0);var a={requests:s(e,function(e){var n={indexName:o.indexName,objectID:e};return t&&(n.attributesToRetrieve=t.join(",")),n})};return this.as._jsonRequest({method:"POST",url:"/1/indexes/*/objects",hostType:"read",body:a,callback:r})},o.prototype.as=null,o.prototype.indexName=null,o.prototype.typeAheadArgs=null,o.prototype.typeAheadValueOption=null},function(e,t){e.exports=function(e,t){var n=!1;return function(){return n||(console.warn(t),n=!0),e.apply(this,arguments)}}},function(e,t){e.exports=function(e,t){return"algoliasearch: `"+e+"` was replaced by `"+t+"`. Please see https://github.com/algolia/algoliasearch-client-javascript/wiki/Deprecated#"+e.toLowerCase().replace(/[\.\(\)]/g,"")}},function(e,t,n){var r=n(2);e.exports=function e(t){var n=Array.prototype.slice.call(arguments);return r(n,function(n){for(var r in n)n.hasOwnProperty(r)&&("object"==typeof t[r]&&"object"==typeof n[r]?t[r]=e({},t[r],n[r]):void 0!==n[r]&&(t[r]=n[r]))}),t}},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty,i=Object.prototype.toString,s=Array.prototype.slice,o=n(37),a=Object.prototype.propertyIsEnumerable,c=!a.call({toString:null},"toString"),u=a.call(function(){},"prototype"),l=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],h=function(e){var t=e.constructor;return t&&t.prototype===e},d={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},f=function(){if("undefined"==typeof window)return!1;for(var e in window)try{if(!d["$"+e]&&r.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{h(window[e])}catch(e){return!0}}catch(e){return!0}return!1}(),p=function(e){var t=null!==e&&"object"==typeof e,n="[object Function]"===i.call(e),s=o(e),a=t&&"[object String]"===i.call(e),d=[];if(!t&&!n&&!s)throw new TypeError("Object.keys called on a non-object");var p=u&&n;if(a&&e.length>0&&!r.call(e,0))for(var g=0;g<e.length;++g)d.push(String(g));if(s&&e.length>0)for(var m=0;m<e.length;++m)d.push(String(m));else for(var v in e)p&&"prototype"===v||!r.call(e,v)||d.push(String(v));if(c)for(var y=function(e){if("undefined"==typeof window||!f)return h(e);try{return h(e)}catch(e){return!1}}(e),b=0;b<l.length;++b)y&&"constructor"===l[b]||!r.call(e,l[b])||d.push(l[b]);return d};p.shim=function(){if(Object.keys){if(!function(){return 2===(Object.keys(arguments)||"").length}(1,2)){var e=Object.keys;Object.keys=function(t){return o(t)?e(s.call(t)):e(t)}}}else Object.keys=p;return Object.keys||p},e.exports=p},function(e,t,n){"use strict";var r=Object.prototype.toString;e.exports=function(e){var t=r.call(e),n="[object Arguments]"===t;return n||(n="[object Array]"!==t&&null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Function]"===r.call(e.callee)),n}},function(e,t,n){(function(t){var r,i=n(8)("algoliasearch:src/hostIndexState.js"),s="algoliasearch-client-js",o={state:{},set:function(e,t){return this.state[e]=t,this.state[e]},get:function(e){return this.state[e]||null}},a={set:function(e,n){o.set(e,n);try{var r=JSON.parse(t.localStorage[s]);return r[e]=n,t.localStorage[s]=JSON.stringify(r),r[e]}catch(t){return c(e,t)}},get:function(e){try{return JSON.parse(t.localStorage[s])[e]||null}catch(t){return c(e,t)}}};function c(e,n){return i("localStorage failed with",n),function(){try{t.localStorage.removeItem(s)}catch(e){}}(),(r=o).get(e)}function u(e,t){return 1===arguments.length?r.get(e):r.set(e,t)}function l(){try{return"localStorage"in t&&null!==t.localStorage&&(t.localStorage[s]||t.localStorage.setItem(s,JSON.stringify({})),!0)}catch(e){return!1}}r=l()?a:o,e.exports={get:u,set:u,supportsLocalStorage:l}}).call(t,n(4))},function(e,t,n){var r;function i(e){function n(){if(n.enabled){var e=n,i=+new Date,s=i-(r||i);e.diff=s,e.prev=r,e.curr=i,r=i;for(var o=new Array(arguments.length),a=0;a<o.length;a++)o[a]=arguments[a];o[0]=t.coerce(o[0]),"string"!=typeof o[0]&&o.unshift("%O");var c=0;o[0]=o[0].replace(/%([a-zA-Z%])/g,function(n,r){if("%%"===n)return n;c++;var i=t.formatters[r];if("function"==typeof i){var s=o[c];n=i.call(e,s),o.splice(c,1),c--}return n}),t.formatArgs.call(e,o),(n.log||t.log||console.log.bind(console)).apply(e,o)}}return n.namespace=e,n.enabled=t.enabled(e),n.useColors=t.useColors(),n.color=function(e){var n,r=0;for(n in e)r=(r<<5)-r+e.charCodeAt(n),r|=0;return t.colors[Math.abs(r)%t.colors.length]}(e),"function"==typeof t.init&&t.init(n),n}(t=e.exports=i.debug=i.default=i).coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){t.enable("")},t.enable=function(e){t.save(e),t.names=[],t.skips=[];for(var n=("string"==typeof e?e:"").split(/[\s,]+/),r=n.length,i=0;i<r;i++)n[i]&&("-"===(e=n[i].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.substr(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){var n,r;for(n=0,r=t.skips.length;n<r;n++)if(t.skips[n].test(e))return!1;for(n=0,r=t.names.length;n<r;n++)if(t.names[n].test(e))return!0;return!1},t.humanize=n(40),t.names=[],t.skips=[],t.formatters={}},function(e,t){var n=1e3,r=60*n,i=60*r,s=24*i,o=365.25*s;function a(e,t,n){if(!(e<t))return e<1.5*t?Math.floor(e/t)+" "+n:Math.ceil(e/t)+" "+n+"s"}e.exports=function(e,t){t=t||{};var c=typeof e;if("string"===c&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(!t)return;var a=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return a*o;case"days":case"day":case"d":return a*s;case"hours":case"hour":case"hrs":case"hr":case"h":return a*i;case"minutes":case"minute":case"mins":case"min":case"m":return a*r;case"seconds":case"second":case"secs":case"sec":case"s":return a*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}(e);if("number"===c&&!1===isNaN(e))return t.long?function(e){return a(e,s,"day")||a(e,i,"hour")||a(e,r,"minute")||a(e,n,"second")||e+" ms"}(e):function(e){if(e>=s)return Math.round(e/s)+"d";if(e>=i)return Math.round(e/i)+"h";if(e>=r)return Math.round(e/r)+"m";if(e>=n)return Math.round(e/n)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},function(e,t,n){"use strict";var r=n(42),i=r.Promise||n(43).Promise;e.exports=function(e,t){var s=n(12),o=n(5),a=n(44),c=n(46),u=n(47);function l(e,t,r){return(r=n(3)(r||{}))._ua=r._ua||l.ua,new d(e,t,r)}t=t||"",l.version=n(48),l.ua="Algolia for vanilla JavaScript "+t+l.version,l.initPlaces=u(l),r.__algolia={debug:n(8),algoliasearch:l};var h={hasXMLHttpRequest:"XMLHttpRequest"in r,hasXDomainRequest:"XDomainRequest"in r};function d(){e.apply(this,arguments)}return h.hasXMLHttpRequest&&(h.cors="withCredentials"in new XMLHttpRequest),s(d,e),d.prototype._request=function(e,t){return new i(function(n,r){if(h.cors||h.hasXDomainRequest){e=a(e,t.headers);var i,s,c=t.body,u=h.cors?new XMLHttpRequest:new XDomainRequest,l=!1;i=setTimeout(d,t.timeouts.connect),u.onprogress=function(){l||f()},"onreadystatechange"in u&&(u.onreadystatechange=function(){!l&&u.readyState>1&&f()}),u.onload=function(){if(s)return;var e;clearTimeout(i);try{e={body:JSON.parse(u.responseText),responseText:u.responseText,statusCode:u.status,headers:u.getAllResponseHeaders&&u.getAllResponseHeaders()||{}}}catch(t){e=new o.UnparsableJSON({more:u.responseText})}e instanceof o.UnparsableJSON?r(e):n(e)},u.onerror=function(e){if(s)return;clearTimeout(i),r(new o.Network({more:e}))},u instanceof XMLHttpRequest?(u.open(t.method,e,!0),t.forceAuthHeaders&&(u.setRequestHeader("x-algolia-application-id",t.headers["x-algolia-application-id"]),u.setRequestHeader("x-algolia-api-key",t.headers["x-algolia-api-key"]))):u.open(t.method,e),h.cors&&(c&&("POST"===t.method?u.setRequestHeader("content-type","application/x-www-form-urlencoded"):u.setRequestHeader("content-type","application/json")),u.setRequestHeader("accept","application/json")),c?u.send(c):u.send()}else r(new o.Network("CORS not supported"));function d(){s=!0,u.abort(),r(new o.RequestTimeout)}function f(){l=!0,clearTimeout(i),i=setTimeout(d,t.timeouts.complete)}})},d.prototype._request.fallback=function(e,t){return e=a(e,t.headers),new i(function(n,r){c(e,t,function(e,t){e?r(e):n(t)})})},d.prototype._promise={reject:function(e){return i.reject(e)},resolve:function(e){return i.resolve(e)},delay:function(e){return new i(function(t){setTimeout(t,e)})},all:function(e){return i.all(e)}},l}},function(e,t,n){(function(t){var n;n="undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:{},e.exports=n}).call(t,n(4))},function(e,t,n){(function(t,n){
++/*!
++ * @overview es6-promise - a tiny implementation of Promises/A+.
++ * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
++ * @license   Licensed under MIT license
++ *            See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
++ * @version   v4.2.4+314e4831
++ */
++!function(t,n){e.exports=n()}(0,function(){"use strict";function e(e){return"function"==typeof e}var r=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},i=0,s=void 0,o=void 0,a=function(e,t){p[i]=e,p[i+1]=t,2===(i+=2)&&(o?o(g):m())};var c="undefined"!=typeof window?window:void 0,u=c||{},l=u.MutationObserver||u.WebKitMutationObserver,h="undefined"==typeof self&&void 0!==t&&"[object process]"==={}.toString.call(t),d="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function f(){var e=setTimeout;return function(){return e(g,1)}}var p=new Array(1e3);function g(){for(var e=0;e<i;e+=2){(0,p[e])(p[e+1]),p[e]=void 0,p[e+1]=void 0}i=0}var m=void 0;function v(e,t){var n=this,r=new this.constructor(w);void 0===r[b]&&D(r);var i=n._state;if(i){var s=arguments[i-1];a(function(){return L(i,r,s,n._result)})}else R(n,r,e,t);return r}function y(e){if(e&&"object"==typeof e&&e.constructor===this)return e;var t=new this(w);return N(t,e),t}m=h?function(){return t.nextTick(g)}:l?function(){var e=0,t=new l(g),n=document.createTextNode("");return t.observe(n,{characterData:!0}),function(){n.data=e=++e%2}}():d?function(){var e=new MessageChannel;return e.port1.onmessage=g,function(){return e.port2.postMessage(0)}}():void 0===c?function(){try{var e=Function("return this")().require("vertx");return void 0!==(s=e.runOnLoop||e.runOnContext)?function(){s(g)}:f()}catch(e){return f()}}():f();var b=Math.random().toString(36).substring(2);function w(){}var _=void 0,E=1,x=2,S={error:null};function C(e){try{return e.then}catch(e){return S.error=e,S}}function A(t,n,r){n.constructor===t.constructor&&r===v&&n.constructor.resolve===y?function(e,t){t._state===E?T(e,t._result):t._state===x?k(e,t._result):R(t,void 0,function(t){return N(e,t)},function(t){return k(e,t)})}(t,n):r===S?(k(t,S.error),S.error=null):void 0===r?T(t,n):e(r)?function(e,t,n){a(function(e){var r=!1,i=function(e,t,n,r){try{e.call(t,n,r)}catch(e){return e}}(n,t,function(n){r||(r=!0,t!==n?N(e,n):T(e,n))},function(t){r||(r=!0,k(e,t))},e._label);!r&&i&&(r=!0,k(e,i))},e)}(t,n,r):T(t,n)}function N(e,t){e===t?k(e,new TypeError("You cannot resolve a promise with itself")):!function(e){var t=typeof e;return null!==e&&("object"===t||"function"===t)}(t)?T(e,t):A(e,t,C(t))}function O(e){e._onerror&&e._onerror(e._result),M(e)}function T(e,t){e._state===_&&(e._result=t,e._state=E,0!==e._subscribers.length&&a(M,e))}function k(e,t){e._state===_&&(e._state=x,e._result=t,a(O,e))}function R(e,t,n,r){var i=e._subscribers,s=i.length;e._onerror=null,i[s]=t,i[s+E]=n,i[s+x]=r,0===s&&e._state&&a(M,e)}function M(e){var t=e._subscribers,n=e._state;if(0!==t.length){for(var r=void 0,i=void 0,s=e._result,o=0;o<t.length;o+=3)r=t[o],i=t[o+n],r?L(n,r,i,s):i(s);e._subscribers.length=0}}function L(t,n,r,i){var s=e(r),o=void 0,a=void 0,c=void 0,u=void 0;if(s){if((o=function(e,t){try{return e(t)}catch(e){return S.error=e,S}}(r,i))===S?(u=!0,a=o.error,o.error=null):c=!0,n===o)return void k(n,new TypeError("A promises callback cannot return that same promise."))}else o=i,c=!0;n._state!==_||(s&&c?N(n,o):u?k(n,a):t===E?T(n,o):t===x&&k(n,o))}var I=0;function D(e){e[b]=I++,e._state=void 0,e._result=void 0,e._subscribers=[]}var P=function(){function e(e,t){this._instanceConstructor=e,this.promise=new e(w),this.promise[b]||D(this.promise),r(t)?(this.length=t.length,this._remaining=t.length,this._result=new Array(this.length),0===this.length?T(this.promise,this._result):(this.length=this.length||0,this._enumerate(t),0===this._remaining&&T(this.promise,this._result))):k(this.promise,new Error("Array Methods must be provided an Array"))}return e.prototype._enumerate=function(e){for(var t=0;this._state===_&&t<e.length;t++)this._eachEntry(e[t],t)},e.prototype._eachEntry=function(e,t){var n=this._instanceConstructor,r=n.resolve;if(r===y){var i=C(e);if(i===v&&e._state!==_)this._settledAt(e._state,t,e._result);else if("function"!=typeof i)this._remaining--,this._result[t]=e;else if(n===j){var s=new n(w);A(s,e,i),this._willSettleAt(s,t)}else this._willSettleAt(new n(function(t){return t(e)}),t)}else this._willSettleAt(r(e),t)},e.prototype._settledAt=function(e,t,n){var r=this.promise;r._state===_&&(this._remaining--,e===x?k(r,n):this._result[t]=n),0===this._remaining&&T(r,this._result)},e.prototype._willSettleAt=function(e,t){var n=this;R(e,void 0,function(e){return n._settledAt(E,t,e)},function(e){return n._settledAt(x,t,e)})},e}();var j=function(){function e(t){this[b]=I++,this._result=this._state=void 0,this._subscribers=[],w!==t&&("function"!=typeof t&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof e?function(e,t){try{t(function(t){N(e,t)},function(t){k(e,t)})}catch(t){k(e,t)}}(this,t):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}return e.prototype.catch=function(e){return this.then(null,e)},e.prototype.finally=function(e){var t=this.constructor;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){throw n})})},e}();return j.prototype.then=v,j.all=function(e){return new P(this,e).promise},j.race=function(e){var t=this;return r(e)?new t(function(n,r){for(var i=e.length,s=0;s<i;s++)t.resolve(e[s]).then(n,r)}):new t(function(e,t){return t(new TypeError("You must pass an array to race."))})},j.resolve=y,j.reject=function(e){var t=new this(w);return k(t,e),t},j._setScheduler=function(e){o=e},j._setAsap=function(e){a=e},j._asap=a,j.polyfill=function(){var e=void 0;if(void 0!==n)e=n;else if("undefined"!=typeof self)e=self;else try{e=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var t=e.Promise;if(t){var r=null;try{r=Object.prototype.toString.call(t.resolve())}catch(e){}if("[object Promise]"===r&&!t.cast)return}e.Promise=j},j.Promise=j,j})}).call(t,n(9),n(4))},function(e,t,n){"use strict";e.exports=function(e,t){/\?/.test(e)?e+="&":e+="?";return e+r(t)};var r=n(45)},function(e,t,n){"use strict";var r=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,n,a){return t=t||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?s(o(e),function(o){var a=encodeURIComponent(r(o))+n;return i(e[o])?s(e[o],function(e){return a+encodeURIComponent(r(e))}).join(t):a+encodeURIComponent(r(e[o]))}).join(t):a?encodeURIComponent(r(a))+n+encodeURIComponent(r(e)):""};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function s(e,t){if(e.map)return e.map(t);for(var n=[],r=0;r<e.length;r++)n.push(t(e[r],r));return n}var o=Object.keys||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t}},function(e,t,n){"use strict";e.exports=function(e,t,n){if("GET"!==t.method)return void n(new Error("Method "+t.method+" "+e+" is not supported by JSONP."));t.debug("JSONP: start");var s=!1,o=!1;i+=1;var a=document.getElementsByTagName("head")[0],c=document.createElement("script"),u="algoliaJSONP_"+i,l=!1;window[u]=function(e){!function(){try{delete window[u],delete window[u+"_loaded"]}catch(e){window[u]=window[u+"_loaded"]=void 0}}(),o?t.debug("JSONP: Late answer, ignoring"):(s=!0,f(),n(null,{body:e,responseText:JSON.stringify(e)}))},e+="&callback="+u,t.jsonBody&&t.jsonBody.params&&(e+="&"+t.jsonBody.params);var h=setTimeout(function(){t.debug("JSONP: Script timeout"),o=!0,f(),n(new r.RequestTimeout)},t.timeouts.complete);function d(){t.debug("JSONP: success"),l||o||(l=!0,s||(t.debug("JSONP: Fail. Script loaded but did not call the callback"),f(),n(new r.JSONPScriptFail)))}function f(){clearTimeout(h),c.onload=null,c.onreadystatechange=null,c.onerror=null,a.removeChild(c)}c.onreadystatechange=function(){"loaded"!==this.readyState&&"complete"!==this.readyState||d()},c.onload=d,c.onerror=function(){if(t.debug("JSONP: Script error"),l||o)return;f(),n(new r.JSONPScriptError)},c.async=!0,c.defer=!0,c.src=e,a.appendChild(c)};var r=n(5),i=0},function(e,t,n){e.exports=function(e){return function(t,i,s){var o=n(3);(s=s&&o(s)||{}).hosts=s.hosts||["places-dsn.algolia.net","places-1.algolianet.com","places-2.algolianet.com","places-3.algolianet.com"],0!==arguments.length&&"object"!=typeof t&&void 0!==t||(t="",i="",s._allowEmptyCredentials=!0);var a=e(t,i,s),c=a.initIndex("places");return c.search=r("query","/1/places/query"),c.getObject=function(e,t){return this.as._jsonRequest({method:"GET",url:"/1/places/"+encodeURIComponent(e),hostType:"read",callback:t})},c}};var r=n(13)},function(e,t,n){"use strict";e.exports="3.30.0"},function(e,t,n){"use strict";e.exports=n(50)},function(e,t,n){"use strict";var r=n(15);n(1).element=r;var i=n(0);i.isArray=r.isArray,i.isFunction=r.isFunction,i.isObject=r.isPlainObject,i.bind=r.proxy,i.each=function(e,t){r.each(e,function(e,n){return t(n,e)})},i.map=r.map,i.mixin=r.extend,i.Event=r.Event;var s="aaAutocomplete",o=n(51),a=n(16);function c(e,t,n,c){n=i.isArray(n)?n:[].slice.call(arguments,2);var u=r(e).each(function(e,i){var u=r(i),l=new a({el:u}),h=c||new o({input:u,eventBus:l,dropdownMenuContainer:t.dropdownMenuContainer,hint:void 0===t.hint||!!t.hint,minLength:t.minLength,autoselect:t.autoselect,autoselectOnBlur:t.autoselectOnBlur,tabAutocomplete:t.tabAutocomplete,openOnFocus:t.openOnFocus,templates:t.templates,debug:t.debug,clearOnSelected:t.clearOnSelected,cssClasses:t.cssClasses,datasets:n,keyboardShortcuts:t.keyboardShortcuts,appendTo:t.appendTo,autoWidth:t.autoWidth});u.data(s,h)});return u.autocomplete={},i.each(["open","close","getVal","setVal","destroy","getWrapper"],function(e){u.autocomplete[e]=function(){var t,n=arguments;return u.each(function(i,o){var a=r(o).data(s);t=a[e].apply(a,n)}),t}}),u}c.sources=o.sources,c.escapeHighlightedString=i.escapeHighlightedString;var u="autocomplete"in window,l=window.autocomplete;c.noConflict=function(){return u?window.autocomplete=l:delete window.autocomplete,c},e.exports=c},function(e,t,n){"use strict";var r="aaAttrs",i=n(0),s=n(1),o=n(16),a=n(52),c=n(59),u=n(17),l=n(11);function h(e){var t,n;if((e=e||{}).input||i.error("missing input"),this.isActivated=!1,this.debug=!!e.debug,this.autoselect=!!e.autoselect,this.autoselectOnBlur=!!e.autoselectOnBlur,this.openOnFocus=!!e.openOnFocus,this.minLength=i.isNumber(e.minLength)?e.minLength:1,this.autoWidth=void 0===e.autoWidth||!!e.autoWidth,this.clearOnSelected=!!e.clearOnSelected,this.tabAutocomplete=void 0===e.tabAutocomplete||!!e.tabAutocomplete,e.hint=!!e.hint,e.hint&&e.appendTo)throw new Error("[autocomplete.js] hint and appendTo options can't be used at the same time");this.css=e.css=i.mixin({},l,e.appendTo?l.appendTo:{}),this.cssClasses=e.cssClasses=i.mixin({},l.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix=i.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),this.listboxId=e.listboxId=[this.cssClasses.root,"listbox",i.getUniqueId()].join("-");var a=function(e){var t,n,o,a;t=s.element(e.input),n=s.element(u.wrapper.replace("%ROOT%",e.cssClasses.root)).css(e.css.wrapper),e.appendTo||"block"!==t.css("display")||"table"!==t.parent().css("display")||n.css("display","table-cell");var c=u.dropdown.replace("%PREFIX%",e.cssClasses.prefix).replace("%DROPDOWN_MENU%",e.cssClasses.dropdownMenu);o=s.element(c).css(e.css.dropdown).attr({role:"listbox",id:e.listboxId}),e.templates&&e.templates.dropdownMenu&&o.html(i.templatify(e.templates.dropdownMenu)());(a=t.clone().css(e.css.hint).css(function(e){return{backgroundAttachment:e.css("background-attachment"),backgroundClip:e.css("background-clip"),backgroundColor:e.css("background-color"),backgroundImage:e.css("background-image"),backgroundOrigin:e.css("background-origin"),backgroundPosition:e.css("background-position"),backgroundRepeat:e.css("background-repeat"),backgroundSize:e.css("background-size")}}(t))).val("").addClass(i.className(e.cssClasses.prefix,e.cssClasses.hint,!0)).removeAttr("id name placeholder required").prop("readonly",!0).attr({"aria-hidden":"true",autocomplete:"off",spellcheck:"false",tabindex:-1}),a.removeData&&a.removeData();t.data(r,{"aria-autocomplete":t.attr("aria-autocomplete"),"aria-expanded":t.attr("aria-expanded"),"aria-owns":t.attr("aria-owns"),autocomplete:t.attr("autocomplete"),dir:t.attr("dir"),role:t.attr("role"),spellcheck:t.attr("spellcheck"),style:t.attr("style"),type:t.attr("type")}),t.addClass(i.className(e.cssClasses.prefix,e.cssClasses.input,!0)).attr({autocomplete:"off",spellcheck:!1,role:"combobox","aria-autocomplete":e.datasets&&e.datasets[0]&&e.datasets[0].displayKey?"both":"list","aria-expanded":"false","aria-label":e.ariaLabel,"aria-owns":e.listboxId}).css(e.hint?e.css.input:e.css.inputWithNoHint);try{t.attr("dir")||t.attr("dir","auto")}catch(e){}return(n=e.appendTo?n.appendTo(s.element(e.appendTo).eq(0)).eq(0):t.wrap(n).parent()).prepend(e.hint?a:null).append(o),{wrapper:n,input:t,hint:a,menu:o}}(e);this.$node=a.wrapper;var c=this.$input=a.input;t=a.menu,n=a.hint,e.dropdownMenuContainer&&s.element(e.dropdownMenuContainer).css("position","relative").append(t.css("top","0")),c.on("blur.aa",function(e){var n=document.activeElement;i.isMsie()&&(t[0]===n||t[0].contains(n))&&(e.preventDefault(),e.stopImmediatePropagation(),i.defer(function(){c.focus()}))}),t.on("mousedown.aa",function(e){e.preventDefault()}),this.eventBus=e.eventBus||new o({el:c}),this.dropdown=new h.Dropdown({appendTo:e.appendTo,wrapper:this.$node,menu:t,datasets:e.datasets,templates:e.templates,cssClasses:e.cssClasses,minLength:this.minLength}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onSync("shown",this._onShown,this).onSync("empty",this._onEmpty,this).onSync("redrawn",this._onRedrawn,this).onAsync("datasetRendered",this._onDatasetRendered,this),this.input=new h.Input({input:c,hint:n}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this),this._bindKeyboardShortcuts(e),this._setLanguageDirection()}i.mixin(h.prototype,{_bindKeyboardShortcuts:function(e){if(e.keyboardShortcuts){var t=this.$input,n=[];i.each(e.keyboardShortcuts,function(e){"string"==typeof e&&(e=e.toUpperCase().charCodeAt(0)),n.push(e)}),s.element(document).keydown(function(e){var r=e.target||e.srcElement,i=r.tagName;if(!r.isContentEditable&&"INPUT"!==i&&"SELECT"!==i&&"TEXTAREA"!==i){var s=e.which||e.keyCode;-1!==n.indexOf(s)&&(t.focus(),e.stopPropagation(),e.preventDefault())}})}},_onSuggestionClicked:function(e,t){var n;(n=this.dropdown.getDatumForSuggestion(t))&&this._select(n)},_onCursorMoved:function(e,t){var n=this.dropdown.getDatumForCursor(),r=this.dropdown.getCurrentCursor().attr("id");this.input.setActiveDescendant(r),n&&(t&&this.input.setInputValue(n.value,!0),this.eventBus.trigger("cursorchanged",n.raw,n.datasetName))},_onCursorRemoved:function(){this.input.resetInputValue(),this._updateHint(),this.eventBus.trigger("cursorremoved")},_onDatasetRendered:function(){this._updateHint(),this.eventBus.trigger("updated")},_onOpened:function(){this._updateHint(),this.input.expand(),this.eventBus.trigger("opened")},_onEmpty:function(){this.eventBus.trigger("empty")},_onRedrawn:function(){this.$node.css("top","0px"),this.$node.css("left","0px");var e=this.$input[0].getBoundingClientRect();this.autoWidth&&this.$node.css("width",e.width+"px");var t=this.$node[0].getBoundingClientRect(),n=e.bottom-t.top;this.$node.css("top",n+"px");var r=e.left-t.left;this.$node.css("left",r+"px"),this.eventBus.trigger("redrawn")},_onShown:function(){this.eventBus.trigger("shown"),this.autoselect&&this.dropdown.cursorTopSuggestion()},_onClosed:function(){this.input.clearHint(),this.input.removeActiveDescendant(),this.input.collapse(),this.eventBus.trigger("closed")},_onFocused:function(){if(this.isActivated=!0,this.openOnFocus){var e=this.input.getQuery();e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty(),this.dropdown.open()}},_onBlurred:function(){var e,t;e=this.dropdown.getDatumForCursor(),t=this.dropdown.getDatumForTopSuggestion(),this.debug||(this.autoselectOnBlur&&e?this._select(e):this.autoselectOnBlur&&t?this._select(t):(this.isActivated=!1,this.dropdown.empty(),this.dropdown.close()))},_onEnterKeyed:function(e,t){var n,r;n=this.dropdown.getDatumForCursor(),r=this.dropdown.getDatumForTopSuggestion(),n?(this._select(n),t.preventDefault()):this.autoselect&&r&&(this._select(r),t.preventDefault())},_onTabKeyed:function(e,t){var n;this.tabAutocomplete?(n=this.dropdown.getDatumForCursor())?(this._select(n),t.preventDefault()):this._autocomplete(!0):this.dropdown.close()},_onEscKeyed:function(){this.dropdown.close(),this.input.resetInputValue()},_onUpKeyed:function(){var e=this.input.getQuery();this.dropdown.isEmpty&&e.length>=this.minLength?this.dropdown.update(e):this.dropdown.moveCursorUp(),this.dropdown.open()},_onDownKeyed:function(){var e=this.input.getQuery();this.dropdown.isEmpty&&e.length>=this.minLength?this.dropdown.update(e):this.dropdown.moveCursorDown(),this.dropdown.open()},_onLeftKeyed:function(){"rtl"===this.dir&&this._autocomplete()},_onRightKeyed:function(){"ltr"===this.dir&&this._autocomplete()},_onQueryChanged:function(e,t){this.input.clearHintIfInvalid(),t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty(),this.dropdown.open(),this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint(),this.dropdown.open()},_setLanguageDirection:function(){var e=this.input.getLanguageDirection();this.dir!==e&&(this.dir=e,this.$node.css("direction",e),this.dropdown.setLanguageDirection(e))},_updateHint:function(){var e,t,n,r,s;(e=this.dropdown.getDatumForTopSuggestion())&&this.dropdown.isVisible()&&!this.input.hasOverflow()?(t=this.input.getInputValue(),n=a.normalizeQuery(t),r=i.escapeRegExChars(n),(s=new RegExp("^(?:"+r+")(.+$)","i").exec(e.value))?this.input.setHint(t+s[1]):this.input.clearHint()):this.input.clearHint()},_autocomplete:function(e){var t,n,r,i;t=this.input.getHint(),n=this.input.getQuery(),r=e||this.input.isCursorAtEnd(),t&&n!==t&&r&&((i=this.dropdown.getDatumForTopSuggestion())&&this.input.setInputValue(i.value),this.eventBus.trigger("autocompleted",i.raw,i.datasetName))},_select:function(e){void 0!==e.value&&this.input.setQuery(e.value),this.clearOnSelected?this.setVal(""):this.input.setInputValue(e.value,!0),this._setLanguageDirection(),!1===this.eventBus.trigger("selected",e.raw,e.datasetName).isDefaultPrevented()&&(this.dropdown.close(),i.defer(i.bind(this.dropdown.empty,this.dropdown)))},open:function(){if(!this.isActivated){var e=this.input.getInputValue();e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty()}this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(e){e=i.toStr(e),this.isActivated?this.input.setInputValue(e):(this.input.setQuery(e),this.input.setInputValue(e,!0)),this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){this.input.destroy(),this.dropdown.destroy(),function(e,t){var n=e.find(i.className(t.prefix,t.input));i.each(n.data(r),function(e,t){void 0===e?n.removeAttr(t):n.attr(t,e)}),n.detach().removeClass(i.className(t.prefix,t.input,!0)).insertAfter(e),n.removeData&&n.removeData(r);e.remove()}(this.$node,this.cssClasses),this.$node=null},getWrapper:function(){return this.dropdown.$container[0]}}),h.Dropdown=c,h.Input=a,h.sources=n(61),e.exports=h},function(e,t,n){"use strict";var r;r={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"};var i=n(0),s=n(1),o=n(10);function a(e){var t,n,o,a,c=this;(e=e||{}).input||i.error("input is missing"),t=i.bind(this._onBlur,this),n=i.bind(this._onFocus,this),o=i.bind(this._onKeydown,this),a=i.bind(this._onInput,this),this.$hint=s.element(e.hint),this.$input=s.element(e.input).on("blur.aa",t).on("focus.aa",n).on("keydown.aa",o),0===this.$hint.length&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=i.noop),i.isMsie()?this.$input.on("keydown.aa keypress.aa cut.aa paste.aa",function(e){r[e.which||e.keyCode]||i.defer(i.bind(c._onInput,c,e))}):this.$input.on("input.aa",a),this.query=this.$input.val(),this.$overflowHelper=function(e){return s.element('<pre aria-hidden="true"></pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:e.css("font-family"),fontSize:e.css("font-size"),fontStyle:e.css("font-style"),fontVariant:e.css("font-variant"),fontWeight:e.css("font-weight"),wordSpacing:e.css("word-spacing"),letterSpacing:e.css("letter-spacing"),textIndent:e.css("text-indent"),textRendering:e.css("text-rendering"),textTransform:e.css("text-transform")}).insertAfter(e)}(this.$input)}function c(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}a.normalizeQuery=function(e){return(e||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},i.mixin(a.prototype,o,{_onBlur:function(){this.resetInputValue(),this.$input.removeAttr("aria-activedescendant"),this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(e){var t=r[e.which||e.keyCode];this._managePreventDefault(t,e),t&&this._shouldTrigger(t,e)&&this.trigger(t+"Keyed",e)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(e,t){var n,r,i;switch(e){case"tab":r=this.getHint(),i=this.getInputValue(),n=r&&r!==i&&!c(t);break;case"up":case"down":n=!c(t);break;default:n=!1}n&&t.preventDefault()},_shouldTrigger:function(e,t){var n;switch(e){case"tab":n=!c(t);break;default:n=!0}return n},_checkInputValue:function(){var e,t,n;n=!(!(t=function(e,t){return a.normalizeQuery(e)===a.normalizeQuery(t)}(e=this.getInputValue(),this.query))||!this.query)&&this.query.length!==e.length,this.query=e,t?n&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(e){this.query=e},getInputValue:function(){return this.$input.val()},setInputValue:function(e,t){void 0===e&&(e=this.query),this.$input.val(e),t?this.clearHint():this._checkInputValue()},expand:function(){this.$input.attr("aria-expanded","true")},collapse:function(){this.$input.attr("aria-expanded","false")},setActiveDescendant:function(e){this.$input.attr("aria-activedescendant",e)},removeActiveDescendant:function(){this.$input.removeAttr("aria-activedescendant")},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},setHint:function(e){this.$hint.val(e)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var e,t,n;n=(e=this.getInputValue())!==(t=this.getHint())&&0===t.indexOf(e),""!==e&&n&&!this.hasOverflow()||this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var e=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=e},isCursorAtEnd:function(){var e,t,n;return e=this.$input.val().length,t=this.$input[0].selectionStart,i.isNumber(t)?t===e:!document.selection||((n=document.selection.createRange()).moveStart("character",-e),e===n.text.length)},destroy:function(){this.$hint.off(".aa"),this.$input.off(".aa"),this.$hint=this.$input=this.$overflowHelper=null}}),e.exports=a},function(e,t,n){"use strict";var r,i,s,o=[n(54),n(55),n(56),n(57),n(58)],a=-1,c=[],u=!1;function l(){r&&i&&(r=!1,i.length?c=i.concat(c):a=-1,c.length&&h())}function h(){if(!r){u=!1,r=!0;for(var e=c.length,t=setTimeout(l);e;){for(i=c,c=[];i&&++a<e;)i[a].run();a=-1,e=c.length}i=null,a=-1,r=!1,clearTimeout(t)}}for(var d=-1,f=o.length;++d<f;)if(o[d]&&o[d].test&&o[d].test()){s=o[d].install(h);break}function p(e,t){this.fun=e,this.array=t}p.prototype.run=function(){var e=this.fun,t=this.array;switch(t.length){case 0:return e();case 1:return e(t[0]);case 2:return e(t[0],t[1]);case 3:return e(t[0],t[1],t[2]);default:return e.apply(null,t)}},e.exports=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new p(e,t)),u||r||(u=!0,s())}},function(e,t,n){"use strict";(function(e){t.test=function(){return void 0!==e&&!e.browser},t.install=function(t){return function(){e.nextTick(t)}}}).call(t,n(9))},function(e,t,n){"use strict";(function(e){var n=e.MutationObserver||e.WebKitMutationObserver;t.test=function(){return n},t.install=function(t){var r=0,i=new n(t),s=e.document.createTextNode("");return i.observe(s,{characterData:!0}),function(){s.data=r=++r%2}}}).call(t,n(4))},function(e,t,n){"use strict";(function(e){t.test=function(){return!e.setImmediate&&void 0!==e.MessageChannel},t.install=function(t){var n=new e.MessageChannel;return n.port1.onmessage=t,function(){n.port2.postMessage(0)}}}).call(t,n(4))},function(e,t,n){"use strict";(function(e){t.test=function(){return"document"in e&&"onreadystatechange"in e.document.createElement("script")},t.install=function(t){return function(){var n=e.document.createElement("script");return n.onreadystatechange=function(){t(),n.onreadystatechange=null,n.parentNode.removeChild(n),n=null},e.document.documentElement.appendChild(n),t}}}).call(t,n(4))},function(e,t,n){"use strict";t.test=function(){return!0},t.install=function(e){return function(){setTimeout(e,0)}}},function(e,t,n){"use strict";var r=n(0),i=n(1),s=n(10),o=n(60),a=n(11);function c(e){var t,n,s,o=this;(e=e||{}).menu||r.error("menu is required"),r.isArray(e.datasets)||r.isObject(e.datasets)||r.error("1 or more datasets required"),e.datasets||r.error("datasets is required"),this.isOpen=!1,this.isEmpty=!0,this.minLength=e.minLength||0,this.templates={},this.appendTo=e.appendTo||!1,this.css=r.mixin({},a,e.appendTo?a.appendTo:{}),this.cssClasses=e.cssClasses=r.mixin({},a.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix||r.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),t=r.bind(this._onSuggestionClick,this),n=r.bind(this._onSuggestionMouseEnter,this),s=r.bind(this._onSuggestionMouseLeave,this);var u=r.className(this.cssClasses.prefix,this.cssClasses.suggestion);this.$menu=i.element(e.menu).on("mouseenter.aa",u,n).on("mouseleave.aa",u,s).on("click.aa",u,t),this.$container=e.appendTo?e.wrapper:this.$menu,e.templates&&e.templates.header&&(this.templates.header=r.templatify(e.templates.header),this.$menu.prepend(this.templates.header())),e.templates&&e.templates.empty&&(this.templates.empty=r.templatify(e.templates.empty),this.$empty=i.element('<div class="'+r.className(this.cssClasses.prefix,this.cssClasses.empty,!0)+'"></div>'),this.$menu.append(this.$empty),this.$empty.hide()),this.datasets=r.map(e.datasets,function(t){return function(e,t,n){return new c.Dataset(r.mixin({$menu:e,cssClasses:n},t))}(o.$menu,t,e.cssClasses)}),r.each(this.datasets,function(e){var t=e.getRoot();t&&0===t.parent().length&&o.$menu.append(t),e.onSync("rendered",o._onRendered,o)}),e.templates&&e.templates.footer&&(this.templates.footer=r.templatify(e.templates.footer),this.$menu.append(this.templates.footer()));var l=this;i.element(window).resize(function(){l._redraw()})}r.mixin(c.prototype,s,{_onSuggestionClick:function(e){this.trigger("suggestionClicked",i.element(e.currentTarget))},_onSuggestionMouseEnter:function(e){var t=i.element(e.currentTarget);if(!t.hasClass(r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0))){this._removeCursor();var n=this;setTimeout(function(){n._setCursor(t,!1)},0)}},_onSuggestionMouseLeave:function(e){if(e.relatedTarget&&i.element(e.relatedTarget).closest("."+r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).length>0)return;this._removeCursor(),this.trigger("cursorRemoved")},_onRendered:function(e,t){if(this.isEmpty=r.every(this.datasets,function(e){return e.isEmpty()}),this.isEmpty)if(t.length>=this.minLength&&this.trigger("empty"),this.$empty)if(t.length<this.minLength)this._hide();else{var n=this.templates.empty({query:this.datasets[0]&&this.datasets[0].query});this.$empty.html(n),this.$empty.show(),this._show()}else r.any(this.datasets,function(e){return e.templates&&e.templates.empty})?t.length<this.minLength?this._hide():this._show():this._hide();else this.isOpen&&(this.$empty&&(this.$empty.empty(),this.$empty.hide()),t.length>=this.minLength?this._show():this._hide());this.trigger("datasetRendered")},_hide:function(){this.$container.hide()},_show:function(){this.$container.css("display","block"),this._redraw(),this.trigger("shown")},_redraw:function(){this.isOpen&&this.appendTo&&this.trigger("redrawn")},_getSuggestions:function(){return this.$menu.find(r.className(this.cssClasses.prefix,this.cssClasses.suggestion))},_getCursor:function(){return this.$menu.find(r.className(this.cssClasses.prefix,this.cssClasses.cursor)).first()},_setCursor:function(e,t){e.first().addClass(r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).attr("aria-selected","true"),this.trigger("cursorMoved",t)},_removeCursor:function(){this._getCursor().removeClass(r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).removeAttr("aria-selected")},_moveCursor:function(e){var t,n,r,i;this.isOpen&&(n=this._getCursor(),t=this._getSuggestions(),this._removeCursor(),-1!==(r=((r=t.index(n)+e)+1)%(t.length+1)-1)?(r<-1&&(r=t.length-1),this._setCursor(i=t.eq(r),!0),this._ensureVisible(i)):this.trigger("cursorRemoved"))},_ensureVisible:function(e){var t,n,r,i;n=(t=e.position().top)+e.height()+parseInt(e.css("margin-top"),10)+parseInt(e.css("margin-bottom"),10),r=this.$menu.scrollTop(),i=this.$menu.height()+parseInt(this.$menu.css("padding-top"),10)+parseInt(this.$menu.css("padding-bottom"),10),t<0?this.$menu.scrollTop(r+t):i<n&&this.$menu.scrollTop(r+(n-i))},close:function(){this.isOpen&&(this.isOpen=!1,this._removeCursor(),this._hide(),this.trigger("closed"))},open:function(){this.isOpen||(this.isOpen=!0,this.isEmpty||this._show(),this.trigger("opened"))},setLanguageDirection:function(e){this.$menu.css("ltr"===e?this.css.ltr:this.css.rtl)},moveCursorUp:function(){this._moveCursor(-1)},moveCursorDown:function(){this._moveCursor(1)},getDatumForSuggestion:function(e){var t=null;return e.length&&(t={raw:o.extractDatum(e),value:o.extractValue(e),datasetName:o.extractDatasetName(e)}),t},getCurrentCursor:function(){return this._getCursor().first()},getDatumForCursor:function(){return this.getDatumForSuggestion(this._getCursor().first())},getDatumForTopSuggestion:function(){return this.getDatumForSuggestion(this._getSuggestions().first())},cursorTopSuggestion:function(){this._setCursor(this._getSuggestions().first(),!1)},update:function(e){r.each(this.datasets,function(t){t.update(e)})},empty:function(){r.each(this.datasets,function(e){e.clear()}),this.isEmpty=!0},isVisible:function(){return this.isOpen&&!this.isEmpty},destroy:function(){this.$menu.off(".aa"),this.$menu=null,r.each(this.datasets,function(e){e.destroy()})}}),c.Dataset=o,e.exports=c},function(e,t,n){"use strict";var r="aaDataset",i="aaValue",s="aaDatum",o=n(0),a=n(1),c=n(17),u=n(11),l=n(10);function h(e){(e=e||{}).templates=e.templates||{},e.source||o.error("missing source"),e.name&&!function(e){return/^[_a-zA-Z0-9-]+$/.test(e)}(e.name)&&o.error("invalid dataset name: "+e.name),this.query=null,this._isEmpty=!0,this.highlight=!!e.highlight,this.name=void 0===e.name||null===e.name?o.getUniqueId():e.name,this.source=e.source,this.displayFn=function(e){return e=e||"value",o.isFunction(e)?e:function(t){return t[e]}}(e.display||e.displayKey),this.debounce=e.debounce,this.cache=!1!==e.cache,this.templates=function(e,t){return{empty:e.empty&&o.templatify(e.empty),header:e.header&&o.templatify(e.header),footer:e.footer&&o.templatify(e.footer),suggestion:e.suggestion||function(e){return"<p>"+t(e)+"</p>"}}}(e.templates,this.displayFn),this.css=o.mixin({},u,e.appendTo?u.appendTo:{}),this.cssClasses=e.cssClasses=o.mixin({},u.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix||o.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix);var t=o.className(this.cssClasses.prefix,this.cssClasses.dataset);this.$el=e.$menu&&e.$menu.find(t+"-"+this.name).length>0?a.element(e.$menu.find(t+"-"+this.name)[0]):a.element(c.dataset.replace("%CLASS%",this.name).replace("%PREFIX%",this.cssClasses.prefix).replace("%DATASET%",this.cssClasses.dataset)),this.$menu=e.$menu,this.clearCachedSuggestions()}h.extractDatasetName=function(e){return a.element(e).data(r)},h.extractValue=function(e){return a.element(e).data(i)},h.extractDatum=function(e){var t=a.element(e).data(s);return"string"==typeof t&&(t=JSON.parse(t)),t},o.mixin(h.prototype,l,{_render:function(e,t){if(this.$el){var n,u=this,l=[].slice.call(arguments,2);if(this.$el.empty(),n=t&&t.length,this._isEmpty=!n,!n&&this.templates.empty)this.$el.html(function(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!0}].concat(t),u.templates.empty.apply(this,t)}.apply(this,l)).prepend(u.templates.header?h.apply(this,l):null).append(u.templates.footer?d.apply(this,l):null);else if(n)this.$el.html(function(){var e,n,l=[].slice.call(arguments,0),h=this,d=c.suggestions.replace("%PREFIX%",this.cssClasses.prefix).replace("%SUGGESTIONS%",this.cssClasses.suggestions);return e=a.element(d).css(this.css.suggestions),n=o.map(t,function(e){var t,n=c.suggestion.replace("%PREFIX%",h.cssClasses.prefix).replace("%SUGGESTION%",h.cssClasses.suggestion);return(t=a.element(n).attr({role:"option",id:["option",Math.floor(1e8*Math.random())].join("-")}).append(u.templates.suggestion.apply(this,[e].concat(l)))).data(r,u.name),t.data(i,u.displayFn(e)||void 0),t.data(s,JSON.stringify(e)),t.children().each(function(){a.element(this).css(h.css.suggestionChild)}),t}),e.append.apply(e,n),e}.apply(this,l)).prepend(u.templates.header?h.apply(this,l):null).append(u.templates.footer?d.apply(this,l):null);else if(t&&!Array.isArray(t))throw new TypeError("suggestions must be an array");this.$menu&&this.$menu.addClass(this.cssClasses.prefix+(n?"with":"without")+"-"+this.name).removeClass(this.cssClasses.prefix+(n?"without":"with")+"-"+this.name),this.trigger("rendered",e)}function h(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!n}].concat(t),u.templates.header.apply(this,t)}function d(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!n}].concat(t),u.templates.footer.apply(this,t)}},getRoot:function(){return this.$el},update:function(e){function t(t){if(!this.canceled&&e===this.query){var n=[].slice.call(arguments,1);this.cacheSuggestions(e,t,n),this._render.apply(this,[e,t].concat(n))}}if(this.query=e,this.canceled=!1,this.shouldFetchFromCache(e))t.apply(this,[this.cachedSuggestions].concat(this.cachedRenderExtraArgs));else{var n=this,r=function(){n.canceled||n.source(e,t.bind(n))};if(this.debounce){clearTimeout(this.debounceTimeout),this.debounceTimeout=setTimeout(function(){n.debounceTimeout=null,r()},this.debounce)}else r()}},cacheSuggestions:function(e,t,n){this.cachedQuery=e,this.cachedSuggestions=t,this.cachedRenderExtraArgs=n},shouldFetchFromCache:function(e){return this.cache&&this.cachedQuery===e&&this.cachedSuggestions&&this.cachedSuggestions.length},clearCachedSuggestions:function(){delete this.cachedQuery,delete this.cachedSuggestions,delete this.cachedRenderExtraArgs},cancel:function(){this.canceled=!0},clear:function(){this.cancel(),this.$el.empty(),this.trigger("rendered","")},isEmpty:function(){return this._isEmpty},destroy:function(){this.clearCachedSuggestions(),this.$el=null}}),e.exports=h},function(e,t,n){"use strict";e.exports={hits:n(62),popularIn:n(63)}},function(e,t,n){"use strict";var r=n(0),i=n(18),s=n(19);e.exports=function(e,t){var n=s(e.as._ua);return n&&n[0]>=3&&n[1]>20&&((t=t||{}).additionalUA="autocomplete.js "+i),function(n,i){e.search(n,t,function(e,t){e?r.error(e.message):i(t.hits,t)})}}},function(e,t,n){"use strict";var r=n(0),i=n(18),s=n(19);e.exports=function(e,t,n,o){var a=s(e.as._ua);if(a&&a[0]>=3&&a[1]>20&&((t=t||{}).additionalUA="autocomplete.js "+i),!n.source)return r.error("Missing 'source' key");var c=r.isFunction(n.source)?n.source:function(e){return e[n.source]};if(!n.index)return r.error("Missing 'index' key");var u=n.index;return o=o||{},function(a,l){e.search(a,t,function(e,a){if(e)r.error(e.message);else{if(a.hits.length>0){var h=a.hits[0],d=r.mixin({hitsPerPage:0},n);delete d.source,delete d.index;var f=s(u.as._ua);return f&&f[0]>=3&&f[1]>20&&(t.additionalUA="autocomplete.js "+i),void u.search(c(h),d,function(e,t){if(e)r.error(e.message);else{var n=[];if(o.includeAll){var i=o.allTitle||"All departments";n.push(r.mixin({facet:{value:i,count:t.nbHits}},r.cloneDeep(h)))}r.each(t.facets,function(e,t){r.each(e,function(e,i){n.push(r.mixin({facet:{facet:t,value:i,count:e}},r.cloneDeep(h)))})});for(var s=1;s<a.hits.length;++s)n.push(a.hits[s]);l(n,a)}})}l([])}})}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r="algolia-docsearch-suggestion",i={suggestion:'\n  <a class="'+r+"\n    {{#isCategoryHeader}}"+r+"__main{{/isCategoryHeader}}\n    {{#isSubCategoryHeader}}"+r+'__secondary{{/isSubCategoryHeader}}\n    "\n    aria-label="Link to the result"\n    href="{{{url}}}"\n    >\n    <div class="'+r+'--category-header">\n        <span class="'+r+'--category-header-lvl0">{{{category}}}</span>\n    </div>\n    <div class="'+r+'--wrapper">\n      <div class="'+r+'--subcategory-column">\n        <span class="'+r+'--subcategory-column-text">{{{subcategory}}}</span>\n      </div>\n      {{#isTextOrSubcategoryNonEmpty}}\n      <div class="'+r+'--content">\n        <div class="'+r+'--subcategory-inline">{{{subcategory}}}</div>\n        <div class="'+r+'--title">{{{title}}}</div>\n        {{#text}}<div class="'+r+'--text">{{{text}}}</div>{{/text}}\n      </div>\n      {{/isTextOrSubcategoryNonEmpty}}\n    </div>\n  </a>\n  ',suggestionSimple:'\n  <div class="'+r+"\n    {{#isCategoryHeader}}"+r+"__main{{/isCategoryHeader}}\n    {{#isSubCategoryHeader}}"+r+'__secondary{{/isSubCategoryHeader}}\n    suggestion-layout-simple\n  ">\n    <div class="'+r+'--category-header">\n        {{^isLvl0}}\n        <span class="'+r+"--category-header-lvl0 "+r+'--category-header-item">{{{category}}}</span>\n          {{^isLvl1}}\n          {{^isLvl1EmptyOrDuplicate}}\n          <span class="'+r+"--category-header-lvl1 "+r+'--category-header-item">\n              {{{subcategory}}}\n          </span>\n          {{/isLvl1EmptyOrDuplicate}}\n          {{/isLvl1}}\n        {{/isLvl0}}\n        <div class="'+r+"--title "+r+'--category-header-item">\n            {{#isLvl2}}\n                {{{title}}}\n            {{/isLvl2}}\n            {{#isLvl1}}\n                {{{subcategory}}}\n            {{/isLvl1}}\n            {{#isLvl0}}\n                {{{category}}}\n            {{/isLvl0}}\n        </div>\n    </div>\n    <div class="'+r+'--wrapper">\n      {{#text}}\n      <div class="'+r+'--content">\n        <div class="'+r+'--text">{{{text}}}</div>\n      </div>\n      {{/text}}\n    </div>\n  </div>\n  ',footer:'\n    <div class="algolia-docsearch-footer">\n      Search by <a class="algolia-docsearch-footer--logo" href="https://www.algolia.com/docsearch">Algolia</a>\n    </div>\n  ',empty:'\n  <div class="'+r+'">\n    <div class="'+r+'--wrapper">\n        <div class="'+r+"--content "+r+'--no-results">\n            <div class="'+r+'--title">\n                <div class="'+r+'--text">\n                    No results found for query <b>"{{query}}"</b>\n                </div>\n            </div>\n        </div>\n    </div>\n  </div>\n  ',searchBox:'\n  <form novalidate="novalidate" onsubmit="return false;" class="searchbox">\n    <div role="search" class="searchbox__wrapper">\n      <input id="docsearch" type="search" name="search" placeholder="Search the docs" autocomplete="off" required="required" class="searchbox__input"/>\n      <button type="submit" title="Submit your search query." class="searchbox__submit" >\n        <svg width=12 height=12 role="img" aria-label="Search">\n          <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#sbx-icon-search-13"></use>\n        </svg>\n      </button>\n      <button type="reset" title="Clear the search query." class="searchbox__reset hide">\n        <svg width=12 height=12 role="img" aria-label="Reset">\n          <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#sbx-icon-clear-3"></use>\n        </svg>\n      </button>\n    </div>\n</form>\n\n<div class="svg-icons" style="height: 0; width: 0; position: absolute; visibility: hidden">\n  <svg xmlns="http://www.w3.org/2000/svg">\n    <symbol id="sbx-icon-clear-3" viewBox="0 0 40 40"><path d="M16.228 20L1.886 5.657 0 3.772 3.772 0l1.885 1.886L20 16.228 34.343 1.886 36.228 0 40 3.772l-1.886 1.885L23.772 20l14.342 14.343L40 36.228 36.228 40l-1.885-1.886L20 23.772 5.657 38.114 3.772 40 0 36.228l1.886-1.885L16.228 20z" fill-rule="evenodd"></symbol>\n    <symbol id="sbx-icon-search-13" viewBox="0 0 40 40"><path d="M26.806 29.012a16.312 16.312 0 0 1-10.427 3.746C7.332 32.758 0 25.425 0 16.378 0 7.334 7.333 0 16.38 0c9.045 0 16.378 7.333 16.378 16.38 0 3.96-1.406 7.593-3.746 10.426L39.547 37.34c.607.608.61 1.59-.004 2.203a1.56 1.56 0 0 1-2.202.004L26.807 29.012zm-10.427.627c7.322 0 13.26-5.938 13.26-13.26 0-7.324-5.938-13.26-13.26-13.26-7.324 0-13.26 5.936-13.26 13.26 0 7.322 5.936 13.26 13.26 13.26z" fill-rule="evenodd"></symbol>\n  </svg>\n</div>\n  '};t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(e){return e&&e.__esModule?e:{default:e}}(n(20));var s={mergeKeyWithParent:function(e,t){if(void 0===e[t])return e;if("object"!==r(e[t]))return e;var n=i.default.extend({},e,e[t]);return delete n[t],n},groupBy:function(e,t){var n={};return i.default.each(e,function(e,r){if(void 0===r[t])throw new Error("[groupBy]: Object has no key "+t);var i=r[t];"string"==typeof i&&(i=i.toLowerCase()),Object.prototype.hasOwnProperty.call(n,i)||(n[i]=[]),n[i].push(r)}),n},values:function(e){return Object.keys(e).map(function(t){return e[t]})},flatten:function(e){var t=[];return e.forEach(function(e){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}),t},flattenAndFlagFirst:function(e,t){var n=this.values(e).map(function(e){return e.map(function(e,n){return e[t]=0===n,e})});return this.flatten(n)},compact:function(e){var t=[];return e.forEach(function(e){e&&t.push(e)}),t},getHighlightedValue:function(e,t){return e._highlightResult&&e._highlightResult.hierarchy_camel&&e._highlightResult.hierarchy_camel[t]&&e._highlightResult.hierarchy_camel[t].matchLevel&&"none"!==e._highlightResult.hierarchy_camel[t].matchLevel&&e._highlightResult.hierarchy_camel[t].value?e._highlightResult.hierarchy_camel[t].value:e._highlightResult&&e._highlightResult&&e._highlightResult[t]&&e._highlightResult[t].value?e._highlightResult[t].value:e[t]},getSnippetedValue:function(e,t){if(!e._snippetResult||!e._snippetResult[t]||!e._snippetResult[t].value)return e[t];var n=e._snippetResult[t].value;return n[0]!==n[0].toUpperCase()&&(n="…"+n),-1===[".","!","?"].indexOf(n[n.length-1])&&(n+="…"),n},deepClone:function(e){return JSON.parse(JSON.stringify(e))}};t.default=s}])})},function(e,t,n){var r=n(11);r.registerLanguage("bash",n(12)),r.registerLanguage("css",n(13)),r.registerLanguage("markdown",n(14)),r.registerLanguage("diff",n(15)),r.registerLanguage("javascript",n(16)),r.registerLanguage("json",n(17)),r.registerLanguage("yaml",n(18)),r.registerLanguage("xml",n(19)),r.registerLanguage("html",n(20)),r.registerLanguage("go",function(e){var t={keyword:"code output note warning break default func interface select case map struct chan else goto package switch const fallthrough if range end type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune id autoplay Get",literal:"file download copy true false iota nil Pages with",built_in:"append cap close complex highlight copy imag len make new panic print println real recover delete Site Data tweet youtube ref relref vimeo instagram gist figure innershortcode"};return{aliases:["golang","hugo"],k:t,i:"</",c:[e.CLCM,e.CBCM,{cN:"string",v:[e.QSM,{b:"'",e:"[^\\\\]'"},{b:"`",e:"`"}]},{cN:"number",v:[{b:e.CNR+"[dflsi]",r:1},e.CNM]},{b:/:=/},{cN:"function",bK:"func",e:/\s*\{/,eE:!0,c:[e.TM,{cN:"params",b:/\(/,e:/\)/,k:t,i:/["']/}]}]}}),r.initHighlightingOnLoad()},function(e,t,n){!function(e){"object"==typeof window&&window||"object"==typeof self&&self;(function(e){var t=[],n=Object.keys,r={},i={},s=/^(no-?highlight|plain|text)$/i,o=/\blang(?:uage)?-([\w-]+)\b/i,a=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,c="</span>",u={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};function l(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function h(e){return e.nodeName.toLowerCase()}function d(e,t){var n=e&&e.exec(t);return n&&0===n.index}function f(e){return s.test(e)}function p(e){var t,n={},r=Array.prototype.slice.call(arguments,1);for(t in e)n[t]=e[t];return r.forEach(function(e){for(t in e)n[t]=e[t]}),n}function g(e){var t=[];return function e(n,r){for(var i=n.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(t.push({event:"start",offset:r,node:i}),r=e(i,r),h(i).match(/br|hr|img|input/)||t.push({event:"stop",offset:r,node:i}));return r}(e,0),t}function m(e){function t(e){return e&&e.source||e}function r(n,r){return new RegExp(t(n),"m"+(e.case_insensitive?"i":"")+(r?"g":""))}!function i(s,o){if(s.compiled)return;s.compiled=!0;s.keywords=s.keywords||s.beginKeywords;if(s.keywords){var a={},c=function(t,n){e.case_insensitive&&(n=n.toLowerCase()),n.split(" ").forEach(function(e){var n=e.split("|");a[n[0]]=[t,n[1]?Number(n[1]):1]})};"string"==typeof s.keywords?c("keyword",s.keywords):n(s.keywords).forEach(function(e){c(e,s.keywords[e])}),s.keywords=a}s.lexemesRe=r(s.lexemes||/\w+/,!0);o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")\\b"),s.begin||(s.begin=/\B|\b/),s.beginRe=r(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(s.endRe=r(s.end)),s.terminator_end=t(s.end)||"",s.endsWithParent&&o.terminator_end&&(s.terminator_end+=(s.end?"|":"")+o.terminator_end));s.illegal&&(s.illegalRe=r(s.illegal));null==s.relevance&&(s.relevance=1);s.contains||(s.contains=[]);s.contains=Array.prototype.concat.apply([],s.contains.map(function(e){return function(e){e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map(function(t){return p(e,{variants:null},t)}));return e.cached_variants||e.endsWithParent&&[p(e)]||[e]}("self"===e?s:e)}));s.contains.forEach(function(e){i(e,s)});s.starts&&i(s.starts,o);var u=s.contains.map(function(e){return e.beginKeywords?"\\.?("+e.begin+")\\.?":e.begin}).concat([s.terminator_end,s.illegal]).map(t).filter(Boolean);s.terminators=u.length?r(u.join("|"),!0):{exec:function(){return null}}}(e)}function v(e,t,n,i){function s(e){return new RegExp(e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}function o(e,t){var n=g.case_insensitive?t[0].toLowerCase():t[0];return e.keywords.hasOwnProperty(n)&&e.keywords[n]}function a(e,t,n,r){var i=r?"":u.classPrefix,s='<span class="'+i,o=n?"":c;return(s+=e+'">')+t+o}function h(){x+=null!=w.subLanguage?function(){var e="string"==typeof w.subLanguage;if(e&&!r[w.subLanguage])return l(S);var t=e?v(w.subLanguage,S,!0,_[w.subLanguage]):y(S,w.subLanguage.length?w.subLanguage:void 0);w.relevance>0&&(C+=t.relevance);e&&(_[w.subLanguage]=t.top);return a(t.language,t.value,!1,!0)}():function(){var e,t,n,r;if(!w.keywords)return l(S);r="",t=0,w.lexemesRe.lastIndex=0,n=w.lexemesRe.exec(S);for(;n;)r+=l(S.substring(t,n.index)),(e=o(w,n))?(C+=e[1],r+=a(e[0],l(n[0]))):r+=l(n[0]),t=w.lexemesRe.lastIndex,n=w.lexemesRe.exec(S);return r+l(S.substr(t))}(),S=""}function f(e){x+=e.className?a(e.className,"",!0):"",w=Object.create(e,{parent:{value:w}})}function p(e,t){if(S+=e,null==t)return h(),0;var r=function(e,t){var n,r;for(n=0,r=t.contains.length;n<r;n++)if(d(t.contains[n].beginRe,e))return t.contains[n].endSameAsBegin&&(t.contains[n].endRe=s(t.contains[n].beginRe.exec(e)[0])),t.contains[n]}(t,w);if(r)return r.skip?S+=t:(r.excludeBegin&&(S+=t),h(),r.returnBegin||r.excludeBegin||(S=t)),f(r),r.returnBegin?0:t.length;var i=function e(t,n){if(d(t.endRe,n)){for(;t.endsParent&&t.parent;)t=t.parent;return t}if(t.endsWithParent)return e(t.parent,n)}(w,t);if(i){var o=w;o.skip?S+=t:(o.returnEnd||o.excludeEnd||(S+=t),h(),o.excludeEnd&&(S=t));do{w.className&&(x+=c),w.skip||w.subLanguage||(C+=w.relevance),w=w.parent}while(w!==i.parent);return i.starts&&(i.endSameAsBegin&&(i.starts.endRe=i.endRe),f(i.starts)),o.returnEnd?0:t.length}if(function(e,t){return!n&&d(t.illegalRe,e)}(t,w))throw new Error('Illegal lexeme "'+t+'" for mode "'+(w.className||"<unnamed>")+'"');return S+=t,t.length||1}var g=E(e);if(!g)throw new Error('Unknown language: "'+e+'"');m(g);var b,w=i||g,_={},x="";for(b=w;b!==g;b=b.parent)b.className&&(x=a(b.className,"",!0)+x);var S="",C=0;try{for(var A,N,O=0;w.terminators.lastIndex=O,A=w.terminators.exec(t);)N=p(t.substring(O,A.index),A[0]),O=A.index+N;for(p(t.substr(O)),b=w;b.parent;b=b.parent)b.className&&(x+=c);return{relevance:C,value:x,language:e,top:w}}catch(e){if(e.message&&-1!==e.message.indexOf("Illegal"))return{relevance:0,value:l(t)};throw e}}function y(e,t){t=t||u.languages||n(r);var i={relevance:0,value:l(e)},s=i;return t.filter(E).filter(x).forEach(function(t){var n=v(t,e,!1);n.language=t,n.relevance>s.relevance&&(s=n),n.relevance>i.relevance&&(s=i,i=n)}),s.language&&(i.second_best=s),i}function b(e){return u.tabReplace||u.useBR?e.replace(a,function(e,t){return u.useBR&&"\n"===e?"<br>":u.tabReplace?t.replace(/\t/g,u.tabReplace):""}):e}function w(e){var n,r,s,a,c,d=function(e){var t,n,r,i,s=e.className+" ";if(s+=e.parentNode?e.parentNode.className:"",n=o.exec(s))return E(n[1])?n[1]:"no-highlight";for(s=s.split(/\s+/),t=0,r=s.length;t<r;t++)if(f(i=s[t])||E(i))return i}(e);f(d)||(u.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n"):n=e,c=n.textContent,s=d?v(d,c,!0):y(c),(r=g(n)).length&&((a=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=s.value,s.value=function(e,n,r){var i=0,s="",o=[];function a(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset<n[0].offset?e:n:"start"===n[0].event?e:n:e.length?e:n}function c(e){s+="<"+h(e)+t.map.call(e.attributes,function(e){return" "+e.nodeName+'="'+l(e.value).replace('"',"&quot;")+'"'}).join("")+">"}function u(e){s+="</"+h(e)+">"}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||n.length;){var f=a();if(s+=l(r.substring(i,f[0].offset)),i=f[0].offset,f===e){o.reverse().forEach(u);do{d(f.splice(0,1)[0]),f=a()}while(f===e&&f.length&&f[0].offset===i);o.reverse().forEach(c)}else"start"===f[0].event?o.push(f[0].node):o.pop(),d(f.splice(0,1)[0])}return s+l(r.substr(i))}(r,g(a),c)),s.value=b(s.value),e.innerHTML=s.value,e.className=function(e,t,n){var r=t?i[t]:n,s=[e.trim()];e.match(/\bhljs\b/)||s.push("hljs");-1===e.indexOf(r)&&s.push(r);return s.join(" ").trim()}(e.className,d,s.language),e.result={language:s.language,re:s.relevance},s.second_best&&(e.second_best={language:s.second_best.language,re:s.second_best.relevance}))}function _(){if(!_.called){_.called=!0;var e=document.querySelectorAll("pre code");t.forEach.call(e,w)}}function E(e){return e=(e||"").toLowerCase(),r[e]||r[i[e]]}function x(e){var t=E(e);return t&&!t.disableAutodetect}e.highlight=v,e.highlightAuto=y,e.fixMarkup=b,e.highlightBlock=w,e.configure=function(e){u=p(u,e)},e.initHighlighting=_,e.initHighlightingOnLoad=function(){addEventListener("DOMContentLoaded",_,!1),addEventListener("load",_,!1)},e.registerLanguage=function(t,n){var s=r[t]=n(e);s.aliases&&s.aliases.forEach(function(e){i[e]=t})},e.listLanguages=function(){return n(r)},e.getLanguage=E,e.autoDetection=x,e.inherit=p,e.IDENT_RE="[a-zA-Z]\\w*",e.UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",e.NUMBER_RE="\\b\\d+(\\.\\d+)?",e.C_NUMBER_RE="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BINARY_NUMBER_RE="\\b(0b[01]+)",e.RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BACKSLASH_ESCAPE={begin:"\\\\[\\s\\S]",relevance:0},e.APOS_STRING_MODE={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},e.QUOTE_STRING_MODE={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},e.PHRASAL_WORDS_MODE={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.COMMENT=function(t,n,r){var i=e.inherit({className:"comment",begin:t,end:n,contains:[]},r||{});return i.contains.push(e.PHRASAL_WORDS_MODE),i.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|XXX):",relevance:0}),i},e.C_LINE_COMMENT_MODE=e.COMMENT("//","$"),e.C_BLOCK_COMMENT_MODE=e.COMMENT("/\\*","\\*/"),e.HASH_COMMENT_MODE=e.COMMENT("#","$"),e.NUMBER_MODE={className:"number",begin:e.NUMBER_RE,relevance:0},e.C_NUMBER_MODE={className:"number",begin:e.C_NUMBER_RE,relevance:0},e.BINARY_NUMBER_MODE={className:"number",begin:e.BINARY_NUMBER_RE,relevance:0},e.CSS_NUMBER_MODE={className:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},e.REGEXP_MODE={className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}]},e.TITLE_MODE={className:"title",begin:e.IDENT_RE,relevance:0},e.UNDERSCORE_TITLE_MODE={className:"title",begin:e.UNDERSCORE_IDENT_RE,relevance:0},e.METHOD_GUARD={begin:"\\.\\s*"+e.UNDERSCORE_IDENT_RE,relevance:0}})(t)}()},function(e,t){e.exports=function(e){var t={className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)}/}]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t,{className:"variable",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]}]};return{aliases:["sh","zsh"],lexemes:/\b-?[a-z\._]+\b/,keywords:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[{className:"meta",begin:/^#![^\n]+sh\s*$/,relevance:10},{className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},e.HASH_COMMENT_MODE,n,{className:"string",begin:/'/,end:/'/},t]}}},function(e,t){e.exports=function(e){var t={begin:/[A-Z\_\.\-]+\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:"attribute",begin:/\S/,end:":",excludeEnd:!0,starts:{endsWithParent:!0,excludeEnd:!0,contains:[{begin:/[\w-]+\(/,returnBegin:!0,contains:[{className:"built_in",begin:/[\w-]+/},{begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]}]},e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:"#[0-9A-Fa-f]+"},{className:"meta",begin:"!important"}]}}]};return{case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/},{className:"selector-class",begin:/\.[A-Za-z0-9_-]+/},{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"@(font-face|page)",lexemes:"[a-z-]+",keywords:"font-face page"},{begin:"@",end:"[{;]",illegal:/:/,contains:[{className:"keyword",begin:/\w+/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},{begin:"{",end:"}",illegal:/\S/,contains:[e.C_BLOCK_COMMENT_MODE,t]}]}}},function(e,t){e.exports=function(e){return{aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$"},{begin:"^.+?\\n[=-]{2,}$"}]},{begin:"<",end:">",subLanguage:"xml",relevance:0},{className:"bullet",begin:"^([*+-]|(\\d+\\.))\\s+"},{className:"strong",begin:"[*_]{2}.+?[*_]{2}"},{className:"emphasis",variants:[{begin:"\\*.+?\\*"},{begin:"_.+?_",relevance:0}]},{className:"quote",begin:"^>\\s+",end:"$"},{className:"code",variants:[{begin:"^```w*s*$",end:"^```s*$"},{begin:"`.+?`"},{begin:"^( {4}|\t)",end:"$",relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},{begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}},function(e,t){e.exports=function(e){return{aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{begin:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{className:"comment",variants:[{begin:/Index: /,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^\-{3}/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/\*{5}/,end:/\*{5}$/}]},{className:"addition",begin:"^\\+",end:"$"},{className:"deletion",begin:"^\\-",end:"$"},{className:"addition",begin:"^\\!",end:"$"}]}}},function(e,t){e.exports=function(e){var t="[A-Za-z$_][0-9A-Za-z$_]*",n={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},r={className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:e.C_NUMBER_RE}],relevance:0},i={className:"subst",begin:"\\$\\{",end:"\\}",keywords:n,contains:[]},s={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,i]};i.contains=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,s,r,e.REGEXP_MODE];var o=i.contains.concat([e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]);return{aliases:["js","jsx"],keywords:n,contains:[{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},{className:"meta",begin:/^#!/,end:/$/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,s,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,r,{begin:/[{,]\s*/,relevance:0,contains:[{begin:t+"\\s*:",returnBegin:!0,relevance:0,contains:[{className:"attr",begin:t,relevance:0}]}]},{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.REGEXP_MODE,{className:"function",begin:"(\\(.*?\\)|"+t+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t},{begin:/\(\s*\)/},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,contains:o}]}]},{begin:/</,end:/(\/\w+|\w+\/)>/,subLanguage:"xml",contains:[{begin:/<\w+\s*\/>/,skip:!0},{begin:/<\w+/,end:/(\/\w+|\w+\/)>/,skip:!0,contains:[{begin:/<\w+\s*\/>/,skip:!0},"self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:t}),{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:o}],illegal:/\[|%/},{begin:/\$[(.]/},e.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0}],illegal:/#(?!!)/}}},function(e,t){e.exports=function(e){var t={literal:"true false null"},n=[e.QUOTE_STRING_MODE,e.C_NUMBER_MODE],r={end:",",endsWithParent:!0,excludeEnd:!0,contains:n,keywords:t},i={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE],illegal:"\\n"},e.inherit(r,{begin:/:/})],illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[e.inherit(r)],illegal:"\\S"};return n.splice(n.length,0,i,s),{contains:n,keywords:t,illegal:"\\S"}}},function(e,t){e.exports=function(e){var t="[a-zA-Z_][\\w\\-]*",n={className:"attr",variants:[{begin:"^[ \\-]*"+t+":"},{begin:'^[ \\-]*"'+t+'":'},{begin:"^[ \\-]*'"+t+"':"}]},r={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]};return{case_insensitive:!0,aliases:["yml","YAML","yaml"],contains:[n,{className:"meta",begin:"^---s*$",relevance:10},{className:"string",begin:"[\\|>] *$",returnEnd:!0,contains:r.contains,end:n.variants[0].begin},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!"+e.UNDERSCORE_IDENT_RE},{className:"type",begin:"!!"+e.UNDERSCORE_IDENT_RE},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"^ *-",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:"true false yes no null",keywords:{literal:"true false yes no null"}},e.C_NUMBER_MODE,r]}}},function(e,t){e.exports=function(e){var t={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:"[A-Za-z0-9\\._:-]+",relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/},{begin:/[^\s"'=<>`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],case_insensitive:!0,contains:[{className:"meta",begin:"<!DOCTYPE",end:">",relevance:10,contains:[{begin:"\\[",end:"\\]"}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{begin:/<\?(php)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]},{className:"tag",begin:"<style(?=\\s|>|$)",end:">",keywords:{name:"style"},contains:[t],starts:{end:"</style>",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:"<script(?=\\s|>|$)",end:">",keywords:{name:"script"},contains:[t],starts:{end:"<\/script>",returnEnd:!0,subLanguage:["actionscript","javascript","handlebars","xml"]}},{className:"tag",begin:"</?",end:"/?>",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},t]}]}}},function(e,t){e.exports=function(e){var t={"builtin-name":"each in with if else unless bindattr action collection debugger log outlet template unbound view yield"};return{aliases:["hbs","html.hbs","html.handlebars"],case_insensitive:!0,subLanguage:"xml",contains:[e.COMMENT("{{!(--)?","(--)?}}"),{className:"template-tag",begin:/\{\{[#\/]/,end:/\}\}/,contains:[{className:"name",begin:/[a-zA-Z\.-]+/,keywords:t,starts:{endsWithParent:!0,relevance:0,contains:[e.QUOTE_STRING_MODE]}}]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,keywords:t}]}}},function(e,t,n){n(0),n(22)},function(e,t,n){!function(t,r){var i=function(){r(t.lazySizes),t.removeEventListener("lazyunveilread",i,!0)};r=r.bind(null,t,t.document),e.exports?r(n(0)):t.lazySizes?i():t.addEventListener("lazyunveilread",i,!0)}(window,function(e,t,n){"use strict";var r,i,s={};function o(e,n){if(!s[e]){var r=t.createElement(n?"link":"script"),i=t.getElementsByTagName("script")[0];n?(r.rel="stylesheet",r.href=e):r.src=e,s[e]=!0,s[r.src||r.href]=!0,i.parentNode.insertBefore(r,i)}}t.addEventListener&&(i=/\(|\)|\s|'/,r=function(e,n){var r=t.createElement("img");r.onload=function(){r.onload=null,r.onerror=null,r=null,n()},r.onerror=r.onload,r.src=e,r&&r.complete&&r.onload&&r.onload()},addEventListener("lazybeforeunveil",function(e){var t,s,a;e.detail.instance==n&&(e.defaultPrevented||("none"==e.target.preload&&(e.target.preload="auto"),(t=e.target.getAttribute("data-link"))&&o(t,!0),(t=e.target.getAttribute("data-script"))&&o(t),(t=e.target.getAttribute("data-require"))&&(n.cfg.requireJs?n.cfg.requireJs([t]):o(t)),(s=e.target.getAttribute("data-bg"))&&(e.detail.firesLoad=!0,r(s,function(){e.target.style.backgroundImage="url("+(i.test(s)?JSON.stringify(s):s)+")",e.detail.firesLoad=!1,n.fire(e.target,"_lazyloaded",{},!0,!0)})),(a=e.target.getAttribute("data-poster"))&&(e.detail.firesLoad=!0,r(a,function(){e.target.poster=a,e.detail.firesLoad=!1,n.fire(e.target,"_lazyloaded",{},!0,!0)}))))},!1))})},function(e,t){for(var n=document.getElementsByClassName("js-toggle"),r=0;r<n.length;r++)n[r].addEventListener("click",i,!1);function i(){for(var e=this.dataset.target.split(" "),t=document.querySelector(".mobilemenu:not(.dn)"),n=document.querySelector(".desktopmenu:not(.dn)"),r=document.querySelector(".desktopmenu:not(.dn)"),i=0;i<e.length;i++){var s=document.querySelectorAll(e[i]);[].forEach.call(s,function(e){return e.classList.contains("dn")?e.classList.remove("dn"):e.classList.add("dn"),!1}),t&&t.classList.add("dn"),n&&n.classList.add("dn"),r&&r.classList.remove("db")}}},function(e,t,n){n(25)},function(e,t,n){!function(){"use strict";var e,t,n="data-scrolldir",r="down",i=document.documentElement,s=window,o=document.body,a=32,c=512,u=64,l=Array(a),h=0;function d(){var d=s.scrollY||s.pageYOffset,f=e.timeStamp,p="down"===r?Math.max:Math.min,g=o.scrollHeight-s.innerHeight;if(d=Math.max(0,d),d=Math.min(g,d),l.unshift({y:d,t:f}),l.pop(),d===p(t,d))return h=f,void(t=d);var m=f-c;if(h<m){t=d;for(var v=0;v<a&&l[v]&&!(l[v].t<m);v+=1)t=p(t,l[v].y)}Math.abs(d-t)>u&&(t=d,h=f,r="down"===r?"up":"down",i.setAttribute(n,r))}function f(t){return e=t,s.requestAnimationFrame(d)}t=s.scrollY||s.pageYOffset,i.setAttribute(n,r),s.addEventListener("scroll",f)}()},function(e,t){!function(){"use strict";if("querySelector"in document&&"addEventListener"in window&&Array.prototype.forEach){var e=document.querySelectorAll("#TableOfContents ul li a");[].forEach.call(e,function(e){e.addEventListener("click",function(t){t.preventDefault();var n=e.getAttribute("href"),r=document.querySelector(n),i=e.getAttribute("data-speed");r&&function(e,t){var n,r=window.pageYOffset,i=e.offsetTop,s=(i-r)/(t/16);n=s>=0?function(){var e=window.pageYOffset;(e>=i-s||window.innerHeight+e>=document.body.offsetHeight)&&clearInterval(o)}:function(){window.pageYOffset<=(i||0)&&clearInterval(o)};var o=setInterval(function(){window.scrollBy(0,s),n()},16)}(r,i||500)},!1)})}}()},function(e,t){var n,r=document.querySelectorAll("[data-toggle-tab]"),i=document.querySelectorAll("[data-pane]");function s(e){if(e.target){e.preventDefault();var t=e.currentTarget.getAttribute("data-toggle-tab")}else t=e;window.localStorage&&window.localStorage.setItem("configLangPref",t);for(var n=document.querySelectorAll("[data-toggle-tab='"+t+"']"),s=document.querySelectorAll("[data-pane='"+t+"']"),o=0;o<r.length;o++)r[o].classList.remove("active"),i[o].classList.remove("active");for(o=0;o<n.length;o++)n[o].classList.add("active"),s[o].classList.add("active")}for(n=0;n<r.length;n++)r[n].addEventListener("click",s);window.localStorage.getItem("configLangPref")&&s(window.localStorage.getItem("configLangPref"))},function(e,t){document.documentElement.className=document.documentElement.className.replace(/\bno-js\b/,"js")}]);
index 156db1452d20071473368868f6c5146f6ad8aeb7,0000000000000000000000000000000000000000..9b0866d188b5acd8722c935e18d533da1b727833
mode 100644,000000..100644
--- /dev/null
@@@ -1,10 -1,0 +1,10 @@@
-     {{ partial "svg/gopher-hero.svg" . }}
 +{{ define "main" }}
 +<main class="cf pa5 pa4-l f4 tc center measure-wide lh-copy gray">
 +  <h1 class="f3 f2-ns">The page you're looking for doesn't exist. Perhaps you'd like to gopher something else? Sorry.</h1>
 +  <div class="h6">
++    <img src="/images/gopher-hero.svg" alt="" class="h5">
 +  </div>
 +
 +  {{ .Content }}
 +</main>
 +{{ end }}
index 3a0a9f7f2f2935ba9cb8dba42c6b7eb8860f2a32,0000000000000000000000000000000000000000..19d2bc20d9fbbf27490a065997510e8f8086f83e
mode 100644,000000..100644
--- /dev/null
@@@ -1,55 -1,0 +1,61 @@@
-     {{/* https://www.zachleat.com/web/preload/ */}}
-     <link rel="preload" href="{{ "files/muli-latin-200.woff2" | absURL }}" as="font" type="font/woff2" crossorigin>
-     <link rel="preload" href="{{ "files/muli-latin-400.woff2" | absURL }}" as="font" type="font/woff2" crossorigin>
-     <link rel="preload" href="{{ "files/muli-latin-800.woff2" | absURL }}" as="font" type="font/woff2" crossorigin>
 +<!DOCTYPE html>
 +<html class="no-js" lang="{{ with $.Site.LanguageCode }}{{ . }}{{ else }}en-us{{ end }}">
 +  <head>
 +    <meta charset="utf-8">
-      <link href='{{ "dist/main.css" | relURL }}' rel='stylesheet' type="text/css" />
++  
 +    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 +     {{/* NOTE: the Site's title, and if there is a page title, that is set too */}}
 +    <title>{{ block "title" . }}{{ with .Title }}{{ . }} | {{ end }}{{ .Site.Title }}{{ end }}</title>
 +    <meta name="HandheldFriendly" content="True">
 +    <meta name="MobileOptimized" content="320">
 +
 +    <meta name="viewport" content="width=device-width,minimum-scale=1">
 +     {{ .Hugo.Generator }}
 +
 +      {{ if eq (getenv "HUGO_ENV") "production" | or (eq .Site.Params.env "production")  }}
 +        <META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
 +      {{ else }}
 +        <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
 +      {{ end }}
 +
 +    {{ range .AlternativeOutputFormats -}}
 +    <link rel="{{ .Rel }}" type="{{ .MediaType.Type }}" href="{{ .Permalink | safeURL }}">
 +    {{ end -}}
++    
++    {{ $stylesheet := resources.Get "output/css/app.css" | minify | fingerprint }}
++    {{ with $stylesheet }}
++      <link rel="stylesheet" href="{{ .Permalink | relURL }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous"> 
++      {{ $.Scratch.Set "stylesheet" . }}    
++    {{end}}
++
++
++     {{ block "scripts" . }}
++      {{- partial "site-scripts.html" . -}}
++    {{ end }}
++      {{ partial "site-manifest.html" . }}
 +      {{- partial "head-additions.html" . -}}
 +      {{- template "_internal/opengraph.html" . -}}
 +      {{- template "_internal/google_news.html" . -}}
 +      {{- template "_internal/schema.html" . -}}
 +      {{- template "_internal/twitter_cards.html" . -}}
 +
 +      {{ if eq (getenv "HUGO_ENV") "production" | or (eq .Site.Params.env "production")  }}
 +        {{ partial "gtag" . }}
 +      {{ end }}
 +
 +
-     {{ block "scripts" . }}{{- partial "site-scripts.html" . -}}{{ end }}
++          
 +
 +  </head>
 +  <body class="ma0 sans-serif bg-primary-color-light{{ with getenv "HUGO_ENV" }} {{ . }}{{ end }}">
 +    {{ block "nav" . }}{{ partial "site-nav.html" . }}{{ end }}
 +    {{ block "header" . }}{{ end }}
 +    <main role="main" class="content-with-sidebar min-vh-100 pb7 pb0-ns">
 +      {{ block "main" . }}{{ end }}
 +    </main>
 +
 +    {{ block "footer" . }}{{ partialCached "site-footer.html" . }}{{ end }}
++    
 +
 +  </body>
 +</html>
index 74f544e78d327a7835144a7afee9eeabb89d6513,0000000000000000000000000000000000000000..c2a2f9d520c06599fdd5e92c102ea426f7ff205a
mode 100644,000000..100644
--- /dev/null
@@@ -1,8 -1,0 +1,28 @@@
-   Link: <{{ "dist/app.bundle.js" | relURL }}>; rel=preload; as=script
-   Link: <{{ "dist/main.css" | relURL }}>; rel=preload; as=style
 +/*
 +  X-Frame-Options: DENY
 +  X-XSS-Protection: 1; mode=block
 +  X-Content-Type-Options: nosniff
 +  Referrer-Policy: origin-when-cross-origin
 +*/
++
++{{ $stylesheet := resources.Get "output/css/app.css" }}
++{{ $scripts := resources.Get "output/js/app.js" }}
++
++{{ with $stylesheet -}}Link: <{{ .Permalink | relURL }}>; rel=preload; as=style nopush{{- end}}  
++{{ with $scripts -}}Link: <{{ .Permalink | relURL }}>; rel=preload; as=script nopush{{- end}}
++{{ range (readDir "/static/fonts/") }}
++Link: </fonts/{{ .Name }}>; rel=preload; as=font nopush
++{{ end }}
++{{ range (readDir "./themes/gohugoioTheme/static/fonts") }}
++Link: </fonts/{{ .Name }}>; rel=preload; as=font nopush
++{{ end }}
++
++{{ with $stylesheet }}    
++{{ .Permalink | relURL }}
++Cache-Control: public, max-age=31556926,immutable
++{{end }}  
++{{ with $scripts }}
++{{ .Permalink | relURL }}
++Cache-Control: public, max-age=31556926,immutable
++{{end}}
++
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391,0000000000000000000000000000000000000000..af615ee7c944de47678d3197c5aa536448841675
mode 100644,000000..100644
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++<!-- EMPTY -->
index 18710141ba281fed74434a6c856668d269b06c6d,0000000000000000000000000000000000000000..9e72404331fe011d419c83d77539ae7c0ef8bbb5
mode 100644,000000..100644
--- /dev/null
@@@ -1,18 -1,0 +1,18 @@@
-       {{ partial "svg/hugo-logo-wide.svg" . }}
 +<header class="bg-primary-color-dark ph4 tc" role="banner">
 +  <section class="center pb4 pb5-l ph4-l pt3 pt5-ns w-90 w-60-l">
 +    <div class="center w-100 w-50-ns">
++        <img src="/images/hugo-logo-wide.svg" alt="Hugo Logo">
 +    </div>
 +    {{ with .Site.Params.description }}
 +      <h2 class="f3 f1-l fw4 white-90 m0 lh-title pt2 pb3 pv0-ns">
 +        {{ . }}
 +      </h2>
 +    {{ end }}
 +    <div class="lh-copy f4 w-90-ns center fw2 silver tc tc-ns">
 +      {{ .Content }}
 +    </div>
 +    <div class="w4 mv4 center">
 +      <a class="f5 db link grow tc v-mid bg-blue white ba b--blue ph3 pv2 br1" href="/getting-started/quick-start/">Quick Start</a>
 +    </div>
 +  </section>
 +</header>
index 23729abcf71e70a1cf671598f30aa8f3de28abeb,0000000000000000000000000000000000000000..4bea1a54a4dd52c66e81f6c0f8b7d2722c1e947c
mode 100644,000000..100644
--- /dev/null
@@@ -1,39 -1,0 +1,39 @@@
-         {{ partial "svg/gopher-hero.svg" . }}
 +  <div class="flex-ns flex-wrap center mw9">
 +    <!-- LEFT -->
 +
 +    <div class="w-100 w-50-ns">
 +      <div class="w-80 center tc nested-copy-line-height">
 +        <h3 class="f2 black">Install in seconds, build in milliseconds.</h3>
 +        <p class="f3">Hugo works on macOS, Windows, Linux, FreeBSD, and others.</p>
 +        <p class="f3">Host on any server or your favorite CDN.</p>
 +      </div>
 +    </div>
 +
 +    <!-- RIGHT -->
 +    <div class="w-100 w-50-ns tc">
 +      <div class="h4">
++        <img src="/images/gopher-hero.svg" alt="Hugo Gopher" class="h4">
 +      </div>
 +      <p class="f6 mid-gray m0 p0 pt3">Mac OS</p>
 +      <div class="code f6 bg-black light-green lh-copy pv3 ph3 br2 w-100 w-50-ns center mb2 tl">
 +        $ brew install hugo <br />
 +      </div>
 +      <p class="f6 mid-gray">Windows</p>
 +      <div class="code f6 bg-black light-green lh-copy pv3 ph3 br2 w-100 w-50-ns center tl">
 +        $ choco install hugo -confirm <br />
 +      </div>
 +      <p class="f6 mid-gray">Linux</p>
 +      <div class="code f6 bg-black light-green lh-copy pv3 ph3 br2 w-100 w-50-ns center tl">
 +        $  snap install hugo <br />
 +      </div>
 +     
 +
 +      <p class="f5 nested-links"><a href="{{ "getting-started/installing/" | absURL }}" class="link">See the Getting Started Guide for other methods. {{ partial "svg/link-ext.svg" (dict "fill" "#333" "size" "14") }}</a></p>
 +    </div>
 +
 +    <!-- TODO: the install section should have a tab menu for selecting the preferred installation method, i.e. the binaries from GitHub or the commands for the installation via a package manager https://github.com/rdwatters/hugo-docs-concept/issues/3#issuecomment-287498412 -->
 +
 +      <!-- TODO: Animate the gopher  https://github.com/rdwatters/hugo-docs-concept/issues/3#issuecomment-287194777 -->
 +
 +
 +  </div>
index 9ae1d215678925e8fd3adfba44e8bb21d90a078a,0000000000000000000000000000000000000000..ec932d88783e1c7b3ff907aa8386ee5a12f645c2
mode 100644,000000..100644
--- /dev/null
@@@ -1,48 -1,0 +1,48 @@@
-             {{ partialCached "svg/hugo-logo-wide.svg" . }}
 +<footer class="bg-primary-color-dark ph4-ns pt4 relative w-100" role="contentinfo">
 +    <div class="center flex-ns flex-wrap justify-between mw9 w-90">
 +      <div class="pb3 pt4 w-100 w-50-ns">
 +
 +         <div class="b f3  light-gray mb3 nested-links tc">
 +           By the <a href="https://github.com/gohugoio/hugo/graphs/contributors" class="link">Hugo Authors</a><br />
 +          </div>
 +
 +          <div class="center w4">
++            <img src="/images/hugo-logo-wide.svg" alt="Hugo Logo">
 +          </div>
 +
 +          <ul class="center f6 list ma0 mv3 pa0 tc">
 +            {{- with .Site.Params.github_repo -}}<li class="dib mr3"><a href="{{ . }}" class="dim link light-gray pv2">File an Issue</a></li>{{- end -}}
 +            {{- with .Site.Params.forum -}}<li class="dib mr3"><a href="{{ . }}" class="dim link light-gray pv2">Get Help</a></li>{{- end -}}
 +            {{- with .Site.Params.gitter -}}<li class="dib"><a href="{{ . }}" class="dim link light-gray pv2">Discuss Source Code</a></li>{{- end -}}
 +          </ul>
 +
 +          <ul class="center f6 list ma0 mv4 pa0 tc">
 +            <li class="dib mr3"><a href="https://twitter.com/gohugoio" class="dim link light-gray pv2">@GoHugoIO</a></li>
 +            <li class="dib mr3"><a href="https://twitter.com/spf13" class="dim link light-gray pv2">@spf13</a></li>
 +            <li class="dib"><a href="https://twitter.com/bepsays" class="dim link light-gray pv2">@bepsays</a></li>
 +          </ul>
 +
 +          {{ with  getenv "REPOSITORY_URL" -}}
 +          <p class="center f6 tc w-70"><a href="https://www.netlify.com"><img src="https://www.netlify.com/img/global/badges/netlify-dark.svg"/></a></p>
 +          {{- end }}
 +
 +      </div>
 +
 +      <div class="w-100 w-50-l"> 
 +        {{ partial "home-page-sections/sponsors.html" (dict "cx" .  "gtag" "footer" "classes_section" "pb3 w-100" "classes_copy" "f7 w-90-ns") }}
 +      </div>
 +
 +    </div>
 +
 +    <div class="f7 gray mb5 mb0-ns ph3 w-100"> 
 +      <p class="dib mr4">The Hugo logos are copyright © Steve Francia 2013–{{ now.Year }}.</p>
 +      <p class="dib">The Hugo Gopher is based on an original work by Renée French.</p>
 +    </div>
 +
 +    <img src="/images/gopher-side_color.svg" class="absolute-l bottom-0 dn db-l h4 right-0 z-999"/>
 +
 +    <div class="bg-primary-color-dark bottom-0 left-0 right-0 dn-l fixed pb3 ph3 w-100">
 +      {{- partial "nav-mobile.html" . -}}
 +    </div>
 +
 +</footer>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..54472ba16d3d80ec0a5807db1f4f3498d8ca7806
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,7 @@@
++
++<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
++<link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">
++<link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">
++<link rel="manifest" href="/manifest.json">
++<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#0594cb">
++<meta name="theme-color" content="#ffffff">
index eabf0ea7c147ee908379eabc81fcac328dffcf89,0000000000000000000000000000000000000000..222b29f3bd670b8cebe8bba1aabf5db7ce3a48ff
mode 100644,000000..100644
--- /dev/null
@@@ -1,36 -1,0 +1,38 @@@
-               {{ partial "svg/link-ext.svg" (dict "size" "10") }}
 +{{ $currentPage := . }}
 +<nav class="bg-primary-color-dark pv4 w-100" role="navigation">
 +
 +  <div class="center flex-ns flex-wrap items-center justify-start mw9">
 +
 +    <h1 class="dim f3 lh-solid ml0-ns mr0 mr4-l mv0 pl3 pl4-ns">
 +      <a href="{{ .Site.BaseURL }}" class="link white">
 +         HUGO
 +      </a>
 +    </h1>
 +    <ul class="list ma0 pa0 dn dib-l">
 +      {{ range .Site.Menus.global }}
 +        <li class="f5 dib mr4" role="menuitem">
 +            {{/* TODO: Create an "Global" active class to show which site one is currently at */}}
 +          <a href="{{ .URL }}" class="dim link{{ if $currentPage.IsMenuCurrent "global" . }} gray {{else}} light-silver{{ end }}">
 +            {{ .Name }}
 +              {{/* using ".Post" from the menu system to determine if we should show an icon for external links */}}
 +            {{ $post_status := printf "%s" .Post }}
 +            {{ if eq $post_status "external" }}
++              <span class="pl1">
++                {{ partial "svg/link-ext.svg" (dict "size" "10") }}
++              </span>
 +            {{ end }}
 +          </a>
 +        </li>
 +      {{ end }}
 +    </ul>
 +
 +    <div class="db dib-ns pl3">
 +      {{- partial "site-search.html" . -}}
 +    </div>
 +
 +    <span class="absolute mt1 mt2-l pr3 right-0 top-0">
 +      {{- partialCached "social-follow.html" . -}}
 +    </span>
 +
 +  </div>
 +</nav>
index a8caa049b5ee8ef9e5d95598bc9a34f64431c7ac,0000000000000000000000000000000000000000..b8d9ff0438a4bfa28a131053fef86f69a767fd8e
mode 100644,000000..100644
--- /dev/null
@@@ -1,3 -1,0 +1,10 @@@
- <script src="{{ "dist/app.bundle.js" | relURL }}"></script>
++<!-- scripts -->
++{{ $scripts := resources.Get "output/js/app.js" | fingerprint }}
++{{ with $scripts }}    
++  <script type="text/javascript" src="{{ .Permalink | relURL }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous" defer></script>
++  {{ $.Scratch.Set "scripts" . }}    
++{{end}} 
++
++
 +<!-- Place this tag in your head or just before your close body tag. -->
 +<script async defer src="https://buttons.github.io/buttons.js"></script>
index cd1fd13575aa7c00d6451d7504ae8ce41f9168aa,0000000000000000000000000000000000000000..1dfd05fb4fae35717fbd6774f6420a128163882b
mode 100644,000000..100644
--- /dev/null
@@@ -1,6 -1,0 +1,6 @@@
-     <input type="search" id="search-input" class="needs-js bg-left bg-transparent bn f5 input-reset lh-solid mt3 mt0-ns pl4 pv2 w5 white" placeholder="Search the Docs" type="text" name="search-input" value="" style="background-image:url('/images/icon-search.png');background-size:16px 16px;">
 +<form id="site-search-form" action="" role="search">
 +  <fieldset class="bn ma0 pa0">
 +    <label class="clip" for="search-input">Search</label>
++    <input type="search" id="search-input" class="needs-js bn f5 input-reset lh-solid mt3 mt0-ns pl4 pv2 w5 white" placeholder="Search the Docs" type="text" name="search-input" value="" style="background: transparent url('/images/icon-search.png') no-repeat left center;background-size:16px 16px;">
 +  </fieldset>
 +</form>
index 0d92c4cdc522a82be2af9a8d947c7245939a091b,0000000000000000000000000000000000000000..a7cf439cb7f6d85039d57827d8daff353f0f9277
mode 100644,000000..100644
--- /dev/null
@@@ -1,99 -1,0 +1,106 @@@
-      {{ $big := .Fill "1024x512 top" }}
-      {{ $small := $big.Resize "512x" }}
-       <img srcset="{{ $small.RelPermalink }} 1x, {{ $big.RelPermalink }} 2x" alt="{{ $img.Title }}" width="{{ $big.Width }}"  class="mw-100 b--light-gray ba">
 +{{ define "title" }}
 +Showcase: {{ .Title }}
 +{{ end }}
 +
 +{{ define "main" }}
 +  <article class="center ph3 ph4-ns pv3 pv5-ns mw9">
 +
 +    <!-- header spans the full width -->
 +    <div class="flex flex-wrap">
 +
 +      <div class="w-100 w-20-l order-1 order-0-l">
 +        {{template "sc-details" .}}
 +      </div>
 +
 +      <div class="w-100 w-60-l order-0 order-1-l ph4-l">
 +        {{template "sc-main-column" .}}
 +      </div>
 +
 +      <aside class="dn mid-gray w-100 w-20-ns flex-l justify-center order-2">
 +        {{template "sc-navigation" .}}
 +      </aside>
 +
 +    </div>
 +
 +    <div class="f6 gray mv6">{{/* bottom row */}}
 +      Last Update: {{ .Lastmod.Format "January 2, 2006" }} <br>
 +      {{ partial "page-edit.html" . }}
 +    </div>
 +    <div class="b">The Showcase articles are copyright the content authors. Any open source license will be attached.</div>
 +  </article>
 +{{ end }}
 +
 +
 +
 +{{define "sc-main-column"}}
 +  {{ $img := (.Resources.ByType "image").GetMatch "*featured*" }}
 +  {{ with $img }}
++    {{ $big := .Fill "1024x512 top" }}
++    {{ $small := $big.Resize "512x" }}
++    <img
++      alt="{{ $img.Title }}"
++      src="{{ $big.RelPermalink }}"
++      srcset="{{ $small.RelPermalink }} 512w, {{ $big.RelPermalink }} 1024w"
++      sizes="(min-width: 1570px) 822px, (max-width: 1569px) and (min-width: 960px) 50vw, 93vw"
++      width="{{ $big.Width }}"
++      class="mw-100 b--light-gray ba"
++    >
 +  {{ end }}
 +   <div class="mid-gray nested-copy-line-height nested-img nested-links">
 +  {{with .Params.byline }}
 +     <div style="margin-top: 20px; font-style: italic;">By {{ . | markdownify -}}</div>
 +  {{ end }}
 +  {{with .Content}}
 +      {{- . -}}
 +  {{end}}
 +  </div>
 +
 +{{end}}
 +
 +{{define "sc-details"}}
 +  <div class="mt4 mt0-ns nested-links">
 +    <div class="ba b--light-gray bg-white pa3">
 +      <h1 class="f2-fluid mt0">{{.Title}}</h1>
 +      {{ with .Params.siteURL }}
 +      <a href="{{ . }}" class="db f5 mb1">{{ . | replaceRE "^https?://(www\\.)?([^/]+).*" "$2"}} {{ partial "svg/link-ext.svg" (dict "size" "10") }}</a>
 +      {{ end }}
 +      {{ with .Params.siteSource }}
 +      <a href="{{ . }}" class="db mb4">source {{ partial "svg/link-ext.svg" (dict "size" "10") }}</a>
 +      {{ end }}
 +      {{ $bio := (.Resources.ByType "page").GetMatch "bio*" }}
 +      {{ with $bio }}
 +        <div class="f6 mid-gray nested-copy-line-height nested-links">
 +          {{- .Content -}}
 +        </div>
 +      {{ end }}
 +    </div>
 +    <div class="b--light-gray bt dn-l pt3">
 +      <div class="f6 gray mb2">Previous/Next</div>
 +      {{- partial "previous-next-links-in-section-with-title.html" . -}}
 +    </div>
 +  </div>
 +{{end}}
 +
 +{{define "sc-navigation"}}
 +  {{$section := where .Site.RegularPages "Section" .Section}}
 +  {{$number_of_entries := $section | len}}
 +  <ul class="pa0 list">
 +  <li class="b f5 blTK b--light-gray pb2 pl2">
 +      More Sites
 +  </li>
 +    {{range first 20 $section}}
 +      <li class="bl b--light-gray pl2 f6 hover-bg-light-gray hover-accent-color-light {{if eq $ .}} bg-light-gray{{end}}">
 +        <a href="{{.RelPermalink}}" class="db link w-100 pv1 ph1 {{ if eq $ . }} b  primary-color{{else}} mid-gray {{end}}">
 +          {{- .Title -}}
 +        </a>
 +      </li>
 +    {{end}}
 +    {{if ge $number_of_entries 20}}
 +      <li class="mt3">
 +        <a href="/showcase/page/2/" class="link blue">
 +          See More &raquo;
 +        </a>
 +      </li>
 +    {{end}}
 +  </ul>
 +{{end}}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1d6eea0fbba7f9bc783867c6ae7fc2876fda1986
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,7647 @@@
++{
++  "name": "gohugo-default-styles",
++  "version": "1.1.0",
++  "lockfileVersion": 1,
++  "requires": true,
++  "dependencies": {
++    "@webassemblyjs/ast": {
++      "version": "1.7.11",
++      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.11.tgz",
++      "integrity": "sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA==",
++      "dev": true,
++      "requires": {
++        "@webassemblyjs/helper-module-context": "1.7.11",
++        "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
++        "@webassemblyjs/wast-parser": "1.7.11"
++      }
++    },
++    "@webassemblyjs/floating-point-hex-parser": {
++      "version": "1.7.11",
++      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz",
++      "integrity": "sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg==",
++      "dev": true
++    },
++    "@webassemblyjs/helper-api-error": {
++      "version": "1.7.11",
++      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz",
++      "integrity": "sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg==",
++      "dev": true
++    },
++    "@webassemblyjs/helper-buffer": {
++      "version": "1.7.11",
++      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz",
++      "integrity": "sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w==",
++      "dev": true
++    },
++    "@webassemblyjs/helper-code-frame": {
++      "version": "1.7.11",
++      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz",
++      "integrity": "sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw==",
++      "dev": true,
++      "requires": {
++        "@webassemblyjs/wast-printer": "1.7.11"
++      }
++    },
++    "@webassemblyjs/helper-fsm": {
++      "version": "1.7.11",
++      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz",
++      "integrity": "sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A==",
++      "dev": true
++    },
++    "@webassemblyjs/helper-module-context": {
++      "version": "1.7.11",
++      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz",
++      "integrity": "sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg==",
++      "dev": true
++    },
++    "@webassemblyjs/helper-wasm-bytecode": {
++      "version": "1.7.11",
++      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz",
++      "integrity": "sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ==",
++      "dev": true
++    },
++    "@webassemblyjs/helper-wasm-section": {
++      "version": "1.7.11",
++      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz",
++      "integrity": "sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q==",
++      "dev": true,
++      "requires": {
++        "@webassemblyjs/ast": "1.7.11",
++        "@webassemblyjs/helper-buffer": "1.7.11",
++        "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
++        "@webassemblyjs/wasm-gen": "1.7.11"
++      }
++    },
++    "@webassemblyjs/ieee754": {
++      "version": "1.7.11",
++      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz",
++      "integrity": "sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ==",
++      "dev": true,
++      "requires": {
++        "@xtuc/ieee754": "^1.2.0"
++      }
++    },
++    "@webassemblyjs/leb128": {
++      "version": "1.7.11",
++      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.11.tgz",
++      "integrity": "sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw==",
++      "dev": true,
++      "requires": {
++        "@xtuc/long": "4.2.1"
++      }
++    },
++    "@webassemblyjs/utf8": {
++      "version": "1.7.11",
++      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.11.tgz",
++      "integrity": "sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA==",
++      "dev": true
++    },
++    "@webassemblyjs/wasm-edit": {
++      "version": "1.7.11",
++      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz",
++      "integrity": "sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg==",
++      "dev": true,
++      "requires": {
++        "@webassemblyjs/ast": "1.7.11",
++        "@webassemblyjs/helper-buffer": "1.7.11",
++        "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
++        "@webassemblyjs/helper-wasm-section": "1.7.11",
++        "@webassemblyjs/wasm-gen": "1.7.11",
++        "@webassemblyjs/wasm-opt": "1.7.11",
++        "@webassemblyjs/wasm-parser": "1.7.11",
++        "@webassemblyjs/wast-printer": "1.7.11"
++      }
++    },
++    "@webassemblyjs/wasm-gen": {
++      "version": "1.7.11",
++      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz",
++      "integrity": "sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA==",
++      "dev": true,
++      "requires": {
++        "@webassemblyjs/ast": "1.7.11",
++        "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
++        "@webassemblyjs/ieee754": "1.7.11",
++        "@webassemblyjs/leb128": "1.7.11",
++        "@webassemblyjs/utf8": "1.7.11"
++      }
++    },
++    "@webassemblyjs/wasm-opt": {
++      "version": "1.7.11",
++      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz",
++      "integrity": "sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg==",
++      "dev": true,
++      "requires": {
++        "@webassemblyjs/ast": "1.7.11",
++        "@webassemblyjs/helper-buffer": "1.7.11",
++        "@webassemblyjs/wasm-gen": "1.7.11",
++        "@webassemblyjs/wasm-parser": "1.7.11"
++      }
++    },
++    "@webassemblyjs/wasm-parser": {
++      "version": "1.7.11",
++      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz",
++      "integrity": "sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg==",
++      "dev": true,
++      "requires": {
++        "@webassemblyjs/ast": "1.7.11",
++        "@webassemblyjs/helper-api-error": "1.7.11",
++        "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
++        "@webassemblyjs/ieee754": "1.7.11",
++        "@webassemblyjs/leb128": "1.7.11",
++        "@webassemblyjs/utf8": "1.7.11"
++      }
++    },
++    "@webassemblyjs/wast-parser": {
++      "version": "1.7.11",
++      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz",
++      "integrity": "sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ==",
++      "dev": true,
++      "requires": {
++        "@webassemblyjs/ast": "1.7.11",
++        "@webassemblyjs/floating-point-hex-parser": "1.7.11",
++        "@webassemblyjs/helper-api-error": "1.7.11",
++        "@webassemblyjs/helper-code-frame": "1.7.11",
++        "@webassemblyjs/helper-fsm": "1.7.11",
++        "@xtuc/long": "4.2.1"
++      }
++    },
++    "@webassemblyjs/wast-printer": {
++      "version": "1.7.11",
++      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz",
++      "integrity": "sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg==",
++      "dev": true,
++      "requires": {
++        "@webassemblyjs/ast": "1.7.11",
++        "@webassemblyjs/wast-parser": "1.7.11",
++        "@xtuc/long": "4.2.1"
++      }
++    },
++    "@webpack-contrib/config-loader": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/@webpack-contrib/config-loader/-/config-loader-1.2.1.tgz",
++      "integrity": "sha512-C7XsS6bXft0aRlyt7YCLg+fm97Mb3tWd+i5fVVlEl0NW5HKy8LoXVKj3mB7ECcEHNEEdHhgzg8gxP+Or8cMj8Q==",
++      "dev": true,
++      "requires": {
++        "@webpack-contrib/schema-utils": "^1.0.0-beta.0",
++        "chalk": "^2.1.0",
++        "cosmiconfig": "^5.0.2",
++        "is-plain-obj": "^1.1.0",
++        "loud-rejection": "^1.6.0",
++        "merge-options": "^1.0.1",
++        "minimist": "^1.2.0",
++        "resolve": "^1.6.0",
++        "webpack-log": "^1.1.2"
++      },
++      "dependencies": {
++        "minimist": {
++          "version": "1.2.0",
++          "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
++          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
++          "dev": true
++        }
++      }
++    },
++    "@webpack-contrib/schema-utils": {
++      "version": "1.0.0-beta.0",
++      "resolved": "https://registry.npmjs.org/@webpack-contrib/schema-utils/-/schema-utils-1.0.0-beta.0.tgz",
++      "integrity": "sha512-LonryJP+FxQQHsjGBi6W786TQB1Oym+agTpY0c+Kj8alnIw+DLUJb6SI8Y1GHGhLCH1yPRrucjObUmxNICQ1pg==",
++      "dev": true,
++      "requires": {
++        "ajv": "^6.1.0",
++        "ajv-keywords": "^3.1.0",
++        "chalk": "^2.3.2",
++        "strip-ansi": "^4.0.0",
++        "text-table": "^0.2.0",
++        "webpack-log": "^1.1.2"
++      }
++    },
++    "@xtuc/ieee754": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
++      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
++      "dev": true
++    },
++    "@xtuc/long": {
++      "version": "4.2.1",
++      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz",
++      "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==",
++      "dev": 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==",
++      "dev": true
++    },
++    "acorn": {
++      "version": "5.7.3",
++      "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
++      "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
++      "dev": true
++    },
++    "acorn-dynamic-import": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz",
++      "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==",
++      "dev": true,
++      "requires": {
++        "acorn": "^5.0.0"
++      }
++    },
++    "agentkeepalive": {
++      "version": "2.2.0",
++      "resolved": "http://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.2.0.tgz",
++      "integrity": "sha1-xdG9SxKQCPEWPyNvhuX66iAm4u8=",
++      "dev": true
++    },
++    "ajv": {
++      "version": "6.5.5",
++      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz",
++      "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==",
++      "dev": true,
++      "requires": {
++        "fast-deep-equal": "^2.0.1",
++        "fast-json-stable-stringify": "^2.0.0",
++        "json-schema-traverse": "^0.4.1",
++        "uri-js": "^4.2.2"
++      }
++    },
++    "ajv-errors": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.0.tgz",
++      "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk=",
++      "dev": true
++    },
++    "ajv-keywords": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz",
++      "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=",
++      "dev": true
++    },
++    "algoliasearch": {
++      "version": "3.30.0",
++      "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-3.30.0.tgz",
++      "integrity": "sha512-FuinyPgNn0MeAHm9pan6rLgY6driY3mcTo4AWNBMY1MUReeA5PQA8apV/3SNXqA5bbsuvMvmA0ZrVzrOmEeQTA==",
++      "dev": true,
++      "requires": {
++        "agentkeepalive": "^2.2.0",
++        "debug": "^2.6.8",
++        "envify": "^4.0.0",
++        "es6-promise": "^4.1.0",
++        "events": "^1.1.0",
++        "foreach": "^2.0.5",
++        "global": "^4.3.2",
++        "inherits": "^2.0.1",
++        "isarray": "^2.0.1",
++        "load-script": "^1.0.0",
++        "object-keys": "^1.0.11",
++        "querystring-es3": "^0.2.1",
++        "reduce": "^1.0.1",
++        "semver": "^5.1.0",
++        "tunnel-agent": "^0.6.0"
++      },
++      "dependencies": {
++        "isarray": {
++          "version": "2.0.4",
++          "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.4.tgz",
++          "integrity": "sha512-GMxXOiUirWg1xTKRipM0Ek07rX+ubx4nNVElTJdNLYmNO/2YrDkgJGw9CljXn+r4EWiDQg/8lsRdHyg2PJuUaA==",
++          "dev": true
++        }
++      }
++    },
++    "ansi-align": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz",
++      "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=",
++      "dev": true,
++      "requires": {
++        "string-width": "^2.0.0"
++      }
++    },
++    "ansi-regex": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
++      "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
++      "dev": true
++    },
++    "ansi-styles": {
++      "version": "3.2.1",
++      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
++      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
++      "dev": true,
++      "requires": {
++        "color-convert": "^1.9.0"
++      }
++    },
++    "anymatch": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
++      "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
++      "dev": true,
++      "requires": {
++        "micromatch": "^3.1.4",
++        "normalize-path": "^2.1.1"
++      }
++    },
++    "aproba": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
++      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
++      "dev": true
++    },
++    "argparse": {
++      "version": "1.0.10",
++      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
++      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
++      "dev": true,
++      "requires": {
++        "sprintf-js": "~1.0.2"
++      }
++    },
++    "arr-diff": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
++      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
++      "dev": true
++    },
++    "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==",
++      "dev": true
++    },
++    "arr-union": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
++      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
++      "dev": true
++    },
++    "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=",
++      "dev": true
++    },
++    "array-unique": {
++      "version": "0.3.2",
++      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
++      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
++      "dev": true
++    },
++    "arrify": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
++      "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
++      "dev": true
++    },
++    "asn1": {
++      "version": "0.2.4",
++      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
++      "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
++      "dev": true,
++      "requires": {
++        "safer-buffer": "~2.1.0"
++      }
++    },
++    "asn1.js": {
++      "version": "4.10.1",
++      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
++      "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
++      "dev": true,
++      "requires": {
++        "bn.js": "^4.0.0",
++        "inherits": "^2.0.1",
++        "minimalistic-assert": "^1.0.0"
++      }
++    },
++    "assert": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
++      "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
++      "dev": true,
++      "requires": {
++        "util": "0.10.3"
++      },
++      "dependencies": {
++        "inherits": {
++          "version": "2.0.1",
++          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
++          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
++          "dev": true
++        },
++        "util": {
++          "version": "0.10.3",
++          "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz",
++          "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
++          "dev": true,
++          "requires": {
++            "inherits": "2.0.1"
++          }
++        }
++      }
++    },
++    "assert-plus": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
++      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
++      "dev": true
++    },
++    "assign-symbols": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
++      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
++      "dev": true
++    },
++    "async-each": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
++      "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
++      "dev": true
++    },
++    "asynckit": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
++      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
++      "dev": true
++    },
++    "atob": {
++      "version": "2.1.2",
++      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
++      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
++      "dev": true
++    },
++    "autocomplete.js": {
++      "version": "0.32.0",
++      "resolved": "https://registry.npmjs.org/autocomplete.js/-/autocomplete.js-0.32.0.tgz",
++      "integrity": "sha512-GYGmOo0r2wLgUEYE5J9z9OSLb8e0SAicgDR1M1pHOvwQ0Hc1SLHR0EqjDhl+lhl01cYq2d7lLbsgRmaizgLqrA==",
++      "dev": true,
++      "requires": {
++        "immediate": "^3.2.3"
++      }
++    },
++    "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=",
++      "dev": true
++    },
++    "aws4": {
++      "version": "1.8.0",
++      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
++      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
++      "dev": true
++    },
++    "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=",
++      "dev": true,
++      "requires": {
++        "chalk": "^1.1.3",
++        "esutils": "^2.0.2",
++        "js-tokens": "^3.0.2"
++      },
++      "dependencies": {
++        "ansi-regex": {
++          "version": "2.1.1",
++          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
++          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
++          "dev": true
++        },
++        "ansi-styles": {
++          "version": "2.2.1",
++          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
++          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
++          "dev": true
++        },
++        "chalk": {
++          "version": "1.1.3",
++          "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
++          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
++          "dev": true,
++          "requires": {
++            "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"
++          }
++        },
++        "strip-ansi": {
++          "version": "3.0.1",
++          "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
++          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
++          "dev": true,
++          "requires": {
++            "ansi-regex": "^2.0.0"
++          }
++        },
++        "supports-color": {
++          "version": "2.0.0",
++          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
++          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
++          "dev": true
++        }
++      }
++    },
++    "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=",
++      "dev": true,
++      "requires": {
++        "core-js": "^2.4.0",
++        "regenerator-runtime": "^0.11.0"
++      }
++    },
++    "balanced-match": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
++      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
++      "dev": true
++    },
++    "base": {
++      "version": "0.11.2",
++      "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
++      "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
++      "dev": true,
++      "requires": {
++        "cache-base": "^1.0.1",
++        "class-utils": "^0.3.5",
++        "component-emitter": "^1.2.1",
++        "define-property": "^1.0.0",
++        "isobject": "^3.0.1",
++        "mixin-deep": "^1.2.0",
++        "pascalcase": "^0.1.1"
++      },
++      "dependencies": {
++        "define-property": {
++          "version": "1.0.0",
++          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
++          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
++          "dev": true,
++          "requires": {
++            "is-descriptor": "^1.0.0"
++          }
++        },
++        "is-accessor-descriptor": {
++          "version": "1.0.0",
++          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
++          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
++          "dev": true,
++          "requires": {
++            "kind-of": "^6.0.0"
++          }
++        },
++        "is-data-descriptor": {
++          "version": "1.0.0",
++          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
++          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
++          "dev": true,
++          "requires": {
++            "kind-of": "^6.0.0"
++          }
++        },
++        "is-descriptor": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
++          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
++          "dev": true,
++          "requires": {
++            "is-accessor-descriptor": "^1.0.0",
++            "is-data-descriptor": "^1.0.0",
++            "kind-of": "^6.0.2"
++          }
++        }
++      }
++    },
++    "base64-js": {
++      "version": "1.3.0",
++      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
++      "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
++      "dev": true
++    },
++    "bcrypt-pbkdf": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
++      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
++      "dev": true,
++      "requires": {
++        "tweetnacl": "^0.14.3"
++      }
++    },
++    "big.js": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
++      "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
++      "dev": true
++    },
++    "binary-extensions": {
++      "version": "1.12.0",
++      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz",
++      "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==",
++      "dev": true
++    },
++    "bluebird": {
++      "version": "3.5.3",
++      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz",
++      "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==",
++      "dev": true
++    },
++    "bn.js": {
++      "version": "4.11.8",
++      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
++      "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
++      "dev": true
++    },
++    "boxen": {
++      "version": "1.3.0",
++      "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz",
++      "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==",
++      "dev": true,
++      "requires": {
++        "ansi-align": "^2.0.0",
++        "camelcase": "^4.0.0",
++        "chalk": "^2.0.1",
++        "cli-boxes": "^1.0.0",
++        "string-width": "^2.0.0",
++        "term-size": "^1.2.0",
++        "widest-line": "^2.0.0"
++      },
++      "dependencies": {
++        "camelcase": {
++          "version": "4.1.0",
++          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
++          "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
++          "dev": true
++        }
++      }
++    },
++    "brace-expansion": {
++      "version": "1.1.11",
++      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++      "dev": true,
++      "requires": {
++        "balanced-match": "^1.0.0",
++        "concat-map": "0.0.1"
++      }
++    },
++    "braces": {
++      "version": "2.3.2",
++      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
++      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
++      "dev": true,
++      "requires": {
++        "arr-flatten": "^1.1.0",
++        "array-unique": "^0.3.2",
++        "extend-shallow": "^2.0.1",
++        "fill-range": "^4.0.0",
++        "isobject": "^3.0.1",
++        "repeat-element": "^1.1.2",
++        "snapdragon": "^0.8.1",
++        "snapdragon-node": "^2.0.1",
++        "split-string": "^3.0.2",
++        "to-regex": "^3.0.1"
++      },
++      "dependencies": {
++        "extend-shallow": {
++          "version": "2.0.1",
++          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
++          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
++          "dev": true,
++          "requires": {
++            "is-extendable": "^0.1.0"
++          }
++        }
++      }
++    },
++    "brorand": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
++      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
++      "dev": true
++    },
++    "browserify-aes": {
++      "version": "1.2.0",
++      "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
++      "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
++      "dev": true,
++      "requires": {
++        "buffer-xor": "^1.0.3",
++        "cipher-base": "^1.0.0",
++        "create-hash": "^1.1.0",
++        "evp_bytestokey": "^1.0.3",
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "browserify-cipher": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
++      "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
++      "dev": true,
++      "requires": {
++        "browserify-aes": "^1.0.4",
++        "browserify-des": "^1.0.0",
++        "evp_bytestokey": "^1.0.0"
++      }
++    },
++    "browserify-des": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
++      "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
++      "dev": true,
++      "requires": {
++        "cipher-base": "^1.0.1",
++        "des.js": "^1.0.0",
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.1.2"
++      }
++    },
++    "browserify-rsa": {
++      "version": "4.0.1",
++      "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
++      "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
++      "dev": true,
++      "requires": {
++        "bn.js": "^4.1.0",
++        "randombytes": "^2.0.1"
++      }
++    },
++    "browserify-sign": {
++      "version": "4.0.4",
++      "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
++      "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
++      "dev": true,
++      "requires": {
++        "bn.js": "^4.1.1",
++        "browserify-rsa": "^4.0.0",
++        "create-hash": "^1.1.0",
++        "create-hmac": "^1.1.2",
++        "elliptic": "^6.0.0",
++        "inherits": "^2.0.1",
++        "parse-asn1": "^5.0.0"
++      }
++    },
++    "browserify-zlib": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
++      "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
++      "dev": true,
++      "requires": {
++        "pako": "~1.0.5"
++      }
++    },
++    "buffer": {
++      "version": "4.9.1",
++      "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
++      "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
++      "dev": true,
++      "requires": {
++        "base64-js": "^1.0.2",
++        "ieee754": "^1.1.4",
++        "isarray": "^1.0.0"
++      }
++    },
++    "buffer-from": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
++      "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
++      "dev": true
++    },
++    "buffer-xor": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
++      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
++      "dev": true
++    },
++    "builtin-modules": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
++      "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
++      "dev": true
++    },
++    "builtin-status-codes": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
++      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
++      "dev": true
++    },
++    "cacache": {
++      "version": "10.0.4",
++      "resolved": "http://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz",
++      "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==",
++      "dev": true,
++      "requires": {
++        "bluebird": "^3.5.1",
++        "chownr": "^1.0.1",
++        "glob": "^7.1.2",
++        "graceful-fs": "^4.1.11",
++        "lru-cache": "^4.1.1",
++        "mississippi": "^2.0.0",
++        "mkdirp": "^0.5.1",
++        "move-concurrently": "^1.0.1",
++        "promise-inflight": "^1.0.1",
++        "rimraf": "^2.6.2",
++        "ssri": "^5.2.4",
++        "unique-filename": "^1.1.0",
++        "y18n": "^4.0.0"
++      }
++    },
++    "cache-base": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
++      "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
++      "dev": true,
++      "requires": {
++        "collection-visit": "^1.0.0",
++        "component-emitter": "^1.2.1",
++        "get-value": "^2.0.6",
++        "has-value": "^1.0.0",
++        "isobject": "^3.0.1",
++        "set-value": "^2.0.0",
++        "to-object-path": "^0.3.0",
++        "union-value": "^1.0.0",
++        "unset-value": "^1.0.0"
++      }
++    },
++    "caller-callsite": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
++      "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
++      "dev": true,
++      "requires": {
++        "callsites": "^2.0.0"
++      }
++    },
++    "caller-path": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
++      "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
++      "dev": true,
++      "requires": {
++        "caller-callsite": "^2.0.0"
++      }
++    },
++    "callsites": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
++      "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
++      "dev": true
++    },
++    "camelcase": {
++      "version": "5.0.0",
++      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz",
++      "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==",
++      "dev": true
++    },
++    "camelcase-keys": {
++      "version": "4.2.0",
++      "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz",
++      "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
++      "dev": true,
++      "requires": {
++        "camelcase": "^4.1.0",
++        "map-obj": "^2.0.0",
++        "quick-lru": "^1.0.0"
++      },
++      "dependencies": {
++        "camelcase": {
++          "version": "4.1.0",
++          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
++          "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
++          "dev": true
++        }
++      }
++    },
++    "caniuse-api": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-2.0.0.tgz",
++      "integrity": "sha1-sd21pZZrFvSNxJmERNS7xsfZ2DQ=",
++      "dev": true,
++      "requires": {
++        "browserslist": "^2.0.0",
++        "caniuse-lite": "^1.0.0",
++        "lodash.memoize": "^4.1.2",
++        "lodash.uniq": "^4.5.0"
++      },
++      "dependencies": {
++        "browserslist": {
++          "version": "2.11.3",
++          "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz",
++          "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==",
++          "dev": true,
++          "requires": {
++            "caniuse-lite": "^1.0.30000792",
++            "electron-to-chromium": "^1.3.30"
++          }
++        }
++      }
++    },
++    "caniuse-lite": {
++      "version": "1.0.30000907",
++      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000907.tgz",
++      "integrity": "sha512-No5sQ/OB2Nmka8MNOOM6nJx+Hxt6MQ6h7t7kgJFu9oTuwjykyKRSBP/+i/QAyFHxeHB+ddE0Da1CG5ihx9oehQ==",
++      "dev": true
++    },
++    "capture-stack-trace": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz",
++      "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==",
++      "dev": true
++    },
++    "caseless": {
++      "version": "0.12.0",
++      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
++      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
++      "dev": true
++    },
++    "chalk": {
++      "version": "2.4.1",
++      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
++      "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
++      "dev": true,
++      "requires": {
++        "ansi-styles": "^3.2.1",
++        "escape-string-regexp": "^1.0.5",
++        "supports-color": "^5.3.0"
++      }
++    },
++    "chokidar": {
++      "version": "2.0.4",
++      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
++      "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
++      "dev": true,
++      "requires": {
++        "anymatch": "^2.0.0",
++        "async-each": "^1.0.0",
++        "braces": "^2.3.0",
++        "fsevents": "^1.2.2",
++        "glob-parent": "^3.1.0",
++        "inherits": "^2.0.1",
++        "is-binary-path": "^1.0.0",
++        "is-glob": "^4.0.0",
++        "lodash.debounce": "^4.0.8",
++        "normalize-path": "^2.1.1",
++        "path-is-absolute": "^1.0.0",
++        "readdirp": "^2.0.0",
++        "upath": "^1.0.5"
++      }
++    },
++    "chownr": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz",
++      "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
++      "dev": true
++    },
++    "chrome-trace-event": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz",
++      "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==",
++      "dev": true,
++      "requires": {
++        "tslib": "^1.9.0"
++      }
++    },
++    "ci-info": {
++      "version": "1.6.0",
++      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz",
++      "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==",
++      "dev": true
++    },
++    "cipher-base": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
++      "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
++      "dev": true,
++      "requires": {
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "class-utils": {
++      "version": "0.3.6",
++      "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
++      "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
++      "dev": true,
++      "requires": {
++        "arr-union": "^3.1.0",
++        "define-property": "^0.2.5",
++        "isobject": "^3.0.0",
++        "static-extend": "^0.1.1"
++      },
++      "dependencies": {
++        "define-property": {
++          "version": "0.2.5",
++          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
++          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
++          "dev": true,
++          "requires": {
++            "is-descriptor": "^0.1.0"
++          }
++        }
++      }
++    },
++    "clean-webpack-plugin": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-1.0.0.tgz",
++      "integrity": "sha512-+f96f52UIET4tOFBbCqezx7KH+w7lz/p4fA1FEjf0hC6ugxqwZedBtENzekN2FnmoTF/bn1LrlkvebOsDZuXKw==",
++      "dev": true,
++      "requires": {
++        "rimraf": "^2.6.1"
++      }
++    },
++    "cli-boxes": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz",
++      "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=",
++      "dev": true
++    },
++    "cli-cursor": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
++      "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
++      "dev": true,
++      "requires": {
++        "restore-cursor": "^2.0.0"
++      }
++    },
++    "cli-spinners": {
++      "version": "1.3.1",
++      "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz",
++      "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==",
++      "dev": true
++    },
++    "clipboard": {
++      "version": "2.0.4",
++      "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.4.tgz",
++      "integrity": "sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==",
++      "dev": true,
++      "requires": {
++        "good-listener": "^1.2.2",
++        "select": "^1.1.2",
++        "tiny-emitter": "^2.0.0"
++      }
++    },
++    "cliui": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
++      "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
++      "dev": true,
++      "requires": {
++        "string-width": "^2.1.1",
++        "strip-ansi": "^4.0.0",
++        "wrap-ansi": "^2.0.0"
++      }
++    },
++    "clone": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
++      "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
++      "dev": true
++    },
++    "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=",
++      "dev": true
++    },
++    "collection-visit": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
++      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
++      "dev": true,
++      "requires": {
++        "map-visit": "^1.0.0",
++        "object-visit": "^1.0.0"
++      }
++    },
++    "color": {
++      "version": "0.11.4",
++      "resolved": "http://registry.npmjs.org/color/-/color-0.11.4.tgz",
++      "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=",
++      "dev": true,
++      "requires": {
++        "clone": "^1.0.2",
++        "color-convert": "^1.3.0",
++        "color-string": "^0.3.0"
++      }
++    },
++    "color-convert": {
++      "version": "1.9.3",
++      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
++      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
++      "dev": true,
++      "requires": {
++        "color-name": "1.1.3"
++      }
++    },
++    "color-name": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
++      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
++      "dev": true
++    },
++    "color-string": {
++      "version": "0.3.0",
++      "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz",
++      "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=",
++      "dev": true,
++      "requires": {
++        "color-name": "^1.0.0"
++      }
++    },
++    "combined-stream": {
++      "version": "1.0.7",
++      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
++      "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
++      "dev": true,
++      "requires": {
++        "delayed-stream": "~1.0.0"
++      }
++    },
++    "commander": {
++      "version": "2.13.0",
++      "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
++      "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==",
++      "dev": true
++    },
++    "commondir": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
++      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
++      "dev": true
++    },
++    "component-emitter": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
++      "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
++      "dev": true
++    },
++    "concat-map": {
++      "version": "0.0.1",
++      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
++      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
++      "dev": true
++    },
++    "concat-stream": {
++      "version": "1.6.2",
++      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
++      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
++      "dev": true,
++      "requires": {
++        "buffer-from": "^1.0.0",
++        "inherits": "^2.0.3",
++        "readable-stream": "^2.2.2",
++        "typedarray": "^0.0.6"
++      }
++    },
++    "configstore": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz",
++      "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==",
++      "dev": true,
++      "requires": {
++        "dot-prop": "^4.1.0",
++        "graceful-fs": "^4.1.2",
++        "make-dir": "^1.0.0",
++        "unique-string": "^1.0.0",
++        "write-file-atomic": "^2.0.0",
++        "xdg-basedir": "^3.0.0"
++      }
++    },
++    "console-browserify": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
++      "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
++      "dev": true,
++      "requires": {
++        "date-now": "^0.1.4"
++      }
++    },
++    "constants-browserify": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
++      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
++      "dev": true
++    },
++    "copy-concurrently": {
++      "version": "1.0.5",
++      "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
++      "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
++      "dev": true,
++      "requires": {
++        "aproba": "^1.1.1",
++        "fs-write-stream-atomic": "^1.0.8",
++        "iferr": "^0.1.5",
++        "mkdirp": "^0.5.1",
++        "rimraf": "^2.5.4",
++        "run-queue": "^1.0.0"
++      }
++    },
++    "copy-descriptor": {
++      "version": "0.1.1",
++      "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
++      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
++      "dev": true
++    },
++    "core-js": {
++      "version": "2.5.7",
++      "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
++      "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==",
++      "dev": true
++    },
++    "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=",
++      "dev": true
++    },
++    "cosmiconfig": {
++      "version": "5.0.7",
++      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz",
++      "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==",
++      "dev": true,
++      "requires": {
++        "import-fresh": "^2.0.0",
++        "is-directory": "^0.3.1",
++        "js-yaml": "^3.9.0",
++        "parse-json": "^4.0.0"
++      }
++    },
++    "create-ecdh": {
++      "version": "4.0.3",
++      "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
++      "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
++      "dev": true,
++      "requires": {
++        "bn.js": "^4.1.0",
++        "elliptic": "^6.0.0"
++      }
++    },
++    "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=",
++      "dev": true,
++      "requires": {
++        "capture-stack-trace": "^1.0.0"
++      }
++    },
++    "create-hash": {
++      "version": "1.2.0",
++      "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
++      "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
++      "dev": true,
++      "requires": {
++        "cipher-base": "^1.0.1",
++        "inherits": "^2.0.1",
++        "md5.js": "^1.3.4",
++        "ripemd160": "^2.0.1",
++        "sha.js": "^2.4.0"
++      }
++    },
++    "create-hmac": {
++      "version": "1.1.7",
++      "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
++      "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
++      "dev": true,
++      "requires": {
++        "cipher-base": "^1.0.3",
++        "create-hash": "^1.1.0",
++        "inherits": "^2.0.1",
++        "ripemd160": "^2.0.0",
++        "safe-buffer": "^5.0.1",
++        "sha.js": "^2.4.8"
++      }
++    },
++    "cross-spawn": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
++      "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
++      "dev": true,
++      "requires": {
++        "lru-cache": "^4.0.1",
++        "shebang-command": "^1.2.0",
++        "which": "^1.2.9"
++      }
++    },
++    "crypto-browserify": {
++      "version": "3.12.0",
++      "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
++      "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
++      "dev": true,
++      "requires": {
++        "browserify-cipher": "^1.0.0",
++        "browserify-sign": "^4.0.0",
++        "create-ecdh": "^4.0.0",
++        "create-hash": "^1.1.0",
++        "create-hmac": "^1.1.0",
++        "diffie-hellman": "^5.0.0",
++        "inherits": "^2.0.1",
++        "pbkdf2": "^3.0.3",
++        "public-encrypt": "^4.0.0",
++        "randombytes": "^2.0.0",
++        "randomfill": "^1.0.3"
++      }
++    },
++    "crypto-random-string": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
++      "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
++      "dev": true
++    },
++    "css-color-function": {
++      "version": "1.3.3",
++      "resolved": "https://registry.npmjs.org/css-color-function/-/css-color-function-1.3.3.tgz",
++      "integrity": "sha1-jtJMLAIFBzM5+voAS8jBQfzLKC4=",
++      "dev": true,
++      "requires": {
++        "balanced-match": "0.1.0",
++        "color": "^0.11.0",
++        "debug": "^3.1.0",
++        "rgb": "~0.1.0"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "0.1.0",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.1.0.tgz",
++          "integrity": "sha1-tQS9BYabOSWd0MXvw12EMXbczEo=",
++          "dev": true
++        },
++        "debug": {
++          "version": "3.2.6",
++          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
++          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
++          "dev": true,
++          "requires": {
++            "ms": "^2.1.1"
++          }
++        },
++        "ms": {
++          "version": "2.1.1",
++          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
++          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
++          "dev": true
++        }
++      }
++    },
++    "css-loader": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz",
++      "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==",
++      "dev": true,
++      "requires": {
++        "babel-code-frame": "^6.26.0",
++        "css-selector-tokenizer": "^0.7.0",
++        "icss-utils": "^2.1.0",
++        "loader-utils": "^1.0.2",
++        "lodash": "^4.17.11",
++        "postcss": "^6.0.23",
++        "postcss-modules-extract-imports": "^1.2.0",
++        "postcss-modules-local-by-default": "^1.2.0",
++        "postcss-modules-scope": "^1.1.0",
++        "postcss-modules-values": "^1.3.0",
++        "postcss-value-parser": "^3.3.0",
++        "source-list-map": "^2.0.0"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "css-selector-tokenizer": {
++      "version": "0.7.1",
++      "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz",
++      "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==",
++      "dev": true,
++      "requires": {
++        "cssesc": "^0.1.0",
++        "fastparse": "^1.1.1",
++        "regexpu-core": "^1.0.0"
++      },
++      "dependencies": {
++        "cssesc": {
++          "version": "0.1.0",
++          "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
++          "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
++          "dev": true
++        }
++      }
++    },
++    "css-unit-converter": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz",
++      "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=",
++      "dev": true
++    },
++    "cssesc": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
++      "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
++      "dev": true
++    },
++    "currently-unhandled": {
++      "version": "0.4.1",
++      "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
++      "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
++      "dev": true,
++      "requires": {
++        "array-find-index": "^1.0.1"
++      }
++    },
++    "cyclist": {
++      "version": "0.2.2",
++      "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
++      "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=",
++      "dev": true
++    },
++    "d": {
++      "version": "1.0.0",
++      "resolved": "http://registry.npmjs.org/d/-/d-1.0.0.tgz",
++      "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
++      "dev": true,
++      "requires": {
++        "es5-ext": "^0.10.9"
++      }
++    },
++    "dashdash": {
++      "version": "1.14.1",
++      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
++      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
++      "dev": true,
++      "requires": {
++        "assert-plus": "^1.0.0"
++      }
++    },
++    "date-now": {
++      "version": "0.1.4",
++      "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
++      "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
++      "dev": true
++    },
++    "debug": {
++      "version": "2.6.9",
++      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
++      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
++      "dev": true,
++      "requires": {
++        "ms": "2.0.0"
++      }
++    },
++    "decamelize": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz",
++      "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==",
++      "dev": true,
++      "requires": {
++        "xregexp": "4.0.0"
++      }
++    },
++    "decamelize-keys": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
++      "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
++      "dev": true,
++      "requires": {
++        "decamelize": "^1.1.0",
++        "map-obj": "^1.0.0"
++      },
++      "dependencies": {
++        "decamelize": {
++          "version": "1.2.0",
++          "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
++          "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
++          "dev": true
++        },
++        "map-obj": {
++          "version": "1.0.1",
++          "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
++          "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
++          "dev": true
++        }
++      }
++    },
++    "decode-uri-component": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
++      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
++      "dev": true
++    },
++    "deep-extend": {
++      "version": "0.6.0",
++      "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
++      "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
++      "dev": true
++    },
++    "defaults": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
++      "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
++      "dev": true,
++      "requires": {
++        "clone": "^1.0.2"
++      }
++    },
++    "define-properties": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
++      "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
++      "dev": true,
++      "requires": {
++        "object-keys": "^1.0.12"
++      }
++    },
++    "define-property": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
++      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
++      "dev": true,
++      "requires": {
++        "is-descriptor": "^1.0.2",
++        "isobject": "^3.0.1"
++      },
++      "dependencies": {
++        "is-accessor-descriptor": {
++          "version": "1.0.0",
++          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
++          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
++          "dev": true,
++          "requires": {
++            "kind-of": "^6.0.0"
++          }
++        },
++        "is-data-descriptor": {
++          "version": "1.0.0",
++          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
++          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
++          "dev": true,
++          "requires": {
++            "kind-of": "^6.0.0"
++          }
++        },
++        "is-descriptor": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
++          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
++          "dev": true,
++          "requires": {
++            "is-accessor-descriptor": "^1.0.0",
++            "is-data-descriptor": "^1.0.0",
++            "kind-of": "^6.0.2"
++          }
++        }
++      }
++    },
++    "delayed-stream": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
++      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
++      "dev": true
++    },
++    "delegate": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
++      "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==",
++      "dev": true
++    },
++    "des.js": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
++      "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
++      "dev": true,
++      "requires": {
++        "inherits": "^2.0.1",
++        "minimalistic-assert": "^1.0.0"
++      }
++    },
++    "diffie-hellman": {
++      "version": "5.0.3",
++      "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
++      "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
++      "dev": true,
++      "requires": {
++        "bn.js": "^4.1.0",
++        "miller-rabin": "^4.0.0",
++        "randombytes": "^2.0.0"
++      }
++    },
++    "docsearch.js": {
++      "version": "2.6.1",
++      "resolved": "https://registry.npmjs.org/docsearch.js/-/docsearch.js-2.6.1.tgz",
++      "integrity": "sha512-3rAvJ4w+dl90kEdiuB26cfVjgUrIqIpEAtqjUfVo7pS7a5TuM914cpFfPGekb+W/Boz4zkBD8d2o1NKSeV8MHg==",
++      "dev": true,
++      "requires": {
++        "algoliasearch": "^3.24.5",
++        "autocomplete.js": "0.32.0",
++        "hogan.js": "^3.0.2",
++        "request": "^2.87.0",
++        "stack-utils": "^1.0.1",
++        "to-factory": "^1.0.0",
++        "zepto": "^1.2.0"
++      }
++    },
++    "dom-walk": {
++      "version": "0.1.1",
++      "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz",
++      "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=",
++      "dev": true
++    },
++    "domain-browser": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
++      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
++      "dev": true
++    },
++    "dot-prop": {
++      "version": "4.2.0",
++      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
++      "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
++      "dev": true,
++      "requires": {
++        "is-obj": "^1.0.0"
++      }
++    },
++    "duplexer3": {
++      "version": "0.1.4",
++      "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
++      "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
++      "dev": true
++    },
++    "duplexify": {
++      "version": "3.6.1",
++      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz",
++      "integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==",
++      "dev": true,
++      "requires": {
++        "end-of-stream": "^1.0.0",
++        "inherits": "^2.0.1",
++        "readable-stream": "^2.0.0",
++        "stream-shift": "^1.0.0"
++      }
++    },
++    "ecc-jsbn": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
++      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
++      "dev": true,
++      "requires": {
++        "jsbn": "~0.1.0",
++        "safer-buffer": "^2.1.0"
++      }
++    },
++    "electron-to-chromium": {
++      "version": "1.3.84",
++      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.84.tgz",
++      "integrity": "sha512-IYhbzJYOopiTaNWMBp7RjbecUBsbnbDneOP86f3qvS0G0xfzwNSvMJpTrvi5/Y1gU7tg2NAgeg8a8rCYvW9Whw==",
++      "dev": true
++    },
++    "elliptic": {
++      "version": "6.4.1",
++      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz",
++      "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==",
++      "dev": true,
++      "requires": {
++        "bn.js": "^4.4.0",
++        "brorand": "^1.0.1",
++        "hash.js": "^1.0.0",
++        "hmac-drbg": "^1.0.0",
++        "inherits": "^2.0.1",
++        "minimalistic-assert": "^1.0.0",
++        "minimalistic-crypto-utils": "^1.0.0"
++      }
++    },
++    "emojis-list": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
++      "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
++      "dev": true
++    },
++    "end-of-stream": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
++      "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
++      "dev": true,
++      "requires": {
++        "once": "^1.4.0"
++      }
++    },
++    "enhanced-resolve": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz",
++      "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==",
++      "dev": true,
++      "requires": {
++        "graceful-fs": "^4.1.2",
++        "memory-fs": "^0.4.0",
++        "tapable": "^1.0.0"
++      }
++    },
++    "envify": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/envify/-/envify-4.1.0.tgz",
++      "integrity": "sha512-IKRVVoAYr4pIx4yIWNsz9mOsboxlNXiu7TNBnem/K/uTHdkyzXWDzHCK7UTolqBbgaBz0tQHsD3YNls0uIIjiw==",
++      "dev": true,
++      "requires": {
++        "esprima": "^4.0.0",
++        "through": "~2.3.4"
++      }
++    },
++    "errno": {
++      "version": "0.1.7",
++      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
++      "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
++      "dev": true,
++      "requires": {
++        "prr": "~1.0.1"
++      }
++    },
++    "error-ex": {
++      "version": "1.3.2",
++      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
++      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
++      "dev": true,
++      "requires": {
++        "is-arrayish": "^0.2.1"
++      }
++    },
++    "es-abstract": {
++      "version": "1.12.0",
++      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
++      "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==",
++      "dev": true,
++      "requires": {
++        "es-to-primitive": "^1.1.1",
++        "function-bind": "^1.1.1",
++        "has": "^1.0.1",
++        "is-callable": "^1.1.3",
++        "is-regex": "^1.0.4"
++      }
++    },
++    "es-to-primitive": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
++      "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
++      "dev": true,
++      "requires": {
++        "is-callable": "^1.1.4",
++        "is-date-object": "^1.0.1",
++        "is-symbol": "^1.0.2"
++      }
++    },
++    "es5-ext": {
++      "version": "0.10.46",
++      "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.46.tgz",
++      "integrity": "sha512-24XxRvJXNFwEMpJb3nOkiRJKRoupmjYmOPVlI65Qy2SrtxwOTB+g6ODjBKOtwEHbYrhWRty9xxOWLNdClT2djw==",
++      "dev": true,
++      "requires": {
++        "es6-iterator": "~2.0.3",
++        "es6-symbol": "~3.1.1",
++        "next-tick": "1"
++      }
++    },
++    "es6-iterator": {
++      "version": "2.0.3",
++      "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
++      "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
++      "dev": true,
++      "requires": {
++        "d": "1",
++        "es5-ext": "^0.10.35",
++        "es6-symbol": "^3.1.1"
++      }
++    },
++    "es6-promise": {
++      "version": "4.2.5",
++      "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
++      "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==",
++      "dev": true
++    },
++    "es6-symbol": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
++      "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
++      "dev": true,
++      "requires": {
++        "d": "1",
++        "es5-ext": "~0.10.14"
++      }
++    },
++    "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=",
++      "dev": true
++    },
++    "eslint-scope": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz",
++      "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==",
++      "dev": true,
++      "requires": {
++        "esrecurse": "^4.1.0",
++        "estraverse": "^4.1.1"
++      }
++    },
++    "esprima": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
++      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
++      "dev": true
++    },
++    "esrecurse": {
++      "version": "4.2.1",
++      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
++      "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
++      "dev": true,
++      "requires": {
++        "estraverse": "^4.1.0"
++      }
++    },
++    "estraverse": {
++      "version": "4.2.0",
++      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
++      "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
++      "dev": true
++    },
++    "esutils": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
++      "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
++      "dev": true
++    },
++    "events": {
++      "version": "1.1.1",
++      "resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz",
++      "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
++      "dev": true
++    },
++    "evp_bytestokey": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
++      "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
++      "dev": true,
++      "requires": {
++        "md5.js": "^1.3.4",
++        "safe-buffer": "^5.1.1"
++      }
++    },
++    "execa": {
++      "version": "0.7.0",
++      "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
++      "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
++      "dev": true,
++      "requires": {
++        "cross-spawn": "^5.0.1",
++        "get-stream": "^3.0.0",
++        "is-stream": "^1.1.0",
++        "npm-run-path": "^2.0.0",
++        "p-finally": "^1.0.0",
++        "signal-exit": "^3.0.0",
++        "strip-eof": "^1.0.0"
++      }
++    },
++    "expand-brackets": {
++      "version": "2.1.4",
++      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
++      "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
++      "dev": true,
++      "requires": {
++        "debug": "^2.3.3",
++        "define-property": "^0.2.5",
++        "extend-shallow": "^2.0.1",
++        "posix-character-classes": "^0.1.0",
++        "regex-not": "^1.0.0",
++        "snapdragon": "^0.8.1",
++        "to-regex": "^3.0.1"
++      },
++      "dependencies": {
++        "define-property": {
++          "version": "0.2.5",
++          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
++          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
++          "dev": true,
++          "requires": {
++            "is-descriptor": "^0.1.0"
++          }
++        },
++        "extend-shallow": {
++          "version": "2.0.1",
++          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
++          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
++          "dev": true,
++          "requires": {
++            "is-extendable": "^0.1.0"
++          }
++        }
++      }
++    },
++    "extend": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
++      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
++      "dev": true
++    },
++    "extend-shallow": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
++      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
++      "dev": true,
++      "requires": {
++        "assign-symbols": "^1.0.0",
++        "is-extendable": "^1.0.1"
++      },
++      "dependencies": {
++        "is-extendable": {
++          "version": "1.0.1",
++          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
++          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
++          "dev": true,
++          "requires": {
++            "is-plain-object": "^2.0.4"
++          }
++        }
++      }
++    },
++    "extglob": {
++      "version": "2.0.4",
++      "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
++      "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
++      "dev": true,
++      "requires": {
++        "array-unique": "^0.3.2",
++        "define-property": "^1.0.0",
++        "expand-brackets": "^2.1.4",
++        "extend-shallow": "^2.0.1",
++        "fragment-cache": "^0.2.1",
++        "regex-not": "^1.0.0",
++        "snapdragon": "^0.8.1",
++        "to-regex": "^3.0.1"
++      },
++      "dependencies": {
++        "define-property": {
++          "version": "1.0.0",
++          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
++          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
++          "dev": true,
++          "requires": {
++            "is-descriptor": "^1.0.0"
++          }
++        },
++        "extend-shallow": {
++          "version": "2.0.1",
++          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
++          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
++          "dev": true,
++          "requires": {
++            "is-extendable": "^0.1.0"
++          }
++        },
++        "is-accessor-descriptor": {
++          "version": "1.0.0",
++          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
++          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
++          "dev": true,
++          "requires": {
++            "kind-of": "^6.0.0"
++          }
++        },
++        "is-data-descriptor": {
++          "version": "1.0.0",
++          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
++          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
++          "dev": true,
++          "requires": {
++            "kind-of": "^6.0.0"
++          }
++        },
++        "is-descriptor": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
++          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
++          "dev": true,
++          "requires": {
++            "is-accessor-descriptor": "^1.0.0",
++            "is-data-descriptor": "^1.0.0",
++            "kind-of": "^6.0.2"
++          }
++        }
++      }
++    },
++    "extsprintf": {
++      "version": "1.3.0",
++      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
++      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
++      "dev": true
++    },
++    "fast-deep-equal": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
++      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
++      "dev": true
++    },
++    "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=",
++      "dev": true
++    },
++    "fastparse": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
++      "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
++      "dev": true
++    },
++    "file-loader": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-2.0.0.tgz",
++      "integrity": "sha512-YCsBfd1ZGCyonOKLxPiKPdu+8ld9HAaMEvJewzz+b2eTF7uL5Zm/HdBF6FjCrpCMRq25Mi0U1gl4pwn2TlH7hQ==",
++      "dev": true,
++      "requires": {
++        "loader-utils": "^1.0.2",
++        "schema-utils": "^1.0.0"
++      },
++      "dependencies": {
++        "schema-utils": {
++          "version": "1.0.0",
++          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
++          "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
++          "dev": true,
++          "requires": {
++            "ajv": "^6.1.0",
++            "ajv-errors": "^1.0.0",
++            "ajv-keywords": "^3.1.0"
++          }
++        }
++      }
++    },
++    "fill-range": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
++      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
++      "dev": true,
++      "requires": {
++        "extend-shallow": "^2.0.1",
++        "is-number": "^3.0.0",
++        "repeat-string": "^1.6.1",
++        "to-regex-range": "^2.1.0"
++      },
++      "dependencies": {
++        "extend-shallow": {
++          "version": "2.0.1",
++          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
++          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
++          "dev": true,
++          "requires": {
++            "is-extendable": "^0.1.0"
++          }
++        }
++      }
++    },
++    "find-cache-dir": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
++      "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
++      "dev": true,
++      "requires": {
++        "commondir": "^1.0.1",
++        "make-dir": "^1.0.0",
++        "pkg-dir": "^2.0.0"
++      }
++    },
++    "find-up": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
++      "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
++      "dev": true,
++      "requires": {
++        "locate-path": "^2.0.0"
++      }
++    },
++    "flatten": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
++      "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=",
++      "dev": true
++    },
++    "flush-write-stream": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz",
++      "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
++      "dev": true,
++      "requires": {
++        "inherits": "^2.0.1",
++        "readable-stream": "^2.0.4"
++      }
++    },
++    "for-in": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
++      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
++      "dev": true
++    },
++    "foreach": {
++      "version": "2.0.5",
++      "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
++      "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
++      "dev": true
++    },
++    "forever-agent": {
++      "version": "0.6.1",
++      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
++      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
++      "dev": true
++    },
++    "form-data": {
++      "version": "2.3.3",
++      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
++      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
++      "dev": true,
++      "requires": {
++        "asynckit": "^0.4.0",
++        "combined-stream": "^1.0.6",
++        "mime-types": "^2.1.12"
++      }
++    },
++    "fragment-cache": {
++      "version": "0.2.1",
++      "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
++      "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
++      "dev": true,
++      "requires": {
++        "map-cache": "^0.2.2"
++      }
++    },
++    "from2": {
++      "version": "2.3.0",
++      "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
++      "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
++      "dev": true,
++      "requires": {
++        "inherits": "^2.0.1",
++        "readable-stream": "^2.0.0"
++      }
++    },
++    "fs-write-stream-atomic": {
++      "version": "1.0.10",
++      "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
++      "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
++      "dev": true,
++      "requires": {
++        "graceful-fs": "^4.1.2",
++        "iferr": "^0.1.5",
++        "imurmurhash": "^0.1.4",
++        "readable-stream": "1 || 2"
++      }
++    },
++    "fs.realpath": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
++      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
++      "dev": true
++    },
++    "fsevents": {
++      "version": "1.2.4",
++      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",
++      "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",
++      "dev": true,
++      "optional": true,
++      "requires": {
++        "nan": "^2.9.2",
++        "node-pre-gyp": "^0.10.0"
++      },
++      "dependencies": {
++        "abbrev": {
++          "version": "1.1.1",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "ansi-regex": {
++          "version": "2.1.1",
++          "bundled": true,
++          "dev": true
++        },
++        "aproba": {
++          "version": "1.2.0",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "are-we-there-yet": {
++          "version": "1.1.4",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "delegates": "^1.0.0",
++            "readable-stream": "^2.0.6"
++          }
++        },
++        "balanced-match": {
++          "version": "1.0.0",
++          "bundled": true,
++          "dev": true
++        },
++        "brace-expansion": {
++          "version": "1.1.11",
++          "bundled": true,
++          "dev": true,
++          "requires": {
++            "balanced-match": "^1.0.0",
++            "concat-map": "0.0.1"
++          }
++        },
++        "chownr": {
++          "version": "1.0.1",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "code-point-at": {
++          "version": "1.1.0",
++          "bundled": true,
++          "dev": true
++        },
++        "concat-map": {
++          "version": "0.0.1",
++          "bundled": true,
++          "dev": true
++        },
++        "console-control-strings": {
++          "version": "1.1.0",
++          "bundled": true,
++          "dev": true
++        },
++        "core-util-is": {
++          "version": "1.0.2",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "debug": {
++          "version": "2.6.9",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "ms": "2.0.0"
++          }
++        },
++        "deep-extend": {
++          "version": "0.5.1",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "delegates": {
++          "version": "1.0.0",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "detect-libc": {
++          "version": "1.0.3",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "fs-minipass": {
++          "version": "1.2.5",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "minipass": "^2.2.1"
++          }
++        },
++        "fs.realpath": {
++          "version": "1.0.0",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "gauge": {
++          "version": "2.7.4",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "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"
++          }
++        },
++        "glob": {
++          "version": "7.1.2",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "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"
++          }
++        },
++        "has-unicode": {
++          "version": "2.0.1",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "iconv-lite": {
++          "version": "0.4.21",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "safer-buffer": "^2.1.0"
++          }
++        },
++        "ignore-walk": {
++          "version": "3.0.1",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "minimatch": "^3.0.4"
++          }
++        },
++        "inflight": {
++          "version": "1.0.6",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "once": "^1.3.0",
++            "wrappy": "1"
++          }
++        },
++        "inherits": {
++          "version": "2.0.3",
++          "bundled": true,
++          "dev": true
++        },
++        "ini": {
++          "version": "1.3.5",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "is-fullwidth-code-point": {
++          "version": "1.0.0",
++          "bundled": true,
++          "dev": true,
++          "requires": {
++            "number-is-nan": "^1.0.0"
++          }
++        },
++        "isarray": {
++          "version": "1.0.0",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "minimatch": {
++          "version": "3.0.4",
++          "bundled": true,
++          "dev": true,
++          "requires": {
++            "brace-expansion": "^1.1.7"
++          }
++        },
++        "minimist": {
++          "version": "0.0.8",
++          "bundled": true,
++          "dev": true
++        },
++        "minipass": {
++          "version": "2.2.4",
++          "bundled": true,
++          "dev": true,
++          "requires": {
++            "safe-buffer": "^5.1.1",
++            "yallist": "^3.0.0"
++          }
++        },
++        "minizlib": {
++          "version": "1.1.0",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "minipass": "^2.2.1"
++          }
++        },
++        "mkdirp": {
++          "version": "0.5.1",
++          "bundled": true,
++          "dev": true,
++          "requires": {
++            "minimist": "0.0.8"
++          }
++        },
++        "ms": {
++          "version": "2.0.0",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "needle": {
++          "version": "2.2.0",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "debug": "^2.1.2",
++            "iconv-lite": "^0.4.4",
++            "sax": "^1.2.4"
++          }
++        },
++        "node-pre-gyp": {
++          "version": "0.10.0",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "detect-libc": "^1.0.2",
++            "mkdirp": "^0.5.1",
++            "needle": "^2.2.0",
++            "nopt": "^4.0.1",
++            "npm-packlist": "^1.1.6",
++            "npmlog": "^4.0.2",
++            "rc": "^1.1.7",
++            "rimraf": "^2.6.1",
++            "semver": "^5.3.0",
++            "tar": "^4"
++          }
++        },
++        "nopt": {
++          "version": "4.0.1",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "abbrev": "1",
++            "osenv": "^0.1.4"
++          }
++        },
++        "npm-bundled": {
++          "version": "1.0.3",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "npm-packlist": {
++          "version": "1.1.10",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "ignore-walk": "^3.0.1",
++            "npm-bundled": "^1.0.1"
++          }
++        },
++        "npmlog": {
++          "version": "4.1.2",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "are-we-there-yet": "~1.1.2",
++            "console-control-strings": "~1.1.0",
++            "gauge": "~2.7.3",
++            "set-blocking": "~2.0.0"
++          }
++        },
++        "number-is-nan": {
++          "version": "1.0.1",
++          "bundled": true,
++          "dev": true
++        },
++        "object-assign": {
++          "version": "4.1.1",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "once": {
++          "version": "1.4.0",
++          "bundled": true,
++          "dev": true,
++          "requires": {
++            "wrappy": "1"
++          }
++        },
++        "os-homedir": {
++          "version": "1.0.2",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "os-tmpdir": {
++          "version": "1.0.2",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "osenv": {
++          "version": "0.1.5",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "os-homedir": "^1.0.0",
++            "os-tmpdir": "^1.0.0"
++          }
++        },
++        "path-is-absolute": {
++          "version": "1.0.1",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "process-nextick-args": {
++          "version": "2.0.0",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "rc": {
++          "version": "1.2.7",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "deep-extend": "^0.5.1",
++            "ini": "~1.3.0",
++            "minimist": "^1.2.0",
++            "strip-json-comments": "~2.0.1"
++          },
++          "dependencies": {
++            "minimist": {
++              "version": "1.2.0",
++              "bundled": true,
++              "dev": true,
++              "optional": true
++            }
++          }
++        },
++        "readable-stream": {
++          "version": "2.3.6",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "core-util-is": "~1.0.0",
++            "inherits": "~2.0.3",
++            "isarray": "~1.0.0",
++            "process-nextick-args": "~2.0.0",
++            "safe-buffer": "~5.1.1",
++            "string_decoder": "~1.1.1",
++            "util-deprecate": "~1.0.1"
++          }
++        },
++        "rimraf": {
++          "version": "2.6.2",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "glob": "^7.0.5"
++          }
++        },
++        "safe-buffer": {
++          "version": "5.1.1",
++          "bundled": true,
++          "dev": true
++        },
++        "safer-buffer": {
++          "version": "2.1.2",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "sax": {
++          "version": "1.2.4",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "semver": {
++          "version": "5.5.0",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "set-blocking": {
++          "version": "2.0.0",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "signal-exit": {
++          "version": "3.0.2",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "string-width": {
++          "version": "1.0.2",
++          "bundled": true,
++          "dev": true,
++          "requires": {
++            "code-point-at": "^1.0.0",
++            "is-fullwidth-code-point": "^1.0.0",
++            "strip-ansi": "^3.0.0"
++          }
++        },
++        "string_decoder": {
++          "version": "1.1.1",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "safe-buffer": "~5.1.0"
++          }
++        },
++        "strip-ansi": {
++          "version": "3.0.1",
++          "bundled": true,
++          "dev": true,
++          "requires": {
++            "ansi-regex": "^2.0.0"
++          }
++        },
++        "strip-json-comments": {
++          "version": "2.0.1",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "tar": {
++          "version": "4.4.1",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "chownr": "^1.0.1",
++            "fs-minipass": "^1.2.5",
++            "minipass": "^2.2.4",
++            "minizlib": "^1.1.0",
++            "mkdirp": "^0.5.0",
++            "safe-buffer": "^5.1.1",
++            "yallist": "^3.0.2"
++          }
++        },
++        "util-deprecate": {
++          "version": "1.0.2",
++          "bundled": true,
++          "dev": true,
++          "optional": true
++        },
++        "wide-align": {
++          "version": "1.1.2",
++          "bundled": true,
++          "dev": true,
++          "optional": true,
++          "requires": {
++            "string-width": "^1.0.2"
++          }
++        },
++        "wrappy": {
++          "version": "1.0.2",
++          "bundled": true,
++          "dev": true
++        },
++        "yallist": {
++          "version": "3.0.2",
++          "bundled": true,
++          "dev": true
++        }
++      }
++    },
++    "function-bind": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
++      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
++      "dev": true
++    },
++    "get-caller-file": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
++      "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
++      "dev": true
++    },
++    "get-stream": {
++      "version": "3.0.0",
++      "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
++      "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
++      "dev": true
++    },
++    "get-value": {
++      "version": "2.0.6",
++      "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
++      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
++      "dev": true
++    },
++    "getpass": {
++      "version": "0.1.7",
++      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
++      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
++      "dev": true,
++      "requires": {
++        "assert-plus": "^1.0.0"
++      }
++    },
++    "glob": {
++      "version": "7.1.3",
++      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
++      "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
++      "dev": true,
++      "requires": {
++        "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"
++      }
++    },
++    "glob-all": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/glob-all/-/glob-all-3.1.0.tgz",
++      "integrity": "sha1-iRPd+17hrHgSZWJBsD1SF8ZLAqs=",
++      "dev": true,
++      "requires": {
++        "glob": "^7.0.5",
++        "yargs": "~1.2.6"
++      }
++    },
++    "glob-parent": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
++      "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
++      "dev": true,
++      "requires": {
++        "is-glob": "^3.1.0",
++        "path-dirname": "^1.0.0"
++      },
++      "dependencies": {
++        "is-glob": {
++          "version": "3.1.0",
++          "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
++          "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
++          "dev": true,
++          "requires": {
++            "is-extglob": "^2.1.0"
++          }
++        }
++      }
++    },
++    "global": {
++      "version": "4.3.2",
++      "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz",
++      "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
++      "dev": true,
++      "requires": {
++        "min-document": "^2.19.0",
++        "process": "~0.5.1"
++      },
++      "dependencies": {
++        "process": {
++          "version": "0.5.2",
++          "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz",
++          "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=",
++          "dev": true
++        }
++      }
++    },
++    "global-dirs": {
++      "version": "0.1.1",
++      "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz",
++      "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=",
++      "dev": true,
++      "requires": {
++        "ini": "^1.3.4"
++      }
++    },
++    "good-listener": {
++      "version": "1.2.2",
++      "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
++      "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=",
++      "dev": true,
++      "requires": {
++        "delegate": "^3.1.2"
++      }
++    },
++    "got": {
++      "version": "6.7.1",
++      "resolved": "http://registry.npmjs.org/got/-/got-6.7.1.tgz",
++      "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=",
++      "dev": true,
++      "requires": {
++        "create-error-class": "^3.0.0",
++        "duplexer3": "^0.1.4",
++        "get-stream": "^3.0.0",
++        "is-redirect": "^1.0.0",
++        "is-retry-allowed": "^1.0.0",
++        "is-stream": "^1.0.0",
++        "lowercase-keys": "^1.0.0",
++        "safe-buffer": "^5.0.1",
++        "timed-out": "^4.0.0",
++        "unzip-response": "^2.0.1",
++        "url-parse-lax": "^1.0.0"
++      }
++    },
++    "graceful-fs": {
++      "version": "4.1.15",
++      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
++      "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
++      "dev": true
++    },
++    "har-schema": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
++      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
++      "dev": true
++    },
++    "har-validator": {
++      "version": "5.1.3",
++      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
++      "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
++      "dev": true,
++      "requires": {
++        "ajv": "^6.5.5",
++        "har-schema": "^2.0.0"
++      }
++    },
++    "has": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
++      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
++      "dev": true,
++      "requires": {
++        "function-bind": "^1.1.1"
++      }
++    },
++    "has-ansi": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
++      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
++      "dev": true,
++      "requires": {
++        "ansi-regex": "^2.0.0"
++      },
++      "dependencies": {
++        "ansi-regex": {
++          "version": "2.1.1",
++          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
++          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
++          "dev": true
++        }
++      }
++    },
++    "has-flag": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
++      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
++      "dev": true
++    },
++    "has-symbols": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
++      "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
++      "dev": true
++    },
++    "has-value": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
++      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
++      "dev": true,
++      "requires": {
++        "get-value": "^2.0.6",
++        "has-values": "^1.0.0",
++        "isobject": "^3.0.0"
++      }
++    },
++    "has-values": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
++      "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
++      "dev": true,
++      "requires": {
++        "is-number": "^3.0.0",
++        "kind-of": "^4.0.0"
++      },
++      "dependencies": {
++        "kind-of": {
++          "version": "4.0.0",
++          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
++          "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
++          "dev": true,
++          "requires": {
++            "is-buffer": "^1.1.5"
++          }
++        }
++      }
++    },
++    "hash-base": {
++      "version": "3.0.4",
++      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
++      "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
++      "dev": true,
++      "requires": {
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "hash.js": {
++      "version": "1.1.5",
++      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz",
++      "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==",
++      "dev": true,
++      "requires": {
++        "inherits": "^2.0.3",
++        "minimalistic-assert": "^1.0.1"
++      }
++    },
++    "highlight.js": {
++      "version": "9.13.1",
++      "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.13.1.tgz",
++      "integrity": "sha512-Sc28JNQNDzaH6PORtRLMvif9RSn1mYuOoX3omVjnb0+HbpPygU2ALBI0R/wsiqCb4/fcp07Gdo8g+fhtFrQl6A==",
++      "dev": true
++    },
++    "hmac-drbg": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
++      "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
++      "dev": true,
++      "requires": {
++        "hash.js": "^1.0.3",
++        "minimalistic-assert": "^1.0.0",
++        "minimalistic-crypto-utils": "^1.0.1"
++      }
++    },
++    "hogan.js": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/hogan.js/-/hogan.js-3.0.2.tgz",
++      "integrity": "sha1-TNnhq9QpQUbnZ55B14mHMrAse/0=",
++      "dev": true,
++      "requires": {
++        "mkdirp": "0.3.0",
++        "nopt": "1.0.10"
++      },
++      "dependencies": {
++        "mkdirp": {
++          "version": "0.3.0",
++          "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz",
++          "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=",
++          "dev": true
++        }
++      }
++    },
++    "hosted-git-info": {
++      "version": "2.7.1",
++      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
++      "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
++      "dev": true
++    },
++    "http-signature": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
++      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
++      "dev": true,
++      "requires": {
++        "assert-plus": "^1.0.0",
++        "jsprim": "^1.2.2",
++        "sshpk": "^1.7.0"
++      }
++    },
++    "https-browserify": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
++      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
++      "dev": true
++    },
++    "icss-replace-symbols": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
++      "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
++      "dev": true
++    },
++    "icss-utils": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz",
++      "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
++      "dev": true,
++      "requires": {
++        "postcss": "^6.0.1"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "ieee754": {
++      "version": "1.1.12",
++      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz",
++      "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==",
++      "dev": true
++    },
++    "iferr": {
++      "version": "0.1.5",
++      "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
++      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
++      "dev": true
++    },
++    "immediate": {
++      "version": "3.2.3",
++      "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz",
++      "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=",
++      "dev": true
++    },
++    "import-cwd": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
++      "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
++      "dev": true,
++      "requires": {
++        "import-from": "^2.1.0"
++      }
++    },
++    "import-fresh": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
++      "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
++      "dev": true,
++      "requires": {
++        "caller-path": "^2.0.0",
++        "resolve-from": "^3.0.0"
++      }
++    },
++    "import-from": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz",
++      "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
++      "dev": true,
++      "requires": {
++        "resolve-from": "^3.0.0"
++      }
++    },
++    "import-lazy": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
++      "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=",
++      "dev": true
++    },
++    "import-local": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz",
++      "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==",
++      "dev": true,
++      "requires": {
++        "pkg-dir": "^2.0.0",
++        "resolve-cwd": "^2.0.0"
++      }
++    },
++    "imurmurhash": {
++      "version": "0.1.4",
++      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
++      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
++      "dev": true
++    },
++    "indent-string": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
++      "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
++      "dev": true
++    },
++    "indexes-of": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
++      "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
++      "dev": true
++    },
++    "indexof": {
++      "version": "0.0.1",
++      "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
++      "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
++      "dev": true
++    },
++    "inflight": {
++      "version": "1.0.6",
++      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
++      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
++      "dev": true,
++      "requires": {
++        "once": "^1.3.0",
++        "wrappy": "1"
++      }
++    },
++    "inherits": {
++      "version": "2.0.3",
++      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
++      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
++      "dev": true
++    },
++    "ini": {
++      "version": "1.3.5",
++      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
++      "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
++      "dev": true
++    },
++    "invert-kv": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
++      "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
++      "dev": true
++    },
++    "irregular-plurals": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-2.0.0.tgz",
++      "integrity": "sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==",
++      "dev": true
++    },
++    "is-accessor-descriptor": {
++      "version": "0.1.6",
++      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
++      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
++      "dev": true,
++      "requires": {
++        "kind-of": "^3.0.2"
++      },
++      "dependencies": {
++        "kind-of": {
++          "version": "3.2.2",
++          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
++          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
++          "dev": true,
++          "requires": {
++            "is-buffer": "^1.1.5"
++          }
++        }
++      }
++    },
++    "is-arrayish": {
++      "version": "0.2.1",
++      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
++      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
++      "dev": true
++    },
++    "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=",
++      "dev": true,
++      "requires": {
++        "binary-extensions": "^1.0.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==",
++      "dev": true
++    },
++    "is-builtin-module": {
++      "version": "1.0.0",
++      "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
++      "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
++      "dev": true,
++      "requires": {
++        "builtin-modules": "^1.0.0"
++      }
++    },
++    "is-callable": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
++      "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
++      "dev": true
++    },
++    "is-ci": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz",
++      "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==",
++      "dev": true,
++      "requires": {
++        "ci-info": "^1.5.0"
++      }
++    },
++    "is-data-descriptor": {
++      "version": "0.1.4",
++      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
++      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
++      "dev": true,
++      "requires": {
++        "kind-of": "^3.0.2"
++      },
++      "dependencies": {
++        "kind-of": {
++          "version": "3.2.2",
++          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
++          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
++          "dev": true,
++          "requires": {
++            "is-buffer": "^1.1.5"
++          }
++        }
++      }
++    },
++    "is-date-object": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
++      "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
++      "dev": true
++    },
++    "is-descriptor": {
++      "version": "0.1.6",
++      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
++      "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
++      "dev": true,
++      "requires": {
++        "is-accessor-descriptor": "^0.1.6",
++        "is-data-descriptor": "^0.1.4",
++        "kind-of": "^5.0.0"
++      },
++      "dependencies": {
++        "kind-of": {
++          "version": "5.1.0",
++          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
++          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
++          "dev": true
++        }
++      }
++    },
++    "is-directory": {
++      "version": "0.3.1",
++      "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
++      "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
++      "dev": true
++    },
++    "is-extendable": {
++      "version": "0.1.1",
++      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
++      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
++      "dev": true
++    },
++    "is-extglob": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
++      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
++      "dev": true
++    },
++    "is-fullwidth-code-point": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
++      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
++      "dev": true
++    },
++    "is-glob": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
++      "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
++      "dev": true,
++      "requires": {
++        "is-extglob": "^2.1.1"
++      }
++    },
++    "is-installed-globally": {
++      "version": "0.1.0",
++      "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz",
++      "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=",
++      "dev": true,
++      "requires": {
++        "global-dirs": "^0.1.0",
++        "is-path-inside": "^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=",
++      "dev": true
++    },
++    "is-number": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
++      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
++      "dev": true,
++      "requires": {
++        "kind-of": "^3.0.2"
++      },
++      "dependencies": {
++        "kind-of": {
++          "version": "3.2.2",
++          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
++          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
++          "dev": true,
++          "requires": {
++            "is-buffer": "^1.1.5"
++          }
++        }
++      }
++    },
++    "is-obj": {
++      "version": "1.0.1",
++      "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
++      "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
++      "dev": true
++    },
++    "is-path-inside": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
++      "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
++      "dev": true,
++      "requires": {
++        "path-is-inside": "^1.0.1"
++      }
++    },
++    "is-plain-obj": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
++      "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
++      "dev": true
++    },
++    "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==",
++      "dev": true,
++      "requires": {
++        "isobject": "^3.0.1"
++      }
++    },
++    "is-redirect": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
++      "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
++      "dev": true
++    },
++    "is-regex": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
++      "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
++      "dev": true,
++      "requires": {
++        "has": "^1.0.1"
++      }
++    },
++    "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=",
++      "dev": true
++    },
++    "is-stream": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
++      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
++      "dev": true
++    },
++    "is-symbol": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
++      "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
++      "dev": true,
++      "requires": {
++        "has-symbols": "^1.0.0"
++      }
++    },
++    "is-typedarray": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
++      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
++      "dev": true
++    },
++    "is-windows": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
++      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
++      "dev": true
++    },
++    "is-wsl": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
++      "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
++      "dev": true
++    },
++    "isarray": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
++      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
++      "dev": true
++    },
++    "isexe": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
++      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
++      "dev": true
++    },
++    "isnumeric": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/isnumeric/-/isnumeric-0.2.0.tgz",
++      "integrity": "sha1-ojR7o2DeGeM9D/1ZD933dVy/LmQ=",
++      "dev": true
++    },
++    "isobject": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
++      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
++      "dev": true
++    },
++    "isstream": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
++      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
++      "dev": true
++    },
++    "js-tokens": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
++      "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
++      "dev": true
++    },
++    "js-yaml": {
++      "version": "3.12.0",
++      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
++      "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
++      "dev": true,
++      "requires": {
++        "argparse": "^1.0.7",
++        "esprima": "^4.0.0"
++      }
++    },
++    "jsbn": {
++      "version": "0.1.1",
++      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
++      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
++      "dev": true
++    },
++    "jsesc": {
++      "version": "0.5.0",
++      "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
++      "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
++      "dev": true
++    },
++    "json-parse-better-errors": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
++      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
++      "dev": true
++    },
++    "json-schema": {
++      "version": "0.2.3",
++      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
++      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
++      "dev": true
++    },
++    "json-schema-traverse": {
++      "version": "0.4.1",
++      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
++      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
++      "dev": true
++    },
++    "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=",
++      "dev": true
++    },
++    "json5": {
++      "version": "0.5.1",
++      "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
++      "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
++      "dev": true
++    },
++    "jsprim": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
++      "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
++      "dev": true,
++      "requires": {
++        "assert-plus": "1.0.0",
++        "extsprintf": "1.3.0",
++        "json-schema": "0.2.3",
++        "verror": "1.10.0"
++      }
++    },
++    "kind-of": {
++      "version": "6.0.2",
++      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
++      "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
++      "dev": true
++    },
++    "latest-version": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz",
++      "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=",
++      "dev": true,
++      "requires": {
++        "package-json": "^4.0.0"
++      }
++    },
++    "lazysizes": {
++      "version": "4.1.4",
++      "resolved": "https://registry.npmjs.org/lazysizes/-/lazysizes-4.1.4.tgz",
++      "integrity": "sha512-jVplgeHHoQ6a2RZtxCAKFAnm6QPQmEIKq4JWSTI1XfCBhn+CqDgMKWDJO81f8VtVBdAlHs+BzP2WGzMLUi3oFg==",
++      "dev": true
++    },
++    "lcid": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
++      "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
++      "dev": true,
++      "requires": {
++        "invert-kv": "^2.0.0"
++      }
++    },
++    "load-json-file": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
++      "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
++      "dev": true,
++      "requires": {
++        "graceful-fs": "^4.1.2",
++        "parse-json": "^4.0.0",
++        "pify": "^3.0.0",
++        "strip-bom": "^3.0.0"
++      }
++    },
++    "load-script": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz",
++      "integrity": "sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=",
++      "dev": true
++    },
++    "loader-runner": {
++      "version": "2.3.1",
++      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.1.tgz",
++      "integrity": "sha512-By6ZFY7ETWOc9RFaAIb23IjJVcM4dvJC/N57nmdz9RSkMXvAXGI7SyVlAw3v8vjtDRlqThgVDVmTnr9fqMlxkw==",
++      "dev": true
++    },
++    "loader-utils": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
++      "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
++      "dev": true,
++      "requires": {
++        "big.js": "^3.1.3",
++        "emojis-list": "^2.0.0",
++        "json5": "^0.5.0"
++      }
++    },
++    "locate-path": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
++      "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
++      "dev": true,
++      "requires": {
++        "p-locate": "^2.0.0",
++        "path-exists": "^3.0.0"
++      }
++    },
++    "lodash": {
++      "version": "4.17.11",
++      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
++      "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
++      "dev": true
++    },
++    "lodash._reinterpolate": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
++      "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
++      "dev": true
++    },
++    "lodash.debounce": {
++      "version": "4.0.8",
++      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
++      "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
++      "dev": true
++    },
++    "lodash.memoize": {
++      "version": "4.1.2",
++      "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
++      "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
++      "dev": true
++    },
++    "lodash.template": {
++      "version": "4.4.0",
++      "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz",
++      "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=",
++      "dev": true,
++      "requires": {
++        "lodash._reinterpolate": "~3.0.0",
++        "lodash.templatesettings": "^4.0.0"
++      }
++    },
++    "lodash.templatesettings": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz",
++      "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=",
++      "dev": true,
++      "requires": {
++        "lodash._reinterpolate": "~3.0.0"
++      }
++    },
++    "lodash.uniq": {
++      "version": "4.5.0",
++      "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
++      "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
++      "dev": true
++    },
++    "log-symbols": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
++      "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
++      "dev": true,
++      "requires": {
++        "chalk": "^2.0.1"
++      }
++    },
++    "loglevelnext": {
++      "version": "1.0.5",
++      "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz",
++      "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==",
++      "dev": true,
++      "requires": {
++        "es6-symbol": "^3.1.1",
++        "object.assign": "^4.1.0"
++      }
++    },
++    "loud-rejection": {
++      "version": "1.6.0",
++      "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
++      "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
++      "dev": true,
++      "requires": {
++        "currently-unhandled": "^0.4.1",
++        "signal-exit": "^3.0.0"
++      }
++    },
++    "lowercase-keys": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
++      "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
++      "dev": true
++    },
++    "lru-cache": {
++      "version": "4.1.3",
++      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
++      "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
++      "dev": true,
++      "requires": {
++        "pseudomap": "^1.0.2",
++        "yallist": "^2.1.2"
++      }
++    },
++    "make-dir": {
++      "version": "1.3.0",
++      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
++      "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
++      "dev": true,
++      "requires": {
++        "pify": "^3.0.0"
++      }
++    },
++    "map-age-cleaner": {
++      "version": "0.1.3",
++      "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
++      "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
++      "dev": true,
++      "requires": {
++        "p-defer": "^1.0.0"
++      }
++    },
++    "map-cache": {
++      "version": "0.2.2",
++      "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
++      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
++      "dev": true
++    },
++    "map-obj": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
++      "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=",
++      "dev": true
++    },
++    "map-visit": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
++      "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
++      "dev": true,
++      "requires": {
++        "object-visit": "^1.0.0"
++      }
++    },
++    "math-expression-evaluator": {
++      "version": "1.2.17",
++      "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz",
++      "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=",
++      "dev": true
++    },
++    "md5.js": {
++      "version": "1.3.5",
++      "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
++      "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
++      "dev": true,
++      "requires": {
++        "hash-base": "^3.0.0",
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.1.2"
++      }
++    },
++    "meant": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/meant/-/meant-1.0.1.tgz",
++      "integrity": "sha512-UakVLFjKkbbUwNWJ2frVLnnAtbb7D7DsloxRd3s/gDpI8rdv8W5Hp3NaDb+POBI1fQdeussER6NB8vpcRURvlg==",
++      "dev": true
++    },
++    "mem": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/mem/-/mem-4.0.0.tgz",
++      "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==",
++      "dev": true,
++      "requires": {
++        "map-age-cleaner": "^0.1.1",
++        "mimic-fn": "^1.0.0",
++        "p-is-promise": "^1.1.0"
++      }
++    },
++    "memory-fs": {
++      "version": "0.4.1",
++      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
++      "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
++      "dev": true,
++      "requires": {
++        "errno": "^0.1.3",
++        "readable-stream": "^2.0.1"
++      }
++    },
++    "meow": {
++      "version": "5.0.0",
++      "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz",
++      "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==",
++      "dev": true,
++      "requires": {
++        "camelcase-keys": "^4.0.0",
++        "decamelize-keys": "^1.0.0",
++        "loud-rejection": "^1.0.0",
++        "minimist-options": "^3.0.1",
++        "normalize-package-data": "^2.3.4",
++        "read-pkg-up": "^3.0.0",
++        "redent": "^2.0.0",
++        "trim-newlines": "^2.0.0",
++        "yargs-parser": "^10.0.0"
++      }
++    },
++    "merge-options": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz",
++      "integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==",
++      "dev": true,
++      "requires": {
++        "is-plain-obj": "^1.1"
++      }
++    },
++    "micromatch": {
++      "version": "3.1.10",
++      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
++      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
++      "dev": true,
++      "requires": {
++        "arr-diff": "^4.0.0",
++        "array-unique": "^0.3.2",
++        "braces": "^2.3.1",
++        "define-property": "^2.0.2",
++        "extend-shallow": "^3.0.2",
++        "extglob": "^2.0.4",
++        "fragment-cache": "^0.2.1",
++        "kind-of": "^6.0.2",
++        "nanomatch": "^1.2.9",
++        "object.pick": "^1.3.0",
++        "regex-not": "^1.0.0",
++        "snapdragon": "^0.8.1",
++        "to-regex": "^3.0.2"
++      }
++    },
++    "miller-rabin": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
++      "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
++      "dev": true,
++      "requires": {
++        "bn.js": "^4.0.0",
++        "brorand": "^1.0.1"
++      }
++    },
++    "mime-db": {
++      "version": "1.37.0",
++      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
++      "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
++      "dev": true
++    },
++    "mime-types": {
++      "version": "2.1.21",
++      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
++      "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
++      "dev": true,
++      "requires": {
++        "mime-db": "~1.37.0"
++      }
++    },
++    "mimic-fn": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
++      "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
++      "dev": true
++    },
++    "min-document": {
++      "version": "2.19.0",
++      "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
++      "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
++      "dev": true,
++      "requires": {
++        "dom-walk": "^0.1.0"
++      }
++    },
++    "mini-css-extract-plugin": {
++      "version": "0.4.4",
++      "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.4.tgz",
++      "integrity": "sha512-o+Jm+ocb0asEngdM6FsZWtZsRzA8koFUudIDwYUfl94M3PejPHG7Vopw5hN9V8WsMkSFpm3tZP3Fesz89EyrfQ==",
++      "dev": true,
++      "requires": {
++        "loader-utils": "^1.1.0",
++        "schema-utils": "^1.0.0",
++        "webpack-sources": "^1.1.0"
++      },
++      "dependencies": {
++        "schema-utils": {
++          "version": "1.0.0",
++          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
++          "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
++          "dev": true,
++          "requires": {
++            "ajv": "^6.1.0",
++            "ajv-errors": "^1.0.0",
++            "ajv-keywords": "^3.1.0"
++          }
++        }
++      }
++    },
++    "minimalistic-assert": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
++      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
++      "dev": true
++    },
++    "minimalistic-crypto-utils": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
++      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
++      "dev": true
++    },
++    "minimatch": {
++      "version": "3.0.4",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
++      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
++      "dev": true,
++      "requires": {
++        "brace-expansion": "^1.1.7"
++      }
++    },
++    "minimist": {
++      "version": "0.0.8",
++      "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
++      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
++      "dev": true
++    },
++    "minimist-options": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz",
++      "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==",
++      "dev": true,
++      "requires": {
++        "arrify": "^1.0.1",
++        "is-plain-obj": "^1.1.0"
++      }
++    },
++    "mississippi": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz",
++      "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==",
++      "dev": true,
++      "requires": {
++        "concat-stream": "^1.5.0",
++        "duplexify": "^3.4.2",
++        "end-of-stream": "^1.1.0",
++        "flush-write-stream": "^1.0.0",
++        "from2": "^2.1.0",
++        "parallel-transform": "^1.1.0",
++        "pump": "^2.0.1",
++        "pumpify": "^1.3.3",
++        "stream-each": "^1.1.0",
++        "through2": "^2.0.0"
++      }
++    },
++    "mixin-deep": {
++      "version": "1.3.1",
++      "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
++      "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
++      "dev": true,
++      "requires": {
++        "for-in": "^1.0.2",
++        "is-extendable": "^1.0.1"
++      },
++      "dependencies": {
++        "is-extendable": {
++          "version": "1.0.1",
++          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
++          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
++          "dev": true,
++          "requires": {
++            "is-plain-object": "^2.0.4"
++          }
++        }
++      }
++    },
++    "mkdirp": {
++      "version": "0.5.1",
++      "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
++      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
++      "dev": true,
++      "requires": {
++        "minimist": "0.0.8"
++      }
++    },
++    "move-concurrently": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
++      "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
++      "dev": true,
++      "requires": {
++        "aproba": "^1.1.1",
++        "copy-concurrently": "^1.0.0",
++        "fs-write-stream-atomic": "^1.0.8",
++        "mkdirp": "^0.5.1",
++        "rimraf": "^2.5.4",
++        "run-queue": "^1.0.3"
++      }
++    },
++    "ms": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
++      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
++      "dev": true
++    },
++    "nan": {
++      "version": "2.11.1",
++      "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz",
++      "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==",
++      "dev": true,
++      "optional": true
++    },
++    "nanomatch": {
++      "version": "1.2.13",
++      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
++      "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
++      "dev": true,
++      "requires": {
++        "arr-diff": "^4.0.0",
++        "array-unique": "^0.3.2",
++        "define-property": "^2.0.2",
++        "extend-shallow": "^3.0.2",
++        "fragment-cache": "^0.2.1",
++        "is-windows": "^1.0.2",
++        "kind-of": "^6.0.2",
++        "object.pick": "^1.3.0",
++        "regex-not": "^1.0.0",
++        "snapdragon": "^0.8.1",
++        "to-regex": "^3.0.1"
++      }
++    },
++    "neo-async": {
++      "version": "2.6.0",
++      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz",
++      "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==",
++      "dev": true
++    },
++    "next-tick": {
++      "version": "1.0.0",
++      "resolved": "http://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
++      "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
++      "dev": true
++    },
++    "nice-try": {
++      "version": "1.0.5",
++      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
++      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
++      "dev": true
++    },
++    "node-libs-browser": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
++      "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==",
++      "dev": true,
++      "requires": {
++        "assert": "^1.1.1",
++        "browserify-zlib": "^0.2.0",
++        "buffer": "^4.3.0",
++        "console-browserify": "^1.1.0",
++        "constants-browserify": "^1.0.0",
++        "crypto-browserify": "^3.11.0",
++        "domain-browser": "^1.1.1",
++        "events": "^1.0.0",
++        "https-browserify": "^1.0.0",
++        "os-browserify": "^0.3.0",
++        "path-browserify": "0.0.0",
++        "process": "^0.11.10",
++        "punycode": "^1.2.4",
++        "querystring-es3": "^0.2.0",
++        "readable-stream": "^2.3.3",
++        "stream-browserify": "^2.0.1",
++        "stream-http": "^2.7.2",
++        "string_decoder": "^1.0.0",
++        "timers-browserify": "^2.0.4",
++        "tty-browserify": "0.0.0",
++        "url": "^0.11.0",
++        "util": "^0.10.3",
++        "vm-browserify": "0.0.4"
++      },
++      "dependencies": {
++        "punycode": {
++          "version": "1.4.1",
++          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
++          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
++          "dev": true
++        }
++      }
++    },
++    "nopt": {
++      "version": "1.0.10",
++      "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
++      "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
++      "dev": true,
++      "requires": {
++        "abbrev": "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==",
++      "dev": true,
++      "requires": {
++        "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": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
++      "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
++      "dev": true,
++      "requires": {
++        "remove-trailing-separator": "^1.0.1"
++      }
++    },
++    "normalize-range": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
++      "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
++      "dev": true
++    },
++    "npm-run-path": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
++      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
++      "dev": true,
++      "requires": {
++        "path-key": "^2.0.0"
++      }
++    },
++    "num2fraction": {
++      "version": "1.2.2",
++      "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
++      "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
++      "dev": true
++    },
++    "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=",
++      "dev": true
++    },
++    "oauth-sign": {
++      "version": "0.9.0",
++      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
++      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
++      "dev": true
++    },
++    "object-copy": {
++      "version": "0.1.0",
++      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
++      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
++      "dev": true,
++      "requires": {
++        "copy-descriptor": "^0.1.0",
++        "define-property": "^0.2.5",
++        "kind-of": "^3.0.3"
++      },
++      "dependencies": {
++        "define-property": {
++          "version": "0.2.5",
++          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
++          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
++          "dev": true,
++          "requires": {
++            "is-descriptor": "^0.1.0"
++          }
++        },
++        "kind-of": {
++          "version": "3.2.2",
++          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
++          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
++          "dev": true,
++          "requires": {
++            "is-buffer": "^1.1.5"
++          }
++        }
++      }
++    },
++    "object-keys": {
++      "version": "1.0.12",
++      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
++      "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==",
++      "dev": true
++    },
++    "object-visit": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
++      "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
++      "dev": true,
++      "requires": {
++        "isobject": "^3.0.0"
++      }
++    },
++    "object.assign": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
++      "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
++      "dev": true,
++      "requires": {
++        "define-properties": "^1.1.2",
++        "function-bind": "^1.1.1",
++        "has-symbols": "^1.0.0",
++        "object-keys": "^1.0.11"
++      }
++    },
++    "object.pick": {
++      "version": "1.3.0",
++      "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
++      "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
++      "dev": true,
++      "requires": {
++        "isobject": "^3.0.1"
++      }
++    },
++    "object.values": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.0.4.tgz",
++      "integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=",
++      "dev": true,
++      "requires": {
++        "define-properties": "^1.1.2",
++        "es-abstract": "^1.6.1",
++        "function-bind": "^1.1.0",
++        "has": "^1.0.1"
++      }
++    },
++    "once": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
++      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
++      "dev": true,
++      "requires": {
++        "wrappy": "1"
++      }
++    },
++    "onecolor": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/onecolor/-/onecolor-3.1.0.tgz",
++      "integrity": "sha512-YZSypViXzu3ul5LMu/m6XjJ9ol8qAy9S2VjHl5E6UlhUH1KGKWabyEJifn0Jjpw23bYDzC2ucKMPGiH5kfwSGQ==",
++      "dev": true
++    },
++    "onetime": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
++      "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
++      "dev": true,
++      "requires": {
++        "mimic-fn": "^1.0.0"
++      }
++    },
++    "opn": {
++      "version": "5.4.0",
++      "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz",
++      "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==",
++      "dev": true,
++      "requires": {
++        "is-wsl": "^1.1.0"
++      }
++    },
++    "ora": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/ora/-/ora-2.1.0.tgz",
++      "integrity": "sha512-hNNlAd3gfv/iPmsNxYoAPLvxg7HuPozww7fFonMZvL84tP6Ox5igfk5j/+a9rtJJwqMgKK+JgWsAQik5o0HTLA==",
++      "dev": true,
++      "requires": {
++        "chalk": "^2.3.1",
++        "cli-cursor": "^2.1.0",
++        "cli-spinners": "^1.1.0",
++        "log-symbols": "^2.2.0",
++        "strip-ansi": "^4.0.0",
++        "wcwidth": "^1.0.1"
++      }
++    },
++    "os-browserify": {
++      "version": "0.3.0",
++      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
++      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
++      "dev": true
++    },
++    "os-locale": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz",
++      "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==",
++      "dev": true,
++      "requires": {
++        "execa": "^0.10.0",
++        "lcid": "^2.0.0",
++        "mem": "^4.0.0"
++      },
++      "dependencies": {
++        "cross-spawn": {
++          "version": "6.0.5",
++          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
++          "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
++          "dev": true,
++          "requires": {
++            "nice-try": "^1.0.4",
++            "path-key": "^2.0.1",
++            "semver": "^5.5.0",
++            "shebang-command": "^1.2.0",
++            "which": "^1.2.9"
++          }
++        },
++        "execa": {
++          "version": "0.10.0",
++          "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz",
++          "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==",
++          "dev": true,
++          "requires": {
++            "cross-spawn": "^6.0.0",
++            "get-stream": "^3.0.0",
++            "is-stream": "^1.1.0",
++            "npm-run-path": "^2.0.0",
++            "p-finally": "^1.0.0",
++            "signal-exit": "^3.0.0",
++            "strip-eof": "^1.0.0"
++          }
++        }
++      }
++    },
++    "p-defer": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
++      "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
++      "dev": true
++    },
++    "p-finally": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
++      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
++      "dev": true
++    },
++    "p-is-promise": {
++      "version": "1.1.0",
++      "resolved": "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz",
++      "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=",
++      "dev": true
++    },
++    "p-limit": {
++      "version": "1.3.0",
++      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
++      "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
++      "dev": true,
++      "requires": {
++        "p-try": "^1.0.0"
++      }
++    },
++    "p-locate": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
++      "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
++      "dev": true,
++      "requires": {
++        "p-limit": "^1.1.0"
++      }
++    },
++    "p-try": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
++      "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
++      "dev": true
++    },
++    "package-json": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz",
++      "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=",
++      "dev": true,
++      "requires": {
++        "got": "^6.7.1",
++        "registry-auth-token": "^3.0.1",
++        "registry-url": "^3.0.3",
++        "semver": "^5.1.0"
++      }
++    },
++    "pako": {
++      "version": "1.0.6",
++      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
++      "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==",
++      "dev": true
++    },
++    "parallel-transform": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz",
++      "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=",
++      "dev": true,
++      "requires": {
++        "cyclist": "~0.2.2",
++        "inherits": "^2.0.3",
++        "readable-stream": "^2.1.5"
++      }
++    },
++    "parse-asn1": {
++      "version": "5.1.1",
++      "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
++      "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==",
++      "dev": true,
++      "requires": {
++        "asn1.js": "^4.0.0",
++        "browserify-aes": "^1.0.0",
++        "create-hash": "^1.1.0",
++        "evp_bytestokey": "^1.0.0",
++        "pbkdf2": "^3.0.3"
++      }
++    },
++    "parse-json": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
++      "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
++      "dev": true,
++      "requires": {
++        "error-ex": "^1.3.1",
++        "json-parse-better-errors": "^1.0.1"
++      }
++    },
++    "pascalcase": {
++      "version": "0.1.1",
++      "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
++      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
++      "dev": true
++    },
++    "path-browserify": {
++      "version": "0.0.0",
++      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
++      "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
++      "dev": true
++    },
++    "path-dirname": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
++      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
++      "dev": true
++    },
++    "path-exists": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
++      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
++      "dev": true
++    },
++    "path-is-absolute": {
++      "version": "1.0.1",
++      "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
++      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
++      "dev": true
++    },
++    "path-is-inside": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
++      "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
++      "dev": true
++    },
++    "path-key": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
++      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
++      "dev": true
++    },
++    "path-parse": {
++      "version": "1.0.6",
++      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
++      "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
++      "dev": true
++    },
++    "path-type": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
++      "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
++      "dev": true,
++      "requires": {
++        "pify": "^3.0.0"
++      }
++    },
++    "pbkdf2": {
++      "version": "3.0.17",
++      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
++      "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
++      "dev": true,
++      "requires": {
++        "create-hash": "^1.1.2",
++        "create-hmac": "^1.1.4",
++        "ripemd160": "^2.0.1",
++        "safe-buffer": "^5.0.1",
++        "sha.js": "^2.4.8"
++      }
++    },
++    "performance-now": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
++      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
++      "dev": true
++    },
++    "pify": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
++      "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
++      "dev": true
++    },
++    "pixrem": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/pixrem/-/pixrem-4.0.1.tgz",
++      "integrity": "sha1-LaSh3m7EQjxfw3lOkwuB1EkOxoY=",
++      "dev": true,
++      "requires": {
++        "browserslist": "^2.0.0",
++        "postcss": "^6.0.0",
++        "reduce-css-calc": "^1.2.7"
++      },
++      "dependencies": {
++        "browserslist": {
++          "version": "2.11.3",
++          "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz",
++          "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==",
++          "dev": true,
++          "requires": {
++            "caniuse-lite": "^1.0.30000792",
++            "electron-to-chromium": "^1.3.30"
++          }
++        },
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "pkg-dir": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
++      "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
++      "dev": true,
++      "requires": {
++        "find-up": "^2.1.0"
++      }
++    },
++    "pleeease-filters": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/pleeease-filters/-/pleeease-filters-4.0.0.tgz",
++      "integrity": "sha1-ZjKy+wVkjSdY2GU4T7zteeHMrsc=",
++      "dev": true,
++      "requires": {
++        "onecolor": "^3.0.4",
++        "postcss": "^6.0.1"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "plur": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/plur/-/plur-3.0.1.tgz",
++      "integrity": "sha512-lJl0ojUynAM1BZn58Pas2WT/TXeC1+bS+UqShl0x9+49AtOn7DixRXVzaC8qrDOIxNDmepKnLuMTH7NQmkX0PA==",
++      "dev": true,
++      "requires": {
++        "irregular-plurals": "^2.0.0"
++      }
++    },
++    "posix-character-classes": {
++      "version": "0.1.1",
++      "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
++      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
++      "dev": true
++    },
++    "postcss": {
++      "version": "7.0.5",
++      "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz",
++      "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==",
++      "dev": true,
++      "requires": {
++        "chalk": "^2.4.1",
++        "source-map": "^0.6.1",
++        "supports-color": "^5.5.0"
++      },
++      "dependencies": {
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-apply": {
++      "version": "0.8.0",
++      "resolved": "https://registry.npmjs.org/postcss-apply/-/postcss-apply-0.8.0.tgz",
++      "integrity": "sha1-FOVEu7XLbxweBIhXll15rgZrE0M=",
++      "dev": true,
++      "requires": {
++        "babel-runtime": "^6.23.0",
++        "balanced-match": "^0.4.2",
++        "postcss": "^6.0.0"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "0.4.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
++          "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
++          "dev": true
++        },
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-attribute-case-insensitive": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-2.0.0.tgz",
++      "integrity": "sha1-lNxCLI+QmX8WvTOjZUu77AhJY7Q=",
++      "dev": true,
++      "requires": {
++        "postcss": "^6.0.0",
++        "postcss-selector-parser": "^2.2.3"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "postcss-selector-parser": {
++          "version": "2.2.3",
++          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
++          "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
++          "dev": true,
++          "requires": {
++            "flatten": "^1.0.2",
++            "indexes-of": "^1.0.1",
++            "uniq": "^1.0.1"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-calc": {
++      "version": "6.0.2",
++      "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-6.0.2.tgz",
++      "integrity": "sha512-fiznXjEN5T42Qm7qqMCVJXS3roaj9r4xsSi+meaBVe7CJBl8t/QLOXu02Z2E6oWAMWIvCuF6JrvzFekmVEbOKA==",
++      "dev": true,
++      "requires": {
++        "css-unit-converter": "^1.1.1",
++        "postcss": "^7.0.2",
++        "postcss-selector-parser": "^2.2.2",
++        "reduce-css-calc": "^2.0.0"
++      },
++      "dependencies": {
++        "postcss-selector-parser": {
++          "version": "2.2.3",
++          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
++          "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
++          "dev": true,
++          "requires": {
++            "flatten": "^1.0.2",
++            "indexes-of": "^1.0.1",
++            "uniq": "^1.0.1"
++          }
++        },
++        "reduce-css-calc": {
++          "version": "2.1.5",
++          "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.5.tgz",
++          "integrity": "sha512-AybiBU03FKbjYzyvJvwkJZY6NLN+80Ufc2EqEs+41yQH+8wqBEslD6eGiS0oIeq5TNLA5PrhBeYHXWdn8gtW7A==",
++          "dev": true,
++          "requires": {
++            "css-unit-converter": "^1.1.1",
++            "postcss-value-parser": "^3.3.0"
++          }
++        }
++      }
++    },
++    "postcss-color-function": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/postcss-color-function/-/postcss-color-function-4.0.1.tgz",
++      "integrity": "sha1-QCs/LOvD9pR+YY+2vjZU++zvZEQ=",
++      "dev": true,
++      "requires": {
++        "css-color-function": "~1.3.3",
++        "postcss": "^6.0.1",
++        "postcss-message-helpers": "^2.0.0",
++        "postcss-value-parser": "^3.3.0"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-color-gray": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-4.1.0.tgz",
++      "integrity": "sha512-L4iLKQLdqChz6ZOgGb6dRxkBNw78JFYcJmBz1orHpZoeLtuhDDGegRtX9gSyfoCIM7rWZ3VNOyiqqvk83BEN+w==",
++      "dev": true,
++      "requires": {
++        "color": "^2.0.1",
++        "postcss": "^6.0.14",
++        "postcss-message-helpers": "^2.0.0",
++        "reduce-function-call": "^1.0.2"
++      },
++      "dependencies": {
++        "color": {
++          "version": "2.0.1",
++          "resolved": "https://registry.npmjs.org/color/-/color-2.0.1.tgz",
++          "integrity": "sha512-ubUCVVKfT7r2w2D3qtHakj8mbmKms+tThR8gI8zEYCbUBl8/voqFGt3kgBqGwXAopgXybnkuOq+qMYCRrp4cXw==",
++          "dev": true,
++          "requires": {
++            "color-convert": "^1.9.1",
++            "color-string": "^1.5.2"
++          }
++        },
++        "color-string": {
++          "version": "1.5.3",
++          "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
++          "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
++          "dev": true,
++          "requires": {
++            "color-name": "^1.0.0",
++            "simple-swizzle": "^0.2.2"
++          }
++        },
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-color-hex-alpha": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-3.0.0.tgz",
++      "integrity": "sha1-HlPmyKyyN5Vej9CLfs2xuLgwn5U=",
++      "dev": true,
++      "requires": {
++        "color": "^1.0.3",
++        "postcss": "^6.0.1",
++        "postcss-message-helpers": "^2.0.0"
++      },
++      "dependencies": {
++        "color": {
++          "version": "1.0.3",
++          "resolved": "http://registry.npmjs.org/color/-/color-1.0.3.tgz",
++          "integrity": "sha1-5I6DLYXxTvaU+0aIEcLVz+cptV0=",
++          "dev": true,
++          "requires": {
++            "color-convert": "^1.8.2",
++            "color-string": "^1.4.0"
++          }
++        },
++        "color-string": {
++          "version": "1.5.3",
++          "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
++          "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
++          "dev": true,
++          "requires": {
++            "color-name": "^1.0.0",
++            "simple-swizzle": "^0.2.2"
++          }
++        },
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-color-hsl": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/postcss-color-hsl/-/postcss-color-hsl-2.0.0.tgz",
++      "integrity": "sha1-EnA2ZvoxBDDj8wpFTawThjF9WEQ=",
++      "dev": true,
++      "requires": {
++        "postcss": "^6.0.1",
++        "postcss-value-parser": "^3.3.0",
++        "units-css": "^0.4.0"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-color-hwb": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/postcss-color-hwb/-/postcss-color-hwb-3.0.0.tgz",
++      "integrity": "sha1-NAKxnvTYSXVAwftQcr6YY8qVVx4=",
++      "dev": true,
++      "requires": {
++        "color": "^1.0.3",
++        "postcss": "^6.0.1",
++        "postcss-message-helpers": "^2.0.0",
++        "reduce-function-call": "^1.0.2"
++      },
++      "dependencies": {
++        "color": {
++          "version": "1.0.3",
++          "resolved": "http://registry.npmjs.org/color/-/color-1.0.3.tgz",
++          "integrity": "sha1-5I6DLYXxTvaU+0aIEcLVz+cptV0=",
++          "dev": true,
++          "requires": {
++            "color-convert": "^1.8.2",
++            "color-string": "^1.4.0"
++          }
++        },
++        "color-string": {
++          "version": "1.5.3",
++          "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
++          "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
++          "dev": true,
++          "requires": {
++            "color-name": "^1.0.0",
++            "simple-swizzle": "^0.2.2"
++          }
++        },
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-color-rebeccapurple": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-3.1.0.tgz",
++      "integrity": "sha512-212hJUk9uSsbwO5ECqVjmh/iLsmiVL1xy9ce9TVf+X3cK/ZlUIlaMdoxje/YpsL9cmUH3I7io+/G2LyWx5rg1g==",
++      "dev": true,
++      "requires": {
++        "postcss": "^6.0.22",
++        "postcss-values-parser": "^1.5.0"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-color-rgb": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/postcss-color-rgb/-/postcss-color-rgb-2.0.0.tgz",
++      "integrity": "sha1-FFOcinExSUtILg3RzCZf9lFLUmM=",
++      "dev": true,
++      "requires": {
++        "postcss": "^6.0.1",
++        "postcss-value-parser": "^3.3.0"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-color-rgba-fallback": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/postcss-color-rgba-fallback/-/postcss-color-rgba-fallback-3.0.0.tgz",
++      "integrity": "sha1-N9XJNToHoJJwkSqCYGu0Kg1wLAQ=",
++      "dev": true,
++      "requires": {
++        "postcss": "^6.0.6",
++        "postcss-value-parser": "^3.3.0",
++        "rgb-hex": "^2.1.0"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-cssnext": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/postcss-cssnext/-/postcss-cssnext-3.1.0.tgz",
++      "integrity": "sha512-awPDhI4OKetcHCr560iVCoDuP6e/vn0r6EAqdWPpAavJMvkBSZ6kDpSN4b3mB3Ti57hQMunHHM8Wvx9PeuYXtA==",
++      "dev": true,
++      "requires": {
++        "autoprefixer": "^7.1.1",
++        "caniuse-api": "^2.0.0",
++        "chalk": "^2.0.1",
++        "pixrem": "^4.0.0",
++        "pleeease-filters": "^4.0.0",
++        "postcss": "^6.0.5",
++        "postcss-apply": "^0.8.0",
++        "postcss-attribute-case-insensitive": "^2.0.0",
++        "postcss-calc": "^6.0.0",
++        "postcss-color-function": "^4.0.0",
++        "postcss-color-gray": "^4.0.0",
++        "postcss-color-hex-alpha": "^3.0.0",
++        "postcss-color-hsl": "^2.0.0",
++        "postcss-color-hwb": "^3.0.0",
++        "postcss-color-rebeccapurple": "^3.0.0",
++        "postcss-color-rgb": "^2.0.0",
++        "postcss-color-rgba-fallback": "^3.0.0",
++        "postcss-custom-media": "^6.0.0",
++        "postcss-custom-properties": "^6.1.0",
++        "postcss-custom-selectors": "^4.0.1",
++        "postcss-font-family-system-ui": "^3.0.0",
++        "postcss-font-variant": "^3.0.0",
++        "postcss-image-set-polyfill": "^0.3.5",
++        "postcss-initial": "^2.0.0",
++        "postcss-media-minmax": "^3.0.0",
++        "postcss-nesting": "^4.0.1",
++        "postcss-pseudo-class-any-link": "^4.0.0",
++        "postcss-pseudoelements": "^5.0.0",
++        "postcss-replace-overflow-wrap": "^2.0.0",
++        "postcss-selector-matches": "^3.0.1",
++        "postcss-selector-not": "^3.0.1"
++      },
++      "dependencies": {
++        "autoprefixer": {
++          "version": "7.2.6",
++          "resolved": "http://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz",
++          "integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==",
++          "dev": true,
++          "requires": {
++            "browserslist": "^2.11.3",
++            "caniuse-lite": "^1.0.30000805",
++            "normalize-range": "^0.1.2",
++            "num2fraction": "^1.2.2",
++            "postcss": "^6.0.17",
++            "postcss-value-parser": "^3.2.3"
++          }
++        },
++        "browserslist": {
++          "version": "2.11.3",
++          "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz",
++          "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==",
++          "dev": true,
++          "requires": {
++            "caniuse-lite": "^1.0.30000792",
++            "electron-to-chromium": "^1.3.30"
++          }
++        },
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-custom-media": {
++      "version": "6.0.0",
++      "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-6.0.0.tgz",
++      "integrity": "sha1-vlMnhBEOyylQRPtTlaGABushpzc=",
++      "dev": true,
++      "requires": {
++        "postcss": "^6.0.1"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-custom-properties": {
++      "version": "6.3.1",
++      "resolved": "http://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-6.3.1.tgz",
++      "integrity": "sha512-zoiwn4sCiUFbr4KcgcNZLFkR6gVQom647L+z1p/KBVHZ1OYwT87apnS42atJtx6XlX2yI7N5fjXbFixShQO2QQ==",
++      "dev": true,
++      "requires": {
++        "balanced-match": "^1.0.0",
++        "postcss": "^6.0.18"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-custom-selectors": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-4.0.1.tgz",
++      "integrity": "sha1-eBOC+UxS5yfvXKR3bqKt9JphE4I=",
++      "dev": true,
++      "requires": {
++        "postcss": "^6.0.1",
++        "postcss-selector-matches": "^3.0.0"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-font-family-system-ui": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/postcss-font-family-system-ui/-/postcss-font-family-system-ui-3.0.0.tgz",
++      "integrity": "sha512-58G/hTxMSSKlIRpcPUjlyo6hV2MEzvcVO2m4L/T7Bb2fJTG4DYYfQjQeRvuimKQh1V1sOzCIz99g+H2aFNtlQw==",
++      "dev": true,
++      "requires": {
++        "postcss": "^6.0"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-font-variant": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-3.0.0.tgz",
++      "integrity": "sha1-CMzIj2BQuoLtjvLMdsDGprQfGD4=",
++      "dev": true,
++      "requires": {
++        "postcss": "^6.0.1"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-image-set-polyfill": {
++      "version": "0.3.5",
++      "resolved": "https://registry.npmjs.org/postcss-image-set-polyfill/-/postcss-image-set-polyfill-0.3.5.tgz",
++      "integrity": "sha1-Dxk0E3AM8fgr05Bm7wFtZaShgYE=",
++      "dev": true,
++      "requires": {
++        "postcss": "^6.0.1",
++        "postcss-media-query-parser": "^0.2.3"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-import": {
++      "version": "12.0.1",
++      "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.1.tgz",
++      "integrity": "sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==",
++      "dev": true,
++      "requires": {
++        "postcss": "^7.0.1",
++        "postcss-value-parser": "^3.2.3",
++        "read-cache": "^1.0.0",
++        "resolve": "^1.1.7"
++      }
++    },
++    "postcss-initial": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-2.0.0.tgz",
++      "integrity": "sha1-cnFfczbgu3k1HZnuZcSiU6hEG6Q=",
++      "dev": true,
++      "requires": {
++        "lodash.template": "^4.2.4",
++        "postcss": "^6.0.1"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-load-config": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.0.0.tgz",
++      "integrity": "sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==",
++      "dev": true,
++      "requires": {
++        "cosmiconfig": "^4.0.0",
++        "import-cwd": "^2.0.0"
++      },
++      "dependencies": {
++        "cosmiconfig": {
++          "version": "4.0.0",
++          "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz",
++          "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==",
++          "dev": true,
++          "requires": {
++            "is-directory": "^0.3.1",
++            "js-yaml": "^3.9.0",
++            "parse-json": "^4.0.0",
++            "require-from-string": "^2.0.1"
++          }
++        }
++      }
++    },
++    "postcss-loader": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz",
++      "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==",
++      "dev": true,
++      "requires": {
++        "loader-utils": "^1.1.0",
++        "postcss": "^7.0.0",
++        "postcss-load-config": "^2.0.0",
++        "schema-utils": "^1.0.0"
++      },
++      "dependencies": {
++        "schema-utils": {
++          "version": "1.0.0",
++          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
++          "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
++          "dev": true,
++          "requires": {
++            "ajv": "^6.1.0",
++            "ajv-errors": "^1.0.0",
++            "ajv-keywords": "^3.1.0"
++          }
++        }
++      }
++    },
++    "postcss-media-minmax": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-3.0.0.tgz",
++      "integrity": "sha1-Z1JWA3pD70C8Twdgv9BtTcadSNI=",
++      "dev": true,
++      "requires": {
++        "postcss": "^6.0.1"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-media-query-parser": {
++      "version": "0.2.3",
++      "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
++      "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=",
++      "dev": true
++    },
++    "postcss-message-helpers": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz",
++      "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=",
++      "dev": true
++    },
++    "postcss-modules-extract-imports": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz",
++      "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==",
++      "dev": true,
++      "requires": {
++        "postcss": "^6.0.1"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-modules-local-by-default": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz",
++      "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
++      "dev": true,
++      "requires": {
++        "css-selector-tokenizer": "^0.7.0",
++        "postcss": "^6.0.1"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-modules-scope": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz",
++      "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
++      "dev": true,
++      "requires": {
++        "css-selector-tokenizer": "^0.7.0",
++        "postcss": "^6.0.1"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-modules-values": {
++      "version": "1.3.0",
++      "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz",
++      "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
++      "dev": true,
++      "requires": {
++        "icss-replace-symbols": "^1.1.0",
++        "postcss": "^6.0.1"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-nesting": {
++      "version": "4.2.1",
++      "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-4.2.1.tgz",
++      "integrity": "sha512-IkyWXICwagCnlaviRexi7qOdwPw3+xVVjgFfGsxmztvRVaNxAlrypOIKqDE5mxY+BVxnId1rnUKBRQoNE2VDaA==",
++      "dev": true,
++      "requires": {
++        "postcss": "^6.0.11"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-pseudo-class-any-link": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-4.0.0.tgz",
++      "integrity": "sha1-kVKgYT00UHIFE+iJKFS65C0O5o4=",
++      "dev": true,
++      "requires": {
++        "postcss": "^6.0.1",
++        "postcss-selector-parser": "^2.2.3"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "postcss-selector-parser": {
++          "version": "2.2.3",
++          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
++          "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
++          "dev": true,
++          "requires": {
++            "flatten": "^1.0.2",
++            "indexes-of": "^1.0.1",
++            "uniq": "^1.0.1"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-pseudoelements": {
++      "version": "5.0.0",
++      "resolved": "https://registry.npmjs.org/postcss-pseudoelements/-/postcss-pseudoelements-5.0.0.tgz",
++      "integrity": "sha1-7vGU6NUkZFylIKlJ6V5RjoEkAss=",
++      "dev": true,
++      "requires": {
++        "postcss": "^6.0.0"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-replace-overflow-wrap": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-2.0.0.tgz",
++      "integrity": "sha1-eU22+qVPjbEAhUOSqTr0V2i04ls=",
++      "dev": true,
++      "requires": {
++        "postcss": "^6.0.1"
++      },
++      "dependencies": {
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-selector-matches": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-3.0.1.tgz",
++      "integrity": "sha1-5WNAEeE5UIgYYbvdWMLQER/8lqs=",
++      "dev": true,
++      "requires": {
++        "balanced-match": "^0.4.2",
++        "postcss": "^6.0.1"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "0.4.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
++          "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
++          "dev": true
++        },
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-selector-not": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-3.0.1.tgz",
++      "integrity": "sha1-Lk2y8JZTNsAefOx9tsYN/3ZzNdk=",
++      "dev": true,
++      "requires": {
++        "balanced-match": "^0.4.2",
++        "postcss": "^6.0.1"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "0.4.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
++          "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
++          "dev": true
++        },
++        "postcss": {
++          "version": "6.0.23",
++          "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
++          "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
++          "dev": true,
++          "requires": {
++            "chalk": "^2.4.1",
++            "source-map": "^0.6.1",
++            "supports-color": "^5.4.0"
++          }
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "postcss-selector-parser": {
++      "version": "5.0.0-rc.4",
++      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0-rc.4.tgz",
++      "integrity": "sha512-0XvfYuShrKlTk1ooUrVzMCFQRcypsdEIsGqh5IxC5rdtBi4/M/tDAJeSONwC2MTqEFsmPZYAV7Dd4X8rgAfV0A==",
++      "dev": true,
++      "requires": {
++        "cssesc": "^2.0.0",
++        "indexes-of": "^1.0.1",
++        "uniq": "^1.0.1"
++      }
++    },
++    "postcss-value-parser": {
++      "version": "3.3.1",
++      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
++      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
++      "dev": true
++    },
++    "postcss-values-parser": {
++      "version": "1.5.0",
++      "resolved": "http://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-1.5.0.tgz",
++      "integrity": "sha512-3M3p+2gMp0AH3da530TlX8kiO1nxdTnc3C6vr8dMxRLIlh8UYkz0/wcwptSXjhtx2Fr0TySI7a+BHDQ8NL7LaQ==",
++      "dev": true,
++      "requires": {
++        "flatten": "^1.0.2",
++        "indexes-of": "^1.0.1",
++        "uniq": "^1.0.1"
++      }
++    },
++    "prepend-http": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
++      "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
++      "dev": true
++    },
++    "pretty-bytes": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.1.0.tgz",
++      "integrity": "sha512-wa5+qGVg9Yt7PB6rYm3kXlKzgzgivYTLRandezh43jjRqgyDyP+9YxfJpJiLs9yKD1WeU8/OvtToWpW7255FtA==",
++      "dev": true
++    },
++    "process": {
++      "version": "0.11.10",
++      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
++      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
++      "dev": true
++    },
++    "process-nextick-args": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
++      "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
++      "dev": true
++    },
++    "promise-inflight": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
++      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
++      "dev": true
++    },
++    "prr": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
++      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
++      "dev": true
++    },
++    "pseudomap": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
++      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
++      "dev": true
++    },
++    "psl": {
++      "version": "1.1.29",
++      "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",
++      "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==",
++      "dev": true
++    },
++    "public-encrypt": {
++      "version": "4.0.3",
++      "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
++      "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
++      "dev": true,
++      "requires": {
++        "bn.js": "^4.1.0",
++        "browserify-rsa": "^4.0.0",
++        "create-hash": "^1.1.0",
++        "parse-asn1": "^5.0.0",
++        "randombytes": "^2.0.1",
++        "safe-buffer": "^5.1.2"
++      }
++    },
++    "pump": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
++      "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
++      "dev": true,
++      "requires": {
++        "end-of-stream": "^1.1.0",
++        "once": "^1.3.1"
++      }
++    },
++    "pumpify": {
++      "version": "1.5.1",
++      "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
++      "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
++      "dev": true,
++      "requires": {
++        "duplexify": "^3.6.0",
++        "inherits": "^2.0.3",
++        "pump": "^2.0.0"
++      }
++    },
++    "punycode": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
++      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
++      "dev": true
++    },
++    "purgecss": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-1.1.0.tgz",
++      "integrity": "sha512-/XYpiMvbehpeJqxu8k0hzCai9F2RQGjprjpJzRMq9e2qkT8Fk7AW9zLr7bAuqQfxgMIV/+DTNlks3Ckn6J9WEw==",
++      "dev": true,
++      "requires": {
++        "glob": "^7.1.2",
++        "postcss": "^7.0.0",
++        "postcss-selector-parser": "^5.0.0-rc.3",
++        "yargs": "^12.0.1"
++      },
++      "dependencies": {
++        "decamelize": {
++          "version": "1.2.0",
++          "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
++          "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
++          "dev": true
++        },
++        "find-up": {
++          "version": "3.0.0",
++          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
++          "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
++          "dev": true,
++          "requires": {
++            "locate-path": "^3.0.0"
++          }
++        },
++        "locate-path": {
++          "version": "3.0.0",
++          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
++          "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
++          "dev": true,
++          "requires": {
++            "p-locate": "^3.0.0",
++            "path-exists": "^3.0.0"
++          }
++        },
++        "p-limit": {
++          "version": "2.0.0",
++          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz",
++          "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==",
++          "dev": true,
++          "requires": {
++            "p-try": "^2.0.0"
++          }
++        },
++        "p-locate": {
++          "version": "3.0.0",
++          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
++          "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
++          "dev": true,
++          "requires": {
++            "p-limit": "^2.0.0"
++          }
++        },
++        "p-try": {
++          "version": "2.0.0",
++          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
++          "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
++          "dev": true
++        },
++        "yargs": {
++          "version": "12.0.4",
++          "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.4.tgz",
++          "integrity": "sha512-f5esswlPO351AnejaO2A1ZZr0zesz19RehQKwiRDqWtrraWrJy16tsUIKgDXFMVytvNOHPVmTiaTh3wO67I0fQ==",
++          "dev": true,
++          "requires": {
++            "cliui": "^4.0.0",
++            "decamelize": "^1.2.0",
++            "find-up": "^3.0.0",
++            "get-caller-file": "^1.0.1",
++            "os-locale": "^3.0.0",
++            "require-directory": "^2.1.1",
++            "require-main-filename": "^1.0.1",
++            "set-blocking": "^2.0.0",
++            "string-width": "^2.0.0",
++            "which-module": "^2.0.0",
++            "y18n": "^3.2.1 || ^4.0.0",
++            "yargs-parser": "^11.1.0"
++          }
++        },
++        "yargs-parser": {
++          "version": "11.1.0",
++          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.0.tgz",
++          "integrity": "sha512-lGA5HsbjkpCfekDBHAhgE5OE8xEoqiUDylowr+BvhRCwG1xVYTsd8hx2CYC0NY4k9RIgJeybFTG2EZW4P2aN1w==",
++          "dev": true,
++          "requires": {
++            "camelcase": "^5.0.0",
++            "decamelize": "^1.2.0"
++          }
++        }
++      }
++    },
++    "purgecss-webpack-plugin": {
++      "version": "1.3.1",
++      "resolved": "https://registry.npmjs.org/purgecss-webpack-plugin/-/purgecss-webpack-plugin-1.3.1.tgz",
++      "integrity": "sha512-RdiVF9AN6QNzx3yIqg1uUI8PcoUOeSkgTa9BS8pMZYXirBHizpuFvAZN2pKpmV9UoJ0cbBJS4watKFrhO8Td3A==",
++      "dev": true,
++      "requires": {
++        "purgecss": "^1.1.0",
++        "webpack-sources": "^1.2.0"
++      }
++    },
++    "qs": {
++      "version": "6.5.2",
++      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
++      "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
++      "dev": true
++    },
++    "querystring": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
++      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
++      "dev": true
++    },
++    "querystring-es3": {
++      "version": "0.2.1",
++      "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
++      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
++      "dev": true
++    },
++    "quick-lru": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz",
++      "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
++      "dev": true
++    },
++    "randombytes": {
++      "version": "2.0.6",
++      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
++      "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
++      "dev": true,
++      "requires": {
++        "safe-buffer": "^5.1.0"
++      }
++    },
++    "randomfill": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
++      "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
++      "dev": true,
++      "requires": {
++        "randombytes": "^2.0.5",
++        "safe-buffer": "^5.1.0"
++      }
++    },
++    "rc": {
++      "version": "1.2.8",
++      "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
++      "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
++      "dev": true,
++      "requires": {
++        "deep-extend": "^0.6.0",
++        "ini": "~1.3.0",
++        "minimist": "^1.2.0",
++        "strip-json-comments": "~2.0.1"
++      },
++      "dependencies": {
++        "minimist": {
++          "version": "1.2.0",
++          "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
++          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
++          "dev": true
++        }
++      }
++    },
++    "read-cache": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
++      "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=",
++      "dev": true,
++      "requires": {
++        "pify": "^2.3.0"
++      },
++      "dependencies": {
++        "pify": {
++          "version": "2.3.0",
++          "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
++          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
++          "dev": true
++        }
++      }
++    },
++    "read-pkg": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
++      "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
++      "dev": true,
++      "requires": {
++        "load-json-file": "^4.0.0",
++        "normalize-package-data": "^2.3.2",
++        "path-type": "^3.0.0"
++      }
++    },
++    "read-pkg-up": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
++      "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
++      "dev": true,
++      "requires": {
++        "find-up": "^2.0.0",
++        "read-pkg": "^3.0.0"
++      }
++    },
++    "readable-stream": {
++      "version": "2.3.6",
++      "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
++      "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
++      "dev": true,
++      "requires": {
++        "core-util-is": "~1.0.0",
++        "inherits": "~2.0.3",
++        "isarray": "~1.0.0",
++        "process-nextick-args": "~2.0.0",
++        "safe-buffer": "~5.1.1",
++        "string_decoder": "~1.1.1",
++        "util-deprecate": "~1.0.1"
++      }
++    },
++    "readdirp": {
++      "version": "2.2.1",
++      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
++      "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
++      "dev": true,
++      "requires": {
++        "graceful-fs": "^4.1.11",
++        "micromatch": "^3.1.10",
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "redent": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz",
++      "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
++      "dev": true,
++      "requires": {
++        "indent-string": "^3.0.0",
++        "strip-indent": "^2.0.0"
++      }
++    },
++    "reduce": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/reduce/-/reduce-1.0.1.tgz",
++      "integrity": "sha1-FPouX/H8VgcDoCDLtfuqtpFWWAQ=",
++      "dev": true,
++      "requires": {
++        "object-keys": "~1.0.0"
++      }
++    },
++    "reduce-css-calc": {
++      "version": "1.3.0",
++      "resolved": "http://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz",
++      "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=",
++      "dev": true,
++      "requires": {
++        "balanced-match": "^0.4.2",
++        "math-expression-evaluator": "^1.2.14",
++        "reduce-function-call": "^1.0.1"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "0.4.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
++          "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
++          "dev": true
++        }
++      }
++    },
++    "reduce-function-call": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz",
++      "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=",
++      "dev": true,
++      "requires": {
++        "balanced-match": "^0.4.2"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "0.4.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
++          "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
++          "dev": true
++        }
++      }
++    },
++    "regenerate": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
++      "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
++      "dev": true
++    },
++    "regenerator-runtime": {
++      "version": "0.11.1",
++      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
++      "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
++      "dev": true
++    },
++    "regex-not": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
++      "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
++      "dev": true,
++      "requires": {
++        "extend-shallow": "^3.0.2",
++        "safe-regex": "^1.1.0"
++      }
++    },
++    "regexpu-core": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
++      "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
++      "dev": true,
++      "requires": {
++        "regenerate": "^1.2.1",
++        "regjsgen": "^0.2.0",
++        "regjsparser": "^0.1.4"
++      }
++    },
++    "registry-auth-token": {
++      "version": "3.3.2",
++      "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz",
++      "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==",
++      "dev": true,
++      "requires": {
++        "rc": "^1.1.6",
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "registry-url": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz",
++      "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=",
++      "dev": true,
++      "requires": {
++        "rc": "^1.0.1"
++      }
++    },
++    "regjsgen": {
++      "version": "0.2.0",
++      "resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
++      "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
++      "dev": true
++    },
++    "regjsparser": {
++      "version": "0.1.5",
++      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
++      "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
++      "dev": true,
++      "requires": {
++        "jsesc": "~0.5.0"
++      }
++    },
++    "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=",
++      "dev": true
++    },
++    "repeat-element": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
++      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
++      "dev": true
++    },
++    "repeat-string": {
++      "version": "1.6.1",
++      "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
++      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
++      "dev": true
++    },
++    "request": {
++      "version": "2.88.0",
++      "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
++      "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
++      "dev": true,
++      "requires": {
++        "aws-sign2": "~0.7.0",
++        "aws4": "^1.8.0",
++        "caseless": "~0.12.0",
++        "combined-stream": "~1.0.6",
++        "extend": "~3.0.2",
++        "forever-agent": "~0.6.1",
++        "form-data": "~2.3.2",
++        "har-validator": "~5.1.0",
++        "http-signature": "~1.2.0",
++        "is-typedarray": "~1.0.0",
++        "isstream": "~0.1.2",
++        "json-stringify-safe": "~5.0.1",
++        "mime-types": "~2.1.19",
++        "oauth-sign": "~0.9.0",
++        "performance-now": "^2.1.0",
++        "qs": "~6.5.2",
++        "safe-buffer": "^5.1.2",
++        "tough-cookie": "~2.4.3",
++        "tunnel-agent": "^0.6.0",
++        "uuid": "^3.3.2"
++      }
++    },
++    "require-directory": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
++      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
++      "dev": true
++    },
++    "require-from-string": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
++      "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
++      "dev": true
++    },
++    "require-main-filename": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
++      "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
++      "dev": true
++    },
++    "resolve": {
++      "version": "1.8.1",
++      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
++      "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
++      "dev": true,
++      "requires": {
++        "path-parse": "^1.0.5"
++      }
++    },
++    "resolve-cwd": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
++      "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
++      "dev": true,
++      "requires": {
++        "resolve-from": "^3.0.0"
++      }
++    },
++    "resolve-from": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
++      "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
++      "dev": true
++    },
++    "resolve-url": {
++      "version": "0.2.1",
++      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
++      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
++      "dev": true
++    },
++    "restore-cursor": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
++      "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
++      "dev": true,
++      "requires": {
++        "onetime": "^2.0.0",
++        "signal-exit": "^3.0.2"
++      }
++    },
++    "ret": {
++      "version": "0.1.15",
++      "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
++      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
++      "dev": true
++    },
++    "rgb": {
++      "version": "0.1.0",
++      "resolved": "https://registry.npmjs.org/rgb/-/rgb-0.1.0.tgz",
++      "integrity": "sha1-vieykej+/+rBvZlylyG/pA/AN7U=",
++      "dev": true
++    },
++    "rgb-hex": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/rgb-hex/-/rgb-hex-2.1.0.tgz",
++      "integrity": "sha1-x3PF/iJoolV42SU5qCp6XOU77aY=",
++      "dev": true
++    },
++    "rimraf": {
++      "version": "2.6.2",
++      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
++      "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
++      "dev": true,
++      "requires": {
++        "glob": "^7.0.5"
++      }
++    },
++    "ripemd160": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
++      "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
++      "dev": true,
++      "requires": {
++        "hash-base": "^3.0.0",
++        "inherits": "^2.0.1"
++      }
++    },
++    "run-queue": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
++      "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
++      "dev": true,
++      "requires": {
++        "aproba": "^1.1.1"
++      }
++    },
++    "safe-buffer": {
++      "version": "5.1.2",
++      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
++      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
++      "dev": true
++    },
++    "safe-regex": {
++      "version": "1.1.0",
++      "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
++      "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
++      "dev": true,
++      "requires": {
++        "ret": "~0.1.10"
++      }
++    },
++    "safer-buffer": {
++      "version": "2.1.2",
++      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
++      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
++      "dev": true
++    },
++    "schema-utils": {
++      "version": "0.4.7",
++      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
++      "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
++      "dev": true,
++      "requires": {
++        "ajv": "^6.1.0",
++        "ajv-keywords": "^3.1.0"
++      }
++    },
++    "scrolldir": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/scrolldir/-/scrolldir-1.4.0.tgz",
++      "integrity": "sha512-zgX9DshRBasLnE2Pim9I5TYV/vXpoQioky2RCdUJam+tPbg/82usZi3hWlc7JvE9fAtMNKD+5l60k98YgswpAg==",
++      "dev": true
++    },
++    "select": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
++      "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=",
++      "dev": true
++    },
++    "semver": {
++      "version": "5.6.0",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
++      "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
++      "dev": true
++    },
++    "semver-diff": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz",
++      "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=",
++      "dev": true,
++      "requires": {
++        "semver": "^5.0.3"
++      }
++    },
++    "serialize-javascript": {
++      "version": "1.5.0",
++      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz",
++      "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==",
++      "dev": true
++    },
++    "set-blocking": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
++      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
++      "dev": true
++    },
++    "set-value": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
++      "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
++      "dev": true,
++      "requires": {
++        "extend-shallow": "^2.0.1",
++        "is-extendable": "^0.1.1",
++        "is-plain-object": "^2.0.3",
++        "split-string": "^3.0.1"
++      },
++      "dependencies": {
++        "extend-shallow": {
++          "version": "2.0.1",
++          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
++          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
++          "dev": true,
++          "requires": {
++            "is-extendable": "^0.1.0"
++          }
++        }
++      }
++    },
++    "setimmediate": {
++      "version": "1.0.5",
++      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
++      "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
++      "dev": true
++    },
++    "sha.js": {
++      "version": "2.4.11",
++      "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
++      "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
++      "dev": true,
++      "requires": {
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "shebang-command": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
++      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
++      "dev": true,
++      "requires": {
++        "shebang-regex": "^1.0.0"
++      }
++    },
++    "shebang-regex": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
++      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
++      "dev": true
++    },
++    "signal-exit": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
++      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
++      "dev": true
++    },
++    "simple-swizzle": {
++      "version": "0.2.2",
++      "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
++      "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
++      "dev": true,
++      "requires": {
++        "is-arrayish": "^0.3.1"
++      },
++      "dependencies": {
++        "is-arrayish": {
++          "version": "0.3.2",
++          "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
++          "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
++          "dev": true
++        }
++      }
++    },
++    "snapdragon": {
++      "version": "0.8.2",
++      "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
++      "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
++      "dev": true,
++      "requires": {
++        "base": "^0.11.1",
++        "debug": "^2.2.0",
++        "define-property": "^0.2.5",
++        "extend-shallow": "^2.0.1",
++        "map-cache": "^0.2.2",
++        "source-map": "^0.5.6",
++        "source-map-resolve": "^0.5.0",
++        "use": "^3.1.0"
++      },
++      "dependencies": {
++        "define-property": {
++          "version": "0.2.5",
++          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
++          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
++          "dev": true,
++          "requires": {
++            "is-descriptor": "^0.1.0"
++          }
++        },
++        "extend-shallow": {
++          "version": "2.0.1",
++          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
++          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
++          "dev": true,
++          "requires": {
++            "is-extendable": "^0.1.0"
++          }
++        }
++      }
++    },
++    "snapdragon-node": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
++      "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
++      "dev": true,
++      "requires": {
++        "define-property": "^1.0.0",
++        "isobject": "^3.0.0",
++        "snapdragon-util": "^3.0.1"
++      },
++      "dependencies": {
++        "define-property": {
++          "version": "1.0.0",
++          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
++          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
++          "dev": true,
++          "requires": {
++            "is-descriptor": "^1.0.0"
++          }
++        },
++        "is-accessor-descriptor": {
++          "version": "1.0.0",
++          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
++          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
++          "dev": true,
++          "requires": {
++            "kind-of": "^6.0.0"
++          }
++        },
++        "is-data-descriptor": {
++          "version": "1.0.0",
++          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
++          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
++          "dev": true,
++          "requires": {
++            "kind-of": "^6.0.0"
++          }
++        },
++        "is-descriptor": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
++          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
++          "dev": true,
++          "requires": {
++            "is-accessor-descriptor": "^1.0.0",
++            "is-data-descriptor": "^1.0.0",
++            "kind-of": "^6.0.2"
++          }
++        }
++      }
++    },
++    "snapdragon-util": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
++      "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
++      "dev": true,
++      "requires": {
++        "kind-of": "^3.2.0"
++      },
++      "dependencies": {
++        "kind-of": {
++          "version": "3.2.2",
++          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
++          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
++          "dev": true,
++          "requires": {
++            "is-buffer": "^1.1.5"
++          }
++        }
++      }
++    },
++    "source-list-map": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
++      "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
++      "dev": true
++    },
++    "source-map": {
++      "version": "0.5.7",
++      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
++      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
++      "dev": true
++    },
++    "source-map-resolve": {
++      "version": "0.5.2",
++      "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
++      "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
++      "dev": true,
++      "requires": {
++        "atob": "^2.1.1",
++        "decode-uri-component": "^0.2.0",
++        "resolve-url": "^0.2.1",
++        "source-map-url": "^0.4.0",
++        "urix": "^0.1.0"
++      }
++    },
++    "source-map-url": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
++      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
++      "dev": true
++    },
++    "spdx-correct": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.2.tgz",
++      "integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==",
++      "dev": true,
++      "requires": {
++        "spdx-expression-parse": "^3.0.0",
++        "spdx-license-ids": "^3.0.0"
++      }
++    },
++    "spdx-exceptions": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
++      "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
++      "dev": true
++    },
++    "spdx-expression-parse": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
++      "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
++      "dev": true,
++      "requires": {
++        "spdx-exceptions": "^2.1.0",
++        "spdx-license-ids": "^3.0.0"
++      }
++    },
++    "spdx-license-ids": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz",
++      "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==",
++      "dev": true
++    },
++    "split-string": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
++      "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
++      "dev": true,
++      "requires": {
++        "extend-shallow": "^3.0.0"
++      }
++    },
++    "sprintf-js": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
++      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
++      "dev": true
++    },
++    "sshpk": {
++      "version": "1.15.2",
++      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz",
++      "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==",
++      "dev": true,
++      "requires": {
++        "asn1": "~0.2.3",
++        "assert-plus": "^1.0.0",
++        "bcrypt-pbkdf": "^1.0.0",
++        "dashdash": "^1.12.0",
++        "ecc-jsbn": "~0.1.1",
++        "getpass": "^0.1.1",
++        "jsbn": "~0.1.0",
++        "safer-buffer": "^2.0.2",
++        "tweetnacl": "~0.14.0"
++      }
++    },
++    "ssri": {
++      "version": "5.3.0",
++      "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz",
++      "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==",
++      "dev": true,
++      "requires": {
++        "safe-buffer": "^5.1.1"
++      }
++    },
++    "stack-utils": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz",
++      "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==",
++      "dev": true
++    },
++    "static-extend": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
++      "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
++      "dev": true,
++      "requires": {
++        "define-property": "^0.2.5",
++        "object-copy": "^0.1.0"
++      },
++      "dependencies": {
++        "define-property": {
++          "version": "0.2.5",
++          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
++          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
++          "dev": true,
++          "requires": {
++            "is-descriptor": "^0.1.0"
++          }
++        }
++      }
++    },
++    "stream-browserify": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
++      "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
++      "dev": true,
++      "requires": {
++        "inherits": "~2.0.1",
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "stream-each": {
++      "version": "1.2.3",
++      "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
++      "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
++      "dev": true,
++      "requires": {
++        "end-of-stream": "^1.1.0",
++        "stream-shift": "^1.0.0"
++      }
++    },
++    "stream-http": {
++      "version": "2.8.3",
++      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
++      "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
++      "dev": true,
++      "requires": {
++        "builtin-status-codes": "^3.0.0",
++        "inherits": "^2.0.1",
++        "readable-stream": "^2.3.6",
++        "to-arraybuffer": "^1.0.0",
++        "xtend": "^4.0.0"
++      }
++    },
++    "stream-shift": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
++      "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
++      "dev": true
++    },
++    "string-width": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
++      "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
++      "dev": true,
++      "requires": {
++        "is-fullwidth-code-point": "^2.0.0",
++        "strip-ansi": "^4.0.0"
++      }
++    },
++    "string_decoder": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
++      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
++      "dev": true,
++      "requires": {
++        "safe-buffer": "~5.1.0"
++      }
++    },
++    "strip-ansi": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
++      "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
++      "dev": true,
++      "requires": {
++        "ansi-regex": "^3.0.0"
++      }
++    },
++    "strip-bom": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
++      "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
++      "dev": true
++    },
++    "strip-eof": {
++      "version": "1.0.0",
++      "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
++      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
++      "dev": true
++    },
++    "strip-indent": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz",
++      "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
++      "dev": true
++    },
++    "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=",
++      "dev": true
++    },
++    "supports-color": {
++      "version": "5.5.0",
++      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
++      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
++      "dev": true,
++      "requires": {
++        "has-flag": "^3.0.0"
++      }
++    },
++    "tachyons": {
++      "version": "4.11.1",
++      "resolved": "https://registry.npmjs.org/tachyons/-/tachyons-4.11.1.tgz",
++      "integrity": "sha512-n5zIZ8i8kZ8vz05vX1BdvkP8b9ufsMeSRmdqTuUtz5rlNxr03nntiZMc/HTADIsPYZj/wZJDJglxV0/yvvaiZA==",
++      "dev": true
++    },
++    "tapable": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.0.tgz",
++      "integrity": "sha512-IlqtmLVaZA2qab8epUXbVWRn3aB1imbDMJtjB3nu4X0NqPkcY/JH9ZtCBWKHWPxs8Svi9tyo8w2dBoi07qZbBA==",
++      "dev": true
++    },
++    "term-size": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz",
++      "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=",
++      "dev": true,
++      "requires": {
++        "execa": "^0.7.0"
++      }
++    },
++    "text-table": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
++      "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
++      "dev": true
++    },
++    "through": {
++      "version": "2.3.8",
++      "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
++      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
++      "dev": true
++    },
++    "through2": {
++      "version": "2.0.5",
++      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
++      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
++      "dev": true,
++      "requires": {
++        "readable-stream": "~2.3.6",
++        "xtend": "~4.0.1"
++      }
++    },
++    "timed-out": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
++      "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=",
++      "dev": true
++    },
++    "timers-browserify": {
++      "version": "2.0.10",
++      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz",
++      "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==",
++      "dev": true,
++      "requires": {
++        "setimmediate": "^1.0.4"
++      }
++    },
++    "tiny-emitter": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz",
++      "integrity": "sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow==",
++      "dev": true
++    },
++    "titleize": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/titleize/-/titleize-1.0.1.tgz",
++      "integrity": "sha512-rUwGDruKq1gX+FFHbTl5qjI7teVO7eOe+C8IcQ7QT+1BK3eEUXJqbZcBOeaRP4FwSC/C1A5jDoIVta0nIQ9yew==",
++      "dev": true
++    },
++    "to-arraybuffer": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
++      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
++      "dev": true
++    },
++    "to-factory": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/to-factory/-/to-factory-1.0.0.tgz",
++      "integrity": "sha1-hzivi9lxIK0dQEeXKtpVY7+UebE=",
++      "dev": true
++    },
++    "to-object-path": {
++      "version": "0.3.0",
++      "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
++      "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
++      "dev": true,
++      "requires": {
++        "kind-of": "^3.0.2"
++      },
++      "dependencies": {
++        "kind-of": {
++          "version": "3.2.2",
++          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
++          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
++          "dev": true,
++          "requires": {
++            "is-buffer": "^1.1.5"
++          }
++        }
++      }
++    },
++    "to-regex": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
++      "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
++      "dev": true,
++      "requires": {
++        "define-property": "^2.0.2",
++        "extend-shallow": "^3.0.2",
++        "regex-not": "^1.0.2",
++        "safe-regex": "^1.1.0"
++      }
++    },
++    "to-regex-range": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
++      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
++      "dev": true,
++      "requires": {
++        "is-number": "^3.0.0",
++        "repeat-string": "^1.6.1"
++      }
++    },
++    "tough-cookie": {
++      "version": "2.4.3",
++      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
++      "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
++      "dev": true,
++      "requires": {
++        "psl": "^1.1.24",
++        "punycode": "^1.4.1"
++      },
++      "dependencies": {
++        "punycode": {
++          "version": "1.4.1",
++          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
++          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
++          "dev": true
++        }
++      }
++    },
++    "trim-newlines": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz",
++      "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=",
++      "dev": true
++    },
++    "tslib": {
++      "version": "1.9.3",
++      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
++      "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==",
++      "dev": true
++    },
++    "tty-browserify": {
++      "version": "0.0.0",
++      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
++      "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
++      "dev": true
++    },
++    "tunnel-agent": {
++      "version": "0.6.0",
++      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
++      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
++      "dev": true,
++      "requires": {
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "tweetnacl": {
++      "version": "0.14.5",
++      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
++      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
++      "dev": true
++    },
++    "typedarray": {
++      "version": "0.0.6",
++      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
++      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
++      "dev": true
++    },
++    "typeface-muli": {
++      "version": "0.0.54",
++      "resolved": "https://registry.npmjs.org/typeface-muli/-/typeface-muli-0.0.54.tgz",
++      "integrity": "sha512-vQJSDxrRTK0acRAEjBLV8bNoOeG0cX1xe0uI49sb+nxOknBFUoI6oE4VD/QkaIS1p4DDKr0QOGKb8eMQRSufpw==",
++      "dev": true
++    },
++    "uglify-es": {
++      "version": "3.3.9",
++      "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz",
++      "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==",
++      "dev": true,
++      "requires": {
++        "commander": "~2.13.0",
++        "source-map": "~0.6.1"
++      },
++      "dependencies": {
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "uglifyjs-webpack-plugin": {
++      "version": "1.3.0",
++      "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz",
++      "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==",
++      "dev": true,
++      "requires": {
++        "cacache": "^10.0.4",
++        "find-cache-dir": "^1.0.0",
++        "schema-utils": "^0.4.5",
++        "serialize-javascript": "^1.4.0",
++        "source-map": "^0.6.1",
++        "uglify-es": "^3.3.4",
++        "webpack-sources": "^1.1.0",
++        "worker-farm": "^1.5.2"
++      },
++      "dependencies": {
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "union-value": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
++      "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
++      "dev": true,
++      "requires": {
++        "arr-union": "^3.1.0",
++        "get-value": "^2.0.6",
++        "is-extendable": "^0.1.1",
++        "set-value": "^0.4.3"
++      },
++      "dependencies": {
++        "extend-shallow": {
++          "version": "2.0.1",
++          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
++          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
++          "dev": true,
++          "requires": {
++            "is-extendable": "^0.1.0"
++          }
++        },
++        "set-value": {
++          "version": "0.4.3",
++          "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
++          "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
++          "dev": true,
++          "requires": {
++            "extend-shallow": "^2.0.1",
++            "is-extendable": "^0.1.1",
++            "is-plain-object": "^2.0.1",
++            "to-object-path": "^0.3.0"
++          }
++        }
++      }
++    },
++    "uniq": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
++      "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
++      "dev": true
++    },
++    "unique-filename": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
++      "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
++      "dev": true,
++      "requires": {
++        "unique-slug": "^2.0.0"
++      }
++    },
++    "unique-slug": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz",
++      "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==",
++      "dev": true,
++      "requires": {
++        "imurmurhash": "^0.1.4"
++      }
++    },
++    "unique-string": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
++      "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
++      "dev": true,
++      "requires": {
++        "crypto-random-string": "^1.0.0"
++      }
++    },
++    "units-css": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/units-css/-/units-css-0.4.0.tgz",
++      "integrity": "sha1-1iKGU6UZg9fBb/KPi53Dsf/tOgc=",
++      "dev": true,
++      "requires": {
++        "isnumeric": "^0.2.0",
++        "viewport-dimensions": "^0.2.0"
++      }
++    },
++    "unset-value": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
++      "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
++      "dev": true,
++      "requires": {
++        "has-value": "^0.3.1",
++        "isobject": "^3.0.0"
++      },
++      "dependencies": {
++        "has-value": {
++          "version": "0.3.1",
++          "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
++          "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
++          "dev": true,
++          "requires": {
++            "get-value": "^2.0.3",
++            "has-values": "^0.1.4",
++            "isobject": "^2.0.0"
++          },
++          "dependencies": {
++            "isobject": {
++              "version": "2.1.0",
++              "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
++              "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
++              "dev": true,
++              "requires": {
++                "isarray": "1.0.0"
++              }
++            }
++          }
++        },
++        "has-values": {
++          "version": "0.1.4",
++          "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
++          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
++          "dev": true
++        }
++      }
++    },
++    "unzip-response": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz",
++      "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=",
++      "dev": true
++    },
++    "upath": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
++      "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
++      "dev": true
++    },
++    "update-notifier": {
++      "version": "2.5.0",
++      "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz",
++      "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==",
++      "dev": true,
++      "requires": {
++        "boxen": "^1.2.1",
++        "chalk": "^2.0.1",
++        "configstore": "^3.0.0",
++        "import-lazy": "^2.1.0",
++        "is-ci": "^1.0.10",
++        "is-installed-globally": "^0.1.0",
++        "is-npm": "^1.0.0",
++        "latest-version": "^3.0.0",
++        "semver-diff": "^2.0.0",
++        "xdg-basedir": "^3.0.0"
++      }
++    },
++    "uri-js": {
++      "version": "4.2.2",
++      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
++      "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
++      "dev": true,
++      "requires": {
++        "punycode": "^2.1.0"
++      }
++    },
++    "urix": {
++      "version": "0.1.0",
++      "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
++      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
++      "dev": true
++    },
++    "url": {
++      "version": "0.11.0",
++      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
++      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
++      "dev": true,
++      "requires": {
++        "punycode": "1.3.2",
++        "querystring": "0.2.0"
++      },
++      "dependencies": {
++        "punycode": {
++          "version": "1.3.2",
++          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
++          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
++          "dev": true
++        }
++      }
++    },
++    "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=",
++      "dev": true,
++      "requires": {
++        "prepend-http": "^1.0.1"
++      }
++    },
++    "use": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
++      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
++      "dev": true
++    },
++    "util": {
++      "version": "0.10.4",
++      "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
++      "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
++      "dev": true,
++      "requires": {
++        "inherits": "2.0.3"
++      }
++    },
++    "util-deprecate": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
++      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
++      "dev": true
++    },
++    "uuid": {
++      "version": "3.3.2",
++      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
++      "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
++      "dev": true
++    },
++    "v8-compile-cache": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz",
++      "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==",
++      "dev": true
++    },
++    "validate-npm-package-license": {
++      "version": "3.0.4",
++      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
++      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
++      "dev": true,
++      "requires": {
++        "spdx-correct": "^3.0.0",
++        "spdx-expression-parse": "^3.0.0"
++      }
++    },
++    "verror": {
++      "version": "1.10.0",
++      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
++      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
++      "dev": true,
++      "requires": {
++        "assert-plus": "^1.0.0",
++        "core-util-is": "1.0.2",
++        "extsprintf": "^1.2.0"
++      }
++    },
++    "viewport-dimensions": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/viewport-dimensions/-/viewport-dimensions-0.2.0.tgz",
++      "integrity": "sha1-3nQHR9tTh/0XJfUXXpG6x2r982w=",
++      "dev": true
++    },
++    "vm-browserify": {
++      "version": "0.0.4",
++      "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
++      "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
++      "dev": true,
++      "requires": {
++        "indexof": "0.0.1"
++      }
++    },
++    "watchpack": {
++      "version": "1.6.0",
++      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
++      "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
++      "dev": true,
++      "requires": {
++        "chokidar": "^2.0.2",
++        "graceful-fs": "^4.1.2",
++        "neo-async": "^2.5.0"
++      }
++    },
++    "wcwidth": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
++      "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
++      "dev": true,
++      "requires": {
++        "defaults": "^1.0.3"
++      }
++    },
++    "webpack": {
++      "version": "4.25.1",
++      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.25.1.tgz",
++      "integrity": "sha512-T0GU/3NRtO4tMfNzsvpdhUr8HnzA4LTdP2zd+e5zd6CdOH5vNKHnAlO+DvzccfhPdzqRrALOFcjYxx7K5DWmvA==",
++      "dev": true,
++      "requires": {
++        "@webassemblyjs/ast": "1.7.11",
++        "@webassemblyjs/helper-module-context": "1.7.11",
++        "@webassemblyjs/wasm-edit": "1.7.11",
++        "@webassemblyjs/wasm-parser": "1.7.11",
++        "acorn": "^5.6.2",
++        "acorn-dynamic-import": "^3.0.0",
++        "ajv": "^6.1.0",
++        "ajv-keywords": "^3.1.0",
++        "chrome-trace-event": "^1.0.0",
++        "enhanced-resolve": "^4.1.0",
++        "eslint-scope": "^4.0.0",
++        "json-parse-better-errors": "^1.0.2",
++        "loader-runner": "^2.3.0",
++        "loader-utils": "^1.1.0",
++        "memory-fs": "~0.4.1",
++        "micromatch": "^3.1.8",
++        "mkdirp": "~0.5.0",
++        "neo-async": "^2.5.0",
++        "node-libs-browser": "^2.0.0",
++        "schema-utils": "^0.4.4",
++        "tapable": "^1.1.0",
++        "uglifyjs-webpack-plugin": "^1.2.4",
++        "watchpack": "^1.5.0",
++        "webpack-sources": "^1.3.0"
++      }
++    },
++    "webpack-command": {
++      "version": "0.4.2",
++      "resolved": "https://registry.npmjs.org/webpack-command/-/webpack-command-0.4.2.tgz",
++      "integrity": "sha512-2JZRlV+eT2nsw0DGDS/F4ndv0e/QVkyYj4/1fagp9DbjRagQ02zuVzELp/QF5mrCESKKvnXiBQoaBJUOjAMp8w==",
++      "dev": true,
++      "requires": {
++        "@webpack-contrib/config-loader": "^1.2.0",
++        "@webpack-contrib/schema-utils": "^1.0.0-beta.0",
++        "camelcase": "^5.0.0",
++        "chalk": "^2.3.2",
++        "debug": "^3.1.0",
++        "decamelize": "^2.0.0",
++        "enhanced-resolve": "^4.0.0",
++        "import-local": "^1.0.0",
++        "isobject": "^3.0.1",
++        "loader-utils": "^1.1.0",
++        "log-symbols": "^2.2.0",
++        "loud-rejection": "^1.6.0",
++        "meant": "^1.0.1",
++        "meow": "^5.0.0",
++        "merge-options": "^1.0.0",
++        "object.values": "^1.0.4",
++        "opn": "^5.3.0",
++        "ora": "^2.1.0",
++        "plur": "^3.0.0",
++        "pretty-bytes": "^5.0.0",
++        "strip-ansi": "^4.0.0",
++        "text-table": "^0.2.0",
++        "titleize": "^1.0.1",
++        "update-notifier": "^2.3.0",
++        "v8-compile-cache": "^2.0.0",
++        "webpack-log": "^1.1.2",
++        "wordwrap": "^1.0.0"
++      },
++      "dependencies": {
++        "debug": {
++          "version": "3.2.6",
++          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
++          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
++          "dev": true,
++          "requires": {
++            "ms": "^2.1.1"
++          }
++        },
++        "ms": {
++          "version": "2.1.1",
++          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
++          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
++          "dev": true
++        }
++      }
++    },
++    "webpack-log": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz",
++      "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==",
++      "dev": true,
++      "requires": {
++        "chalk": "^2.1.0",
++        "log-symbols": "^2.1.0",
++        "loglevelnext": "^1.0.1",
++        "uuid": "^3.1.0"
++      }
++    },
++    "webpack-sources": {
++      "version": "1.3.0",
++      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz",
++      "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==",
++      "dev": true,
++      "requires": {
++        "source-list-map": "^2.0.0",
++        "source-map": "~0.6.1"
++      },
++      "dependencies": {
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
++          "dev": true
++        }
++      }
++    },
++    "which": {
++      "version": "1.3.1",
++      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
++      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
++      "dev": true,
++      "requires": {
++        "isexe": "^2.0.0"
++      }
++    },
++    "which-module": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
++      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
++      "dev": true
++    },
++    "widest-line": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz",
++      "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==",
++      "dev": true,
++      "requires": {
++        "string-width": "^2.1.1"
++      }
++    },
++    "wordwrap": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
++      "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
++      "dev": true
++    },
++    "worker-farm": {
++      "version": "1.6.0",
++      "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz",
++      "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==",
++      "dev": true,
++      "requires": {
++        "errno": "~0.1.7"
++      }
++    },
++    "wrap-ansi": {
++      "version": "2.1.0",
++      "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
++      "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
++      "dev": true,
++      "requires": {
++        "string-width": "^1.0.1",
++        "strip-ansi": "^3.0.1"
++      },
++      "dependencies": {
++        "ansi-regex": {
++          "version": "2.1.1",
++          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
++          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
++          "dev": true
++        },
++        "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=",
++          "dev": true,
++          "requires": {
++            "number-is-nan": "^1.0.0"
++          }
++        },
++        "string-width": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
++          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
++          "dev": true,
++          "requires": {
++            "code-point-at": "^1.0.0",
++            "is-fullwidth-code-point": "^1.0.0",
++            "strip-ansi": "^3.0.0"
++          }
++        },
++        "strip-ansi": {
++          "version": "3.0.1",
++          "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
++          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
++          "dev": true,
++          "requires": {
++            "ansi-regex": "^2.0.0"
++          }
++        }
++      }
++    },
++    "wrappy": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
++      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
++      "dev": true
++    },
++    "write-file-atomic": {
++      "version": "2.3.0",
++      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz",
++      "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==",
++      "dev": true,
++      "requires": {
++        "graceful-fs": "^4.1.11",
++        "imurmurhash": "^0.1.4",
++        "signal-exit": "^3.0.2"
++      }
++    },
++    "xdg-basedir": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
++      "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=",
++      "dev": true
++    },
++    "xregexp": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz",
++      "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==",
++      "dev": true
++    },
++    "xtend": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
++      "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
++      "dev": true
++    },
++    "y18n": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
++      "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
++      "dev": true
++    },
++    "yallist": {
++      "version": "2.1.2",
++      "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
++      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
++      "dev": true
++    },
++    "yargs": {
++      "version": "1.2.6",
++      "resolved": "http://registry.npmjs.org/yargs/-/yargs-1.2.6.tgz",
++      "integrity": "sha1-nHtKgv1dWVsr8Xq23MQxNUMv40s=",
++      "dev": true,
++      "requires": {
++        "minimist": "^0.1.0"
++      },
++      "dependencies": {
++        "minimist": {
++          "version": "0.1.0",
++          "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz",
++          "integrity": "sha1-md9lelJXTCHJBXSX33QnkLK0wN4=",
++          "dev": true
++        }
++      }
++    },
++    "yargs-parser": {
++      "version": "10.1.0",
++      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
++      "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
++      "dev": true,
++      "requires": {
++        "camelcase": "^4.1.0"
++      },
++      "dependencies": {
++        "camelcase": {
++          "version": "4.1.0",
++          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
++          "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
++          "dev": true
++        }
++      }
++    },
++    "zepto": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/zepto/-/zepto-1.2.0.tgz",
++      "integrity": "sha1-4Se9nmb9hGvl6rSME5SIL3wOT5g=",
++      "dev": true
++    }
++  }
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..85a1970975085901e2a058b482913d323528d81f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,36 @@@
++{
++  "name": "gohugo-default-styles",
++  "version": "1.1.0",
++  "description": "Default Theme for Hugo Sites",
++  "main": "index.js",
++  "repository": "",
++  "author": "budparr",
++  "license": "MIT",
++  "scripts": {
++    "build": "NODE_ENV=production webpack",
++    "build-dev": "NODE_ENV=development webpack --progress --watch",
++    "start": "npm run build-dev"
++  },
++  "devDependencies": {
++    "clean-webpack-plugin": "^1.0.0",
++    "clipboard": "^2.0.4",
++    "css-loader": "^1.0.1",
++    "docsearch.js": "^2.6.1",
++    "file-loader": "^2.0.0",
++    "glob-all": "^3.1.0",
++    "highlight.js": "^9.13.1",
++    "lazysizes": "^4.1.4",
++    "mini-css-extract-plugin": "^0.4.4",
++    "postcss": "^7.0.5",
++    "postcss-cssnext": "^3.1.0",
++    "postcss-import": "^12.0.1",
++    "postcss-loader": "^3.0.0",
++    "purgecss-webpack-plugin": "^1.3.1",
++    "scrolldir": "^1.4.0",
++    "tachyons": "^4.7.0",
++    "typeface-muli": "0.0.54",
++    "webpack": "^4.25.1",
++    "webpack-command": "^0.4.2"
++  },
++  "dependencies": {}
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..97602c76165fe0d5cf2d377f21ead3b5a3eb747f
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..858a4e9af3c7687e9714af44f5b5748b9ea23877
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..472e5740a26887016ebe3872b36345c45d8672b3
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..449772391c51781ec72beedf1d1e4ecf8c70ebb2
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4579c75d739b8b1c2c6f53cc4f25971240c8b5e4
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6c211a7edfb3c6f2dca5bbd9d10048d2541fb011
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c739550cea66348a229819d6f86eeea5fa56c741
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..db9e434c5b1abc30cc37feeba88cf3e5ffb9d9da
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..342b3aad254f088d381c577eac80fc9beadc08f1
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f3e9d31af82c2bfb74066346b568c6bc67f133bb
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..89bdcbd901ca20c6685b28295d872fd8afac49b5
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b78e3bd39eafae7679e9d4e048f59c2450dd4a80
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e31fd2c52313e98112447b0087c125ac1f69f9f8
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6f1f8026b53fe175b00c3bc655715814e895ddf0
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e2b4a0154ff5e55f6e2f3e14bab1a4343a30b906
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fafd8076a8b1f2abbac1a8fc53d37f17705f7ca2
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d2152c4ea5d2318e39252cf5261edab5af3ea3d2
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1cedfcd14110aad7eea5ece4ae90f746cb04143d
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..016fa059c3f83ba0420ac6760599be32b0390cf3
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fa96972320053323a4bd80e64ebb93d92a68ab38
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9fd9939dca515c9a00b79080e8596e692e690443
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4cdf7bc784d057876c441bbabc778392cc864c9f
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2d0c0d2ff3714354866fc13d632cdf714f402482
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ee51dd38ae25ad128a5e7eff31eb4e906d78fa85
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1b343ad2cfa36f323ecfe1cfccbc8ac4737fff3c
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1252216a0f3254adbb800533c0a34c4576e65bd0
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0aad09765f9fac5f6673a500805df821bb1760eb
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fd4e66bfb2f2312e94989faa71d0ee974533817f
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..36d9f1c41e697c52f56592d38ee54c573c503acc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,58 @@@
++<svg id="gopher" width="100%" height="100%" viewBox="0 0 272 282" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
++    <g transform="matrix(1.09329,0,0,1.09329,-135.183,-11.6982)">
++        <path class="gopher-cape animated" d="M167.376,132.778C165.4,163.47 157.387,172.184 150.142,191.552C140.361,210.573 133.102,214.357 127.626,223.012C131.508,226.814 144.79,238.814 159.006,243.911C199.917,251.86 250.261,251.499 284.105,243.911C312.297,238.453 330.566,241.986 350.858,258.146C352.025,218.523 351.604,171.276 333.752,132.778" style="fill:rgb(201,23,126);stroke:rgb(201,23,126);stroke-width:4px;"/>
++    </g>
++    <g transform="matrix(1.09329,0,0,1.09329,20.0647,-11.6982)">
++        <path d="M207.3,44.6C200.6,30.9 184.4,43 180.3,38.7C159.3,17.1 133.9,11.7 114,10.7L103,10.7C83,11.2 57.6,17 36.7,38.7C32.6,43 16.3,30.9 9.7,44.6C2,60.6 25.4,62.2 24.2,69.3C21.9,82.1 23.4,101.1 25.2,119.8C28,151.5 4.3,227.4 53.6,257.9C62.9,263.7 88,266.9 109.8,267.4L110,267.4C131.8,266.9 153.9,263.7 163.2,257.9C212.6,227.4 188.9,151.5 191.8,119.8C193.5,101.1 195,82.1 192.8,69.3C191.6,62.2 215,60.5 207.3,44.6Z" style="fill:rgb(140,197,231);fill-rule:nonzero;"/>
++    </g>
++    <g transform="matrix(1.09329,0,0,1.09329,20.0647,-11.6982)">
++        <path d="M143.2,54.3C109.8,58.2 114.3,93 127.2,104.3C151.2,125.3 176.2,104.3 173.4,83.1C170.9,62.7 153.6,53.1 143.2,54.3Z" style="fill:rgb(224,222,220);fill-rule:nonzero;"/>
++    </g>
++    <g transform="matrix(1.09329,0,0,1.09329,20.0647,-11.6982)">
++        <path class="eyes" d="M145.5,72.9C151.792,72.9 156.9,78.008 156.9,84.3C156.9,90.592 151.792,95.7 145.5,95.7C139.208,95.7 134.1,90.592 134.1,84.3C134.1,78.008 139.208,72.9 145.5,72.9ZM71.356,72.746C77.648,72.746 82.756,77.854 82.756,84.146C82.756,90.438 77.648,95.546 71.356,95.546C65.064,95.546 59.956,90.438 59.956,84.146C59.956,77.854 65.064,72.746 71.356,72.746Z" style="fill:rgb(17,18,18);"/>
++    </g>
++    <g transform="matrix(1.09329,0,0,1.09329,20.0647,-11.6982)">
++        <path d="M142.5,75.8C144.487,75.8 146.1,77.413 146.1,79.4C146.1,81.387 144.487,83 142.5,83C140.513,83 138.9,81.387 138.9,79.4C138.9,77.413 140.513,75.8 142.5,75.8ZM74.274,75.192C76.261,75.192 77.874,76.805 77.874,78.792C77.874,80.779 76.261,82.392 74.274,82.392C72.287,82.392 70.674,80.779 70.674,78.792C70.674,76.805 72.287,75.192 74.274,75.192Z" style="fill:white;"/>
++    </g>
++    <g transform="matrix(1.09329,0,0,1.09329,20.0647,-11.6982)">
++        <path d="M108.5,107C92.5,109.4 86.8,114 88,121.2C90,133 127.7,131.7 128.9,121.8C129.9,113.3 114.8,106.1 108.5,107Z" style="fill:rgb(184,147,127);fill-rule:nonzero;"/>
++    </g>
++    <g transform="matrix(1.09329,0,0,1.09329,20.0647,-11.6982)">
++        <path d="M98.2,111.8C95.5,121.6 119.9,120.1 119.3,113.8C119,110.1 115.7,105.4 107,105.6C103.6,105.7 99.4,107.2 98.2,111.8Z" style="fill-rule:nonzero;"/>
++    </g>
++    <g transform="matrix(1.09329,0,0,1.09329,20.0647,-11.6982)">
++        <path d="M99,127.7C98.1,128.1 96.6,137.9 101.2,138.4C104.3,138.7 112.8,139.7 114.8,138.4C118.7,135.9 118.3,129.9 116.1,128.4C112.4,126 100,127.2 99,127.7ZM73.6,54.3C107,58.2 102.5,93 89.6,104.3C65.6,125.3 40.6,104.3 43.4,83.1C46,62.7 63.3,53.1 73.6,54.3Z" style="fill:rgb(224,222,220);fill-rule:nonzero;"/>
++    </g>
++    <g transform="matrix(1.09329,0,0,1.09329,20.0647,-11.6982)">
++        <circle class="eyes" cx="71.4" cy="84.3" r="11.4" style="fill:rgb(17,18,18);"/>
++    </g>
++    <g transform="matrix(1.09329,0,0,1.09329,20.0647,-11.6982)">
++        <circle cx="74.4" cy="79.4" r="3.6" style="fill:white;"/>
++    </g>
++    <g transform="matrix(1.09329,0,0,1.09329,20.0647,-11.6982)">
++        <path d="M193.6,186.7C204.6,186.8 199.2,163.2 192.4,167.9C189.1,170.2 188.5,175.5 188.5,180C188.5,182.5 190.5,186.6 193.6,186.7ZM23.3,186.7C12.3,186.8 17.7,163.2 24.5,167.9C27.8,170.2 28.4,175.5 28.4,180C28.4,182.5 26.4,186.6 23.3,186.7ZM172.7,259.2C166.7,250.3 161.3,257.2 152.6,261.6C148.5,263.7 159.4,271.2 171.6,265.6C174.8,264.1 174.7,262.1 172.7,259.2ZM44.2,260.2C50.2,251.3 55.6,258.2 64.3,262.6C68.4,264.7 57.5,272.2 45.3,266.6C42.1,265.1 42.2,263.1 44.2,260.2Z" style="fill:rgb(184,147,127);fill-rule:nonzero;"/>
++    </g>
++    <g transform="matrix(1.09329,0,0,1.09329,20.0647,-11.6982)">
++        <path d="M188.6,47C188,49.1 190.7,48.8 191.7,55.3C192.1,57.7 200.7,51.8 197.2,47.5C194.3,43.9 189.1,44.9 188.6,47ZM28.3,47C28.9,49.1 26.2,48.8 25.2,55.3C24.8,57.7 16.2,51.8 19.7,47.5C22.5,43.9 27.7,44.9 28.3,47Z" style="fill:rgb(0,131,192);fill-rule:nonzero;"/>
++    </g>
++    <g transform="matrix(0.219817,0,0,0.219817,92.037,155.985)">
++        <g transform="matrix(2.08706,0,0,2.08706,-39.3863,-48.2414)">
++            <path class="gopher-badge animated" d="M119.631,36.154L203.822,85.066L203.822,181.395L119.631,229.184L35.578,181.395L35.578,85.066L119.631,36.154Z" style="fill:rgb(255,64,136);"/>
++            <path class="gopher-badge animated" d="M207.664,81.239L209.061,83.666L209.061,182.809L207.638,185.253L121.013,234.423L118.245,234.422L31.761,185.251L30.34,182.808L30.34,83.667L31.735,81.242L118.217,30.916L121.041,30.915L207.664,81.239ZM40.817,88.078L40.817,178.348L119.633,223.159L198.584,178.345L198.584,88.081L119.633,42.214L40.817,88.078Z" style="fill:rgb(201,23,126);"/>
++        </g>
++        <g transform="matrix(1.95678,0,0,2.21729,-55.1262,110.024)">
++            <path class="gopher-badge animated" d="M179.238,106.552L154.758,106.552L154.758,62.2L112.134,62.2L112.134,106.552L87.654,106.552L87.654,1.648L112.134,1.648L112.134,45.496L154.758,45.496L154.758,1.648L179.238,1.648L179.238,106.552Z" style="fill:white;fill-rule:nonzero;"/>
++        </g>
++    </g>
++    <g transform="matrix(1.09329,0,0,1.09329,-135.318,-8.1299)">
++        <path class="gopher-cape animated" d="M167.5,129.514C184.792,131.141 216.708,134.608 250.124,148.407C283.576,136.181 294.915,129.585 333.876,129.514" style="fill:none;stroke:rgb(201,23,126);stroke-width:4px;"/>
++    </g>
++    <g transform="matrix(1,0,0,1,-1.47026,0)">
++        <g transform="matrix(1.09203,0,0,1,-11.2404,3.14785)">
++            <path class="gopher-cape animated" d="M103.229,44.41C127.646,44.41 141.964,60.067 145.637,76.405C149.492,93.554 120.688,108.4 96.272,108.4C71.856,108.4 58.627,77.601 58.627,59.942C58.627,42.284 78.813,44.41 103.229,44.41ZM103.229,59.942C117.928,59.942 128.366,65.775 128.366,76.405C128.366,87.035 117.928,95.666 103.229,95.666C88.531,95.666 75.079,82.622 75.079,71.992C75.079,61.361 88.531,59.942 103.229,59.942Z" style="fill:rgb(201,23,126);"/>
++        </g>
++        <g transform="matrix(1.05263,0,0,1,75.8327,3.14785)">
++            <path class="gopher-cape animated" d="M101.398,44.41C125.814,44.41 141.107,42.439 141.107,60.097C141.107,77.755 125.814,108.4 101.398,108.4C76.982,108.4 57.159,94.063 57.159,76.405C57.159,58.747 76.982,44.41 101.398,44.41ZM98.548,60.097C113.14,60.097 125.888,60.912 125.888,71.466C125.888,82.019 113.14,95.527 98.548,95.527C83.955,95.527 72.108,86.959 72.108,76.405C72.108,65.851 83.955,60.097 98.548,60.097Z" style="fill:rgb(201,23,126);"/>
++        </g>
++    </g>
++</svg>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1678b8458a426c6cb5b5dd84be7d168f9636abb5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++<svg xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" stroke-miterlimit="1.414" viewBox="0 0 1500 410" clip-rule="evenodd" stroke-linejoin="round" aria-label="Logo">
++  <path fill="#FF4088" d="M335.1 261.86V139.606c0-15.898-8.42-30.606-22.126-38.66-29.417-17.283-81.387-47.818-113.215-66.52-16.81-9.872-37.69-9.65-54.28.58-28.17 17.37-72.12 44.47-100.49 61.967-17.11 10.55-27.53 29.21-27.53 49.31v125.172c0 19.938 10.58 38.376 27.79 48.437l104.72 61.212c13.92 8.14 31.11 8.317 45.2.47 30.58-17.036 84.74-47.196 115.94-64.575 14.8-8.25 23.97-23.86 23.97-40.8v-14.34z"/>
++  <path fill="#C9177E" d="M173.24 13.676h.277l.247.003h1.414l.247.01h.03l.247.01h.027l.25.01h.02l.25.01h.03l.24.01h.03l.24.01h.02l.25.01h.03l.25.02h.03l.24.02h.02l.24.02h.03l.25.02h.02l.24.02h.03l.25.02h.03l.25.02h.03l.25.02h.03l.24.02h.03l.24.02h.03l.25.02h.03l.25.03h.03l.25.03h.02l.24.03h.03l.24.03h.03l.25.03h.03l.25.03h.02l.24.03h.03l.25.03h.03l.24.04.03.01.25.04h.03l.24.04h.02l.25.04h.03l.24.04h.03l.24.04h.02l.25.04h.03l.24.04.03.01.24.04.03.01.24.05h.03l.24.04h.03l.24.05h.03l.25.05h.02l.24.05h.03l.24.05h.02l.25.05.03.01.25.05h.02l.24.06.03.01.24.06h.03l.25.06.02.01.24.05.03.01.24.05.02.01.24.06h.03l.24.06.03.01.24.06.02.01.25.06.02.01.24.06.03.01.24.06h.02l.24.07h.03l.25.06.03.01.24.06h.03l.24.07.03.01.24.07.03.01.24.07.03.01.24.07.02.01.24.07.03.01.24.07.03.01.24.07.03.01.24.08.02.01.24.08h.03l.24.08h.03l.24.08.03.01.24.08.03.01.24.08.02.01.24.08.03.01.24.08.02.01.24.08.02.01.23.08.03.01.23.08.03.01.23.09.03.01.24.09.03.01.23.09.02.01.24.08.02.01.24.09.03.01.24.09.03.01.23.09.03.01.23.1.02.01.24.09.03.01.23.1.03.01.24.1.03.01.24.1.02.01.24.1.02.01.23.1.02.01.23.1.02.01.24.1.02.01.23.1.03.01.23.1.03.01.23.1.02.01.23.11.03.01.23.11.03.01.23.11.02.01.23.11.02.01.23.11.03.01.23.11.03.01.23.11.03.01.23.11.02.01.23.12.02.02.23.11.02.01.22.12.03.01.23.11.02.01.23.12.03.01.22.12.03.02.23.12.03.01.23.12.02.01.22.12.03.02.23.12.02.02.22.13.02.02.22.13.03.01.22.13.02.01.22.13.02.02.22.13.03.02.21.13h.02l113.3 66.57.19.11.02.02.19.11.03.01.18.12.02.02.18.11.02.02.18.11.02.01.18.11.02.01.18.11.02.01.18.11.03.01.18.12.02.01.18.12.03.01.18.11.02.01.18.12.02.02.18.12.02.02.17.11.03.01.18.12.02.01.18.12.02.01.17.12.02.01.17.12.02.01.17.12.02.02.17.12.02.01.17.13.03.02.17.12.02.01.17.12.02.01.17.12.02.02.17.12.02.01.17.12.02.02.17.12.02.02.17.13.03.02.16.13.03.02.17.13.03.01.17.13.02.02.17.13.02.02.16.13.03.02.17.14.03.03.32.26.04.03.32.27.04.03.33.27.04.03.33.27.04.03.32.27.04.04.32.27.04.03.31.28.04.03.31.28.04.03.31.29.04.03.3.28.04.03.31.29.04.04.3.29.04.04.3.29.04.04.29.29.04.04.29.3.04.04.29.3.03.04.29.3.04.04.28.3.04.04.28.3.04.04.28.3.04.04.28.31.04.04.27.32.03.04.28.31.04.04.27.32.04.04.27.32.03.04.27.32.04.04.26.32.03.04.26.32.04.04.26.33.03.04.25.33.03.04.25.33.03.04.25.33.03.05.25.34.03.04.25.33.03.05.24.34.03.04.24.34.03.04.24.34.03.05.23.34.03.05.23.35.03.05.22.34.03.04.22.34.03.04.23.35.03.04.22.35.03.05.21.35.03.05.22.35.03.05.21.35.03.05.21.36.03.04.2.36.03.05.2.36.03.05.2.36.03.05.2.36.02.05.2.37.02.05.19.37.02.05.19.37.03.04.18.38.02.05.19.37.02.05.18.37.03.05.17.38.02.05.17.38.02.05.17.38.02.05.17.38.02.05.16.38.02.05.16.38.02.05.15.39.02.05.15.38.02.05.15.39.02.05.15.39.02.05.15.39.02.05.14.39.02.05.13.39.02.05.13.39.02.05.13.39.02.05.13.4.01.05.12.39.02.05.12.4.01.05.12.4.02.05.12.4.02.05.11.4.02.05.11.4.01.05.1.4.02.06.11.41.01.05.1.41.02.05.09.41.02.05.1.41.01.06.09.41.01.05.09.41.01.05.08.41.01.05.08.41.01.05.08.41.01.05.07.42.01.05.07.41.01.06.07.42.01.06.06.42.01.06.06.41v.04l.03.22v.02l.02.21v.03l.03.21v.02l.03.21v.03l.03.21.01.03.03.21v.03l.02.21.01.02.02.21.01.03.02.21v.03l.02.21.01.03.02.21.01.03.02.21v.03l.02.21v.03l.02.21v.03l.02.21v.03l.02.21v.03l.01.21v.03l.01.22v.03l.02.22v.02l.01.21v.03l.01.21v.03l.01.21v.03l.01.21v.03l.01.22v.03l.01.21v.03l.01.21v.02l.01.21v139.6l-.01.23v.29l-.01.23v.03l-.01.22v.02l-.01.23v.03l-.01.22v.02l-.01.22v.03l-.01.22-.01.03-.01.22v.03l-.01.22v.02l-.01.23v.03l-.02.23v.02l-.02.23v.03l-.02.22v.03l-.01.22v.03l-.02.22v.03l-.02.22v.03l-.02.22v.03l-.02.22-.01.02-.02.23-.01.03-.02.22v.03l-.02.22-.01.03-.03.22v.03l-.03.22v.02l-.03.22v.03l-.03.22-.01.03-.03.23-.01.03-.03.22-.01.03-.03.22v.03l-.03.22v.03l-.03.22-.01.03-.03.22-.01.03-.04.22v.02l-.03.22v.02l-.04.22-.01.03-.03.22-.01.03-.03.22v.02l-.04.22v.02l-.04.22v.02l-.04.22v.03l-.04.21-.01.03-.04.21-.01.03-.04.22-.01.03-.05.22v.02l-.05.22v.02l-.04.21v.03l-.05.22v.02l-.04.22-.01.02-.05.21v.02l-.05.21v.03l-.05.21-.01.03-.05.21-.01.03-.05.21-.01.02-.05.21-.01.02-.05.21-.01.03-.06.21-.01.03-.05.21-.01.03-.06.21v.03l-.06.22-.01.03-.06.21v.03l-.06.21-.01.03-.06.21-.01.03-.06.22-.01.02-.06.21-.01.02-.06.21-.01.03-.07.21-.01.03-.06.21-.01.02-.06.21-.01.03-.06.21-.01.02-.07.21-.01.03-.07.21-.01.03-.07.21-.01.03-.07.21-.01.03-.07.21-.01.02-.07.21-.01.03-.07.21-.01.03-.07.21-.01.02-.07.21-.01.03-.07.21-.01.03-.08.2-.01.03-.07.2-.01.03-.07.2-.01.03-.07.21-.01.03-.08.21-.01.03-.08.2-.01.03-.08.2-.01.03-.08.2-.01.03-.08.2-.01.03-.08.2-.01.03-.08.2-.01.02-.09.2-.01.03-.09.21-.01.03-.08.2-.01.03-.09.2-.01.03-.09.2-.01.03-.09.2-.01.02-.09.2-.01.03-.09.2-.01.02-.09.2-.01.02-.09.2-.01.02-.09.2-.01.02-.1.2-.01.02-.1.19-.01.03-.09.2-.01.02-.1.19-.01.03-.09.2-.01.02-.1.2-.01.03-.1.2-.01.02-.1.19-.01.02-.1.2-.01.03-.1.2-.01.03-.1.2-.02.03-.1.19-.01.02-.1.2-.01.03-.1.2-.01.03-.11.19-.02.02-.11.19-.01.02-.11.19-.01.02-.11.19-.01.02-.11.19-.01.02-.11.19-.01.03-.11.19-.01.02-.11.19-.01.03-.11.19-.02.02-.11.19-.02.02-.11.19-.01.02-.11.19-.01.03-.12.19-.01.02-.11.18-.01.03-.11.18-.02.02-.12.19-.01.03-.12.18-.02.02-.12.18-.01.02-.12.19-.02.03-.12.18-.02.02-.12.18-.01.02-.12.19-.01.02-.12.18-.02.02-.13.18-.01.02-.12.18-.01.02-.13.18-.01.02-.12.18-.02.02-.12.18-.02.02-.13.18-.02.02-.12.18-.01.02-.13.18-.02.03-.12.18-.02.02-.13.18-.02.02-.13.18-.02.02-.13.18-.02.02-.13.18-.01.02-.13.17-.02.02-.13.17-.01.02-.14.17-.02.02-.13.17-.01.02-.13.18-.02.02-.14.18-.02.02-.14.17-.02.02-.14.17-.01.02-.14.17-.02.02-.14.17-.02.02-.14.17-.02.02-.14.17-.02.02-.14.17-.01.02-.14.17-.02.02-.15.17-.02.02-.14.17-.02.02-.14.17-.02.02-.14.17-.02.02-.14.17-.02.02-.14.16-.02.02-.15.17-.02.02-.14.17-.02.02-.15.17-.02.02-.14.17-.02.02-.15.16-.02.02-.15.16-.02.02-.15.16-.02.02-.15.16-.02.02-.15.16-.02.02-.15.16-.02.02-.15.16-.02.02-.15.16-.02.02-.16.16-.02.02-.15.16-.02.02-.15.15-.02.02-.16.16-.03.02-.16.16-.02.02-.16.15-.02.02-.16.16-.02.02-.16.15-.02.02-.16.15-.02.02-.16.15-.02.02-.16.15-.02.02-.16.15-.02.02-.16.15-.02.02-.17.15-.02.01-.16.15-.02.02-.17.15-.02.02-.17.15-.02.01-.17.15-.02.02-.17.14-.03.02-.17.14-.02.02-.17.15-.02.02-.17.15-.02.02-.17.15-.02.02-.17.14-.02.02-.18.14-.02.01-.17.14-.02.02-.17.14-.03.02-.17.14-.02.02-.17.14-.02.02-.17.14-.02.02-.18.14-.02.02-.17.13-.02.02-.18.14-.02.02-.18.14-.02.02-.18.14-.02.02-.18.14-.02.01-.18.13-.02.01-.18.13-.02.01-.18.13-.03.01-.18.13-.02.02-.18.13-.02.02-.18.13-.02.02-.18.13-.03.02-.18.13-.02.01-.19.13-.03.01-.19.13-.02.02-.19.13-.02.02-.19.12-.02.02-.19.13-.02.02-.18.13-.03.02-.19.12-.02.01-.19.12-.03.01-.19.12-.02.02-.19.12-.02.02-.19.12-.02.01-.19.12-.03.01-.19.12-.02.02-.19.12-.03.01-.19.12-.03.02-.19.12-.03.02-.2.12-.02.02-.19.11-.03.01-.19.11-.02.02-.2.12-.03.02-.2.11-.02.02-.19.11-.03.01-.2.11-.03.01-.2.11-.02.01-.19.11-.01.01-115.93 64.6h-.01l-.18.11-.03.01-.19.11-.03.02-.19.1-.03.01-.19.1-.02.01-.19.1-.03.01-.19.1-.03.01-.19.1-.03.01-.19.1-.02.01-.19.1-.02.01-.19.09-.02.01-.2.1-.02.02-.19.1-.02.01-.19.09-.02.01-.19.09-.02.01-.19.1-.02.01-.2.09-.02.01-.19.09-.02.01-.2.09-.02.01-.19.09-.02.01-.19.09-.03.02-.2.09-.02.01-.2.08-.02.01-.2.09-.02.02-.2.09-.03.01-.19.08-.02.01-.2.09-.02.01-.2.08-.02.01-.2.08-.02.01-.2.08-.03.01-.2.08-.03.01-.2.08-.03.01-.19.08-.02.01-.2.07-.02.01-.2.08-.03.01-.2.08-.03.01-.2.08-.03.01-.2.07-.03.01-.2.08-.03.01-.2.07-.02.01-.2.07-.03.01-.2.07-.03.01-.2.07-.03.01-.2.07-.02.01-.2.07-.2.07-.03.01-.21.06-.03.01-.2.06-.02.01-.2.07-.02.01-.21.06-.03.01-.2.06-.03.01-.2.06-.03.01-.21.07-.04.01-.4.12-.05.02-.41.12-.05.01-.41.12-.05.01-.41.11-.05.02-.41.11-.05.01-.41.11-.06.01-.41.1-.05.01-.41.1-.06.01-.41.1-.05.01-.41.09-.05.01-.42.09-.06.01-.42.09-.05.01-.42.08-.05.01-.41.07-.05.01-.41.08-.05.01-.42.07-.05.01-.42.07-.05.01-.42.06-.05.01-.42.06-.05.01-.42.06-.05.01-.42.06-.06.01-.42.05-.05.01-.42.05-.05.01-.42.05-.42.04h-.05l-.42.03-.05.01-.42.03h-.05l-.42.03h-.05l-.42.03-.06.01-.42.03h-.05l-.42.02h-.05l-.42.02h-.06l-.42.01h-.05l-.42.01h-.05l-.42.01h-1.48l-.42-.01-.42-.01h-.06l-.42-.01H171l-.42-.02-.05-.01-.42-.02h-.05l-.42-.02-.05-.01-.42-.02h-.05l-.42-.03-.05-.01-.42-.04-.06-.01-.42-.04-.06-.01-.42-.04-.05-.01-.42-.04h-.05l-.42-.04-.05-.01-.42-.05h-.06l-.42-.05-.06-.01-.42-.06-.05-.01-.42-.06-.05-.01-.42-.06-.05-.01-.42-.06-.05-.01-.41-.07H163l-.42-.08-.054-.01-.41-.08-.05-.01-.41-.08-.05-.01-.41-.08-.06-.01-.416-.08-.05-.01-.41-.09-.06-.02-.41-.09-.05-.01-.41-.1-.056-.02-.41-.1-.05-.02-.41-.11-.05-.01-.41-.11-.05-.02-.41-.11-.05-.02-.41-.11-.05-.02-.41-.12-.06-.02-.41-.12-.05-.02-.41-.12-.05-.02-.41-.12-.05-.01-.398-.13-.04-.01-.21-.07h-.027l-.2-.06-.03-.01-.2-.07-.03-.01-.2-.07-.03-.01-.2-.07-.03-.01-.2-.07-.03-.01-.2-.07-.02-.01-.2-.07-.02-.01-.2-.07-.02-.01-.2-.08-.03-.01-.2-.08-.03-.01-.2-.08-.02-.01-.2-.08-.03-.01-.2-.08-.02-.01-.2-.08-.03-.01-.2-.08-.02-.01-.2-.08-.02-.01-.2-.08-.03-.01-.2-.08-.03-.01-.2-.08-.03-.01-.2-.08-.03-.01-.2-.08-.02-.01-.2-.09-.03-.01-.19-.09-.02-.01-.2-.09-.02-.01-.2-.09-.02-.01-.2-.08-.03-.01-.19-.09-.03-.01-.2-.09-.03-.01-.19-.09-.02-.02-.19-.09-.02-.01-.19-.09-.02-.01-.2-.09-.02-.02-.2-.1-.02-.02-.19-.09-.03-.01-.2-.09-.02-.02-.19-.1-.03-.01-.2-.1-.02-.01-.19-.1-.03-.01-.19-.1-.02-.01-.19-.1-.03-.02-.19-.1-.02-.01-.19-.1-.02-.01-.19-.1-.03-.02-.19-.1-.02-.01-.19-.11-.03-.02-.19-.1-.03-.01-.19-.1-.03-.01-.19-.1-.03-.01-.19-.11-.03-.01-.18-.11-.03-.01-.18-.11-.01-.01-104.8-61.17-.01-.01-.22-.13-.02-.01-.22-.13-.03-.01-.23-.13-.03-.01-.22-.14-.02-.01-.22-.14-.02-.02-.22-.14-.02-.02-.22-.14-.03-.01-.22-.13-.03-.02-.22-.14-.02-.02-.22-.14H36l-.22-.14-.03-.02-.22-.14-.02-.02-.22-.14-.028-.02-.22-.15-.03-.02-.22-.15-.02-.02-.22-.14-.02-.02-.22-.15-.02-.02-.22-.15-.02-.02-.21-.15-.03-.02-.215-.15-.02-.02-.21-.15-.025-.02-.21-.15-.027-.02-.21-.15-.02-.01-.21-.15-.02-.02-.207-.15-.02-.02-.206-.15-.03-.01-.21-.15-.02-.02-.21-.16-.02-.02-.21-.15-.026-.02-.21-.16-.026-.02-.2-.16-.02-.02-.2-.16-.02-.01-.2-.16-.02-.02-.2-.16-.02-.02-.2-.16-.02-.02-.2-.16-.02-.02-.2-.16-.02-.02-.2-.16-.02-.02-.2-.17-.02-.01-.2-.16-.02-.02-.194-.16-.02-.02-.2-.17-.02-.02-.2-.16-.02-.02-.2-.17-.02-.01-.196-.16-.02-.02-.19-.16-.02-.02-.19-.17-.02-.02-.19-.17-.02-.02-.19-.17-.02-.02-.19-.17-.02-.02-.19-.17-.02-.02-.19-.18-.02-.01-.19-.17-.03-.02-.185-.18-.02-.02-.19-.17-.02-.02-.186-.18-.02-.02-.18-.18-.02-.02-.18-.18-.02-.02-.19-.18-.02-.02-.19-.18-.02-.01-.18-.18-.02-.02-.18-.18-.02-.02-.18-.18-.02-.02-.18-.18-.02-.02-.18-.18-.02-.02-.18-.18-.02-.02-.17-.18-.02-.02-.18-.18-.02-.02-.18-.19-.02-.02-.17-.19-.02-.02-.17-.19-.02-.02-.18-.19-.02-.02-.17-.19-.02-.02-.17-.19-.02-.02-.17-.19-.02-.02-.17-.19-.02-.02-.17-.19-.01-.02-.16-.19-.02-.02-.17-.19-.02-.02-.18-.2-.02-.02-.17-.19-.02-.02-.17-.2-.02-.02-.16-.19-.01-.02-.16-.19-.02-.02-.16-.2-.02-.02-.17-.2-.02-.02-.16-.19-.02-.02-.17-.19-.02-.02-.16-.19-.02-.02-.16-.2-.02-.02-.16-.2-.02-.02-.16-.2-.02-.02-.16-.2-.02-.02-.16-.2-.01-.02-.15-.2-.02-.02-.15-.2-.01-.02-.15-.2-.02-.02-.15-.21-.02-.02-.15-.2-.02-.02-.15-.2-.01-.02-.15-.21-.01-.02-.15-.21-.01-.02-.15-.2-.01-.02-.15-.2-.02-.02-.15-.21-.02-.02-.15-.21-.02-.03-.14-.21-.02-.02-.14-.21-.02-.02-.14-.21-.02-.02-.14-.21-.01-.02-.14-.21-.02-.03-.14-.21-.02-.02-.14-.21-.02-.02-.14-.21-.02-.02-.14-.21-.02-.02-.13-.21-.01-.02-.13-.21-.02-.03-.14-.21-.02-.03-.14-.21-.01-.02-.14-.22-.01-.03-.13-.21-.02-.02-.13-.21-.02-.02-.13-.22-.02-.03-.13-.21-.01-.02-.13-.22-.01-.02-.13-.21-.02-.03-.13-.22-.02-.03-.13-.22-.02-.03-.12-.22-.02-.02-.13-.22-.01-.02-.12-.22-.01-.02-.12-.22-.01-.03-.12-.22-.02-.03-.12-.22-.01-.03-.12-.23-.01-.02-.12-.22-.01-.03-.12-.22-.01-.03-.12-.22-.01-.03-.11-.23-.01-.02-.12-.23-.01-.03-.12-.23-.02-.02-.11-.23-.01-.02-.11-.22-.01-.03-.11-.23v.01l-.11-.23-.02-.03-.11-.23-.01-.03-.11-.22-.01-.03-.11-.23-.01-.02-.11-.23-.01-.02-.1-.23-.01-.02-.11-.23-.01-.02-.11-.23-.01-.02-.11-.23-.01-.03-.1-.23-.01-.02-.11-.23-.01-.03-.11-.23-.01-.02-.1-.23-.01-.02-.1-.23-.01-.03-.1-.23-.01-.02-.09-.23-.01-.02-.1-.23-.01-.03-.09-.24-.01-.02-.1-.23-.01-.03-.09-.22-.01-.03-.1-.24-.01-.02-.09-.24-.01-.03-.09-.24-.01-.02-.09-.24-.01-.03-.09-.24-.01-.02-.09-.24-.01-.02-.08-.24-.01-.03-.09-.24-.01-.02-.08-.24-.01-.03-.08-.24-.01-.03-.09-.24-.01-.03-.08-.24-.01-.02-.08-.24-.01-.02-.08-.24-.01-.03-.08-.24-.01-.03-.08-.24-.01-.03-.08-.24-.01-.03-.08-.24L7 292l-.07-.24-.01-.02-.08-.25-.01-.03-.07-.25-.01-.03-.07-.24-.01-.03-.07-.24-.01-.03-.07-.25-.01-.03-.07-.25-.01-.02-.07-.25-.01-.01-.07-.25-.01-.02-.06-.24-.01-.02-.06-.24v-.02l-.07-.25v-.03l-.06-.24-.01-.03-.06-.24-.01-.03-.06-.25h.01l-.06-.25-.01-.02-.06-.25-.01-.02-.06-.25-.01-.02-.06-.25.01-.01-.06-.25-.01-.03-.06-.25-.01-.03-.05-.25-.01-.03-.06-.25-.01-.02-.05-.25-.01-.03-.05-.25-.01-.03-.05-.25-.05-.25v-.03l-.05-.26v-.03l-.05-.25-.01-.03-.06-.24v-.03l-.05-.27-.01-.03-.05-.26-.01-.03-.04-.25-.01-.03-.04-.25v-.03l-.04-.25v-.03l-.04-.25-.01-.03-.04-.25v.01l-.04-.25v-.02l-.04-.25v-.03l-.04-.25v-.03l-.04-.25v-.02l-.03-.26v-.03l-.03-.25v-.02l-.04-.26-.01-.03-.03-.25v-.03l-.03-.26-.01-.03-.03-.26v-.03l-.03-.26-.01-.03-.03-.26v-.03l-.03-.26-.01-.02-.03-.26-.02-.26v-.03l-.03-.26-.01-.03-.03-.26v-.03l-.02-.26-.01-.03-.02-.26v-.03l-.02-.26v-.03l-.02-.26-.02-.26v-.03l-.02-.26v-.03l-.02-.26v-.323l-.01-.26v-.03l-.01-.26v-.03l-.01-.26-.01-.03-.01-.26v-.28l-.01-.26v-.03l-.01-.26v-126.6l.01-.25v-.32l.01-.26v-.92l.01-.26v-.02l.01-.26v-.03l.01-.26v-.03l.01-.26v-.02l.01-.26v-.03l.01-.26v-.03l.02-.27v-.03l.02-.26v-.02l.01-.26v-.03l.02-.26v-.03l.01-.26v-.03l.01-.26v-.03l.02-.26v-.03l.02-.26v-.03l.03-.26v-.03l.02-.26.01-.02.02-.26v-.02l.03-.26v-.02l.03-.26.01-.03.03-.26v-.03l.03-.26v-.02l.03-.26v-.02l.03-.26.01-.03.03-.26v-.03l.03-.25v-.03l.03-.26v-.03l.03-.26.01-.03.03-.25v-.03l.04-.26v-.03l.03-.26.01-.03.03-.25.01-.03.04-.26.01-.02.04-.26v-.02l.04-.26v-.02l.04-.25.01-.03.04-.25v-.03l.07-.26.01-.03.04-.25v-.03l.05-.25v-.02l.05-.25v-.02l.05-.26.01-.02.05-.25.01-.02.05-.25.01-.03.05-.25.01-.03.05-.25v-.03l.05-.25v-.02l.05-.25.01-.02.05-.25.01-.02.06-.25v-.03l.06-.25.01-.03.05-.25.01-.03.06-.25v-.03l.06-.25.01-.03.06-.25v-.03l.06-.25.01-.02.06-.25v-.02l.06-.25.01-.03.07-.25v-.02l.07-.25v-.02l.07-.25.01-.03.07-.25v-.03l.07-.25.01-.03.07-.24.01-.02.07-.25.01-.025.07-.25.01-.03.07-.244.01-.02.08-.25.01-.02.07-.24.01-.02.07-.243.01-.02.07-.248.01-.03.08-.244.01-.03.08-.24v-.02l.08-.24v-.03l.08-.24.01-.02.08-.24.01-.03.08-.24.01-.03.08-.24.01-.03.08-.24.01-.02.09-.24.01-.02.08-.24.01-.025.08-.24.01-.02.09-.24.01-.02.09-.24v-.02l.09-.24.01-.02.09-.24.01-.03.09-.24.01-.02.09-.24.01-.03.1-.23.01-.02.1-.24.01-.02.1-.24.01-.03.1-.24.01-.03.1-.24.01-.03.1-.24.01-.03.1-.24.01-.03.1-.24.01-.025.1-.23.01-.03.1-.23.01-.03.1-.24.01-.02.11-.24.01-.02.11-.23.01-.02.1-.23.01-.03.11-.23.01-.02.11-.23.01-.02.11-.23.01-.02.11-.23.01-.03.11-.23.01-.02.11-.23.01-.03.11-.23.01-.02.11-.23.01-.02.11-.23.01-.02.11-.23.01-.02.12-.22.01-.02.12-.23.02-.03.12-.23.01-.02.12-.23.01-.03.12-.22.01-.02.12-.22.01-.02.12-.22.01-.03.12-.22.02-.02.12-.22.01-.03.12-.22.02-.02.12-.22.01-.02.12-.22.02-.03.13-.22.01-.02.12-.22.01-.02.13-.22.01-.02.13-.22.01-.02.13-.22.02-.02.13-.22.01-.02.13-.22.02-.02.13-.22.01-.02.13-.22.02-.02.13-.22.01-.02.14-.22.02-.03.14-.22.01-.02.13-.21.02-.02.14-.21.02-.02.13-.22.01-.02.14-.21.01-.02.14-.21.02-.02.14-.22.02-.02.14-.21.01-.03.14-.21.01-.02.14-.21.01-.02.15-.21.02-.02.14-.21.02-.02.15-.21.01-.02.15-.21.01-.02.15-.21.01-.02.15-.21.02-.02.15-.21.01-.02.15-.21.02-.02.15-.2.01-.02.15-.21.02-.02.15-.2.02-.02.15-.2.02-.02.15-.2.02-.02.15-.2.01-.02.15-.2.02-.02.16-.2.02-.02.16-.2.02-.02.16-.2.02-.02.16-.2.02-.02.16-.2.02-.03.16-.2.01-.02.16-.2.02-.02.16-.2.02-.02.16-.19.02-.02.16-.2.02-.02.16-.2.02-.02.17-.19.02-.02.16-.2.02-.02.16-.19.02-.02.16-.2.02-.02.17-.2.01-.02.17-.19.02-.02.17-.19.02-.02.17-.19.02-.02.17-.19.01-.02.17-.19.02-.02.17-.19.02-.02.17-.19.01-.02.17-.19.02-.02.18-.19.01-.02.18-.19.02-.02.19-.18.02-.02.18-.19.02-.02.18-.19.02-.02.18-.18.02-.02.18-.18.02-.02.18-.18.02-.02.19-.18.02-.02.18-.18.02-.02.18-.18.02-.02.18-.18.02-.02.18-.18.02-.02.18-.18.02-.02.18-.18.02-.02.18-.18.02-.02.19-.17.02-.02.19-.17.02-.02.19-.18.02-.02.19-.18.02-.01.19-.17.02-.01.19-.17.02-.02.19-.17.02-.02.19-.17.02-.02.19-.17.02-.01.2-.17.02-.02.2-.17.02-.02.2-.17.02-.02.2-.16.02-.02.2-.16.02-.02.19-.16.02-.02.2-.16.02-.02.2-.16.02-.01.2-.16.02-.02.2-.16.02-.02.2-.16.02-.02.21-.16.02-.02.2-.16.02-.02.21-.16.02-.02.21-.16.02-.02.2-.16.02-.01.21-.16.02-.02.2-.16.02-.02.21-.15.02-.02.21-.16.02-.02.21-.15.02-.01.21-.15.03-.02.21-.15.02-.01.21-.15.02-.02.21-.16.02-.01.22-.15.02-.02.21-.15.03-.01.21-.15.02-.01.21-.15.02-.01.22-.15.02-.02.21-.15.02-.01.22-.14.02-.01.21-.15.03-.02.22-.14.02-.02.22-.15.02-.02.22-.14.03-.01.22-.14.02-.02.22-.14.02-.01.22-.14.02-.01.22-.14.02-.01.22-.14.03-.01.22-.13h.01l100.51-62 .01-.01.21-.13.02-.01.22-.14.03-.02.22-.13.03-.02.22-.13.03-.02.22-.13.03-.01.23-.13.02-.02.22-.13.03-.01.22-.13.02-.01.23-.12.02-.02.23-.12.02-.02.22-.12.03-.01.23-.12.02-.02.22-.12.03-.02.22-.12.03-.02.22-.12.02-.02.23-.12.02-.01.22-.12.03-.01.22-.12.03-.01.23-.12.03-.01.23-.12.02-.01.23-.11.03-.01.23-.11.03-.01.22-.11.03-.01.23-.11.02-.01.23-.11.03-.01.23-.11.03-.02.23-.11.03-.01.23-.11.03-.01.23-.1.03-.01.23-.1.02-.02.23-.1.02-.01.23-.1.03-.02.23-.1.03-.01.23-.1.03-.01.23-.1.03-.01.23-.1.03-.01.23-.1.03-.01.23-.09.03-.01.23-.1.03-.01.24-.1.03-.01.24-.1.03-.02.23-.09.02-.01.24-.09.03-.01.23-.09.02-.01.24-.09.03-.01.24-.08.03-.01.24-.09.03-.01.24-.09.03-.01.24-.08.03-.01.24-.08.03-.01.23-.08.03-.01.24-.08.03-.01.23-.08.03-.01.24-.08.02-.01.24-.08.03-.01.24-.08.03-.01.24-.08.03-.01.24-.07.02-.01.24-.07.03-.01.24-.07h.03l.24-.07.03-.01.24-.07.02-.01.24-.07.02-.01.24-.07.03-.01.24-.07.03-.01.24-.07.03-.01.24-.06.03-.01.24-.06.02-.01.24-.07.024-.01.25-.06h.02l.24-.07h.03l.247-.06.03-.01.25-.06.03-.01.24-.06h.03l.25-.06h.03l.24-.06.03-.01.24-.05.03-.01.24-.06.03-.01.24-.05h.03l.24-.05.03-.01.24-.05h.02l.24-.05.03-.01.25-.05h.02l.25-.05.02-.01.25-.05.03-.01.25-.05.03-.01.25-.04h.03l.24-.04.03-.01.25-.05.03-.01.25-.04h.03l.24-.04.03-.01.25-.04.03-.01.24-.04h.02l.24-.04h.03l.25-.04.03-.01.25-.04h.03l.25-.04h.03l.25-.04h.03l.25-.03h.03l.24-.03h.03l.25-.03.03-.01.25-.03.02-.01.25-.02h.03l.24-.03h.03l.24-.03h.03l.25-.03h.03l.25-.03h.03l.24-.02h.03l.25-.03.03-.01.25-.02.03-.01.25-.02h.03l.246-.02h.03l.25-.02h.03l.25-.01.03-.01.25-.02.02-.01.25-.01h.03l.25-.02h.02l.25-.01h.03l.25-.01h.03l.25-.01h.03l.25-.01.03-.01.25-.01h.03l.25-.01h.03l.25-.01h.03l.25-.01h.03l.25-.01h.02l.25-.01h.31l.25-.01h.58zm-.23 27h-.164l-.164.002h-.163l-.17.004-.17.004-.17.005-.17.01-.17.01-.17.01-.16.01-.17.01-.16.01-.16.01-.16.01-.17.01-.16.01-.17.02-.17.02-.16.02-.17.02-.17.02-.17.02-.16.02-.17.02-.16.02-.16.02-.17.02-.16.02-.16.02-.16.02-.16.02-.17.02-.16.03-.16.02-.17.03-.16.03-.16.03-.16.03-.16.03-.16.03-.16.03-.16.02-.17.03-.16.03-.17.03-.16.03-.16.03-.16.03-.16.04-.16.04-.16.04-.16.03-.16.03-.16.04-.16.04-.16.04-.16.04-.16.04-.16.04-.16.04-.16.04-.16.04-.16.04-.16.05-.16.04-.16.05-.15.05-.16.05-.16.05-.16.05-.16.05-.16.05-.15.05-.16.05-.16.06-.16.05-.16.05-.16.06-.16.05-.16.05-.15.05-.16.06-.16.06-.16.06-.15.06-.16.06-.15.06-.15.06-.16.07-.16.06-.16.06-.16.06-.15.07-.15.06-.16.07-.15.07-.15.07-.15.07-.16.07-.15.07-.16.07-.15.07-.15.07-.15.07-.16.07-.15.07-.15.07-.15.08-.15.08-.15.07-.15.08-.15.07-.15.08-.15.08-.15.08-.15.08-.15.08-.15.09-.14.08-.15.08-.14.08-.15.09-.15.09-.15.09-.14.08-.15.09-.14.09-.15.09-.15.09-.16.1-100.4 61.88-.17.11-.16.1-.15.1-.15.1-.15.1-.15.1-.15.1-.15.1-.15.1-.15.1-.15.1-.15.1-.15.11-.14.1-.14.1-.15.1-.14.1-.14.1-.14.1-.14.1-.14.1-.14.1-.14.11-.14.1-.14.11-.14.11-.14.11-.14.11-.14.11-.14.11-.13.11-.14.11-.14.11-.13.11-.14.11-.14.11-.13.11-.14.11-.13.11-.13.11-.13.12-.13.12-.13.11-.13.11-.13.12-.13.12-.13.12-.13.12-.13.12-.13.12-.13.12-.13.12-.13.12-.13.12-.13.12-.12.12-.13.12-.12.13-.13.12-.12.13-.12.12-.12.13-.12.12-.12.13-.12.13-.13.13-.12.12-.12.13-.12.13-.12.13-.11.13-.12.13-.12.13-.12.13-.12.14-.12.13-.11.13-.11.13-.12.14-.11.13-.12.13-.11.14-.11.13-.11.14-.11.14-.11.14-.11.14-.11.14-.11.14-.1.14-.11.14-.11.14-.11.14-.11.14-.1.14-.1.14-.1.14-.1.15-.1.14-.1.14-.1.15-.1.14-.1.14-.1.14-.1.14-.09.15-.1.15-.1.14-.1.15-.09.15-.09.14-.09.15-.09.15-.09.15-.09.15-.1.15-.1.15-.09.15-.09.15-.09.15-.09.15-.09.15-.09.15-.09.15-.09.15-.09.15-.09.15-.09.16-.09.15-.09.15-.09.16-.08.15-.08.16-.08.16-.08.16-.08.15-.08.15-.08.16-.08.15-.08.16-.07.15-.08.16-.08.16-.08.16-.08.16-.08.16-.07.16-.07.16-.07.16-.07.16-.07.16-.07.16-.07.16-.07.16-.07.16-.06.16-.07.16-.07.17-.07.16-.07.16-.07.16-.06.16-.07.17-.07.16-.06.16-.06.17-.06.16-.06.17-.06.16-.06.17-.06.17-.06.17-.05.17-.06.16-.06.17-.05.17-.05.16-.05.17-.06.17-.05.16-.05.16-.05.17-.06.17-.05.17-.05.16-.05.17-.05.17-.05.17-.05.17-.05.17-.04.17-.04.17-.05.17-.04.17-.05.17-.04.17-.04.17-.04.18-.04.17-.04.17-.04.17-.04.17-.04.17-.04.17-.03.17-.04.17-.03.17-.03.18-.03.18-.03.18-.03.18-.03.17-.03.17-.03.18-.03.18-.03.17-.03.17-.03.17-.03.18-.02.18-.02.18-.02.17-.03.18-.03.17-.02.18-.02.18-.02.18-.02.18-.02.18-.02.18-.02.17-.02.18-.02.18-.01.18-.02.18-.02.18-.01.18-.01.18-.01.18-.01.18-.01.18-.01.18-.01.18-.01.18-.01.18-.01.18v.18l-.01.18-.01.18v.18l-.01.18v126.8l.01.18v.54l.01.17.01.18.01.18.01.18.01.18.01.18.01.18.01.18.01.18.02.18.01.18.01.18.01.18.02.17.02.18.02.17.01.18.02.17.02.17.02.17.02.17.02.18.02.17.02.17.02.18.02.18.02.17.02.18.03.17.03.17.03.17.03.17.03.18.03.17.03.17.03.17.03.17.04.17.03.17.03.17.03.17.04.17.04.17.03.17.04.17.04.17.04.17.04.17.04.17.04.17.04.17.04.16.05.16.04.17.04.17.04.17.05.17.04.16.04.17.04.16.05.17.04.16.05.17.05.17.05.16.05.17.05.17.05.16.05.17.06.16.06.16.06.16.06.16.05.16.06.17.06.16.06.16.06.16.06.16.06.16.06.16.06.16.06.16.06.16.07.16.07.16.06.16.06.16.06.16.06.16.06.16.07.16.07.16.07.16.07.16.07.16.07.16.07.16.07.16.07.16.07.16.07.16.07.15.08.16.08.15.08.16.08.15.08.15.08.15.08.15.08.15.08.15.09.15.08.15.08.15.08.15.09.15.09.15.08.15.08.15.08.15.09.15.08.15.09.14.09.15.09.14.09.15.09.15.09.14.09.14.09.14.09.14.09.15.09.15.1.14.09.14.09.15.09.14.09.14.1.14.1.14.1.15.1.14.1.14.1.14.1.14.1.14.1.14.1.14.11.14.11.14.1.14.1.14.1.14.1.14.11.13.11.13.11.14.11.13.11.14.11.13.11.13.11.13.11.13.11.13.11.13.11.13.11.13.11.13.11.13.11.13.12.13.12.13.11.13.12.12.12.13.12.12.12.13.11.13.12.13.12.12.12.12.12.12.12.12.12.13.12.12.12.12.12.12.12.12.12.12.13.12.12.12.12.12.13.12.12.12.12.12.13.12.13.11.13.11.13.12.13.12.13.11.13.11.13.12.13.12.13.11.14.11.14.11.14.11.13.11.13.11.14.11.13.11.14.1.13.11.14.11.14.11.14.11.13.1.14.11.14.1.14.11.14.11.14.1.14.1.15.1.14.1.14.1.14.1.14.1.14.1.14.1.15.1.15.09.15.1.14.1.15.1.15.1.14.09.15.09.15.09.15.09.15.09.15.09.16.09.15.09.15.09.17.1 104.68 61.2.13.08.11.06.12.06.12.06.12.06.11.07.12.06.12.06.12.06.12.07.12.06.12.06.12.06.12.06.12.06.12.06.12.06.12.06.11.06.12.06.12.06.12.05.12.06.12.05.12.05.12.05.12.06.12.06.12.05.12.06.12.05.12.05.12.05.12.05.12.05.12.05.12.05.12.05.12.05.12.04.13.05.12.05.12.05.12.05.12.05.12.04.12.05.12.04.12.04.13.04.12.04.11.04.26.08.25.08.25.07.25.07.25.07.25.07.25.07.25.07.25.07.25.06.25.06.25.06.25.05.25.06.25.05.25.05.25.05.25.04.25.05.25.04.25.04.26.04.25.04.26.03.26.03.26.03.26.02.25.02.26.02.25.02.26.02.26.02.25.02.25.01.25.01.26.01h1.28l.26-.01h.26l.26-.01.26-.01.26-.02.26-.02.26-.01.26-.02.26-.02.26-.02.25-.02.26-.03.26-.03.25-.03.26-.03.25-.04.26-.04.25-.04.26-.04.25-.04.25-.05.25-.04.26-.05.25-.05.25-.06.25-.05.25-.06.25-.06.25-.06.25-.06.25-.07.25-.07.25-.07.25-.07.26-.08.12-.04.12-.04.12-.04.13-.04.12-.04.13-.04.12-.04.12-.04.13-.04.12-.04.12-.04.13-.05.12-.04.13-.04.12-.05.12-.04.12-.04.12-.04.13-.05.12-.04.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.06.12-.06.12-.05.12-.06.12-.06.12-.05.12-.06.12-.06.12-.06.11-.06.12-.06.12-.06.12-.06.12-.06.12-.06.12-.06.12-.06.12-.06.11-.06.12-.06.12-.06.13-.07 115.97-64.63.14-.07.13-.07.12-.07.12-.07.12-.07.12-.08.13-.07.12-.07.12-.07.12-.07.12-.08.12-.08.12-.07.12-.07.12-.07.12-.08.12-.08.12-.07.12-.08.12-.07.11-.08.11-.08.11-.08.11-.08.11-.08.12-.08.11-.08.12-.08.11-.08.11-.08.11-.08.11-.08.11-.08.12-.08.11-.09.11-.08.11-.09.11-.08.11-.09.11-.09.11-.09.11-.08.11-.08.11-.09.1-.09.11-.09.11-.09.1-.08.11-.09.11-.1.1-.09.11-.09.1-.09.1-.09.1-.1.11-.09.1-.1.1-.09.1-.1.1-.1.1-.09.1-.1.1-.09.1-.1.1-.1.1-.1.1-.1.09-.1.1-.1.09-.1.1-.1.1-.1.1-.1.09-.1.09-.1.09-.1.09-.1.1-.1.09-.1.09-.1.09-.1.09-.1.09-.1.09-.1.09-.1.09-.11.09-.11.09-.11.09-.1.09-.1.09-.1.09-.11.09-.1.09-.11.08-.1.08-.11.08-.11.08-.1.09-.11.08-.11.08-.11.08-.11.08-.11.08-.11.08-.11.08-.11.08-.11.08-.11.08-.11.08-.11.08-.11.07-.11.07-.12.08-.12.08-.11.07-.11.07-.11.08-.12.08-.11.07-.11.07-.12.07-.12.07-.12.07-.12.07-.11.07-.12.07-.12.07-.11.07-.12.07-.12.07-.12.06-.12.06-.12.07-.12.07-.12.06-.12.07-.12.07-.12.06-.12.06-.12.06-.13.06-.12.07-.12.07-.12.06-.12.06-.12.06-.12.06-.13.06-.12.06-.12.06-.13.06-.12.06-.12.06-.13.06-.13.06-.13.06-.12.05-.12.05-.13.05-.13.05-.13.05-.12.05-.13.05-.13.05-.13.05-.12.05-.13.05-.13.05-.13.05-.13.05-.13.04-.13.04-.13.04-.13.04-.13.05-.13.05-.13.05-.13.05-.13.04-.13.05-.13.04-.13.04-.13.05-.13.04-.13.04-.13.04-.13.04-.13.03-.13.04-.13.04-.13.04-.13.04-.13.03-.13.03-.14.04-.13.03-.13.03-.14.04-.13.03-.13.03-.13.03-.13.03-.14.03-.13.03-.13.02-.14.03-.14.03-.13.02-.14.03-.13.03-.14.03-.14.03-.13.03-.14.02-.14.03-.14.02-.13.03-.13.02-.14.02-.14.02-.14.02-.14.02-.14.02-.14.02-.14.01-.14.02-.13.01-.14.02-.14.02-.13.02-.14.01-.14.01-.14.01-.14.01-.14.02-.14.01-.14.01-.14.01-.14.01-.14.01-.14.01-.14.01-.14.01-.14.01-.14.01-.14.01-.14v-.28l.01-.14V138.8l-.01-.123-.01-.13v-.13l-.01-.13v-.13l-.01-.13v-.13l-.01-.13-.01-.12-.01-.13-.01-.13-.01-.13-.01-.12-.01-.13-.01-.12-.01-.13-.02-.13-.01-.12-.01-.12-.02-.12-.01-.12-.02-.13-.01-.12-.02-.12-.02-.13-.01-.13-.01-.12-.02-.11-.04-.263-.03-.255-.04-.26-.04-.25-.05-.25-.05-.25-.04-.25-.05-.25-.06-.25-.06-.25-.06-.25-.06-.25-.06-.25-.06-.25-.06-.25-.07-.25-.07-.25-.07-.25-.08-.25-.07-.24-.08-.24-.08-.24-.08-.24-.08-.24-.09-.24-.09-.24-.09-.23-.09-.24-.09-.24-.09-.24-.1-.23-.09-.24-.1-.23-.1-.23-.1-.23-.11-.23-.1-.23-.11-.23-.11-.23-.11-.22-.12-.23-.11-.23-.12-.23-.12-.22-.12-.22-.12-.22-.12-.22-.12-.22-.13-.22-.13-.22-.13-.22-.14-.22-.13-.21-.13-.21-.14-.21-.14-.21-.14-.21-.14-.21-.14-.21-.14-.21-.15-.2-.15-.2-.15-.2-.15-.2-.15-.2-.16-.2-.16-.2-.16-.2-.16-.2-.16-.19-.17-.19-.16-.19-.17-.19-.17-.19-.17-.19-.17-.19-.17-.19-.18-.18-.18-.18-.18-.18-.18-.18-.18-.18-.19-.18-.19-.18-.19-.17-.19-.17-.19-.17-.19-.17-.19-.17-.2-.17-.2-.16-.2-.16-.19-.16-.21-.17-.09-.07-.1-.08-.1-.08-.1-.08-.1-.08-.1-.07-.1-.08-.1-.08-.11-.08-.11-.08-.1-.08-.1-.08-.1-.08-.1-.07-.1-.08-.11-.08-.1-.07-.1-.07-.11-.08-.11-.07-.11-.07-.1-.07-.11-.07-.11-.07-.11-.07-.11-.07-.11-.07-.11-.07-.11-.07-.11-.07-.11-.07-.11-.06-.11-.06-.13-.07L193 46.09l-.16-.098-.145-.08-.15-.09-.15-.09-.147-.083-.15-.08-.145-.08-.15-.08-.15-.08-.15-.08-.147-.08-.15-.08-.15-.08-.15-.08-.15-.08-.15-.08-.15-.08-.153-.07-.15-.08-.15-.07-.15-.07-.15-.08-.155-.07-.15-.07-.15-.07-.156-.07-.15-.07-.15-.06-.155-.07-.152-.07-.15-.07-.155-.06-.15-.06-.16-.06-.154-.07-.158-.06-.16-.07-.16-.06-.155-.06-.155-.06-.157-.06-.16-.06-.16-.06-.15-.06-.15-.05-.15-.05-.16-.06-.16-.05-.15-.05-.16-.05-.16-.05-.15-.05-.16-.05-.16-.05-.16-.05-.15-.05-.16-.05-.16-.05-.16-.05-.16-.04-.16-.05-.16-.04-.16-.05-.16-.04-.16-.04-.16-.04-.16-.05-.16-.04-.16-.04-.16-.03-.16-.04-.16-.04-.16-.04-.16-.03-.16-.04-.16-.03-.16-.03-.16-.04-.16-.03-.16-.03-.16-.03-.16-.03-.16-.03-.16-.03-.17-.03-.16-.02-.16-.02-.16-.02-.16-.02-.16-.03-.16-.03-.16-.02-.17-.03-.16-.02-.16-.03-.16-.02-.16-.02-.16-.02-.16-.02-.16-.02-.17-.02-.16-.01-.16-.02-.16-.02-.16-.01-.16-.01-.16-.01-.16-.01-.16-.01-.17-.01-.17-.01-.16-.01-.16-.01h-.16l-.16-.01-.16-.01h-.17l-.16-.01-.16-.01-.15-.01-.16-.01h-.33l-.16-.01h-.32z"/>
++  <path fill="#fff" fill-rule="nonzero" d="M96.91 309.916v-207.22h43.354v75.48h71.916v-75.48h43.48v207.22h-43.48V219.31h-71.916v90.606H96.91z"/>
++  <path fill="#0594CB" d="M715.9 259.25V136.59c0-15.645-8.285-30.12-21.774-38.046L580.56 31.818c-16.805-9.873-37.69-9.65-54.28.58l-96.142 59.286c-19.81 12.215-31.87 33.823-31.87 57.095v120.06c0 19.93 10.58 38.37 27.792 48.43l104.718 61.21c13.925 8.14 31.113 8.31 45.204.47l115.945-64.58c14.798-8.25 23.973-23.86 23.973-40.8v-14.34z"/>
++  <path fill="#0083C0" d="M554.04 11.067h.278l.247.003h.027l.25.003h.027l.25.004h.02l.25.006h.03l.24.007h.03l.24.008h.03l.25.01h.03l.25.01h.03l.25.01.02.002.25.01.02.003.25.013h.03l.25.014.02.002.25.014h.02l.25.017.02.002.25.017h.03l.25.02h.02l.24.02.03.003.25.018.03.003.25.02.03.003.24.02h.02l.25.02h.03l.25.02h.03l.25.02h.03l.24.02h.02l.25.03h.03l.24.03h.03l.25.03h.03l.25.03h.03l.25.03h.03l.24.03h.02l.24.03h.03l.24.03h.03l.24.03h.03l.25.03h.02l.25.03h.03l.25.04h.03l.24.04h.02l.25.04h.03l.24.04h.03l.25.04h.03l.25.04h.03l.24.05h.02l.25.05h.03l.24.04h.03l.24.05.03.01.25.05.03.01.25.05.03.01.24.05h.02l.24.05h.02l.25.05h.03l.24.05h.03l.24.06h.03l.24.06.02.01.24.06.03.01.24.06h.03l.24.06.02.01.24.06.02.01.24.07h.03l.24.06.03.01.24.06h.03l.24.06h.02l.24.06.03.01.24.06.03.01.24.07.02.01.24.07h.03l.24.07.03.01.24.07.02.01.24.07.03.01.24.07.03.01.24.07.03.01.24.07.03.01.24.07.02.01.24.08.02.01.24.08h.03l.24.08.03.01.24.08.02.01.24.08.02.01.24.08.03.01.24.08.03.01.24.08.03.01.24.08.02.01.24.08.03.01.24.09.03.01.24.09.03.01.23.09.03.01.24.09.03.01.23.09.03.01.24.09.03.01.23.1.03.01.23.1.03.01.23.1.02.01.24.09.02.01.23.1.03.01.24.1.02.01.23.1.02.01.23.1.03.01.24.1.03.01.23.1.02.01.23.11.03.01.23.1.02.01.23.11.02.01.23.11.03.01.24.1.02.02.23.11.02.01.23.11.02.01.23.11.03.01.23.11.03.01.23.11.02.01.23.11.03.01.22.12.02.02.23.12.03.01.23.12.02.01.23.12.03.01.23.12.03.02.22.12.03.01.23.12.02.01.22.12.02.01.23.12.02.01.22.12.03.01.22.13.02.01.22.13.02.02.22.13.02.02.22.13.03.02.23.13 113.7 66.88.18.11.03.01.18.11.03.02.18.11.02.02.18.11.02.01.18.11.02.02.18.11.02.02.18.11.02.01.17.11.02.01.18.11.02.01.17.11.02.01.17.11.02.01.17.12.03.01.17.12.02.01.18.12.03.02.34.23.05.03.35.24.05.03.34.24.04.03.34.24.05.03.34.24.05.03.33.25.04.03.33.25.04.03.33.25.04.03.33.25.04.04.33.26.04.04.32.26.04.03.32.26.04.03.32.26.04.04.32.27.04.03.32.27.04.03.31.27.04.03.31.27.04.03.31.27.04.03.3.28.04.03.3.28.04.04.3.28.04.04.29.28.04.04.3.29.04.04.29.29.04.04.29.29.04.04.29.29.03.04.29.3.04.04.28.3.04.04.28.3.04.04.28.3.04.04.28.31.03.04.27.31.03.04.27.31.04.04.27.31.03.04.26.31.03.04.27.31.04.04.26.31.03.05.26.32.03.04.25.32.03.05.25.32.03.04.25.33.03.04.24.33.04.04.24.33.03.04.24.33.03.04.24.33.03.04.23.34.03.05.23.34.03.05.23.34.03.04.23.34.03.05.22.34.03.05.22.34.03.05.22.35.03.05.22.35.03.05.21.34.03.05.21.35.02.05.21.35.03.04.2.35.03.05.21.36.03.05.2.36.03.04.19.36.02.05.2.36.02.05.19.36.03.05.18.36.02.05.19.37.02.04.18.37.02.05.18.37.02.05.17.37.02.05.18.37.02.05.17.37.03.05.16.37.02.05.16.38.02.05.16.38.03.05.16.38.02.05.16.38.02.05.15.38.02.05.15.38.02.05.14.38.02.05.14.38.02.05.14.39.02.05.13.39.02.05.13.39.02.05.13.39.02.05.13.39.02.05.12.39.01.05.12.39.02.05.12.39.01.05.11.4.02.05.11.39.02.05.11.4.02.05.1.4.01.05.1.4.01.05.1.4.01.05.1.4.01.06.09.4.02.05.09.41.01.05.09.4.01.05.09.41.01.05.08.41.01.05.08.41.01.06.07.41v.06l.07.41.01.05.06.41.01.06.06.41.01.06.06.41.01.05.06.41.01.06.05.42.01.06.05.41v.06l.05.41.01.05.04.42.01.05.04.42v.06l.04.42.01.05.03.41.01.06.03.42v.06l.02.41v.04l.01.21v.02l.01.21v.03l.01.21v.03l.01.21v.03l.01.21v.03l.01.21v.27l.01.21v139.28l-.01.22v.02l-.01.22v.28l-.01.22v.03l-.01.23v.02l-.01.22v.03l-.01.22v.03l-.01.22-.01.03-.01.22v.03l-.01.23v.03l-.01.22v.03l-.02.22-.01.03-.02.23v.03l-.01.23v.03l-.02.23v.03l-.01.22v.03l-.02.23v.03l-.02.22-.01.03-.02.22v.03l-.02.23v.02l-.02.22-.01.03-.02.22-.01.03-.02.22v.03l-.03.23v.03l-.03.22v.03l-.03.22v.03l-.03.22-.01.03-.03.22-.01.03-.03.22-.01.03-.03.22v.03l-.03.22v.03l-.03.22v.02l-.03.22v.03l-.03.22v.03l-.03.22-.01.03-.03.22-.01.03-.04.22v.02l-.04.22v.03l-.03.22v.02l-.04.22-.01.03-.04.22v.03l-.04.22-.01.03-.04.21-.01.03-.05.22v.03l-.05.22-.01.02-.04.22-.01.03-.04.21-.01.03-.05.22-.01.02-.05.22v.03l-.05.22v.02l-.05.22-.01.03-.05.21-.01.02-.05.22-.01.03-.05.22-.01.03-.06.21-.01.03-.05.21-.01.02-.05.22v.03l-.06.22-.01.03-.05.21-.01.03-.06.21v.03l-.06.21-.01.03-.06.21v.03l-.06.21v.03l-.06.21-.01.03-.06.21-.01.03-.06.21-.01.02-.06.21-.01.03-.07.21-.01.03-.07.21-.01.03-.07.21-.01.03-.07.21-.01.02-.07.21-.01.03-.07.21-.01.03-.07.21-.01.02-.07.21-.01.02-.07.21-.01.03-.07.21-.01.03-.07.21-.01.03-.08.21-.01.03-.07.21-.01.03-.07.21-.01.02-.08.21-.01.02-.08.21-.01.03-.08.2-.01.03-.08.21-.01.02-.08.2-.01.03-.08.21-.01.03-.08.2-.01.03-.08.2-.01.03-.08.2-.01.03-.08.2-.01.03-.08.2-.01.03-.09.21-.01.03-.09.2-.01.03-.09.2-.01.02-.09.2-.01.03-.09.2-.01.03-.09.2-.01.02-.09.2-.01.02-.09.2-.02.03-.09.2-.01.02-.1.19-.01.03-.09.2-.02.02-.09.2-.01.02-.1.2-.01.02-.09.19-.01.02-.1.2-.02.03-.1.19-.01.03-.1.19-.01.02-.1.2-.01.02-.1.19-.01.02-.1.2-.01.03-.1.19-.02.03-.11.19-.01.02-.11.2-.01.02-.1.19-.01.03-.11.19-.01.02-.1.2-.01.02-.11.19-.01.03-.11.19-.02.03-.1.19-.02.03-.11.19-.02.02-.11.19-.01.02-.11.19-.02.02-.11.19-.02.02-.11.19-.01.03-.11.19-.01.02-.11.19-.01.02-.11.19-.01.03-.12.19-.02.02-.12.19-.02.02-.12.18-.02.03-.12.19-.02.03-.11.18-.01.02-.12.19-.01.02-.12.18-.02.02-.12.18-.01.03-.12.18-.01.03-.12.18-.01.02-.12.18-.01.02-.12.18-.01.02-.12.18-.01.03-.13.18-.02.02-.12.18-.02.02-.12.18-.02.03-.13.18-.02.02-.13.18-.01.02-.13.18-.02.02-.13.18-.01.02-.13.18-.01.02-.13.18-.02.02-.14.17-.02.02-.13.18-.02.02-.13.17-.02.02-.13.18-.02.02-.14.18-.02.02-.13.17-.02.02-.13.17-.02.02-.13.17-.02.02-.14.17-.02.02-.14.17-.01.02-.14.17-.02.02-.14.17-.02.02-.14.17-.02.02-.14.17-.01.02-.14.17-.02.02-.14.17-.01.02-.14.17-.01.02-.14.17-.02.02-.15.17-.02.02-.15.16-.01.02-.15.16-.02.02-.14.16-.02.02-.15.16-.02.02-.15.16-.02.02-.15.16-.02.02-.15.16-.02.02-.15.16-.02.02-.15.16-.02.02-.15.16-.02.02-.16.16-.02.02-.15.16-.02.02-.15.16-.01.02-.16.16-.02.02-.15.16-.02.02-.15.16-.02.02-.16.16-.02.02-.16.15-.02.02-.16.15-.02.02-.16.16-.02.02-.16.15-.02.02-.16.15-.02.02-.16.15-.02.02-.16.15-.02.02-.17.16-.02.02-.16.15-.02.02-.16.15-.02.02-.16.15-.02.02-.17.15-.02.02-.17.15-.02.02-.17.14-.02.02-.17.15-.02.01-.17.14-.02.02-.17.15-.02.02-.17.14-.02.02-.17.14-.02.02-.17.14-.02.02-.17.15-.02.01-.17.14-.02.02-.17.14-.02.02-.17.14-.02.02-.17.14-.02.02-.17.14-.02.01-.17.14-.02.02-.17.14-.02.02-.18.14-.03.02-.18.14-.03.02-.18.14-.02.02-.17.14-.03.01-.18.14-.02.01-.18.14-.03.02-.18.13-.02.02-.18.13-.02.01-.18.13-.02.01-.18.13-.03.01-.18.14-.03.01-.18.13-.03.01-.18.13-.02.02-.19.13-.02.01-.19.13-.03.02-.19.12-.02.02-.18.13-.02.02-.18.12-.02.02-.19.12-.02.02-.18.12-.02.01-.19.13-.03.02-.19.12-.02.01-.19.12-.02.01-.19.12-.03.01-.19.12-.02.01-.19.12-.03.02-.19.12-.02.02-.19.11-.02.02-.19.12-.02.01-.19.12-.02.01-.19.12-.02.01-.19.12-.03.02-.2.12-.02.01-.19.12-.02.01-.2.12-.02.02-.2.11-.03.01-.2.12-.02.01-.19.11-.02.01-115.97 64.59-.01.01-.18.1-.02.01-.19.1-.03.01-.19.1-.02.02-.19.11-.03.01-.19.11-.02.02-.19.1-.03.02-.19.1-.02.01-.2.1-.02.01-.19.1-.02.01-.19.09-.02.02-.2.09-.03.01-.19.1-.02.01-.2.1-.02.01-.19.09-.03.02-.2.09-.02.01-.19.09-.03.01-.2.09-.03.01-.19.09-.02.01-.2.09-.02.01-.2.09-.03.01-.2.09-.03.01-.19.09-.02.01-.19.09-.02.01-.2.09-.02.01-.19.08-.03.01-.2.09-.03.01-.2.09-.02.01-.2.08-.03.01-.2.08-.02.01-.2.08-.03.01-.2.08-.02.01-.2.08-.02.01-.2.08-.03.01-.2.07-.02.01-.19.08-.02.01-.2.08-.02.01-.2.07-.03.01-.2.07-.03.01-.2.08-.02.01-.2.07-.03.01-.2.08-.02.01-.2.07-.02.01-.2.07-.02.01-.2.07-.03.01-.2.06-.02.01-.2.07-.03.01-.2.07-.03.01-.2.07-.03.01-.2.07-.03.01-.21.06-.03.01-.21.07h-.02l-.21.06-.04.01-.4.12-.05.01-.41.12-.06.01-.4.11-.06.01-.41.11-.05.02-.41.11-.05.01-.41.1-.05.01-.41.1-.06.02-.41.1-.06.01-.41.1-.06.01-.41.09-.05.01-.41.09-.05.01-.41.09-.05.01-.42.08-.05.01-.41.07-.05.01-.42.08-.05.01-.42.07-.05.01-.42.07-.05.01-.41.06h-.06l-.41.06-.05.01-.41.06h-.05l-.41.06-.05.01-.42.05-.05.01-.42.05-.05.01-.42.05h-.05l-.42.04-.06.01-.42.04h-.05l-.42.04h-.05l-.42.03-.05.01-.42.02-.06.01-.42.02h-.06l-.42.02-.05.005-.42.02h.01l-.42.01h-.05l-.42.02-.42.004h-.06l-.42.01h-1l-.42-.01h-.06l-.42-.01h-.05l-.42-.013-.05-.01-.42-.01h-.05l-.42-.02h-.05l-.42-.02-.05-.01-.42-.03h-.05l-.42-.03h-.05l-.42-.03-.05-.01-.42-.04h-.05l-.42-.04-.05-.01-.42-.05-.05-.01-.42-.05-.05-.01-.41-.05h-.05l-.42-.05h-.05l-.42-.06-.05-.01-.42-.06-.05-.01-.41-.06-.05-.01-.41-.06-.05-.01-.42-.07-.05-.01-.42-.07-.05-.01-.41-.08-.05-.01-.41-.08-.05-.01-.41-.08-.06-.01-.41-.08-.05-.01-.41-.09-.05-.01-.42-.09-.05-.01-.41-.1-.05-.01-.41-.1-.06-.01-.41-.1-.06-.01-.41-.1-.05-.02-.41-.11-.05-.01-.41-.11-.05-.02-.41-.12-.05-.01-.4-.12-.06-.01-.4-.12-.05-.01-.4-.13-.05-.01-.39-.13-.03-.01-.21-.07-.02-.01-.2-.06-.02-.01-.2-.07-.02-.01-.2-.06-.03-.01-.2-.07-.02-.01-.2-.07-.03-.01-.2-.07-.03-.01-.2-.07-.03-.01-.2-.07-.03-.01-.2-.08-.03-.01-.2-.07-.02-.01-.2-.07-.03-.01-.2-.08-.02-.01-.2-.08-.03-.01-.2-.08-.03-.01-.2-.08-.02-.01-.2-.08-.03-.01-.2-.08-.03-.01-.2-.09-.03-.01-.2-.08-.03-.01-.2-.08-.02-.02-.2-.08-.03-.01-.19-.08-.03-.01-.19-.08-.02-.01-.19-.09-.03-.01-.2-.09-.03-.01-.2-.09-.03-.01-.19-.09-.026-.01-.2-.09-.02-.01-.19-.09-.02-.01-.2-.09-.03-.02-.19-.09-.03-.01-.2-.09-.02-.01-.19-.1-.03-.02-.19-.09-.02-.01-.2-.1-.02-.02-.19-.1-.03-.01-.19-.1-.03-.01-.19-.1-.03-.02-.19-.1-.02-.01-.19-.1-.02-.01-.19-.1-.02-.01-.19-.11-.03-.02-.19-.1-.02-.01-.19-.1-.03-.02-.19-.11-.03-.02-.19-.11-.02-.02-.19-.1-.03-.01-.19-.11-.02-.01-.19-.11-.02-.01-.19-.11-.03-.02-.18-.11-.01-.01-104.78-61.2-.02-.01-.22-.13-.03-.02-.23-.14-.02-.01-.22-.13-.02-.02-.22-.14-.02-.01-.22-.13-.02-.01-.23-.14-.02-.01-.22-.13-.02-.01-.22-.14-.02-.01-.22-.14-.02-.01-.22-.14-.02-.02-.22-.14-.02-.01-.22-.15-.02-.01-.21-.14-.02-.02-.22-.15-.03-.02-.21-.14-.02-.01-.22-.15-.02-.02-.22-.14-.02-.02-.21-.14-.02-.01-.22-.15-.02-.02-.21-.15-.02-.02-.21-.15-.02-.01-.21-.15-.03-.02-.21-.15-.02-.02-.21-.15-.03-.02-.21-.16-.02-.02-.21-.15-.02-.02-.21-.16-.02-.02-.21-.15-.02-.02-.2-.16-.02-.02-.21-.16-.02-.02-.21-.16-.02-.02-.21-.16-.02-.02-.2-.16-.03-.01-.2-.16-.03-.02-.2-.16-.02-.02-.2-.16-.02-.02-.2-.17-.02-.02-.2-.16-.02-.02-.2-.17-.02-.02-.2-.16-.02-.02-.2-.16-.02-.02-.197-.17-.02-.02-.2-.16-.02-.02-.2-.17-.02-.02-.2-.16-.02-.02-.2-.17-.02-.01-.19-.17-.02-.02-.19-.17-.02-.02-.2-.17-.02-.02-.19-.17-.02-.02-.19-.17-.02-.02-.19-.18-.02-.02-.19-.17-.02-.02-.19-.17-.02-.02-.19-.17-.02-.02-.19-.17-.02-.02-.18-.18-.02-.01-.19-.18-.02-.02-.18-.17-.02-.02-.18-.18-.02-.02-.18-.18-.02-.02-.18-.17-.02-.02-.18-.18-.02-.02-.18-.18-.02-.02-.18-.19-.02-.02-.17-.18-.01-.02-.18-.19-.02-.02-.18-.18-.02-.02-.17-.18-.02-.02-.18-.18-.02-.02-.17-.19-.02-.02-.18-.19-.02-.02-.17-.19-.02-.02-.17-.19-.02-.02-.17-.19-.02-.02-.17-.19-.02-.02-.17-.19-.02-.02-.17-.19-.02-.02-.17-.19-.02-.02-.16-.19-.02-.02-.17-.19-.02-.02-.17-.19-.02-.02-.16-.19-.02-.02-.16-.19-.02-.02-.16-.2-.02-.02-.17-.2-.02-.02-.17-.2-.01-.02-.16-.19-.02-.02-.16-.2-.01-.02-.16-.2-.01-.02-.16-.2-.02-.02-.16-.2-.02-.02-.16-.2-.01-.02-.15-.2-.01-.02-.16-.2-.02-.02-.15-.207-.02-.02-.15-.21-.01-.02-.15-.2-.02-.02-.15-.21-.02-.02-.15-.21-.02-.03-.15-.2-.01-.02-.15-.2-.02-.02-.15-.21-.01-.02-.15-.21-.02-.02-.145-.2-.01-.02-.15-.21-.02-.02-.15-.2-.01-.02-.15-.21-.02-.03-.14-.21-.01-.02-.14-.21-.02-.03-.14-.21-.017-.02-.14-.21-.01-.02-.14-.21-.02-.02-.14-.21-.01-.02-.14-.21-.01-.02-.14-.22-.01-.02-.14-.22-.01-.02-.13-.21-.01-.02-.13-.22-.01-.02-.13-.22-.01-.02-.13-.21-.01-.02-.13-.22-.01-.02-.13-.22-.02-.02-.12-.21-.02-.03-.13-.22-.01-.02-.13-.22-.01-.02-.13-.22-.01-.02-.13-.22-.01-.03-.13-.22-.02-.02-.12-.22-.01-.02-.12-.22-.01-.02-.13-.22-.01-.02-.12-.22-.01-.02-.12-.22-.01-.02-.12-.22-.01-.02-.12-.22-.01-.03-.12-.22-.01-.02-.12-.22-.02-.03-.11-.22-.01-.02-.11-.22-.01-.03-.12-.23-.01-.03-.11-.23-.01-.03-.11-.22-.01-.02-.11-.23-.01-.02-.11-.23-.01-.03-.11-.23-.01-.03-.11-.23-.01-.03-.11-.23-.01-.02-.1-.23-.01-.03-.11-.23-.01-.03-.11-.23-.02-.03-.1-.23-.01-.03-.1-.23-.01-.03-.1-.23-.01-.02-.1-.23-.01-.02-.1-.23-.01-.03-.1-.24-.01-.02-.1-.23-.01-.03-.09-.23-.01-.02-.1-.23-.01-.02-.1-.23-.01-.03-.1-.24-.01-.02-.09-.24-.01-.03-.09-.23-.01-.03-.09-.23-.01-.03-.09-.24-.01-.02-.09-.24-.01-.03-.09-.24-.01-.03-.09-.24-.01-.02-.09-.24-.01-.02-.09-.24-.01-.03-.08-.24-.01-.02-.08-.24-.01-.03-.09-.24-.01-.03-.08-.24-.01-.03-.08-.24-.01-.03-.08-.24-.01-.03-.08-.24-.01-.03-.08-.24-.01-.03-.08-.24v-.03l-.08-.25v-.03l-.08-.24-.01-.03-.08-.24-.01-.02-.08-.24-.01-.03-.07-.24-.01-.02-.07-.24-.01-.03-.07-.24-.01-.03-.07-.24-.01-.03-.07-.24-.01-.02-.07-.25-.01-.03-.06-.25-.01-.03-.06-.25-.01-.02-.07-.24-.01-.03-.06-.25v-.03l-.06-.25v-.03l-.06-.25-.01-.03-.06-.25-.01-.03-.06-.25-.01-.03-.06-.25-.01-.02-.06-.25v-.03l-.06-.25-.01-.03-.06-.25-.01-.03-.06-.25-.01-.03-.06-.25-.01-.02-.05-.25-.01-.03-.05-.25v-.03l-.05-.25-.01-.02-.05-.25-.01-.03-.05-.25-.05-.25-.01-.03-.05-.25-.01-.03-.05-.25v-.03l-.05-.26v-.03l-.04-.26-.01-.03-.04-.25v-.03l-.04-.25-.01-.03-.04-.25-.01-.02-.04-.25v-.03l-.04-.26v-.02l-.04-.25-.04-.25-.01-.03-.03-.25v-.03l-.04-.26-.01-.03-.04-.26-.03-.26-.01-.03-.03-.25v-.02l-.04-.25-.03-.25v-.03l-.03-.25v-.03l-.03-.25-.01-.02-.03-.25v-.03l-.03-.25v-.03l-.03-.26v-.03l-.02-.26V275l-.02-.26v-.02l-.03-.26-.01-.03-.02-.26-.01-.02-.01-.26v-.03l-.02-.26v-.03l-.02-.26v-.02l-.02-.26V273l-.02-.26v-.03l-.01-.26v-.03l-.02-.26v-.03l-.01-.26-.01-.26v-.023l-.01-.26-.01-.03v-.29l-.01-.26v-.02l-.01-.26v-.03l-.01-.26v-.03l-.01-.26V148.12l.01-.3v-.03l.01-.298v-.027l.01-.3v-.027l.01-.296v-.027l.01-.3v-.027l.01-.3v-.028l.01-.298v-.027l.01-.298v-.03l.01-.297v-.03l.02-.297v-.027l.01-.3v-.025l.01-.29v-.02l.01-.29v-.02l.01-.29v-.03l.02-.3v-.02l.02-.3v-.02l.02-.3v-.03l.02-.29v-.03l.03-.29.01-.03.02-.3v-.02l.03-.29v-.03l.03-.29V141l.03-.296v-.026l.03-.295v-.03l.04-.296v-.03l.04-.3v-.025l.03-.292.01-.03.03-.29.01-.023.04-.29v-.03l.04-.29.01-.027.04-.297.01-.027.04-.29v-.03l.04-.29v-.03l.04-.29v-.03l.04-.293v-.028l.05-.29v-.03l.05-.29.01-.02.05-.29.01-.03.05-.29v-.03l.05-.29v-.03l.05-.29v-.026l.05-.29.01-.03.05-.29v-.03l.05-.29.01-.03.05-.29.01-.03.05-.29.01-.03.05-.29V133l.05-.29.01-.02.06-.29v-.03l.06-.29.01-.03.06-.29.01-.03.06-.29v-.03l.06-.28.01-.03.06-.29.01-.03.07-.29v-.03l.07-.29v-.03l.07-.28.01-.03.07-.29.01-.02.07-.28v-.02l.07-.29.01-.03.07-.29.01-.03.07-.29v-.03l.07-.29.01-.03.08-.29v-.03l.08-.28.01-.02.08-.28.01-.03.08-.28v-.02l.08-.28.01-.03.08-.28.01-.03.08-.28.01-.02.08-.28.01-.03.08-.28.01-.02.09-.28.01-.03.08-.28v-.03l.09-.28.01-.02.09-.28v-.02l.09-.28.01-.02.09-.28.01-.02.09-.28.01-.03.09-.27.01-.02.09-.27.01-.02.1-.27.01-.03.1-.28.01-.03.1-.27.01-.03.1-.28.01-.02.1-.28.01-.03.1-.28.01-.03.1-.27.01-.02.1-.28.01-.02.1-.28.01-.02.11-.27.01-.03.11-.27.01-.03.11-.27.01-.03.11-.27.01-.03.11-.27.01-.03.11-.27.01-.02.11-.27.01-.03.11-.27.01-.03.12-.27.01-.02.11-.26.01-.02.12-.26.01-.03.11-.26.01-.03.12-.27.01-.02.12-.26.01-.03.12-.26.02-.02.12-.26.01-.02.12-.26.01-.03.12-.26.01-.02.12-.27.01-.02.13-.27.01-.02.13-.26.01-.03.12-.26.01-.02.12-.26.01-.03.13-.26.01-.02.13-.26.01-.02.13-.26.02-.02.14-.26.02-.02.13-.26.01-.02.14-.26.01-.03.13-.26.01-.02.13-.26.02-.03.13-.25.01-.02.13-.26.01-.03.14-.26.01-.03.14-.25.01-.02.14-.25.01-.03.15-.26.01-.02.14-.25.01-.02.15-.25.01-.03.15-.26.01-.02.15-.25.01-.03.15-.25.01-.02.15-.25.02-.02.15-.25.01-.02.15-.25.02-.03.15-.25.01-.02.15-.25.01-.02.15-.25.02-.02.15-.24.02-.02.16-.25.01-.02.15-.25.01-.02.16-.25.015-.02.15-.25.02-.02.16-.24.01-.02.16-.24.02-.02.16-.24.02-.02.16-.24.01-.02.16-.24.02-.02.16-.24.01-.02.16-.24.01-.02.16-.24.01-.02.17-.24.02-.02.16-.24.01-.02.17-.23.01-.02.17-.23.01-.02.17-.24.01-.02.17-.23.01-.02.17-.24.02-.02.17-.23.02-.02.17-.23.02-.02.18-.23.01-.02.17-.23.01-.02.17-.23.02-.02.18-.23.02-.02.17-.23.02-.02.18-.23.01-.02.18-.23.02-.02.18-.23.02-.02.19-.23.02-.02.18-.23.01-.02.18-.22.02-.02.18-.23.02-.02.18-.23.01-.02.19-.23.02-.02.18-.22.02-.02.19-.22.02-.02.19-.22.02-.02.19-.22.01-.02.19-.22.02-.02.19-.22.02-.02.19-.22.02-.02.19-.22.01-.02.19-.22.02-.02.19-.21.02-.02.2-.22.02-.02.19-.22.02-.02.2-.22.02-.02.2-.22.01-.02.21-.21.02-.02.2-.21.02-.02.2-.21.02-.02.2-.21.02-.02.21-.21.02-.02.21-.21.02-.02.21-.21.02-.02.21-.2.02-.02.2-.21.01-.02.21-.21.02-.02.21-.2.02-.02.21-.2.02-.02.21-.2.02-.02.21-.2.02-.02.22-.2.02-.02.21-.2.02-.02.21-.2.02-.02.22-.2.02-.02.22-.2.02-.02.22-.2.02-.02.22-.2.02-.02.22-.19.02-.02.22-.19.02-.02.22-.19.02-.02.22-.19.02-.02.22-.19.02-.02.23-.19.02-.02.22-.19.02-.02.22-.2.02-.02.23-.19.02-.02.23-.19.02-.01.23-.18.02-.02.23-.19.02-.02.23-.19.02-.02.23-.19.02-.02.23-.19.02-.02.23-.18.02-.01.23-.18.02-.02.24-.18.02-.02.237-.18.02-.02.24-.18.03-.02.24-.18.02-.02.24-.18.02-.02.24-.18.02-.02.24-.18.03-.01.24-.18.02-.01.24-.18.02-.02.24-.17.02-.02.25-.17.03-.01.24-.17.02-.02.24-.17.02-.01.24-.17.02-.02.24-.17.02-.02.24-.17.02-.01.25-.17.02-.01.24-.17.02-.01.24-.17.02-.01.25-.17.02-.02.25-.17.03-.01.25-.16.03-.02.25-.16.03-.01.25-.16.03-.01.25-.16.02-.02.26-.16.03-.01.25-.16.02-.02.25-.15.01-.01L519 20.82l.01-.01.22-.13.02-.02.22-.13.03-.01.22-.14.02-.01.23-.13.03-.01.22-.13.03-.02.22-.13.02-.02.23-.13.02-.01.22-.13.03-.02.22-.13.02-.01.23-.13.03-.01.22-.13.02-.02.224-.12.03-.01.22-.12.03-.01.23-.12.03-.02.23-.12.02-.01.23-.12.02-.01.23-.12.02-.02.23-.11.03-.02.23-.12.02-.01.23-.11.02-.02.22-.11.03-.02.23-.11.03-.01.23-.12.03-.01.23-.11.03-.01.23-.11.03-.01.23-.11.03-.01.23-.11.02-.01.23-.11.03-.01.23-.11.03-.01.23-.1.03-.01.23-.11.03-.01.23-.1.03-.01.23-.1.03-.01.23-.1.03-.01.23-.1.02-.01.23-.1.02-.01.24-.1.03-.01.23-.1.03-.01.23-.09.03-.01.24-.1.03-.01.23-.1.03-.01.24-.09.03-.01.24-.09.03-.01.23-.09.03-.01.24-.09.025-.01.23-.09.02-.01.24-.09.03-.01.24-.09.03-.01.24-.09h.03l.24-.08.03-.01.24-.08.03-.01.24-.08.02-.01.24-.08.03-.01.24-.08.03-.01.24-.08.02-.01.24-.08.03-.01.24-.07.02-.01.24-.08.02-.01.24-.07.03-.01.24-.07.03-.01.24-.08.03-.01.24-.07h.02l.24-.07.03-.01.24-.07h.03l.24-.07h.03l.24-.07.03-.01.24-.07.02-.01.24-.07.03-.01.24-.07.03-.01.24-.06.03-.01.24-.07.03-.01.24-.06.03-.01.24-.06h.03l.24-.06.03-.006.24-.06.03-.01.24-.06.03-.01.25-.06.02-.01.25-.06.03-.01.24-.055.03-.01.24-.06.03-.01.24-.05.03-.01.24-.05.02-.01.25-.05h.03l.25-.05h.03l.25-.05h.03l.24-.05.03-.01.24-.04.03-.01.25-.04.03-.01.24-.04h.02l.24-.05.03-.01.24-.04h.03l.25-.04.03-.01.24-.04.03-.01.25-.04.03-.01.25-.03h.03l.25-.03h.03l.24-.04h.03l.24-.03h.03l.25-.04h.03l.24-.03h.03l.24-.03h.03l.24-.03h.03l.24-.03h.03l.24-.03h.03l.25-.03h.03l.25-.03h.03l.24-.03h.03l.25-.02h.03l.25-.02h.03l.25-.02h.03l.25-.02h.03l.25-.02h.03l.25-.02h.03l.24-.02h.03l.25-.02h.03l.25-.02h.03l.25-.01h.03l.25-.01h.03l.25-.02h.03l.25-.01h.04l.25-.01h.03l.25-.01h.03l.25-.01h.03l.25-.01h2zm-.23 27h-.163l-.163.002h-1.162l-.164.01h-.163l-.166.01-.17.01-.17.01-.16.01-.17.01-.17.01-.17.01-.17.01-.17.01-.17.01-.17.01-.17.01-.16.01-.17.02-.17.02-.16.02-.16.01-.17.02-.16.02-.17.02-.17.02-.17.02-.16.02-.16.02-.17.02-.16.02-.17.03-.16.02-.16.03-.16.03-.16.02-.16.03-.16.03-.16.03-.16.03-.16.03-.16.03-.17.03-.16.03-.16.04-.16.03-.16.04-.16.03-.17.04-.16.04-.16.03-.16.04-.16.04-.16.04-.16.04-.16.04-.16.04-.16.04-.15.04-.16.04-.16.04-.16.05-.16.05-.16.05-.16.05-.16.05-.16.05-.15.05-.16.05-.15.05-.16.05-.16.05-.16.05-.16.05-.15.06-.15.06-.16.05-.16.05-.15.06-.16.06-.15.05-.16.06-.15.06-.15.06-.16.07-.15.06-.16.06-.15.06-.16.06-.16.07-.16.06-.15.07-.15.07-.15.07-.15.07-.15.07-.15.07-.15.07-.15.07-.15.07-.15.07-.15.08-.15.08-.15.07-.15.08-.15.08-.15.08-.15.08-.15.08-.15.08-.15.08-.15.08-.15.08-.15.08-.15.08-.15.08-.15.08-.15.08-.15.09-.15.08-.15.09-.14.09-.15.09-.16.1L437.07 103l-.19.12-.19.11-.18.12-.18.11-.18.12-.18.12-.18.12-.18.12-.18.12-.18.12-.18.12-.18.12-.18.13-.17.12-.18.13-.17.12-.17.13-.18.12-.17.12-.18.13-.18.13-.17.13-.17.13-.17.13-.17.13-.17.13-.17.13-.17.13-.17.13-.17.135-.16.136-.16.13-.17.13-.17.14-.17.13-.16.14-.16.14-.16.14-.16.14-.16.14-.16.14-.16.14-.16.15-.16.14-.16.14-.16.14-.15.15-.16.14-.16.14-.15.14-.16.15-.16.15-.16.14-.15.14-.15.15-.15.15-.15.15-.15.15-.15.15-.15.15-.15.15-.15.15-.15.15-.15.15-.14.16-.14.15-.15.16-.15.16-.14.16-.14.15-.14.16-.14.16-.14.16-.14.16-.14.16-.14.16-.14.16-.14.16-.13.16-.14.16-.13.17-.13.16-.13.16-.13.16-.14.17-.13.16-.13.16-.13.17-.13.17-.13.17-.13.17-.13.17-.13.16-.13.17-.12.17-.12.17-.13.17-.12.17-.12.18-.12.17-.12.17-.12.17-.12.17-.12.17-.12.18-.12.18-.12.18-.12.18-.12.18-.12.18-.11.18-.12.17-.12.18-.11.17-.11.18-.11.18-.11.18-.11.18-.11.18-.11.18-.11.18-.11.18-.11.18-.1.19-.11.18-.11.19-.1.19-.1.19-.11.18-.1.18-.1.19-.1.18-.1.18-.1.19-.1.19-.09.19-.1.19-.1.19-.09.19-.09.18-.09.19-.1.19-.09.19-.09.19-.09.19-.09.19-.09.19-.08.2-.09.19-.09.19-.08.19-.08.2-.08.2-.08.19-.08.2-.09.2-.08.19-.08.19-.08.2-.08.19-.08.2-.08.2-.08.2-.08.2-.07.2-.08.2-.07.2-.07.2-.07.2-.07.2-.07.2-.07.2-.07.2-.07.2-.07.2-.07.2-.07.2-.07.2-.06.2-.06.2-.068.21-.06.2-.06.2-.06.21-.06.2-.06.2-.06.2-.056.21-.06.21-.06.21-.05.2-.06.2-.056.21-.06.21-.05.21-.05.21-.05.2-.05.21-.05.21-.05.21-.05.21-.043.21-.04.21-.04.21-.04.21-.04.21-.04.21-.05.21-.04.21-.04.21-.04.21-.04.21-.03.21-.04.21-.04.21-.03.21-.04.21-.03.21-.04.21-.03.22-.03.22-.03.21-.03.21-.03.21-.03.21-.03.21-.03.21-.024.22-.02.21-.03.22-.02.21-.02.21-.02.22-.02.21-.02.22-.02.21-.02.22-.02.21-.02.21-.02.22-.02.22-.01.22-.01.21-.01.22-.01.22-.01.22-.01.22v.22l-.01.21-.01.21-.01.21v.22l-.006.22v121.27l.01.18v.35l.01.18v.35l.01.17.01.18.01.17.01.18.01.18.01.17.01.18.01.18.02.17.01.18.01.17.02.17.02.17.01.17.02.17.02.17.02.17.02.17.02.18.02.17.02.17.02.17.02.17.02.17.03.17.03.17.02.17.03.17.03.17.02.18.03.17.03.17.03.17.03.17.03.17.03.17.03.17.03.17.033.17.04.17.03.17.04.17.04.17.035.17.04.17.04.17.04.17.04.17.04.17.04.16.04.17.045.17.04.17.05.17.04.16.05.17.05.16.045.17.05.16.05.16.04.17.05.17.05.16.05.17.05.17.05.16.06.16.05.17.05.16.05.16.05.16.06.17.06.16.06.16.06.16.06.16.06.16.06.16.06.17.06.16.06.16.06.16.06.17.068.16.065.16.07.16.07.16.07.16.07.16.07.16.06.16.07.16.07.16.07.16.07.16.07.16.07.16.07.15.07.16.07.15.07.15.08.15.08.16.08.16.08.15.07.15.08.15.08.15.08.15.08.15.08.15.08.15.08.15.08.15.08.15.08.15.09.15.08.15.09.15.09.15.09.15.09.14.09.15.09.14.09.15.09.15.09.15.09.15.09.15.1.14.09.15.09.15.095.14.09.14.1.14.09.15.09.14.1.14.094.15.1.14.09.14.1.14.09.14.1.14.1.14.1.14.1.14.104.14.1.14.11.14.1.13.1.14.1.14.11.14.11.14.11.13.11.14.11.14.11.14.11.13.11.13.1.14.12.13.11.13.11.13.11.13.11.13.11.13.12.13.12.13.12.13.12.12.12.13.12.13.11.13.12.12.12.12.12.13.12.13.12.12.12.12.12.12.12.12.12.13.13.13.12.12.12.12.13.12.12.12.13.12.13.12.12.12.13.12.13.11.13.12.13.11.13.12.13.12.13.11.13.11.13.12.13.11.13.12.13.12.13.11.14.11.14.11.13.11.14.11.14.11.14.11.14.11.14.11.14.11.14.11.14.11.13.1.14.1.14.11.14.1.14.1.14.1.14.11.14.1.14.1.14.1.14.11.14.1.14.1.15.1.15.1.14.1.14.1.14.1.15.09.15.1.14.1.15.1.15.09.15.1.15.1.15.09.15.09.15.09.15.1.15.09.16.1 104.69 61.19.13.07.12.07.12.07.12.06.11.07.11.06.11.06.12.07.12.06.12.06.12.06.12.06.12.06.12.06.12.06.12.06.12.05.12.06.12.05.12.06.12.06.12.06.12.05.12.06.12.05.12.05.12.06.12.05.12.05.12.06.12.05.12.05.12.05.12.05.12.05.12.05.12.05.12.05.13.05.12.04.13.05.12.04.12.04.12.05.12.04.12.04.12.05.12.04.12.04.13.04.12.04.11.04.26.08.25.08.25.08.25.07.25.07.25.07.25.06.25.07.25.06.25.06.25.06.25.06.25.05.26.05.25.05.25.05.25.05.25.04.26.04.26.04.26.04.26.04.26.03.25.03.26.03.26.03.26.02.25.02.26.03.26.02.26.02.25.02.25.01.25.01.26.01.26.01.26.01h.78l.26-.01h.26l.26-.01.26-.01.25-.01.26-.02.26-.02.26-.02.26-.02.26-.02.26-.02.26-.03.25-.03.26-.03.25-.03.26-.03.26-.03.25-.04.26-.04.25-.04.25-.05.25-.05.25-.04.26-.05.25-.05.25-.05.26-.06.25-.06.26-.06.25-.06.25-.07.25-.07.25-.07.25-.07.25-.08.26-.08.11-.03.13-.04.12-.04.12-.04.12-.04.13-.04.12-.04.12-.04.12-.04.13-.05.12-.05.12-.04.13-.04.12-.04.12-.04.12-.04.12-.05.12-.05.12-.04.12-.05.12-.05.12-.05.12-.05.12-.05.13-.05.12-.05.12-.05.12-.06.12-.05.12-.05.12-.05.12-.05.12-.06.12-.06.12-.05.12-.05.12-.05.12-.05.12-.06.11-.06.12-.06.12-.06.12-.06.11-.06.12-.06.12-.06.12-.07.11-.06.12-.06.11-.07.12-.07.13-.07 115.92-64.56.14-.07.12-.07.12-.07.13-.07.12-.07.12-.08.12-.08.12-.07.12-.07.12-.07.12-.08.12-.07.12-.08.12-.07.12-.08.12-.08.11-.08.12-.08.12-.08.12-.08.12-.08.11-.08.11-.08.12-.08.12-.08.12-.08.11-.08.11-.08.11-.08.11-.08.11-.08.11-.08.11-.09.11-.08.11-.08.11-.08.11-.08.11-.09.11-.09.11-.09.11-.09.11-.08.11-.09.11-.09.1-.08.1-.09.1-.09.11-.09.1-.09.1-.09.1-.09.1-.09.1-.09.1-.09.1-.1.1-.09.1-.1.1-.09.1-.09.1-.09.1-.1.1-.1.1-.09.09-.09.1-.1.1-.1.1-.1.1-.1.09-.1.09-.1.09-.1.1-.1.09-.1.09-.1.09-.1.09-.1.09-.1.09-.1.09-.1.1-.1.09-.1.09-.1.09-.1.09-.1.09-.1.09-.1.09-.1.09-.1.09-.1.08-.11.09-.11.08-.1.09-.11.08-.11.08-.11.08-.11.08-.11.08-.11.08-.11.08-.11.08-.11.08-.11.08-.11.08-.11.08-.11.08-.12.08-.11.08-.11.08-.11.08-.11.08-.11.08-.12.08-.11.08-.11.08-.11.08-.11.07-.12.07-.11.07-.12.07-.11.07-.12.07-.12.08-.12.07-.12.07-.11.07-.12.07-.12.07-.12.07-.12.06-.12.07-.12.07-.12.07-.12.07-.12.07-.12.07-.12.07-.12.07-.12.06-.12.07-.12.07-.12.06-.12.06-.12.06-.12.06-.12.06-.12.06-.12.06-.13.06-.12.05-.13.06-.12.06-.13.05-.12.06-.12.05-.12.06-.12.06-.13.05-.12.06-.13.06-.13.05-.13.05-.13.05-.13.05-.13.05-.13.06-.13.05-.13.05-.12.05-.13.05-.13.05-.13.05-.13.05-.12.04-.13.05-.12.05-.13.05-.13.04-.13.04-.13.04-.13.05-.13.04-.13.05-.13.04-.12.04-.13.04-.13.04-.13.04-.13.04-.13.04-.14.04-.13.04-.13.03-.13.04-.13.03-.13.04-.13.03-.14.04-.13.03-.13.03-.13.03-.13.03-.13.03-.13.03-.14.03-.13.03-.13.03-.13.03-.13.03-.14.03-.14.03-.14.02-.14.03-.13.03-.13.03-.13.03-.14.02-.14.02-.14.02-.14.02-.14.02-.14.02-.14.02-.13.02-.14.02-.14.02-.14.02-.14.01-.13.01-.14.02-.14.02-.13.02-.14.01-.14.01-.14.01-.14.01-.14.02-.14.01-.14.01-.13.01-.14.01-.14.01-.14.01-.14.01-.14v-.14l.01-.14.01-.14.01-.14.01-.14v-.83l.01-.16V136.6l-.01-.14v-.507l-.01-.13-.01-.125-.01-.125v-.255l-.01-.128v-.252l-.01-.11-.02-.268-.02-.25-.02-.25-.03-.254-.02-.25-.03-.25-.03-.248-.03-.25-.03-.248-.03-.248-.04-.248-.04-.248-.04-.25-.04-.245-.04-.24-.05-.24-.04-.24-.05-.24-.05-.24-.05-.24-.06-.24-.06-.24-.06-.24-.06-.24-.06-.24-.06-.24-.07-.23-.07-.23-.07-.24-.07-.24-.08-.23-.07-.23-.08-.24-.08-.23-.08-.23-.08-.23-.09-.23-.09-.23-.09-.23-.09-.23-.09-.23-.09-.22-.1-.23-.1-.22-.1-.22-.1-.22-.11-.22-.1-.22-.11-.22-.11-.22-.11-.22-.11-.22-.12-.21-.12-.22-.11-.22-.12-.21-.12-.21-.12-.21-.13-.21-.12-.21-.13-.21-.13-.21-.13-.2-.14-.2-.14-.21-.13-.2-.13-.2-.14-.2-.14-.2-.15-.2-.14-.2-.15-.19-.15-.2-.15-.19-.15-.2-.16-.19-.16-.19-.15-.19-.16-.19-.16-.19-.16-.18-.17-.18-.17-.19-.17-.19-.17-.18-.17-.18-.17-.18-.18-.18-.18-.17-.17-.18-.18-.17-.18-.17-.18-.17-.18-.17-.18-.17-.19-.17-.18-.17-.18-.17-.19-.16-.19-.16-.19-.16-.19-.16-.2-.16-.19-.16-.19-.15-.2-.15-.2-.15-.2-.15-.2-.15-.21-.14-.21-.14-.2-.14-.21-.14-.22-.15-.1-.07-.1-.07-.11-.07-.11-.07-.1-.07-.11-.07-.11-.07-.11-.07-.11-.06-.11-.06-.11-.07-.1-.07-.11-.07-.13-.07-113.4-66.79-.16-.09-.15-.09-.15-.08-.15-.08-.14-.08-.14-.08-.15-.08-.15-.08-.15-.08-.15-.08-.15-.08-.15-.08-.15-.08-.15-.07-.15-.07-.15-.07-.15-.07-.15-.08-.15-.07-.15-.08-.15-.07-.15-.08-.15-.07-.15-.07-.15-.07-.15-.07-.15-.07-.15-.07-.16-.07-.15-.07-.15-.07-.16-.07-.15-.07-.15-.06-.15-.07-.15-.06-.15-.06-.15-.06-.15-.06-.15-.06-.15-.06-.15-.06-.15-.06-.16-.06-.16-.06-.15-.05-.16-.06-.15-.06-.16-.05-.16-.05-.16-.06-.16-.05-.15-.05-.15-.05-.16-.05-.15-.05-.16-.05-.16-.05-.16-.05-.16-.04-.16-.04-.16-.04-.16-.04-.16-.04-.16-.05-.16-.04-.16-.04-.16-.04-.16-.04-.16-.03-.16-.04-.16-.04-.16-.04-.16-.04-.16-.04-.16-.03-.16-.04-.16-.04-.17-.03-.16-.03-.16-.03-.16-.03-.16-.03-.16-.03-.16-.03-.16-.03-.16-.03-.17-.03-.17-.03-.16-.03-.16-.02-.16-.02-.16-.03-.16-.02-.16-.03-.17-.02-.16-.02-.16-.02-.16-.02-.16-.02-.16-.01-.17-.02-.16-.02-.17-.01-.16-.02-.17-.01-.16-.01-.16-.01-.17-.01-.16-.02-.16-.01-.16-.01-.16-.01-.17-.01-.16-.01h-.16l-.17-.01h-.4l-.16-.01-.16-.01-.17-.01h-.65z"/>
++  <path fill="#fff" fill-rule="nonzero" d="M477.32 109.382h42.288V221.55c0 17.8.488 29.335 1.468 34.61 1.69 8.476 4.814 14.367 11.177 19.5 6.364 5.13 13.795 6.586 24.832 6.586 11.214 0 14.968-1.736 20.664-6.587 5.69-4.86 9.12-9.47 10.28-16.54 1.15-7.07 3.07-18.79 3.07-35.18V109.38h42.28v108.78c0 24.862-1.07 42.425-3.21 52.69-2.14 10.267-6.08 18.932-11.82 25.995-5.74 7.064-13.42 12.69-23.03 16.88-9.62 4.192-22.16 6.287-37.65 6.287-18.69 0-32.87-2.284-42.52-6.85-9.66-4.568-17.29-10.502-22.9-17.8-5.61-7.3-9.3-14.952-11.08-22.957-2.58-11.865-3.88-29.383-3.88-52.552v-110.47z"/>
++  <path fill="#33BA91" d="M1099.375 259.25V136.945c0-15.835-8.485-30.456-22.232-38.313-29.61-16.92-81.932-46.823-113.668-64.96-16.524-9.444-36.86-9.23-53.18.56-26.532 15.913-67.455 40.46-95.98 57.567-20.207 12.12-32.573 33.96-32.573 57.52v119.53c0 19.93 10.58 38.37 27.793 48.43l104.718 61.21c13.925 8.14 31.113 8.31 45.204.47l115.943-64.58c14.8-8.25 23.98-23.85 23.98-40.79v-14.35z"/>
++  <path fill="#00A88A" d="M937.492 13.234h.272l.242.003h.027l.243.004h.027l.244.01h.027l.243.01h.027l.244.01h.028l.242.01h.028l.242.01h.028l.244.01h.027l.243.01h.027l.243.01.028.01.243.01.03.01.25.02h.03l.25.02h.03l.25.02.03.01.24.02h.03l.24.02h.03l.24.02.03.01.24.01.03.01.24.02h.03l.24.02h.03l.24.02h.03l.24.02h.03l.24.02.03.01.25.02.03.01.24.03h.03l.24.02.03.01.24.03h.03l.24.03h.03l.25.03h.03l.24.03.03.01.24.03h.03l.24.03h.03l.24.03.03.01.24.04.03.01.24.04.03.01.24.04.03.01.24.04h.03l.24.04.03.01.24.04.03.01.24.04.03.01.24.04.03.01.24.04.03.01.24.05h.03l.24.05.03.01.24.04h.03l.24.04.03.01.24.04.03.01.24.05.03.01.24.05h.02l.24.05h.03l.24.05.03.01.24.05.03.01.24.05.03.01.24.05.03.01.24.05h.02l.24.06.03.01.24.06.03.01.24.06.03.01.24.06h.02l.24.06.03.01.24.06.03.01.24.07h.03l.24.06h.03l.24.07.02.01.24.06.03.01.24.07h.03l.24.07.03.01.24.07.03.01.24.07.03.01.24.07h.03l.24.08.03.01.24.07.03.01.23.08.03.01.24.07h.03l.24.07.03.01.24.08.03.01.24.08.02.01.24.08.03.01.23.08.03.01.23.08.03.01.23.08.03.01.23.08.03.01.23.08.03.01.23.09.03.01.23.08.03.01.23.09.03.01.23.09.02.01.23.09.03.01.23.09.03.01.23.09.03.01.23.09.03.01.23.09.03.01.23.09.02.01.23.1.02.01.23.09.03.01.23.1.03.01.23.1.03.01.23.1.02.01.23.1.03.01.23.1.03.01.23.1.02.02.23.1.03.01.22.1.03.01.23.11.03.01.22.11.03.01.22.11.03.01.23.11.02.01.23.11.02.01.22.11.03.01.22.11.03.01.22.11.03.01.22.12.03.01.23.11.03.02.22.11.02.01.22.12.03.02.22.12.02.01.22.12.02.01.22.12.02.01.22.12.03.02.22.12.03.02.22.12.02.02.22.12.02.02.22.13.03.01.22.13 113.6 64.9.19.11.03.01.19.11.03.01.18.11.03.02.18.11.02.02.19.11.03.01.19.11.03.01.18.11.03.02.18.11.02.01.18.11.02.01.18.12.02.01.19.11.03.02.18.11.03.02.17.11.02.01.18.11.03.01.18.11.02.02.18.11.03.02.18.12.02.01.18.12.03.01.18.12.02.01.18.12.02.01.17.12.03.01.17.12.02.02.17.12.03.02.17.12.02.01.17.12.02.01.17.12.03.02.17.13.03.02.17.12.03.02.17.13.02.01.17.13.02.02.18.13.02.01.17.13.02.02.17.13.02.02.17.13.02.01.17.13.02.02.17.13.02.02.16.13.02.02.17.13.02.01.16.14.02.02.17.14.02.02.17.13.02.02.16.13.02.02.16.14.02.01.17.14.03.02.32.26.04.04.32.28.04.04.31.27.04.04.31.28.05.04.31.28.04.04.31.29.05.04.3.29.04.04.3.29.04.04.3.29.04.04.3.29.04.04.3.3.04.04.29.3.04.04.29.3.04.04.29.3.04.04.28.31.04.04.28.3.04.04.28.31.03.04.28.31.04.05.27.31.04.04.27.32.04.05.27.32.04.04.26.32.04.04.26.32.03.04.26.32.03.04.26.33.04.04.26.33.03.04.25.33.03.05.25.33.03.05.25.34.03.05.24.34.03.04.24.34.03.04.23.34.03.05.24.34.03.04.23.34.03.05.23.35.03.05.23.35.03.05.22.35.03.04.22.35.03.05.22.36.03.05.22.35.03.04.21.36.03.05.21.35.03.04.2.36.03.05.21.36.03.05.2.36.02.04.2.36.03.05.19.36.02.05.19.37.03.05.19.37.03.05.19.37.02.05.18.37.03.05.18.37.03.05.18.37.02.05.17.37.03.05.17.37.02.06.17.38.02.05.16.38.02.06.16.38.02.05.16.38.02.05.15.39.02.05.15.39.02.05.15.39.02.05.15.39.02.05.14.39.02.05.14.39.02.06.14.39.02.05.13.39.02.05.13.39.02.05.12.4.02.05.12.39.02.05.12.4.02.05.12.4.02.05.12.4.01.06.11.4.01.05.11.4.02.05.11.41.01.06.1.41.01.05.1.41.01.06.09.41.01.05.09.41.01.06.09.41.01.05.08.41.02.06.08.41.01.06.07.4.01.04.04.22v.03l.04.21.01.03.03.21.01.03.03.21.01.02.03.21.01.02.03.21.01.03.04.21.01.03.03.21.01.02.03.21v.03l.03.21.01.03.02.21.01.02.03.2v.03l.03.21v.03l.03.21v.02l.02.21v.03l.03.21.01.03.02.21v.03l.03.2v.02l.02.21.01.03.02.21v.03l.02.21v.03l.02.21v.02l.02.21.01.03.02.21.01.02.02.21.01.04.02.21v.03l.01.21.01.03.01.21v.02l.01.21v.03l.01.22v.03l.01.21.01.03.01.21v.02l.01.21v.03l.01.22v.03l.01.21v.03l.01.22v.03l.01.21v.27l.01.21v.26l.01.21v138.4l-.01.22v.54l-.01.23v.03l-.01.22v.03l-.01.23v.03l-.01.22v.03l-.01.22v.03l-.01.23-.01.03-.01.22v.02l-.02.23v.02l-.02.23v.03l-.02.23v.03l-.02.23v.03l-.01.23v.03l-.02.22v.03l-.02.22v.03l-.02.22v.03l-.02.22-.01.03-.02.23-.01.03-.02.22v.03l-.02.22-.01.03-.03.22v.03l-.02.22-.01.03-.03.22v.03l-.03.22v.03l-.03.23v.03l-.03.22v.03l-.03.22v.03l-.03.22-.01.04-.03.22v.02l-.03.22-.01.04-.03.23-.01.03-.03.22-.01.02-.03.22-.01.03-.04.22v.03l-.04.22-.01.03-.04.22v.02l-.04.22v.02l-.04.22-.01.03-.04.22v.03l-.04.22v.03l-.04.22v.03l-.04.22-.01.03-.04.22-.01.02-.05.22-.01.03-.04.22-.01.02-.05.21v.03l-.05.22-.01.03-.05.22v.03l-.05.22v.02l-.05.21-.01.02-.05.21-.01.02-.05.22v.03l-.06.22-.01.03-.05.21v.03l-.06.22-.01.03-.05.21-.01.02-.06.21v.03l-.06.22v.03l-.06.21-.01.02-.06.21v.03l-.06.21-.01.03-.06.22-.01.03-.06.21-.01.03-.06.21-.01.02-.06.21-.01.03-.06.21-.01.02-.06.21-.01.03-.06.21-.01.03-.06.2v.02l-.07.21-.01.03-.07.21-.01.03-.07.21-.01.03-.07.21-.01.03-.08.21-.01.02-.07.21-.01.03-.07.2-.01.02-.07.21-.01.03-.07.21-.01.02-.07.21-.01.03-.08.21-.02.02-.08.21-.01.03-.08.21-.01.03-.08.2-.01.02-.08.2-.01.02-.08.2-.01.03-.08.2-.01.02-.08.2-.01.03-.08.21-.01.03-.08.2-.01.03-.08.21-.01.03-.09.2-.01.02-.09.21-.01.03-.09.2-.01.03-.09.2-.02.02-.08.2-.01.02-.09.2-.01.03-.09.2-.01.03-.09.2-.02.03-.09.2-.01.02-.09.2-.01.03-.09.2-.02.03-.1.2-.01.02-.1.19-.01.03-.1.2-.01.03-.1.2-.01.03-.1.19-.01.02-.1.2-.01.02-.1.2-.01.03-.1.19-.01.02-.1.19-.02.02-.11.19-.01.02-.1.2-.01.02-.11.19-.01.02-.1.2-.01.02-.11.2-.01.03-.11.2-.01.02-.11.19-.01.02-.11.19-.01.02-.11.19-.01.02-.11.19-.02.02-.11.19-.01.03-.11.19-.02.02-.11.19-.01.03-.11.19-.01.02-.11.19-.01.02-.11.19-.01.02-.12.19-.01.02-.12.18-.01.02-.12.19-.02.02-.11.19-.02.03-.12.18-.01.02-.12.19-.02.03-.12.19-.01.02-.12.18-.02.03-.12.19-.01.03-.12.18-.01.02-.12.18-.01.02-.12.18-.02.03-.12.18-.02.02-.12.18-.01.02-.13.18-.01.02-.12.18-.02.02-.13.18-.02.02-.13.18-.02.03-.13.18-.02.02-.12.18-.02.03-.13.17-.02.02-.13.18-.01.02-.13.18-.02.02-.13.18-.02.02-.13.18-.01.02-.13.17-.02.02-.13.17-.01.02-.13.18-.02.03-.14.17-.01.02-.14.17-.02.02-.14.17-.02.03-.14.17-.02.02-.13.17-.02.02-.14.17-.02.03-.14.17-.02.02-.14.17-.02.02-.15.17-.02.02-.14.17-.02.02-.14.17-.02.02-.14.17-.02.02-.15.17-.02.03-.14.17-.01.02-.14.16-.02.02-.15.16-.02.02-.14.16-.02.02-.15.16-.02.02-.15.16-.02.02-.15.16-.02.03-.15.16-.02.02-.15.16-.02.02-.15.16-.02.02-.15.16-.02.02-.16.16-.01.02-.15.16-.02.02-.16.16-.02.03-.16.16-.02.02-.15.16-.02.02-.16.16-.02.02-.16.16-.02.02-.16.15-.02.02-.16.16-.02.02-.16.16-.02.02-.16.15-.02.02-.16.15-.03.02-.16.15-.02.02-.16.15-.02.02-.16.15-.02.02-.16.15-.02.02-.17.15-.02.02-.16.15-.02.02-.17.14-.02.02-.17.15-.02.02-.17.15-.02.01-.17.14-.02.02-.17.15-.02.02-.17.15-.02.01-.17.14-.02.02-.17.15-.02.01-.17.14-.02.01-.17.14-.02.02-.17.14-.02.01-.17.14-.02.02-.17.14-.02.02-.18.14-.02.02-.17.14-.02.02-.18.14-.02.02-.17.14-.02.02-.18.14-.02.02-.18.13-.02.02-.18.14-.02.02-.18.13-.02.01-.18.13-.02.02-.18.14-.02.02-.18.13-.02.01-.18.13-.02.02-.18.13-.02.01-.18.13-.02.01-.19.13-.02.02-.18.13-.02.01-.18.13-.02.01-.18.13-.02.02-.19.12-.03.02-.18.13-.02.02-.19.13-.03.02-.19.13-.02.02-.19.13-.02.02-.18.12-.02.01-.19.12-.02.02-.19.12-.03.02-.19.12-.02.01-.19.12-.02.02-.19.12-.02.01-.19.12-.02.02-.19.12-.02.01-.19.12-.02.02-.19.12-.03.01-.2.11-.03.02-.19.12-.03.02-.2.11-.02.02-.2.11-.03.01-.2.12-.03.02-.19.11-.02.02-.2.12-.03.02-.19.11-.01.01-115.96 64.58-.01.01-.18.1-.03.01-.19.11-.03.01-.19.11-.03.01-.19.1-.02.02-.19.11-.02.01-.19.1-.03.01-.19.1-.03.01-.19.1-.02.01-.19.1-.03.01-.19.1-.03.02-.19.1-.02.01-.19.1-.03.01-.2.1-.03.01-.2.09-.02.02-.19.09-.03.01-.2.09-.03.01-.19.09-.02.01-.19.09-.03.01-.2.09-.03.01-.19.09-.03.01-.19.09-.03.01-.2.08-.03.01-.19.09-.02.01-.19.09-.03.01-.2.09-.03.01-.19.09-.03.01-.2.08-.02.01-.2.09-.03.01-.19.08-.03.01-.2.08-.03.02-.2.08-.02.01-.2.08-.03.01-.2.08-.02.01-.2.08-.02.01-.2.08-.03.01-.2.08-.02.01-.2.08-.03.01-.2.08-.03.01-.2.07-.03.01-.2.07-.03.01-.2.07-.03.01-.2.07-.02.01-.2.07-.03.01-.2.07-.03.01-.2.07-.02.01-.2.07-.03.01-.2.07-.03.01-.2.06-.03.01-.21.06h-.02l-.2.06-.03.01-.21.07h-.1l-.21.06-.04.01-.4.12-.05.02-.41.12-.05.01-.41.12-.05.02-.41.11-.05.01-.41.11-.06.01-.41.1-.05.01-.41.1-.053.01-.41.09-.06.01-.41.09-.05.01-.41.09-.06.01-.412.09-.06.01-.41.09-.05.01-.41.08-.05.02-.42.08-.05.01-.41.07-.05.01-.42.07-.05.01-.42.06-.05.01-.42.06h-.05l-.42.06-.06.01-.41.06h-.05l-.42.06-.06.01-.42.05-.05.01-.42.05-.06.01-.42.04h-.05l-.42.04h-.05l-.42.04-.06.01-.42.03-.05.01-.42.03h-.06l-.42.02h-.05l-.42.03-.05.01-.42.02-.05.01-.42.02h-.06l-.42.02h-.05l-.42.01h-.05l-.42.01h-.05l-.42.01h-1l-.42-.01h-.06l-.41-.01h-.1l-.42-.01h-.06l-.42-.01h-.1l-.42-.02h-.05l-.42-.02h-.05l-.42-.02h-.06l-.42-.03-.06-.01-.42-.03h-.05l-.42-.03h-.05l-.42-.04-.05-.01-.41-.04-.052-.01-.42-.04h-.05l-.42-.05h-.06l-.42-.05h-.05l-.42-.06-.06-.01-.42-.06-.05-.01-.42-.07-.06-.01-.42-.07-.06-.01-.42-.07-.05-.01-.41-.08-.06-.01-.42-.08-.05-.01-.42-.08-.05-.01-.42-.09-.06-.01-.41-.09-.06-.01-.42-.09-.05-.01-.41-.09-.05-.01-.41-.1-.05-.01-.41-.1-.05-.02-.41-.1-.05-.01-.41-.11-.05-.01-.41-.11-.05-.01-.41-.12-.05-.01-.41-.12-.05-.02-.4-.12-.05-.01-.4-.13-.05-.01-.41-.13-.05-.02-.4-.13-.04-.01-.21-.07-.03-.01-.2-.07-.03-.01-.2-.07-.03-.01-.2-.07-.03-.01-.2-.07-.02-.01-.2-.07-.03-.01-.2-.07-.02-.01-.2-.07-.02-.01-.2-.07-.02-.01-.2-.07-.02-.01-.2-.08-.03-.01-.2-.07-.03-.01-.2-.08-.02-.01-.2-.08-.03-.01-.2-.08-.02-.01-.2-.08-.02-.01-.2-.08-.02-.01-.2-.08-.02-.01-.2-.08-.03-.01-.2-.08-.02-.01-.19-.09-.03-.01-.2-.09-.03-.02-.19-.08-.02-.01-.19-.08-.02-.01-.2-.09-.03-.01-.19-.09-.03-.01-.19-.09-.02-.01-.2-.09-.03-.01-.19-.09-.03-.01-.19-.09-.03-.01-.19-.09-.03-.01-.2-.09-.03-.01-.2-.1-.03-.01-.2-.09-.03-.01-.19-.1-.03-.01-.19-.09-.02-.01-.19-.1-.03-.01-.19-.1-.03-.01-.19-.1-.02-.01-.19-.1-.03-.01-.19-.1-.03-.01-.19-.1-.02-.01-.19-.1-.02-.02-.19-.1-.02-.01-.19-.1-.03-.01-.19-.11-.02-.01-.19-.1-.02-.02-.19-.11-.02-.01-.19-.11-.03-.01-.19-.11-.02-.02-.19-.11-.02-.01-.18-.1-.01-.01-105-61.25-.01-.01-.22-.13-.02-.01-.22-.13-.03-.01-.22-.14-.02-.01-.23-.14-.03-.01-.22-.13-.02-.01-.22-.14-.03-.02-.22-.14-.02-.01-.22-.14-.02-.02-.22-.14-.03-.02-.22-.14-.03-.01-.22-.14-.02-.02-.22-.14-.03-.02-.22-.15-.02-.02-.22-.15-.02-.02-.22-.14-.02-.01-.21-.15-.02-.02-.21-.15-.02-.02-.21-.15-.02-.02-.22-.15-.02-.01-.21-.15-.02-.02-.21-.15-.02-.01-.21-.15-.02-.02-.21-.15-.02-.01-.21-.15-.02-.01-.21-.15-.02-.02-.21-.16-.02-.02-.21-.15-.02-.02-.21-.16-.02-.02-.2-.16-.02-.02-.2-.16-.02-.02-.2-.15-.02-.02-.21-.16-.03-.02-.2-.16-.02-.01-.21-.16-.02-.02-.2-.16-.02-.02-.2-.16-.02-.02-.2-.16-.03-.02-.2-.16-.02-.02-.2-.17-.02-.02-.2-.17-.02-.02-.2-.16-.02-.02-.2-.17-.02-.02-.2-.17-.02-.02-.19-.17-.02-.01-.2-.17-.02-.02-.19-.17-.02-.02-.2-.17-.02-.02-.19-.17-.02-.02-.19-.17-.02-.02-.2-.17-.02-.02-.19-.17-.02-.02-.19-.17-.02-.02-.19-.17-.02-.02-.18-.18-.02-.02-.18-.18-.02-.02-.19-.18-.02-.02-.19-.17-.02-.02-.19-.17-.02-.02-.19-.18-.02-.02-.18-.17-.02-.02-.18-.18-.01-.01-.18-.18-.02-.02-.18-.18-.02-.02-.18-.18-.02-.02-.18-.18-.02-.02-.18-.18-.02-.02-.17-.18-.02-.02-.18-.19-.02-.02-.18-.18-.02-.02-.18-.18-.02-.02-.17-.19-.02-.02-.18-.18-.02-.02-.17-.19-.02-.02-.17-.19-.02-.02-.17-.19-.02-.02-.17-.19-.02-.02-.17-.19-.02-.02-.17-.19-.02-.02-.17-.19-.02-.02-.16-.19-.01-.02-.17-.2-.02-.02-.17-.19-.02-.02-.16-.19-.01-.02-.17-.19-.01-.02-.16-.19-.02-.02-.16-.2-.02-.02-.16-.2-.02-.02-.16-.2-.01-.02-.16-.19-.02-.03-.16-.19-.02-.02-.16-.2-.02-.02-.15-.2-.02-.02-.16-.2-.02-.02-.15-.2-.02-.02-.16-.21-.02-.02-.15-.2-.02-.02-.15-.2-.02-.02-.15-.21-.02-.02-.15-.2-.02-.02-.15-.203-.02-.03-.15-.21-.01-.02-.15-.2-.02-.02-.14-.21-.02-.02-.14-.21-.02-.02-.15-.204-.01-.02-.15-.2-.02-.03-.15-.21-.01-.02-.14-.21-.02-.02-.14-.21-.01-.03-.14-.21-.02-.02-.14-.21-.02-.02-.14-.21-.02-.02-.14-.21-.02-.02-.14-.21-.01-.02-.14-.21-.01-.02-.14-.21-.02-.03-.14-.22-.01-.02-.14-.22-.01-.02-.13-.21-.01-.02-.13-.22-.01-.02-.13-.22-.02-.03-.13-.21-.01-.02-.13-.22-.02-.03-.13-.21-.01-.02-.12-.21-.02-.02-.13-.22-.02-.02-.13-.22-.01-.03-.13-.22-.01-.03-.12-.22-.01-.02-.12-.22-.01-.02-.13-.22-.01-.02-.12-.22-.01-.02-.13-.22-.02-.03-.12-.22-.01-.02-.12-.22-.015-.02-.12-.22-.01-.02-.11-.23-.01-.02-.12-.22-.01-.02-.12-.22-.01-.03-.12-.23-.01-.02-.11-.22-.01-.03-.12-.22-.01-.02-.11-.22-.01-.025-.11-.23-.01-.02-.11-.23-.01-.02-.11-.23-.01-.03-.11-.23-.01-.02-.11-.23-.01-.03-.11-.23-.02-.03-.11-.23-.01-.03-.1-.23-.02-.03-.1-.23-.01-.03-.1-.23-.01-.03-.1-.23-.01-.03-.1-.23-.01-.03-.1-.23-.01-.03-.1-.23-.01-.02-.1-.23-.01-.02-.1-.24-.01-.02-.09-.23-.01-.03-.1-.24-.01-.02-.1-.24-.01-.03-.1-.24-.01-.03-.09-.24-.01-.02-.09-.23-.01-.03-.09-.24-.01-.03-.09-.23-.01-.02-.09-.24-.01-.025-.09-.24-.01-.03-.09-.24-.01-.03-.09-.23-.01-.03-.09-.24-.01-.02-.09-.24-.01-.02-.09-.24v-.02l-.09-.24-.01-.03-.09-.24-.01-.02-.08-.24-.01-.02-.08-.24-.01-.02-.08-.24-.01-.03-.08-.24-.01-.02-.07-.24-.01-.03-.07-.24-.01-.03-.08-.24-.01-.03-.07-.24-.01-.03-.07-.24-.01-.03-.08-.25v-.03l-.07-.24-.01-.03-.07-.25-.01-.03-.07-.24-.01-.03-.07-.24-.01-.03-.07-.24v-.03l-.07-.25-.01-.03-.07-.25-.01-.03-.06-.24-.01-.02-.07-.25-.01-.03-.06-.25v-.02l-.06-.25-.01-.03-.06-.25v-.03l-.06-.25v-.02l-.06-.25-.01-.03-.06-.25v-.03l-.06-.25-.01-.02-.06-.25-.01-.03-.06-.25-.01-.03-.06-.25-.01-.02-.05-.25v-.1l-.05-.25v-.03l-.05-.25-.01-.03-.05-.25-.01-.02-.05-.25-.01-.03-.05-.25-.01-.03-.05-.25-.01-.03-.05-.25-.01-.03-.04-.25v-.03l-.04-.25-.01-.03-.04-.25v-.03l-.04-.26-.01-.02-.04-.26-.01-.03-.04-.26v-.03l-.04-.25-.01-.03-.03-.25-.005-.02-.04-.26-.01-.03-.03-.26v-.03l-.03-.26V278l-.03-.26-.01-.03-.03-.25v-.03l-.03-.26v-.03l-.03-.25v-.02l-.03-.26-.01-.03-.02-.26-.01-.03-.028-.26-.01-.03-.02-.26-.01-.03-.02-.26-.01-.03-.02-.26v-.03l-.02-.25v-.03l-.02-.26v-.03l-.02-.26v-.03l-.02-.26v.02l-.02-.26v-.03l-.01-.26v-.03l-.02-.26v-.03l-.01-.26v-.03l-.01-.26v-.03l-.02-.26v-.03l-.01-.26v-.1l-.01-.26v-.02l-.01-.26v-.03l-.01-.26v-.1l-.01-.26v-.025l-.01-.26v-.03l-.01-.26v-.03l-.01-.26V148.61l.01-.31v-.35l.01-.3v-.36l.01-.3.01-.3v-.03l.01-.3v-.03l.02-.3v-.023l.01-.31v-.03l.02-.31v-.03l.01-.3V145l.02-.3v-.03l.02-.3v-.03l.02-.3v-.03l.02-.3v-.03l.02-.3v-.03l.02-.3v-.03l.03-.3.01-.03.02-.3v-.03l.03-.3.01-.026.03-.3v-.028l.023-.3v-.02l.03-.3v-.03l.03-.3v-.03l.03-.3v-.02l.04-.3v-.03l.04-.3v-.03l.04-.3v-.02l.03-.3v-.03l.04-.29v-.03l.04-.29v-.02l.04-.29v-.02l.05-.3v-.03l.04-.29.01-.03.04-.3v-.03l.044-.3.01-.02.04-.29v-.02l.05-.29.01-.03.05-.292v-.02l.05-.29.01-.03.05-.29.01-.03.05-.3v-.03l.06-.292.01-.03.05-.29.01-.025.05-.29.01-.02.06-.29.01-.03.06-.29v-.03l.06-.29.01-.03.06-.29.01-.02.06-.29.01-.026.06-.29v-.03l.07-.29v-.02l.07-.29.01-.03.06-.29.01-.03.07-.29v-.02l.07-.29v-.03l.07-.29v-.03l.07-.29.01-.03.07-.29.01-.02.07-.29.01-.03.07-.29.01-.03.08-.29.006-.03.08-.28.01-.03.08-.29.01-.02.08-.28.01-.02.08-.29.01-.03.08-.28v-.02l.08-.29.01-.03.08-.28.01-.03.08-.29.01-.02.09-.28.01-.03.09-.28.01-.02.09-.28.01-.03.09-.28v-.02l.09-.28.01-.02.1-.28.01-.03.09-.28.01-.03.1-.28v-.02l.09-.28.01-.03.09-.28.01-.03.09-.28.01-.03.1-.28.01-.02.1-.28.01-.02.1-.28.01-.02.1-.27.01-.03.11-.28.01-.02.1-.27.01-.03.1-.28.01-.02.1-.28.01-.03.1-.28.01-.03.11-.28.01-.02.11-.27.01-.02.11-.27.01-.02.11-.27.01-.03.11-.27.01-.02.11-.27.01-.03.12-.28.01-.02.11-.27.02-.03.12-.27.01-.02.12-.27.01-.03.12-.27.01-.02.12-.27.01-.02.12-.27.01-.02.12-.27.01-.02.12-.27.01-.03.12-.27.01-.02.12-.26.01-.03.13-.26.01-.02.13-.26.01-.03.13-.27.01-.03.13-.26.01-.02.13-.26.01-.03.13-.27.01-.02.13-.26.02-.02.13-.27.01-.02.13-.26.01-.03.14-.26.01-.02.13-.26.01-.03.14-.26.01-.02.14-.26.01-.03.14-.26.01-.02.14-.26.02-.02.14-.25.01-.02.14-.26.02-.02.14-.25.01-.02.15-.26.01-.02.15-.26.01-.03.14-.26.02-.02.15-.26.01-.02.15-.25.02-.02.15-.25.01-.03.15-.25.02-.02.15-.25.01-.02.15-.25.01-.02.15-.25.017-.02.15-.25.01-.02.15-.25.01-.02.16-.25.01-.02.16-.25.02-.03.15-.25.02-.02.16-.25.01-.02.16-.25.02-.03.16-.25.01-.02.16-.24.02-.02.16-.24.01-.02.17-.24.01-.03.16-.24.02-.03.16-.25.02-.02.17-.24.02-.02.17-.24.02-.02.17-.24.01-.02.17-.24.02-.02.17-.24.02-.02.17-.23.01-.02.17-.24.02-.02.18-.24.01-.02.17-.23.01-.02.18-.23.02-.03.17-.24.02-.02.18-.24.01-.02.18-.23.02-.02.18-.23.02-.02.18-.24.01-.02.18-.23.02-.02.18-.24.02-.02.188-.23.02-.02.18-.23.02-.02.19-.23.01-.02.19-.23.02-.02.19-.23.02-.02.19-.23.02-.02.19-.22.02-.02.19-.23.02-.02.19-.22.02-.02.19-.22.02-.02.2-.22.02-.02.2-.23.02-.02.19-.22.01-.02.2-.22.02-.02.2-.22.02-.02.2-.22.01-.02.2-.22.02-.02.2-.22.01-.01.2-.21.02-.03.2-.22.02-.02.2-.21.02-.02.21-.21.02-.02.21-.22.02-.02.21-.21.02-.02.21-.22.02-.02.2-.21.02-.02.21-.21.02-.02.21-.21.02-.02.21-.21.02-.02.21-.21.02-.02.21-.21.02-.01.21-.21.02-.02.21-.21.02-.02.22-.21.02-.02.22-.2.02-.02.22-.2.02-.02.22-.2.02-.02.22-.2.02-.02.22-.2.02-.02.22-.2.02-.02.22-.2.02-.02.22-.2.02-.02.22-.19.02-.02.22-.19.02-.02.22-.2.02-.02.23-.19.02-.02.23-.19.02-.02.22-.19.02-.02.23-.19.02-.02.22-.2.02-.02.23-.19.02-.02.23-.19.02-.02.23-.19.02-.02.24-.19.02-.01.23-.18.02-.02.24-.18.02-.02.23-.19.03-.02.24-.19.02-.02.23-.18.02-.01.24-.18.02-.02.23-.18.03-.02.24-.18.02-.02.24-.18.02-.02.24-.18.02-.02.24-.18.02-.01.24-.17.02-.01.24-.18.02-.02.24-.18.02-.02.24-.18.02-.02.25-.17.02-.02.24-.17.02-.02.25-.17.02-.01.25-.17.02-.02.25-.17.03-.01.246-.17.03-.02.25-.17.02-.02.25-.17.02-.01.25-.17.03-.02.25-.16.02-.01.25-.16.02-.02.25-.16.02-.02.26-.17.02-.01.26-.16.02-.01.25-.16.02-.01.26-.16.02-.02.26-.16.02-.01.26-.16.02-.02.26-.16.03-.01.25-.15.02-.01 96-57.54h.015l.21-.12.03-.02.21-.12.02-.01.22-.12.02-.01.22-.12.02-.02.22-.12.02-.02.22-.13.02-.01.22-.12.02-.02.22-.12.02-.02.22-.12.02-.02.22-.12.02-.01.22-.12.03-.01.22-.12.02-.01.22-.11.03-.01.22-.11.02-.01.22-.11.02-.02.22-.12.03-.01.22-.11.03-.01.22-.11.03-.01.23-.11.02-.01.22-.11.02-.02.23-.1.02-.02.23-.11.02-.02.22-.1.03-.01.23-.11.02-.01.23-.1.03-.01.22-.11.03-.01.23-.1.03-.01.23-.11.02-.01.23-.11.02-.01.23-.1.02-.01.23-.1.03-.01.23-.1.02-.01.23-.1.03-.01.23-.1.02-.01.23-.09.03-.01.23-.1.03-.01.23-.09.02-.01.23-.1.02-.01.23-.09.02-.01.23-.1.03-.01.23-.09.03-.01.23-.08.02-.01.23-.09.02-.01.23-.08.03-.01.23-.08h.02l.23-.09.03-.01.23-.09.03-.01.23-.08.03-.01.24-.08.02-.01.23-.08.03-.01.23-.08.02-.01.23-.08.02-.01.24-.08.02-.01.23-.08.03-.01.23-.07.03-.01.23-.07.03-.01.23-.08.03-.01.24-.07.02-.01.24-.07.03-.01.23-.07.03-.01.24-.07.03-.01.24-.07.03-.01.23-.07h.02l.24-.06.02-.01.24-.06.03-.01.24-.07.03-.01.23-.06.02-.01.24-.06.03-.01.24-.06h.03l.24-.06.03-.01.24-.06.03-.01.23-.06.03-.01.24-.06.03-.01.24-.06.02-.01.24-.06.03-.01.24-.06h.03l.24-.05.03-.01.24-.05.03-.01.24-.06h.03l.24-.05.03-.01.24-.05.03-.01.24-.05h.02l.24-.05.03-.01.24-.05.03-.01.24-.04.02-.01.24-.04.03-.01.24-.04.03-.01.24-.04h.03l.24-.04.03-.01.24-.04.03-.01.24-.04h.03l.24-.04h.03l.24-.04h.03l.24-.04h.03l.24-.03.03-.01.24-.03h.02l.24-.03h.03l.25-.03.02-.01.24-.03h.03l.24-.03h.03l.24-.03h.03l.25-.03h.03l.24-.02h.03l.24-.03h.03l.24-.02h.03l.24-.02.03-.01.24-.02h.03l.24-.02h.03l.24-.02h.03l.24-.02.03-.01.24-.02h.02l.24-.02h.03l.25-.02h.03l.24-.02h.02l.24-.02h.02l.24-.01h.03l.24-.01h.03l.25-.01h.04l.24-.02h.03l.24-.01h.03l.24-.01h.03l.24-.01h.57l.24-.01h1.62zm-.22 27l-.16.002h-.162l-.16.002-.16.003-.16.01-.16.01-.16.01-.16.01-.16.01-.16.01-.16.01-.16.01-.16.01-.16.01-.16.01-.16.01-.16.01-.16.01-.16.02-.16.02-.16.01-.158.01-.16.02-.16.02-.16.02-.16.02-.158.02-.16.02-.16.02-.157.02-.16.02-.16.02-.158.03-.16.02-.16.03-.16.03-.16.03-.16.02-.16.03-.16.03-.16.03-.16.03-.16.03-.16.03-.16.03-.16.03-.16.03-.16.03-.16.03-.16.04-.16.04-.16.04-.16.04-.16.04-.16.04-.16.03-.16.04-.16.04-.16.04-.16.04-.15.04-.16.04-.16.04-.16.04-.16.05-.15.05-.15.04-.16.05-.16.05-.16.05-.16.05-.16.04-.15.05-.16.05-.16.05-.16.05-.15.05-.16.05-.16.05-.15.05-.15.05-.15.05-.15.06-.16.06-.16.06-.15.06-.15.06-.15.06-.15.06-.15.06-.15.06-.15.06-.15.06-.15.06-.15.06-.15.06-.15.06-.15.07-.15.07-.15.07-.15.07-.14.07-.15.07-.15.07-.15.07-.15.07-.15.07-.15.07-.15.07-.15.08-.15.07-.15.07-.15.08-.15.07-.15.07-.15.08-.14.08-.14.07-.14.08-.15.08-.14.08-.14.08-.14.08-.15.08-.15.08-.14.08-.14.08-.15.08-.14.08-.16.09-95.95 57.55-.2.12-.19.12-.19.12-.19.12-.19.12-.19.11-.18.12-.18.12-.18.12-.18.12-.19.12-.18.12-.18.12-.18.13-.18.12-.18.13-.18.12-.18.13-.18.13-.18.13-.18.13-.18.13-.17.13-.18.13-.17.13-.18.13-.18.13-.17.13-.18.13-.17.14-.17.13-.17.13-.17.14-.17.13-.17.13-.17.14-.17.14-.16.14-.17.14-.16.14-.16.14-.16.14-.16.15-.16.14-.17.14-.16.15-.16.14-.16.14-.16.14-.16.15-.16.15-.16.15-.16.15-.15.15-.16.15-.16.15-.15.15-.15.15-.15.15-.15.15-.15.15-.15.16-.15.15-.15.15-.15.16-.15.16-.14.16-.14.16-.15.16-.14.16-.15.16-.15.16-.14.15-.14.16-.14.16-.14.16-.14.16-.14.16-.14.16-.14.16-.14.16-.14.16-.14.16-.14.16-.13.17-.14.17-.14.17-.13.16-.13.17-.14.17-.13.16-.13.17-.13.17-.13.17-.13.17-.12.17-.13.17-.12.17-.13.17-.13.17-.13.17-.13.17-.12.18-.12.17-.13.17-.12.18-.12.18-.12.18-.12.18-.12.18-.12.18-.12.18-.12.18-.12.18-.12.18-.12.18-.11.18-.11.18-.11.18-.11.18-.11.18-.11.18-.11.18-.11.18-.11.19-.11.18-.11.18-.1.18-.11.19-.11.19-.1.18-.11.19-.1.19-.1.19-.1.19-.1.19-.1.19-.1.19-.1.19-.1.19-.09.19-.09.19-.09.19-.09.19-.09.19-.09.2-.09.19-.09.19-.09.19-.09.2-.09.19-.09.19-.09.2-.09.19-.08.2-.08.2-.08.19-.08.2-.08.2-.08.2-.08.19-.08.2-.08.2-.08.2-.07.2-.07.2-.08.2-.08.2-.08.2-.07.2-.08.2-.07.2-.07.2-.07.21-.07.2-.07.2-.07.2-.07.2-.07.21-.07.2-.07.21-.07.2-.06.2-.06.21-.06.21-.06.2-.06.21-.06.21-.05.21-.05.21-.06.21-.05.21-.06.21-.05.21-.05.21-.05.21-.05.21-.05.21-.05.21-.05.21-.05.21-.04.21-.05.21-.04.21-.05.21-.05.21-.04.21-.04.21-.05.21-.04.22-.04.21-.04.21-.04.21-.04.21-.04.21-.03.21-.03.21-.03.21-.03.22-.04.21-.03.21-.03.21-.03.21-.03.21-.03.21-.03.22-.02.22-.03.21-.02.22-.03.21-.02.22-.02.22-.02.21-.02.22-.02.22-.02.22-.02.22-.02.22-.02.22-.02.22-.01.22-.01.22-.02.22-.01.22-.01.22-.01.22-.01.22-.01.21v.22l-.01.22v.44l-.01.22v121.16l.01.18.01.18.01.18.01.17.01.18.01.18.01.18.01.18.01.17.01.18.01.17.01.18.01.18.01.17.01.17.01.17.01.18.02.17.02.17.02.17.02.17.02.18.02.18.02.17.02.18.02.17.02.17.03.17.03.17.03.18.02.17.02.18.03.17.03.17.03.17.03.17.03.17.03.17.03.18.03.17.03.17.03.17.03.17.03.17.04.17.04.16.04.16.04.18.04.17.04.17.04.17.04.17.04.16.04.17.04.16.04.17.05.17.04.17.05.17.05.17.04.17.05.16.05.17.05.17.05.16.05.17.05.17.05.17.05.17.05.17.05.16.05.17.05.17.05.16.06.16.06.16.06.17.05.16.06.16.06.17.06.16.06.16.06.16.06.16.07.16.06.16.07.16.06.16.06.16.06.16.07.16.07.16.07.16.07.16.07.16.07.16.06.16.07.16.07.15.07.16.07.16.08.16.07.15.07.15.08.16.08.16.07.15.08.15.08.15.08.16.08.15.08.15.08.16.08.15.08.15.08.15.08.15.08.15.08.15.08.15.09.15.09.15.08.15.08.15.09.15.09.15.09.15.09.14.09.15.09.15.09.15.09.14.1.14.09.15.09.15.09.15.09.14.1.14.1.15.1.14.1.15.09.14.09.15.1.14.1.14.1.14.1.14.1.14.1.14.1.14.11.14.1.14.1.13.11.14.1.14.1.13.11.13.11.14.11.13.11.13.1.13.11.13.11.13.1.14.11.13.11.13.11.13.11.13.11.13.11.13.12.13.11.13.11.13.12.13.11.13.12.13.12.13.11.13.12.12.12.13.11.12.12.12.12.13.12.13.12.13.12.12.12.12.12.12.12.12.13.12.12.12.12.12.13.12.12.12.13.12.12.12.13.11.13.12.13.11.13.12.13.12.13.11.13.11.13.11.13.11.13.11.13.11.14.12.14.11.13.11.13.11.13.11.13.11.14.11.13.11.13.11.13.11.14.11.13.1.14.11.14.1.14.1.14.1.14.11.14.11.14.1.14.11.14.1.14.1.15.11.14.1.14.1.15.1.15.1.14.1.14.09.15.09.14.09.15.1.14.09.15.1.15.09.15.1.15.09.15.09.15.09.15.09.15.09.15.09.17.1 104.7 61.21.13.07.12.06.12.07.12.07.12.06.11.06.12.07.12.06.12.07.12.06.11.06.12.06.12.07.12.06.12.06.12.06.11.06.12.06.12.06.12.06.12.06.12.06.12.05.12.06.12.05.12.05.12.05.12.05.12.05.12.05.12.05.12.05.12.05.12.05.12.05.13.05.12.05.12.05.12.05.12.05.12.04.12.04.12.05.13.05.12.05.12.04.12.04.13.04.12.04.12.04.12.04.11.03.26.08.25.08.25.08.25.08.25.07.25.07.25.07.25.06.25.06.25.06.25.06.25.06.25.05.25.06.26.05.26.05.25.04.26.04.25.04.25.04.25.04.26.04.25.04.26.03.25.03.25.03.26.02.25.02.26.02.25.02.26.02.26.01.26.01.26.01.26.01.25.01.26.01h.26l.26.01h.26l.25-.01h.26l.26-.01.26-.01.25-.01.26-.01.26-.01.26-.01.26-.02.25-.02.26-.02.25-.03.26-.03.25-.03.26-.03.26-.03.25-.04.26-.04.25-.04.25-.04.25-.04.25-.04.26-.05.26-.05.25-.05.25-.06.26-.06.26-.06.25-.06.26-.06.25-.07.25-.07.25-.07.25-.07.25-.07.26-.08.12-.03.13-.04.12-.04.12-.04.12-.04.12-.04.12-.04.12-.04.12-.04.12-.05.12-.04.12-.04.12-.05.12-.04.12-.05.12-.04.12-.04.13-.04.12-.04.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.06.12-.06.12-.05.12-.05.12-.06.12-.06.12-.06.12-.06.12-.05.12-.06.12-.06.12-.06.12-.05.12-.06.12-.06.11-.06.12-.06.12-.06.12-.06.12-.07.11-.06.12-.06.12-.07.13-.07 115.93-64.56.13-.07.12-.07.12-.07.13-.07.12-.07.12-.07.12-.07.12-.07.12-.07.12-.07.12-.08.12-.07.12-.08.12-.08.12-.07.12-.07.11-.07.11-.08.12-.08.11-.08.11-.08.12-.08.12-.08.11-.08.11-.07.12-.08.12-.08.12-.08.11-.08.11-.08.11-.08.11-.09.12-.08.11-.09.1-.08.11-.09.11-.08.11-.09.11-.09.11-.09.1-.08.1-.09.11-.09.11-.09.11-.09.11-.09.1-.09.11-.09.11-.09.1-.09.1-.09.11-.09.1-.09.1-.09.1-.1.1-.09.1-.09.11-.09.1-.09.1-.09.1-.09.1-.09.1-.1.1-.09.1-.1.1-.1.1-.1.1-.1.1-.1.09-.09.1-.1.09-.1.09-.1.09-.1.09-.1.09-.1.09-.1.09-.1.1-.11.09-.1.09-.1.09-.1.09-.1.09-.1.09-.11.09-.1.09-.11.09-.1.09-.11.08-.1.09-.1.09-.1.08-.11.09-.1.09-.11.08-.1.08-.1.08-.11.08-.11.08-.11.09-.11.08-.11.08-.11.08-.11.08-.11.08-.11.08-.11.08-.12.08-.11.08-.11.08-.11.07-.11.07-.11.08-.12.08-.11.07-.11.08-.12.08-.11.07-.12.08-.12.07-.11.07-.11.07-.11.07-.12.08-.12.07-.11.07-.12.07-.12.06-.12.06-.12.07-.11.06-.12.07-.12.07-.12.06-.12.07-.12.06-.12.06-.12.06-.12.06-.12.06-.12.06-.13.06-.12.06-.12.06-.13.06-.12.06-.12.06-.13.05-.12.06-.12.06-.13.05-.13.05-.12.05-.13.05-.12.06-.12.05-.13.06-.13.05-.12.06-.13.05-.13.05-.13.06-.12.05-.12.05-.13.05-.13.05-.12.05-.13.05-.13.05-.13.04-.13.05-.13.05-.13.05-.12.05-.13.05-.13.04-.13.04-.13.05-.13.04-.13.05-.13.04-.13.04-.13.04-.13.05-.14.04-.13.04-.13.04-.13.04-.12.04-.13.04-.14.03-.13.04-.12.04-.14.03-.14.03-.13.03-.14.04-.13.03-.14.04-.13.03-.14.03-.13.03-.13.03-.13.03-.13.03-.13.03-.13.03-.14.02-.13.03-.14.03-.14.03-.14.03-.13.02-.14.02-.14.03-.13.02-.14.02-.14.02-.13.02-.13.02-.14.02-.14.02-.13.02-.14.02-.14.02-.13.02-.14.02-.14.02-.14.02-.13.02-.15.01-.14.02-.13.01-.13.02-.14.01-.14.01-.14.01-.14.01-.14.01-.14.01-.14v-.29l.01-.14.01-.14.01-.14.01-.14.01-.13.01-.15.01-.14v-.14l.01-.14v-138l-.01-.13V136l-.01-.13v-.25l-.01-.13-.01-.13-.01-.13-.01-.13-.01-.13-.01-.13-.01-.13-.01-.13-.01-.13-.01-.12-.01-.13-.01-.12-.01-.12-.01-.12-.02-.13-.01-.14-.01-.12-.01-.13-.02-.13-.02-.13-.01-.12-.02-.13-.02-.12-.02-.13-.02-.13-.02-.12-.02-.12-.02-.12-.02-.12-.02-.12-.02-.12-.02-.12-.02-.11-.05-.26-.05-.25-.05-.24-.06-.25-.06-.24-.05-.24-.06-.25-.06-.25-.06-.24-.07-.24-.07-.24-.07-.24-.07-.24-.08-.24-.08-.24-.07-.24-.07-.24-.08-.24-.09-.24-.08-.23-.08-.24-.08-.23-.09-.23-.09-.23-.09-.23-.09-.23-.1-.23-.09-.23-.1-.23-.1-.23-.1-.22-.11-.23-.11-.22-.11-.22-.11-.228-.12-.22-.11-.23-.12-.22-.12-.22-.12-.22-.12-.216-.12-.22-.13-.22-.13-.21-.13-.21-.13-.21-.13-.22-.14-.21-.14-.21-.14-.21-.14-.21-.14-.21-.14-.2-.15-.2-.15-.2-.15-.2-.15-.2-.16-.2-.15-.195-.15-.2-.16-.19-.16-.2-.16-.19-.16-.19-.16-.19-.17-.19-.17-.19-.17-.18-.17-.18-.17-.19-.17-.18-.17-.18-.17-.18-.18-.18-.18-.18-.17-.17-.18-.18-.19-.17-.19-.17-.19-.17-.18-.17-.19-.17-.19-.16-.2-.17-.09-.08-.1-.09-.1-.08-.1-.08-.1-.08-.1-.08-.1-.08-.09-.08-.1-.08-.1-.08-.1-.08-.1-.08-.1-.08-.1-.07-.1-.07-.1-.08-.1-.07-.11-.07-.1-.08-.11-.08-.1-.07-.11-.08-.1-.08-.11-.07-.11-.07-.1-.07-.11-.07-.1-.07-.11-.07-.11-.07-.11-.07-.11-.07-.11-.07-.1-.07-.11-.07-.11-.06-.11-.07-.11-.07-.11-.07-.11-.07-.11-.06-.11-.07-.11-.07-.12-.07L956.7 45.4l-.16-.09-.15-.08-.15-.08-.14-.08-.15-.08-.14-.08-.15-.08-.15-.08-.15-.08-.15-.08-.15-.08-.15-.07-.15-.07-.14-.077-.15-.07-.15-.07-.15-.07-.15-.07-.15-.07-.15-.07-.15-.07-.14-.07-.15-.07-.15-.07-.15-.07-.15-.06-.15-.07-.15-.06-.15-.07-.15-.06-.16-.06-.15-.06-.15-.06-.15-.06-.15-.06-.15-.06-.15-.06-.15-.06-.15-.06-.16-.05-.15-.05-.15-.05-.15-.05-.15-.05-.16-.05-.16-.05-.15-.05-.15-.05-.15-.05-.15-.05-.15-.05-.16-.05-.16-.043-.16-.05-.15-.05-.16-.05-.16-.05-.16-.04-.16-.05-.15-.04-.16-.04-.15-.05-.16-.04-.156-.04-.16-.04-.16-.04-.155-.04-.16-.04-.15-.04-.15-.03-.16-.038-.16-.03-.16-.03-.15-.04-.16-.03-.16-.04-.16-.03-.15-.03-.16-.03-.16-.03-.16-.03-.16-.03-.16-.03-.16-.028-.16-.023-.16-.03-.16-.02-.16-.03-.15-.02-.16-.02-.16-.02-.16-.03-.16-.03-.16-.02-.16-.02-.16-.02-.16-.02-.16-.02-.16-.02-.16-.02-.16-.01-.15-.02-.16-.01-.16-.02-.16-.02-.16-.02-.16-.01-.16-.02-.16-.01-.16-.01h-.16l-.16-.01-.16-.01-.16-.01-.16-.01-.16-.01-.16-.01h-.16l-.16-.01-.16-.01h-.32l-.16-.01h-.48z"/>
++  <path fill="#EBB951" d="M1482.54 259.914V137.607c0-15.834-8.486-30.455-22.233-38.312L1346.64 34.333c-16.525-9.444-36.86-9.23-53.18.56l-95.98 57.568c-20.208 12.13-32.574 33.96-32.574 57.53v119.52c0 19.94 10.58 38.38 27.793 48.44 29.94 17.51 77.02 45.02 104.71 61.21 13.92 8.14 31.11 8.32 45.2.47l115.94-64.57c14.8-8.24 23.97-23.85 23.97-40.79v-14.35z"/>
++  <path fill="#FCD804" d="M1320.656 13.897h.27l.243.003h.02l.24.004h.03l.24.004h.03l.24.005h.02l.24.007h.02l.24.007h.02l.24.01h.03l.24.01h.03l.24.01h.03l.24.012h.03l.24.01h.02l.24.01h.02l.24.01h.03l.24.01h.03l.25.01h.03l.24.02h.03l.24.01h.03l.24.02h.03l.24.02h.03l.24.02h.03l.24.02h.03l.24.02h.02l.24.02h.03l.24.03h.02l.24.02h.03l.24.02h.03l.24.03h.03l.24.03.03.01.24.03h.03l.24.03h.03l.25.03h.02l.24.03h.03l.24.03h.02l.24.03h.03l.24.03h.02l.24.03h.03l.24.04h.03l.24.03.02.01.24.04h.03l.24.04.03.01.24.04h.03l.24.04h.03l.24.04h.03l.24.04h.03l.24.04h.03l.24.05.03.01.24.04h.03l.24.05.03.01.24.05.03.01.24.05.03.01.24.05.03.01.24.05.03.01.24.05h.03l.24.05h.02l.24.06h.03l.24.05.03.01.23.06.02.01.24.06h.03l.24.06.03.01.23.06.03.01.23.06.03.01.24.06h.03l.23.06h.03l.24.07h.02l.24.07h.03l.24.07.03.01.24.07h.03l.23.07h.03l.23.07.03.01.23.07.03.01.23.07.03.01.23.07.03.01.23.08.02.01.23.07.03.01.24.08.02.01.24.08.03.01.24.08.03.01.23.08h.02l.23.08.03.01.23.08.02.01.23.08.02.01.23.08.03.01.23.08.03.01.23.08.02.01.23.09.02.01.23.08.03.01.23.09.02.01.23.09.03.01.23.09.02.01.23.09.03.01.23.09.02.01.23.09.03.01.23.09.03.01.23.09.03.01.23.09.02.02.23.09.02.01.23.09.02.01.23.1.03.01.23.1.02.01.23.1.02.01.22.1.02.01.23.11.02.01.23.1.02.01.22.1.02.01.22.11.03.01.22.11.03.01.22.11.03.01.23.11.03.02.23.11.02.01.22.11.03.01.22.11.03.01.22.11.03.01.22.11.03.01.23.12.03.01.22.11.02.02.22.12.02.01.22.12.03.02.22.12.03.01.22.12.02.02.22.12.02.02.22.12.02.01.22.12.03.02.22.12.03.02.22.13 113.68 65 .19.11.02.02.18.11.02.01.19.11.03.01.18.11.02.01.18.11.03.01.18.11.02.01.18.11.03.01.18.11.02.02.18.12.03.02.18.11.02.01.18.12.02.01.18.11.02.01.18.11.02.02.18.12.02.01.17.12.03.02.18.12.02.01.18.11.03.02.17.12.02.02.17.12.03.01.17.12.02.02.17.12.02.01.17.12.02.02.17.12.02.02.17.12.03.02.17.13.02.02.17.12.02.01.17.12.02.02.17.12.02.02.17.12.02.01.17.12.02.02.17.13.02.01.17.13.02.02.16.13.02.01.17.13.02.02.17.13.03.02.16.12.02.01.16.13.02.02.16.13.02.02.17.14.02.02.16.13.02.02.16.13.02.02.16.14.02.02.16.14.02.02.16.14.03.03.31.27.04.04.31.27.04.04.32.28.04.03.31.28.04.04.31.28.04.04.31.28.04.04.31.29.04.04.3.29.04.04.3.29.04.04.3.29.04.04.3.3.04.04.29.3.04.04.29.3.04.04.28.3.04.04.28.3.04.04.28.31.04.04.28.31.04.04.28.31.03.04.27.32.03.04.27.31.04.04.27.31.04.04.27.32.03.04.27.32.04.05.26.32.03.04.26.33.03.04.26.33.03.05.25.33.03.04.25.33.03.05.24.33.03.04.24.33.03.04.24.34.03.05.23.34.03.04.24.34.03.05.23.34.03.04.23.35.03.05.22.34.03.05.22.35.03.04.22.35.03.05.22.35.03.05.22.36.03.04.21.36.03.05.21.36.03.05.21.35.02.05.2.37.02.05.2.36.02.05.2.36.03.05.19.36.03.05.19.37.02.05.19.37.03.05.19.37.02.05.19.37.02.05.18.37.02.05.18.37.03.05.17.37.02.05.17.38.03.05.17.38.02.05.16.38.02.05.16.38.02.05.16.38.02.05.15.39.02.05.15.39.02.05.15.39.02.06.14.39.02.05.14.39.02.05.14.39.02.05.14.39.01.05.13.39.02.05.13.39.02.05.13.4.01.05.12.39.01.05.13.4.01.05.11.4.02.05.11.4.01.05.11.4.02.05.11.4.01.05.11.41.01.06.1.4.02.06.1.4.01.06.09.41.01.05.09.4.01.06.09.41.01.05.08.41.01.06.08.41.01.05.08.41v.05l.04.21.01.02.04.2.01.03.04.21.01.03.03.2.01.03.03.21v.02l.04.21v.03l.03.21v.03l.03.21v.02l.03.21.01.03.03.21v.03l.03.21.01.03.03.21v.04l.03.21.01.02.03.21v.02l.03.21v.03l.03.2v.02l.03.21.01.03.02.21v.03l.02.21v.03l.02.21v.03l.02.21v.03l.02.21v.03l.02.21v.03l.02.21.01.03.02.21v.03l.02.21v.02l.01.21v.03l.02.21v.02l.01.21v.04l.01.22v.02l.01.21v.03l.02.21v.04l.01.21v.03l.01.21v.02l.01.21v.03l.01.22v.26l.01.22v.03l.01.21v.27l.01.21V275l-.01.23v.27l-.01.22v.03l-.01.22v.03l-.01.23v.03l-.01.23v.03l-.01.23-.01.03-.01.23v.03l-.01.23v.03l-.02.227v.02l-.01.227v.04l-.02.23v.03l-.02.227v.03l-.02.22v.03l-.02.22v.04l-.02.23v.03l-.02.23-.01.03-.02.22-.01.03-.02.22v.03l-.02.22v.03l-.02.23v.02l-.02.22-.01.03-.02.23-.01.03-.03.22v.03l-.03.22v.03l-.03.22v.03l-.03.22v.03l-.03.23-.01.03-.03.22v.03l-.03.22-.01.03-.03.22v.02l-.03.22-.01.03-.03.22v.03l-.03.22-.01.03-.03.23-.01.04-.04.22v.02l-.04.22-.01.03-.04.22v.03l-.04.22v.02l-.04.22v.03l-.04.22-.01.03-.04.21-.01.03-.05.22v.02l-.05.22-.01.03-.04.22-.01.02-.05.21v.03l-.05.22v.03l-.05.22-.01.03-.04.22v.02l-.05.22-.01.03-.05.22v.02l-.05.22-.01.03-.05.22-.01.03-.05.22-.01.03-.05.21-.01.02-.05.21-.01.03-.06.22-.01.03-.06.21-.01.02-.06.22-.01.03-.06.21-.01.03-.06.21-.01.03-.06.21v.03l-.06.21-.01.03-.06.21-.01.02-.06.21-.01.02-.07.22-.01.03-.07.22v.02l-.06.21-.01.02-.07.21-.01.03-.07.21-.01.02-.07.21-.01.03-.07.21-.01.03-.07.21-.01.02-.07.2-.01.03-.07.21-.01.03-.07.21-.01.03-.07.21-.01.03-.08.21-.01.02-.08.21-.01.03-.08.2-.01.02-.08.21-.01.02-.07.21-.01.03-.08.2-.01.03-.08.21-.01.02-.08.21-.01.03-.08.21-.01.02-.08.2-.01.03-.08.21-.01.03-.08.21-.01.03-.09.2-.01.02-.08.2-.01.03-.08.21-.01.02-.09.2-.01.03-.08.2-.01.03-.09.2-.01.02-.09.2-.01.03-.09.2-.01.03-.09.2-.01.03-.09.2-.01.02-.09.2-.01.03-.09.2-.01.02-.09.2-.01.02-.1.2-.01.03-.09.2-.01.02-.1.2-.01.03-.1.2-.01.03-.1.2-.01.02-.1.19-.01.02-.1.2-.01.02-.1.2-.02.03-.1.2-.02.02-.1.2-.01.02-.1.19-.01.02-.1.19-.01.03-.1.19-.02.02-.1.19-.02.03-.1.19-.01.03-.11.2-.01.02-.11.19-.02.03-.11.19-.01.03-.1.19-.02.02-.11.19-.01.03-.11.19-.01.02-.11.19-.01.02-.11.19-.02.02-.11.19-.02.03-.12.19-.01.03-.11.19-.02.02-.11.19-.01.02-.11.19-.01.02-.12.18-.02.03-.12.18-.01.02-.11.18-.02.02-.12.19-.02.02-.12.19-.01.02-.12.18-.02.02-.12.18-.02.02-.12.19-.02.02-.12.18-.02.03-.12.18-.01.02-.12.18-.01.02-.12.19-.01.02-.12.18-.02.02-.12.18-.01.03-.13.18-.01.02-.13.18-.01.02-.13.18-.01.02-.13.18-.01.02-.13.18-.02.03-.13.18-.02.02-.13.17-.02.02-.13.17-.02.02-.14.18-.02.03-.13.18-.02.02-.13.18-.02.02-.13.18-.02.02-.13.18-.02.02-.13.17-.02.02-.14.18-.01.02-.13.17-.02.02-.14.18-.02.02-.14.17-.02.02-.14.17-.02.02-.14.17-.02.02-.14.17-.02.02-.14.16-.01.02-.14.17-.02.03-.14.17-.02.02-.14.17-.02.02-.14.16-.02.02-.14.16-.02.02-.14.17-.02.02-.15.17-.02.02-.15.16-.02.02-.15.16-.02.02-.15.16-.02.02-.15.17-.02.02-.15.17-.01.02-.15.16-.02.03-.15.16-.02.02-.15.16-.02.02-.16.16-.02.02-.15.16-.02.02-.15.16-.02.02-.16.15-.02.02-.16.16-.02.02-.16.16-.02.02-.16.16-.02.02-.16.15-.02.02-.16.16-.02.02-.16.15-.02.01-.16.15-.02.02-.16.16-.02.02-.16.15-.02.02-.16.15-.02.02-.16.15-.03.02-.17.15-.02.02-.16.15-.03.02-.17.15-.02.02-.16.15-.02.01-.16.15-.02.02-.16.15-.02.02-.17.14-.02.02-.17.15-.02.02-.17.15-.02.02-.17.15-.02.02-.17.14-.02.02-.17.15-.02.02-.17.14-.02.02-.17.14-.03.02-.17.14-.02.02-.17.14-.02.02-.17.14-.02.02-.18.14-.02.01-.17.14-.02.02-.18.14-.02.02-.18.13-.02.02-.18.13-.02.02-.18.14-.02.02-.18.13-.02.02-.17.13-.02.01-.18.13-.02.02-.18.13-.02.02-.19.13-.02.02-.18.13-.02.01-.19.13-.03.02-.18.13-.02.01-.19.12-.02.02-.19.13-.02.01-.18.13-.03.02-.19.13-.03.02-.19.13-.02.01-.18.12-.02.02-.19.13-.02.02-.19.13-.02.02-.19.13-.02.01-.19.13-.02.01-.19.13-.02.02-.19.12-.02.02-.19.12-.02.02-.19.12-.02.01-.19.11-.03.02-.19.12-.03.01-.19.12-.02.02-.19.12-.03.01-.19.12-.02.01-.2.11-.03.01-.2.11-.02.01-.2.11-.03.01-.2.11-.03.01-.2.11-.03.01-.2.11-.02.02-.19.11-.01.01-115.96 64.58-.01.01-.19.1-.03.02-.19.1-.02.01-.19.11-.03.01-.19.1-.02.01-.19.11-.02.02-.19.1-.03.02-.2.1-.03.01-.19.1-.02.01-.19.1-.03.01-.2.09-.02.01-.19.09-.02.01-.19.1-.03.02-.2.09-.02.01-.2.1-.03.01-.19.09-.02.01-.19.09-.03.01-.2.09-.02.01-.2.09-.03.02-.2.09-.03.01-.2.09-.03.01-.2.09-.03.01-.2.09-.03.01-.19.08-.03.01-.19.08-.03.01-.2.09-.02.01-.19.08-.03.01-.2.08-.02.01-.2.09-.03.01-.2.08-.02.01-.2.08-.03.01-.2.08-.02.01-.2.08-.03.01-.2.08-.02.01-.19.08-.02.01-.2.08-.03.01-.2.07-.03.01-.2.07-.03.01-.2.08-.02.01-.2.07-.02.01-.2.07-.02.01-.2.07-.03.01-.21.07-.02.01-.2.07-.03.01-.2.07-.03.01-.2.07-.03.01-.2.07-.02.01-.2.07-.03.01-.2.06-.03.01-.2.06-.02.01-.2.07-.21.06-.03.01-.21.06-.04.01-.4.12-.05.02-.41.12-.05.02-.41.11-.05.01-.41.11-.06.01-.41.11-.05.01-.41.11-.05.01-.41.1-.05.01-.41.1-.05.02-.41.09-.05.01-.41.09-.06.01-.41.09-.05.01-.41.08-.05.01-.41.08-.05.01-.42.08-.05.01-.42.08-.05.01-.41.07-.05.01-.42.06-.06.01-.42.07-.05.01-.42.06-.05.01-.42.06-.05.01-.42.06h-.05l-.41.05h-.05l-.42.05-.06.01-.42.04-.06.01-.42.04-.06.01-.42.03-.05.01-.42.03-.05.01-.42.03h-.05l-.42.03h-.04l-.42.03-.06.01-.42.02-.05.01-.42.02-.05.01-.42.01h-.06l-.42.01h-.05l-.42.01h-1.46l-.42-.01h-.05l-.42-.01h-.05l-.42-.01h-.05l-.42-.02h-.05l-.42-.02-.05-.01-.42-.02h-.05l-.42-.03h-.05l-.42-.03h-.06l-.42-.03h-.05l-.42-.04h-.06l-.42-.04h-.05l-.42-.04h-.05l-.42-.05h-.05l-.42-.05-.05-.01-.42-.05h-.05l-.42-.06-.05-.01-.42-.06-.06-.01-.42-.06-.06-.01-.41-.06-.05-.01-.41-.07-.05-.01-.42-.07-.05-.01-.42-.08-.05-.01-.42-.08-.05-.01-.41-.09-.06-.01-.41-.08-.06-.02-.42-.09-.05-.01-.41-.09-.05-.01-.41-.09-.06-.01-.41-.1-.05-.01-.41-.1-.05-.02-.41-.11-.05-.01-.41-.11-.05-.01-.41-.11-.05-.02-.41-.12-.05-.02-.41-.12-.05-.02-.41-.12-.05-.02-.4-.13-.06-.02-.4-.13-.04-.01-.21-.07-.03-.01-.2-.07-.02-.01-.2-.07-.03-.01-.2-.07-.03-.01-.2-.07-.03-.01-.2-.07-.03-.01-.2-.07-.03-.01-.2-.08-.02-.01-.2-.07-.02-.01-.2-.07-.02-.01-.2-.07-.02-.01-.2-.08-.03-.01-.2-.07-.03-.01-.2-.08-.03-.01-.2-.08-.03-.01-.2-.08-.02-.01-.2-.08-.03-.01-.2-.08-.03-.01-.2-.08-.03-.01-.2-.08-.02-.01-.2-.08-.02-.01-.2-.08-.02-.01-.2-.09-.03-.01-.19-.09-.03-.01-.2-.09-.03-.01-.19-.09-.03-.01-.2-.08-.03-.01-.19-.09-.03-.01-.19-.09-.02-.01-.19-.09-.02-.01-.2-.09-.02-.02-.19-.09-.03-.01-.2-.1-.02-.01-.2-.1-.02-.02-.19-.1-.02-.01-.2-.1-.02-.01-.19-.1-.03-.01-.19-.1-.03-.01-.19-.1-.03-.01-.19-.1-.03-.01-.19-.1-.03-.01-.19-.1-.03-.01-.19-.1-.03-.01-.19-.11-.02-.01-.19-.1-.02-.01-.19-.11-.02-.01-.19-.1-.02-.02-.19-.11-.02-.02-.19-.11-.02-.01-.19-.11-.03-.01-.19-.11-.03-.01-.18-.1-.01-.01-104.73-61.21h-.02l-.22-.13-.03-.02-.23-.14-.03-.01-.22-.13-.03-.02-.23-.13-.03-.01-.23-.14-.03-.01-.22-.14-.02-.01-.22-.14-.03-.01-.22-.14-.02-.02-.22-.14-.02-.02-.22-.14-.02-.02-.22-.14-.02-.01-.22-.15-.03-.01-.22-.14-.02-.01-.22-.15-.02-.01-.21-.14-.02-.02-.22-.15-.03-.02-.22-.14-.02-.02-.22-.14-.03-.02-.21-.15-.02-.02-.21-.14-.02-.01-.21-.15-.03-.02-.21-.15-.02-.02-.21-.15-.02-.02-.21-.15-.02-.02-.21-.15-.02-.01-.21-.15-.02-.01-.2-.15-.03-.02-.2-.16-.02-.02-.2-.15-.02-.01-.21-.16-.02-.02-.2-.16-.02-.01-.2-.16-.02-.01-.2-.16-.02-.01-.2-.16-.03-.02-.2-.16-.02-.02-.2-.16-.02-.02-.2-.16-.02-.01-.2-.17-.02-.02-.2-.16-.02-.02-.2-.16-.02-.01-.2-.17-.02-.02-.19-.16-.02-.02-.19-.17-.03-.02-.2-.17-.02-.02-.19-.17-.02-.02-.19-.17-.02-.01-.19-.17-.02-.01-.19-.17-.02-.01-.19-.17-.03-.02-.19-.17-.02-.02-.19-.17-.02-.01-.19-.18-.02-.02-.18-.17-.02-.02-.19-.18-.02-.02-.19-.18-.02-.02-.19-.17-.02-.02-.18-.18-.02-.02-.18-.18-.02-.02-.18-.18-.02-.02-.18-.18-.02-.01-.18-.18-.02-.02-.18-.18-.02-.02-.18-.18-.02-.02-.18-.18-.02-.02-.17-.18-.02-.02-.18-.18-.02-.01-.17-.19-.02-.03-.18-.19-.02-.02-.18-.19-.02-.02-.18-.18-.02-.02-.17-.19-.01-.02-.18-.19-.02-.02-.17-.19-.02-.02-.17-.18-.02-.02-.17-.19-.02-.03-.17-.19-.02-.02-.17-.19-.02-.02-.17-.19-.02-.02-.16-.19-.02-.02-.17-.2-.02-.02-.17-.19-.02-.03-.17-.19-.02-.02-.16-.19-.01-.02-.16-.2-.02-.02-.16-.2-.02-.02-.16-.19-.01-.02-.16-.2-.02-.02-.16-.19-.02-.02-.16-.2-.02-.02-.16-.2-.02-.02-.16-.2-.01-.02-.15-.2-.02-.02-.15-.2-.02-.02-.16-.2-.02-.02-.15-.2-.018-.02-.16-.2-.01-.02-.15-.2-.01-.02-.157-.2-.01-.02-.15-.2-.02-.03-.15-.21-.01-.02-.15-.2-.01-.03-.15-.21-.02-.02-.15-.21-.02-.02-.15-.21-.02-.02-.15-.21-.01-.03-.14-.21-.02-.02-.14-.21-.01-.02-.14-.21-.02-.02-.14-.2-.01-.02-.14-.21-.01-.03-.14-.21-.01-.02-.14-.21-.02-.03-.14-.21-.01-.02-.14-.22-.02-.02-.14-.21-.01-.02-.14-.21-.01-.02-.14-.21-.02-.02-.14-.21-.01-.03-.13-.21-.01-.02-.13-.21-.016-.02-.13-.22-.02-.02-.13-.21-.01-.02-.13-.21-.02-.02-.13-.21-.01-.02-.13-.22-.01-.02-.13-.21-.02-.02-.13-.22-.01-.03-.12-.22-.01-.02-.13-.22-.02-.02-.12-.22-.01-.02-.13-.22-.01-.03-.13-.22-.01-.02-.12-.22-.02-.02-.12-.22-.01-.02-.12-.22-.01-.03-.12-.23-.01-.02-.12-.22-.01-.02-.12-.22-.01-.03-.11-.23-.01-.02-.11-.22-.01-.02-.12-.22-.01-.02-.12-.23-.01-.02-.11-.23-.01-.02-.11-.23-.01-.03-.12-.23-.01-.03-.11-.23-.01-.03-.11-.23-.01-.02-.11-.22-.01-.03-.11-.23-.01-.02-.11-.23-.01-.02-.11-.23-.01-.03-.1-.23-.01-.03-.1-.23-.01-.03-.11-.23-.01-.02-.1-.24-.01-.02-.1-.23-.01-.02-.1-.24-.01-.03-.1-.23-.01-.02-.1-.23-.01-.02-.1-.23-.01-.03-.1-.24-.01-.02-.1-.23-.01-.03-.1-.24-.01-.03-.09-.23v-.02l-.09-.24-.01-.03-.1-.24-.01-.03-.09-.24-.01-.03-.09-.24-.01-.02-.09-.24v-.02l-.09-.24-.01-.03-.09-.24-.01-.03-.09-.24-.01-.02-.08-.24-.01-.03-.08-.24-.01-.02-.09-.24-.01-.03-.08-.24-.01-.03-.08-.24-.01-.02-.08-.24-.01-.03-.08-.25-.01-.02-.08-.24-.01-.02-.07-.24-.01-.03-.07-.24-.01-.03-.08-.24-.01-.03-.08-.24-.01-.03-.07-.25v-.03l-.07-.25-.01-.03-.07-.24V289l-.08-.24-.01-.03-.07-.25-.01-.03-.07-.24-.01-.02-.07-.24-.01-.027-.06-.24-.01-.03-.07-.25v-.03l-.07-.24-.01-.03-.07-.25-.01-.02-.06-.24-.01-.03-.06-.25-.01-.02-.06-.25-.01-.03-.06-.25-.01-.02-.05-.25-.01-.03-.06-.25-.01-.02-.06-.25-.01-.03-.06-.25-.01-.02-.06-.25-.01-.03-.06-.25v-.02l-.05-.25v-.03l-.05-.25-.01-.03-.05-.26-.01-.03-.05-.25v-.02l-.05-.25v-.03l-.05-.25-.01-.03-.05-.25v-.02l-.05-.25-.01-.03-.04-.25-.01-.02-.04-.25v-.03l-.05-.26v-.03l-.04-.26v-.02l-.04-.25v-.03l-.04-.26-.01-.03-.04-.25v-.03l-.04-.25v-.03l-.04-.26v-.03l-.04-.26v.03l-.04-.25-.01-.03-.04-.26v-.02l-.03-.26v-.03l-.03-.26-.01-.03-.03-.26v-.02l-.03-.26v-.03l-.03-.26v-.02l-.03-.26v-.03l-.03-.26v-.03l-.02-.26v-.03l-.03-.26v-.03l-.02-.26v-.03l-.02-.26v-.03l-.02-.25-.02-.26v-.03l-.02-.26v-.02l-.02-.26v-.03l-.02-.26v-.03l-.02-.26-.01-.03-.02-.26v-.03l-.01-.26v-.1l-.01-.26v-.03l-.01-.27v-.03l-.01-.26v-.03l-.01-.256v-.03l-.01-.26v-.03l-.01-.27v-.03l-.01-.26v-.03l-.01-.26v-.03l-.01-.27V149.3l.01-.31v-.69l.01-.3v-.02l.01-.3v-.03l.01-.303v-.03l.01-.306v.02l.01-.3v-.03l.01-.3v-.03l.02-.3v-.02l.01-.3v-.03l.02-.3v-.03l.02-.3v-.02l.02-.3.006-.03.02-.3v-.03l.02-.31v-.03l.03-.3v-.02l.02-.3v-.02l.03-.3v-.03l.03-.3v-.02l.03-.3v-.03l.03-.3v-.03l.03-.3v-.03l.03-.3v-.03l.03-.29.01-.02.04-.29v-.03l.03-.29v-.03l.04-.3v-.02l.04-.3.01-.03.04-.3v-.02l.04-.3.01-.02.04-.3v-.03l.04-.29.01-.02.04-.3.01-.03.05-.29.01-.03.04-.29v-.02l.04-.29.01-.03.05-.29v-.03l.05-.29v-.03l.05-.29.01-.03.05-.3V136l.05-.298.01-.03.05-.295v-.02l.06-.297.01-.03.06-.29v-.03l.06-.29v-.03l.06-.29.01-.03.06-.29v-.026l.06-.29.01-.022.06-.29v-.03l.06-.29v-.02l.07-.29.01-.03.07-.29v-.03l.07-.29.01-.03.07-.29.01-.03.06-.29.01-.03.07-.29v-.03l.07-.29.01-.02.07-.28.01-.03.07-.29.01-.03.07-.29.01-.026.07-.29.01-.03.08-.29.01-.02.07-.28.01-.022.08-.29v-.02l.08-.29.01-.024.08-.28.01-.03.08-.28.01-.03.08-.285.01-.026.08-.29.01-.02.09-.29.01-.03.09-.28v-.03l.09-.28.01-.03.09-.28.01-.03.08-.28.01-.03.09-.28.01-.03.09-.28v-.02l.09-.28.01-.03.1-.28.01-.02.09-.28.01-.03.1-.28.01-.02.1-.28.01-.03.1-.28.01-.03.09-.28.01-.03.1-.28.01-.03.107-.28.01-.02.1-.28.01-.03.11-.27.01-.03.1-.27.01-.03.1-.28.01-.03.1-.27.01-.03.11-.27.01-.03.11-.27.01-.03.11-.27.01-.03.12-.28.01-.02.11-.27.01-.02.11-.27.01-.03.11-.27.01-.03.12-.27.01-.03.12-.27.01-.02.12-.27.01-.03.11-.27.01-.03.12-.27.01-.03.12-.27.01-.02.13-.27.01-.02.13-.26.01-.02.123-.26.01-.03.13-.27.01-.02.13-.26.01-.03.13-.27.01-.02.13-.27.01-.02.13-.27.01-.02.13-.27.01-.02.13-.26.01-.02.14-.27.01-.02.13-.26.01-.03.14-.26.01-.02.14-.26.015-.03.13-.26.01-.03.14-.26.01-.02.14-.26.01-.03.14-.26.01-.02.14-.25.02-.02.14-.26.02-.03.14-.26.01-.02.15-.25.01-.02.15-.25.01-.02.14-.25.02-.03.15-.26.01-.02.15-.26.01-.02.15-.26.01-.02.15-.25.015-.02.15-.26.01-.03.15-.25.01-.02.15-.25.01-.02.15-.25.02-.02.16-.25.01-.03.16-.25.01-.02.16-.25.01-.02.16-.25.01-.02.16-.25.01-.02.16-.25.02-.03.16-.25.01-.02.17-.25.02-.02.16-.25.02-.02.16-.25.02-.02.17-.25.01-.02.16-.24.02-.03.17-.24.01-.02.17-.24.02-.02.17-.24.02-.02.17-.24.02-.02.17-.24.02-.02.17-.24.01-.02.17-.24.01-.02.17-.24.01-.02.18-.24.02-.02.18-.24.01-.02.18-.24.02-.02.18-.23.02-.02.18-.23.02-.02.18-.24.01-.02.18-.24.02-.02.19-.23.02-.02.18-.23.01-.02.18-.23.02-.02.19-.24.02-.02.19-.23.02-.02.18-.23.02-.03.19-.23.02-.02.19-.23.01-.02.19-.23.01-.02.19-.23.02-.03.19-.22.01-.02.2-.22.02-.03.19-.23.01-.02.19-.22.02-.02.19-.23.02-.02.2-.23.01-.02.2-.22.02-.02.19-.22.02-.02.2-.22.02-.02.2-.21.02-.02.2-.22.02-.03.2-.22.02-.02.2-.22.02-.02.2-.22.02-.02.2-.21.02-.02.2-.21.02-.02.2-.21.02-.02.21-.21.02-.02.21-.21.02-.02.21-.21.02-.02.21-.21.02-.02.21-.21.02-.02.21-.21.02-.02.21-.21.01-.02.21-.21.02-.02.22-.21.02-.02.21-.2.02-.02.22-.2.02-.02.22-.2.02-.02.22-.21.02-.02.22-.21.02-.02.22-.2.02-.02.22-.2.02-.02.22-.2.02-.01.22-.2.02-.01.22-.2.02-.02.22-.19.02-.02.23-.2.02-.02.23-.2.02-.02.23-.19.02-.02.23-.2.02-.01.23-.2.02-.02.23-.19.02-.02.23-.19.02-.02.23-.19.02-.02.23-.19.02-.02.23-.19.02-.02.23-.19.02-.02.24-.18.02-.02.23-.18.02-.02.23-.19.02-.01.24-.19.02-.02.24-.19.02-.01.24-.18.02-.02.24-.18.02-.02.24-.18.02-.02.24-.18.02-.01.24-.18.02-.02.24-.18.02-.02.24-.18.03-.01.25-.18.03-.02.24-.18.02-.02.25-.18.02-.01.25-.17.03-.01.24-.17.02-.02.25-.17.02-.02.25-.17.02-.01.25-.17.02-.01.25-.17.02-.01.25-.17.02-.01.25-.16.02-.01.25-.16.03-.02.25-.17.02-.02.26-.16.02-.01.26-.16.02-.01.26-.16.02-.02.26-.16.02-.02.26-.16.02-.02.26-.16.03-.01.26-.16.02-.01.25-.15.01-.01 96-57.57.01-.01.21-.13.02-.02.21-.13.03-.02.21-.13.02-.01.22-.13.02-.01.22-.12.02-.01.22-.12.03-.02.22-.12.02-.02.22-.12.02-.01.21-.12.02-.01.22-.12.02-.01.22-.12.03-.01.22-.12.02-.01.22-.12.03-.01.22-.11.02-.02.22-.11.03-.01.23-.11.03-.02.22-.11.02-.01.22-.11.02-.01.22-.11.02-.02.23-.11.02-.01.23-.11.03-.01.22-.11.02-.01.22-.11.02-.01.22-.11.03-.02.22-.1.03-.01.22-.11.02-.01.23-.1.03-.01.23-.1.02-.02.23-.1.02-.01.23-.1.02-.01.23-.1.02-.01.23-.1.03-.01.22-.1.03-.01.23-.1.02-.01.23-.1.02-.01.23-.09.03-.01.23-.1.03-.01.23-.1.02-.01.23-.09.03-.01.23-.09.03-.01.23-.09.02-.01.23-.09.03-.01.23-.09.03-.01.23-.08.02-.01.23-.09.03-.01.24-.09.03-.01.23-.08.03-.01.23-.08.02-.01.23-.08.03-.01.23-.08.02-.01.24-.08.03-.01.23-.08.03-.01.24-.08.03-.01.23-.07.03-.01.24-.08.02-.01.24-.07.03-.01.24-.07.02-.01.23-.07.03-.01.23-.07.03-.01.23-.07.03-.01.24-.07.03-.01.24-.07.03-.01.24-.07.02-.01.24-.07.03-.01.23-.07.03-.01.24-.07.02-.01.23-.06.02-.01.24-.06.02-.01.23-.06h.02l.23-.06.03-.01.24-.06.03-.01.24-.06.03-.01.24-.06.03-.01.24-.06.02-.01.24-.06h.03l.24-.05.03-.01.24-.05.03-.01.24-.05.02-.01.24-.05.03-.01.24-.05h.03l.24-.05h.03l.24-.05.03-.01.24-.05h.03l.24-.05.03-.01.24-.04h.03l.24-.05h.03l.24-.04.02-.01.24-.04.02-.01.24-.04.03-.01.24-.04h.03l.24-.04.03-.01.24-.04h.03l.24-.04h.03l.24-.04.03-.01.24-.03h.03l.24-.04.03-.01.25-.04.03-.01.24-.04h.03l.24-.03h.03l.24-.03h.03l.24-.03h.03l.24-.03.03-.01.24-.03h.03l.24-.02h.03l.24-.03h.03l.24-.02h.03l.24-.03h.03l.25-.03h.03l.24-.02h.02l.24-.02h.03l.24-.02h.03l.25-.02h.03l.25-.02h.03l.25-.01h.02l.24-.02.03-.01.24-.02h.03l.24-.01h.03l.24-.01h.03l.24-.02h.03l.25-.01h.03l.24-.01h.03l.24-.01h.03l.25-.01h.02l.25-.01h.03l.24-.01h.29l.24-.01h.03l.24-.01h.84zm-.22 27l-.16.002h-1.282l-.16.01h-.48l-.16.01-.16.01-.16.01-.16.01-.16.01-.16.01-.16.01-.158.01-.16.01-.16.01-.16.01-.158.01-.16.01-.16.02-.16.01-.16.02-.158.02-.158.02-.16.02-.158.02-.16.02-.158.02-.16.02-.157.02-.16.03-.16.03-.16.03-.16.02-.16.02-.16.03-.16.03-.16.03-.16.03-.16.03-.16.03-.16.03-.16.03-.16.03-.16.03-.16.04-.16.04-.16.04-.16.04-.16.04-.16.04-.16.04-.16.04-.16.04-.16.04-.16.04-.16.04-.16.04-.16.05-.16.04-.15.04-.16.04-.16.05-.16.05-.16.05-.15.05-.16.05-.16.05-.15.05-.16.05-.16.05-.15.05-.16.05-.15.05-.15.06-.15.05-.15.05-.16.06-.15.05-.15.06-.15.06-.15.06-.15.06-.15.06-.15.06-.15.06-.15.06-.15.06-.15.06-.15.06-.15.06-.15.06-.15.06-.15.07-.15.07-.15.07-.15.06-.15.07-.15.07-.15.07-.15.07-.15.07-.15.08-.15.07-.15.07-.15.08-.15.08-.14.07-.15.08-.15.08-.15.07-.15.08-.15.08-.15.08-.15.08-.14.08-.15.08-.15.08-.15.08-.14.08-.14.08-.14.08-.15.09-95.95 57.56-.21.12-.19.11-.19.12-.19.11-.19.12-.19.12-.18.12-.19.12-.19.12-.18.12-.18.13-.18.12-.19.13-.18.13-.18.12-.18.12-.18.13-.18.12-.18.13-.18.12-.17.12-.18.13-.18.13-.18.13-.18.13-.18.13-.18.13-.17.13-.18.13-.17.13-.17.13-.17.14-.17.13-.17.14-.17.14-.17.13-.16.13-.17.14-.17.14-.17.13-.16.14-.16.14-.16.14-.16.14-.17.15-.17.14-.16.15-.16.15-.16.14-.16.14-.16.14-.16.15-.16.15-.16.15-.16.15-.15.15-.16.15-.16.15-.15.16-.15.15-.15.15-.16.15-.15.15-.15.16-.15.16-.15.16-.15.16-.15.16-.15.16-.15.16-.14.16-.15.16-.14.16-.15.16-.15.16-.14.16-.14.16-.14.16-.14.16-.14.16-.13.16-.14.16-.14.16-.14.16-.13.17-.14.17-.13.17-.13.16-.13.17-.13.17-.13.16-.14.17-.13.17-.13.17-.13.17-.13.17-.13.17-.12.17-.13.17-.13.17-.12.17-.13.17-.13.17-.12.17-.12.18-.12.18-.12.18-.12.18-.12.18-.12.18-.12.18-.12.17-.12.18-.12.18-.11.18-.12.18-.11.18-.11.18-.12.19-.11.18-.11.18-.11.19-.11.18-.11.19-.11.18-.11.18-.11.19-.1.19-.1.18-.1.19-.11.18-.1.19-.1.18-.1.18-.11.2-.09.18-.1.19-.1.2-.1.19-.1.19-.09.19-.1.19-.09.19-.09.19-.09.19-.09.2-.09.19-.09.19-.09.2-.09.19-.09.19-.08.19-.08.19-.09.2-.09.2-.08.2-.08.2-.09.19-.08.2-.08.2-.08.2-.08.2-.08.2-.08.2-.07.2-.08.2-.08.2-.07.2-.08.2-.07.2-.08.21-.07.2-.07.21-.07.2-.07.2-.06.2-.07.2-.07.2-.06.2-.06.21-.07.21-.06.2-.07.2-.06.21-.06.21-.06.2-.06.21-.06.21-.06.2-.05.21-.06.21-.05.21-.06.21-.06.21-.05.2-.06.21-.05.21-.05.21-.05.21-.05.21-.05.21-.05.21-.05.21-.04.21-.04.21-.04.21-.05.22-.04.22-.04.21-.04.21-.04.21-.04.22-.04.21-.03.21-.03.22-.04.22-.03.21-.04.21-.03.21-.03.21-.03.22-.03.22-.03.21-.03.22-.02.21-.02.21-.02.22-.03.21-.03.21-.03.22-.02.22-.02.21-.02.21-.02.22-.02.22-.02.21-.02.22-.02.22-.02.22-.02.22-.01.22-.01.22-.01.21-.02.22-.01.22-.01.22-.01.22-.01.22-.01.22-.01.22v.22l-.01.22v121.1l.01.18v.18l.01.17.01.17.01.18v.34l.01.18v.18l.01.17.01.18.01.17.01.17.02.18.01.18.02.17.01.17.02.17.01.17.02.17.02.17.02.17.02.17.02.17.02.17.02.17.02.18.02.17.03.17.03.17.02.17.03.17.03.18.03.18.03.17.02.17.03.17.03.17.03.17.03.17.03.18.03.16.03.17.04.17.04.17.04.17.04.17.04.17.03.17.04.16.04.17.04.17.04.16.04.17.04.17.04.17.05.16.04.16.04.17.05.17.05.16.05.17.04.16.05.16.05.17.05.17.05.16.05.16.05.17.05.17.05.17.05.16.05.16.05.16.05.17.05.17.05.16.06.16.06.16.06.16.06.16.06.16.06.16.06.17.06.17.06.16.06.16.07.16.06.16.07.16.06.16.06.16.07.16.07.16.07.16.06.16.07.15.07.15.07.16.08.15.07.15.07.15.07.16.07.15.08.15.08.16.07.15.07.16.07.15.08.15.08.16.08.15.08.15.08.15.08.15.08.16.08.15.08.15.08.15.08.15.08.15.09.15.09.15.08.14.09.15.09.15.09.15.09.14.08.15.09.15.09.15.09.14.09.15.09.14.09.15.09.14.1.14.09.14.1.14.1.14.09.14.09.14.1.14.1.15.1.14.1.14.1.14.1.14.1.14.1.14.1.14.1.14.1.14.1.14.1.13.11.14.1.14.1.14.11.13.1.14.1.14.11.13.11.13.11.13.1.13.11.13.11.13.11.13.11.13.11.14.11.13.11.13.11.13.12.13.11.13.11.13.12.13.12.13.12.13.12.13.11.13.12.12.12.13.12.13.12.12.12.13.12.12.12.12.12.12.13.12.12.12.12.12.13.12.12.12.12.12.13.12.13.12.13.12.13.12.13.11.13.12.13.12.12.11.13.12.13.11.13.11.13.11.13.11.13.11.14.11.13.12.13.11.13.11.13.11.14.11.14.11.14.11.14.11.14.11.14.11.13.11.14.1.14.1.14.1.14.1.14.11.15.11.14.1.14.11.14.1.14.1.15.1.14.11.15.1.15.1.15.1.15.09.15.1.15.1.14.1.15.09.14.09.15.09.15.1.15.09.15.09.16.09.15.09.15.09.15.09.15.1.17.1 104.7 61.19.12.07.12.07.11.07.12.06.12.07.12.07.12.06.11.06.11.06.12.06.12.06.12.06.11.06.12.06.12.06.12.06.12.06.12.06.12.05.12.05.12.05.12.05.12.06.12.05.12.05.12.06.12.06.12.05.12.06.12.05.12.05.12.05.12.05.12.05.12.05.12.05.12.05.12.05.12.05.12.05.12.04.12.04.12.05.12.05.12.05.12.05.12.05.12.04.12.04.12.04.13.04.11.03.26.09.25.08.25.07.24.08.25.07.25.07.25.07.25.06.25.06.25.06.25.06.26.05.25.05.26.05.26.05.25.05.26.04.26.05.26.05.26.04.26.04.25.04.25.04.26.03.26.03.26.03.26.03.26.02.25.02.26.02.25.02.26.01.26.01.26.01.25.01.26.01.26.01h.25l.26.01h1.03l.26-.01.25-.01.26-.02.25-.02.26-.01.25-.02.26-.02.26-.02.25-.03.25-.03.26-.03.26-.03.25-.03.26-.04.26-.04.26-.04.25-.04.26-.04.26-.05.25-.05.25-.05.26-.05.25-.06.25-.06.25-.06.25-.06.25-.06.25-.07.25-.06.25-.07.25-.07.24-.08.27-.08.11-.03.13-.04.12-.04.12-.04.12-.04.12-.04.12-.04.12-.04.13-.04.12-.04.13-.05.13-.04.12-.04.12-.04.13-.04.12-.05.12-.04.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.05.12-.06.12-.06.12-.05.12-.06.12-.06.12-.06.12-.06.12-.06.12-.06.11-.06.12-.06.12-.06.12-.06.12-.06.12-.06.12-.06.12-.07.11-.06.13-.07 116-64.44.13-.08.12-.07.12-.07.12-.07.13-.07.12-.07.12-.07.13-.07.12-.08.12-.07.12-.08.11-.07.12-.07.12-.07.12-.07.12-.07.11-.07.11-.07.11-.07.11-.08.11-.08.11-.08.11-.08.11-.08.11-.08.11-.08.11-.08.11-.08.11-.08.11-.08.11-.08.11-.08.11-.08.11-.09.11-.08.11-.08.11-.09.1-.08.11-.09.11-.08.11-.09.11-.09.11-.08.1-.09.1-.09.1-.09.1-.09.11-.09.1-.09.1-.09.11-.09.1-.09.1-.1.1-.1.1-.09.1-.09.1-.09.1-.09.1-.09.1-.09.1-.09.1-.09.1-.1.1-.09.1-.09.1-.1.09-.09.09-.1.1-.1.1-.1.1-.1.1-.09.09-.1.1-.1.09-.1.09-.1.09-.1.09-.1.09-.1.1-.1.09-.1.09-.1.09-.1.09-.11.09-.1.08-.1.09-.11.09-.11.09-.1.09-.1.08-.11.08-.1.09-.11.08-.11.08-.1.08-.11.09-.11.08-.11.09-.11.09-.1.08-.11.08-.1.08-.11.08-.12.08-.1.08-.11.08-.11.07-.11.08-.11.08-.11.08-.11.07-.11.07-.11.08-.11.08-.11.08-.12.07-.11.07-.12.07-.11.07-.11.07-.12.07-.11.07-.12.07-.12.07-.11.07-.11.07-.11.07-.11.07-.12.07-.12.07-.12.07-.12.07-.12.07-.12.06-.12.07-.12.07-.12.07-.12.07-.12.06-.12.06-.12.06-.12.06-.12.07-.12.06-.13.07-.13.06-.13.06-.12.06-.12.06-.12.05-.12.06-.12.05-.12.05-.12.06-.12.05-.12.06-.12.06-.13.06-.13.05-.12.06-.13.05-.13.05-.13.05-.12.05-.13.05-.13.05-.12.05-.13.05-.13.05-.13.05-.12.05-.13.05-.13.04-.13.05-.13.04-.13.04-.13.04-.13.05-.13.04-.13.04-.13.04-.13.04-.13.04-.13.04-.13.04-.13.04-.13.04-.13.04-.14.03-.13.04-.13.04-.13.03-.13.04-.13.04-.14.04-.14.03-.13.03-.13.03-.14.03-.13.03-.13.03-.14.03-.13.03-.14.03-.13.03-.13.03-.13.02-.14.03-.14.02-.13.03-.138.03-.13.03-.14.03-.13.03-.13.02-.13.03-.14.02-.14.02-.13.02-.14.02-.14.02-.14.02-.14.02-.14.02-.14.02-.14.01-.14.02-.14.02-.14.02-.14.01-.14.01-.14.01-.14.02-.14.01-.14.01-.13.01-.14.01-.14.01-.14.01-.15.01-.14.01-.13.01-.14v-.2l.01-.14.01-.14.01-.14.01-.14.01-.14v-.3l.01-.14V137.1l-.01-.13v-.51l-.01-.126v-.135l-.01-.13-.01-.13-.01-.13-.01-.13-.01-.13-.01-.13-.01-.13-.01-.13-.01-.13-.01-.13-.01-.13-.01-.13-.01-.13-.01-.13-.02-.13-.02-.13-.01-.13-.02-.13-.02-.13-.02-.13-.02-.13-.02-.12-.01-.12-.02-.13-.02-.13-.02-.12-.02-.12-.02-.13-.02-.13-.02-.13-.02-.13-.02-.13-.02-.11-.05-.26-.05-.24-.05-.25-.06-.25-.06-.25-.06-.25-.06-.24-.06-.25-.06-.24-.06-.24-.06-.24-.07-.25-.07-.24-.07-.24-.07-.24-.07-.24-.08-.23-.08-.24-.08-.24-.09-.23-.09-.23-.09-.23-.09-.23-.09-.23-.1-.24-.1-.23-.1-.23-.1-.23-.1-.22-.1-.23-.11-.23-.1-.23-.11-.23-.11-.23-.11-.22-.12-.23-.12-.22-.12-.22-.12-.22-.12-.22-.12-.22-.13-.22-.13-.21-.13-.21-.13-.21-.13-.22-.14-.21-.13-.21-.14-.21-.13-.21-.14-.21-.14-.2-.15-.21-.14-.2-.15-.2-.15-.2-.15-.2-.15-.2-.15-.2-.16-.19-.16-.2-.16-.2-.15-.19-.16-.19-.16-.2-.16-.19-.16-.19-.17-.19-.17-.19-.17-.18-.17-.18-.18-.18-.18-.18-.18-.18-.18-.17-.18-.17-.19-.18-.18-.17-.18-.17-.19-.17-.19-.17-.19-.16-.19-.16-.21-.17-.09-.08-.1-.08-.1-.08-.1-.08-.1-.08-.1-.08-.1-.08-.1-.08-.1-.08-.1-.07-.1-.08-.1-.07-.09-.08-.1-.08-.1-.08-.1-.08-.1-.07-.11-.08-.11-.08-.1-.07-.1-.07-.1-.08-.11-.07-.1-.07-.1-.08-.1-.07-.1-.07-.11-.07-.1-.07-.1-.07-.11-.07-.11-.06-.11-.07-.11-.07-.11-.07-.1-.06-.11-.07-.11-.07-.11-.07-.11-.06-.11-.07-.12-.07-.11-.06-.12-.08L1340 46.05l-.154-.09-.14-.08-.144-.08-.145-.08-.145-.07-.145-.08-.148-.077-.15-.08-.15-.077-.15-.08-.15-.075-.15-.07-.15-.07-.15-.07-.15-.07-.15-.07-.15-.07-.15-.07-.15-.07-.15-.07-.15-.06-.15-.07-.15-.07-.15-.07-.15-.06-.15-.06-.15-.07-.15-.06-.15-.06-.15-.06-.15-.06-.15-.06-.15-.06-.15-.06-.16-.06-.15-.06-.15-.05-.15-.05-.16-.06-.16-.06-.16-.05-.15-.06-.16-.05-.15-.05-.15-.05-.15-.05-.16-.05-.15-.05-.16-.05-.15-.05-.16-.05-.15-.04-.15-.05-.15-.04-.16-.04-.16-.04-.16-.05-.16-.04-.15-.04-.15-.04-.16-.05-.16-.04-.16-.04-.16-.04-.15-.04-.16-.04-.15-.04-.16-.04-.16-.03-.16-.04-.15-.04-.16-.03-.16-.04-.15-.03-.15-.03-.16-.03-.16-.03-.16-.03-.16-.03-.16-.03-.16-.03-.16-.03-.16-.03-.16-.03-.16-.03-.16-.02-.16-.02-.16-.03-.16-.02-.16-.02-.16-.02-.16-.02-.16-.02-.16-.02-.16-.02-.16-.02-.16-.02-.15-.02-.16-.01-.16-.02-.16-.02-.16-.02-.16-.02-.16-.01-.16-.01-.16-.02-.16-.01-.16-.01-.16-.01-.16-.01-.16-.01-.16-.01-.16-.01-.16-.01h-.32l-.16-.01h-.8l-.16-.01h-.48z"/>
++  <path fill="#fff" fill-rule="nonzero" d="M1039.925 204.026c0 47.187-8.943 60.934-26.816 80.584-17.87 19.65-41.57 27.567-71.1 27.567-26.99 0-48.75-9.575-67.61-26.23-20.88-18.446-36.08-47.037-36.08-78.945 0-31.37 11.72-58.485 32.49-78.676 18.22-17.667 45.34-29.177 73.31-29.177 33.76 0 68.82 15.98 90.43 47.53l-31.73 26.82c-13.45-25.03-32.94-33.46-60.82-34.26-30.83-.88-64.77 28.53-62.25 67.75 1.4 21.94 11.65 59.65 60.96 66.57 25.91 3.63 55.36-24.02 55.36-39.04H947.4v-37.5h92.508V204z"/>
++  <path fill="#fff" d="M1323.723 99.15c58.784 0 106.52 47.728 106.52 106.514 0 58.787-47.736 106.514-106.52 106.514-58.783 0-106.52-47.727-106.52-106.514 0-58.786 47.737-106.514 106.52-106.514zm0 39.572c36.946 0 66.936 29.996 66.936 66.942s-29.99 66.94-66.94 66.94-66.94-29.994-66.94-66.94 29.99-66.942 66.93-66.942z"/>
++</svg>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2a8c25df3d8a58669b03434b8dfee848766111ae
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,123 @@@
++const webpack = require("webpack");
++const path = require("path");
++const CleanWebpackPlugin = require("clean-webpack-plugin");
++const MiniCssExtractPlugin = require("mini-css-extract-plugin");
++const PurgecssPlugin = require("purgecss-webpack-plugin");
++const glob = require("glob-all");
++
++class TailwindExtractor {
++      static extract(content) {
++              return content.match(/[A-z0-9-:\/]+/g);
++      }
++}
++
++module.exports = env => {
++      console.log("NODE_ENV: ", process.env.NODE_ENV); // 'local'
++
++      var CONFIG = {
++              mode: "production",
++              entry: {
++                      app: "./assets/index.js"                        
++              },
++              output: {
++                      path: path.resolve(__dirname, "assets/output"),
++                      filename: "js/[name].js" // string
++              },
++              module: {
++                      rules: [                                
++                              {
++                                      test: /\.css$/,
++                                      use: [
++                                              MiniCssExtractPlugin.loader,
++                                              {
++                                                      loader: "css-loader",
++                                                      options: {
++                                                              importLoaders: 1,
++                                                              minimize: true || {
++                                                                      discardComments: {
++                                                                              removeAll: true
++                                                                      },
++                                                                      minifyFontValues: false,
++                                                                      autoprefixer: false
++                                                              }
++                                                      }
++                                              },
++                                              {
++                                                      loader: "postcss-loader",
++                                                      options: {
++                                                              ident: "postcss",
++                                                              plugins: () => [
++                                                                      require("postcss-import"),                                                                      
++                                                                      require("postcss-cssnext")({
++                                                                              browsers: ['last 2 versions', '> 5%']  
++                                                                      })
++                                                              ]
++                                                      }
++                                              }
++                                      ]
++                              },
++                              {
++                                      test: /\.(woff|woff2|eot|ttf|otf|svg)$/,
++                                      use: [
++                                              {
++                                                      loader: "file-loader",
++                                                      options: {
++                                                              publicPath: "/fonts",
++                                                              name: "[name].[ext]",
++                                                              outputPath: "./../../static/fonts/"
++                                                              // useRelativePath: true
++                                                      }
++                                              }
++                                      ]
++                              }
++                      ]
++              },
++              plugins: [
++                      new webpack.DefinePlugin({
++                              ENVIRONMENT: JSON.stringify(process.env.NODE_ENV)
++                      }),
++                      new CleanWebpackPlugin(["./assets/output"], {
++                              root: __dirname,
++                              verbose: true,
++                              dry: false,
++                              allowExternal: true
++                      }),
++                      new MiniCssExtractPlugin({
++                              filename: "css/[name].css"
++                      })
++              ]
++      };
++
++      if (process.env.NODE_ENV == "production") {
++              console.log("now with purge");
++              CONFIG.plugins.push(
++                      new CleanWebpackPlugin(["./assets/output"], {
++                              root: __dirname,
++                              verbose: true,
++                              dry: false,
++                              allowExternal: true
++                      }),
++                      new PurgecssPlugin({
++                              paths: glob.sync([
++                                      path.join(__dirname, "layouts/**/*.html")
++                              ]),
++                              extractors: [
++                                      {
++                                              extractor: TailwindExtractor,
++                                              extensions: ["html"]
++                                      }
++                              ],
++                              fontFace: false,
++                              whitelist: [
++                                      "pagination",
++                                      "#TableOfContents ul li",
++                                      "chroma",
++                                      "expand",
++                                      "hljs"
++                              ]
++                      })
++              );
++      }
++
++      return CONFIG;
++};