diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..77aac44 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,6 @@ +# These owners will be the default owners for everything in +# the repo. Unless a later match takes precedence, +# They will be requested for review when someone +# opens a pull request. + +* @levinriegner-qa \ No newline at end of file diff --git a/.gitignore b/.gitignore index 74c6867..7172c8d 100644 --- a/.gitignore +++ b/.gitignore @@ -21,7 +21,6 @@ #.vscode/ # Flutter/Dart/Pub related -**/doc/api/ .dart_tool/ .flutter-plugins .flutter-plugins-dependencies diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..9c5a149 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,14 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "example", + "request": "launch", + "type": "dart", + "args": [ + "--debug" + ], + "program": "example/lib/main.dart" + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..ee09925 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,26 @@ +{ + // Exclude files from explorer + "files.exclude": { + // Exclude auto-generated files + "**/*.g.dart": true, + "**/*.freezed.dart": true, + "**/*.gr.dart": true, + // Exclude Flutter stuff + "**/.flutter-plugins": true, + "**/.flutter-plugins-dependencies": true, + "**/.packages": true, + "**/build": true, + "**/.metadata": true, + // Exclude Android Studio stuff + "**/.idea": true, + "**/.run": true, + "**/*.iml": true + }, + // Fix actions on save + "editor.codeActionsOnSave": { + "source.fixAll": true, + "source.organizeImports": true + }, + // Format on save + "editor.formatOnSave": true, +} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index ac07159..f448add 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ -## [0.0.1] - TODO: Add release date. +# Changelog -* TODO: Describe initial release. +All notable changes to this project will be documented in this file. + +## 1.0.2 + +### Added + +- Public Release. diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..5245b09 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,129 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at [info@levinriegner.com](info@levinriegner.com). +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +[https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0]. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at [https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations diff --git a/LICENSE b/LICENSE index ba75c69..08e4777 100644 --- a/LICENSE +++ b/LICENSE @@ -1 +1,9 @@ -TODO: Add your license here. +MIT License + +Copyright (c) 2022 Levin & Riegner LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md index 63131e0..59b475a 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,107 @@ -# lr_app_versioning +# App Versioning -L+R app versioning package +Prompt users to update the app whenever there are new optional or mandatory updates available. -The intent behind this plugin is to provide an easy way to force app updates for users below a certain version specified on a backend service. -In the future it could also support optional updates whenever a new version is available on their respective store. +

+ Available Store Updates +        + Local Version Tracker +

-## Getting Started +## Overview -Run `flutter pub upgrade && flutter pub get` to get the project dependencies. +This packages provides a simple yet customisable way to suggest or force updates to Android & iOS apps +It is built on top of the [in_app_update](https://pub.dev/packages/in_app_update) package for Android and [upgrader](https://pub.dev/packages/upgrader) for iOS. -Run the `Example` project to test the app. +## Features -## Backend Services +- Retrieve information about available updates from the Play Store or App Store. +- Version bomb. Force users to update the app if the update is mandatory by configuring a minimum version using your custom Backend or [Firebase Remote Config](https://firebase.google.com/docs/remote-config). +- Launch Android updates using the native [In-App Updates](https://developer.android.com/guide/playcore/in-app-updates) flows, supporting flexible and immediate updates. +- Request iOS updates by redirecting to the App Store. +- Track version update history using the [Version Tracker](https://pub.dev/packages/version_tracker). -This plugin currently supports 2 different backends +## Get Started + +View the [example project](/example/lib/) for a complete working example. + +### Initializing + +1. Initialize the `AppVersioning` class with your app's identifiers and minimum version provider. + - The minimum version provider can be an `apiService` from your backend, a `firebaseService` from your remote config or a `customService` that you implement. + + ```dart + final appVersioning = AppVersioning.apiService( + apiConfig: ApiConfig( + endpoints: ApiVersioningEndpoints( + "https://api.example.org", + minimumVersioningEndpoint: "api/api-compatibility", + ), + ), + updateConfig: UpdateConfig( + appStoreAppId: "1234567890", + playStoreAppId: "org.example.versioning", + appstoreCountryCode: "US", + ), + ); + ``` + +2. Track the current version when the app is launched. + + ```dart + await appVersioning.tracker.track(); + ``` + +3. Check whether a new update is available. + + ```dart + final appUpdateInfo = await appVersioning.getAppUpdateInfo(); + ``` + +4. If an update is available, prompt the user to update the app using your own UI elements. + + ```dart + if (appUpdateInfo.isUpdateAvailable) { + _showUpdatePopup(appUpdateInfo.updateType == AppUpdateType.Mandatory); + } + ``` + +5. If the user accepts the update, or the update is mandatory, launch the update flow. + + ```dart + appVersioning.launchUpdate(updateInBackground: !isMandatory) + ``` + +### Backend Services + +Apps using a version below the minimum version will be forced to update with a mandatory update type. +This plugin currently supports 2 different backends to set the minimum version supported on the app. 1. **API**: An arbitrary URL endpoint that returns the minimum versions JSON. 2. **Firebase Remote Config**: Key/value pairs with the minimum versions specified on Firebase. - > This requires the project to include and set up Firebase. + > This requires the project to include and set up Firebase separately. + +## Contributing + +Contributions are most welcome! Feel free to open a new issue or pull request to make this project better. + +### Deployment + +1. Set the new version on the [pubspec.yaml](pubspec.yaml) `version` field. +2. Update the [CHANGELOG.md](CHANGELOG.md) file documenting the changes. +3. Update the [README.md](README.md) file if necessary. +4. Run `dart doc` to update the documentation. +5. Run `dart pub publish --dry-run` to ensure the package can be published successfully. +6. Create a new tag with the release version `git tag -a x.y.z -m "x.y.z" && git push --tags`. +7. Navigate to [GitHub Releases](https://github.com/levin-riegner/lr-app-versioning/releases) and create a new release for the previously created tag, including the [CHANGELOG.md](CHANGELOG.md) changes. +8. Finally run `dart pub publish` to deploy the project. + +## Credits + +- [upgrader](https://pub.dev/packages/upgrader) - Copyright (c) 2018-2022, Larry Aasen [MIT License](https://pub.dev/packages/upgrader/license) for providing the iOS update mechanisms. +- [in_app_update](https://pub.dev/packages/in_app_update) - Copyright (c) 2020 Victor Choueiri [MIT License](https://pub.dev/packages/in_app_update/license) for providing the Android update mechanisms. +- [version_tracker](https://pub.dev/packages/version_tracker) - Copyright (c) 2021 Kevin Morelli [MIT License](https://pub.dev/packages/version_tracker/license) for providing the code to track version accross updates. + +## License +This repo is covered under the [MIT License](LICENSE). diff --git a/doc/api/__404error.html b/doc/api/__404error.html new file mode 100644 index 0000000..88b5374 --- /dev/null +++ b/doc/api/__404error.html @@ -0,0 +1,102 @@ + + + + + + + + + app_versioning - Dart API docs + + + + + + + + + + + + + + + + + +
+ +
+ + +
app_versioning
+ +
+ +
+ + +
+

404: Something's gone wrong :-(

+ +
+

You've tried to visit a page that doesn't exist. Luckily this site + has other pages.

+

If you were looking for something specific, try searching: +

+

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/ApiConfig-class.html b/doc/api/app_versioning/ApiConfig-class.html new file mode 100644 index 0000000..c4b266c --- /dev/null +++ b/doc/api/app_versioning/ApiConfig-class.html @@ -0,0 +1,267 @@ + + + + + + + + ApiConfig class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
ApiConfig
+ +
+ +
+ + +
+
+

ApiConfig class + Null safety + +

+ + + + + + +
+

Constructors

+ +
+
+ ApiConfig({required ApiVersioningEndpoints endpoints}) +
+
+ +
const
+
+
+
+ +
+

Properties

+ +
+
+ endpoints + ApiVersioningEndpoints + +
+
+ +
final
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. +
read-only, inherited
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ + +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/ApiConfig/ApiConfig.html b/doc/api/app_versioning/ApiConfig/ApiConfig.html new file mode 100644 index 0000000..28346ee --- /dev/null +++ b/doc/api/app_versioning/ApiConfig/ApiConfig.html @@ -0,0 +1,135 @@ + + + + + + + + ApiConfig constructor - ApiConfig - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
ApiConfig
+ +
+ +
+ + +
+
+

ApiConfig constructor + Null safety +

+ +
const + ApiConfig(
  1. {required ApiVersioningEndpoints endpoints}
  2. +
) +
+ + + + + +
+

Implementation

+
const ApiConfig({required this.endpoints});
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/ApiConfig/endpoints.html b/doc/api/app_versioning/ApiConfig/endpoints.html new file mode 100644 index 0000000..8805e56 --- /dev/null +++ b/doc/api/app_versioning/ApiConfig/endpoints.html @@ -0,0 +1,137 @@ + + + + + + + + endpoints property - ApiConfig class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
endpoints
+ +
+ +
+ + +
+
+

endpoints property + Null safety +

+ +
+ ApiVersioningEndpoints + endpoints +
final
+ +
+ + + +
+

Implementation

+
final ApiVersioningEndpoints endpoints;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/ApiConfig/toString.html b/doc/api/app_versioning/ApiConfig/toString.html new file mode 100644 index 0000000..96c90da --- /dev/null +++ b/doc/api/app_versioning/ApiConfig/toString.html @@ -0,0 +1,159 @@ + + + + + + + + toString method - ApiConfig class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
toString
+ +
+ +
+ + +
+
+

toString method + Null safety +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string representation.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + +
+

Implementation

+
@override
+String toString() {
+  return 'ApiConfig{endpoints: $endpoints}';
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/ApiVersioningEndpoints-class.html b/doc/api/app_versioning/ApiVersioningEndpoints-class.html new file mode 100644 index 0000000..23686bd --- /dev/null +++ b/doc/api/app_versioning/ApiVersioningEndpoints-class.html @@ -0,0 +1,266 @@ + + + + + + + + ApiVersioningEndpoints class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
ApiVersioningEndpoints
+ +
+ +
+ + +
+
+

ApiVersioningEndpoints class + Null safety + +

+ + + + + + +
+

Constructors

+ +
+
+ ApiVersioningEndpoints(String _baseUrl, {String minimumVersioningEndpoint = "api/api-compatibility"}) +
+
+ Default endpoints can be overridden by passing custom endpoints +
+
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. +
read-only, inherited
+ +
+ +
+ minimumVersioningEndpoint + String + +
+
+ +
read-only
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ + +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/ApiVersioningEndpoints/ApiVersioningEndpoints.html b/doc/api/app_versioning/ApiVersioningEndpoints/ApiVersioningEndpoints.html new file mode 100644 index 0000000..951efea --- /dev/null +++ b/doc/api/app_versioning/ApiVersioningEndpoints/ApiVersioningEndpoints.html @@ -0,0 +1,142 @@ + + + + + + + + ApiVersioningEndpoints constructor - ApiVersioningEndpoints - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
ApiVersioningEndpoints
+ +
+ +
+ + +
+
+

ApiVersioningEndpoints constructor + Null safety +

+ +
+ ApiVersioningEndpoints(
  1. String _baseUrl,
  2. +
  3. {String minimumVersioningEndpoint = "api/api-compatibility"}
  4. +
) +
+ + +
+

Default endpoints can be overridden by passing custom endpoints

+
+ + + +
+

Implementation

+
ApiVersioningEndpoints(
+  this._baseUrl, {
+  String minimumVersioningEndpoint = "api/api-compatibility",
+}) : _minimumVersioningEndpoint = minimumVersioningEndpoint;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/ApiVersioningEndpoints/minimumVersioningEndpoint.html b/doc/api/app_versioning/ApiVersioningEndpoints/minimumVersioningEndpoint.html new file mode 100644 index 0000000..0e10492 --- /dev/null +++ b/doc/api/app_versioning/ApiVersioningEndpoints/minimumVersioningEndpoint.html @@ -0,0 +1,143 @@ + + + + + + + + minimumVersioningEndpoint property - ApiVersioningEndpoints class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
minimumVersioningEndpoint
+ +
+ +
+ + +
+
+

minimumVersioningEndpoint property + Null safety +

+ + + +
+ +
+ String + minimumVersioningEndpoint + + +
+ + + + +
+

Implementation

+
String get minimumVersioningEndpoint =>
+    "$_baseUrl/$_minimumVersioningEndpoint";
+
+ +
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/ApiVersioningEndpoints/toString.html b/doc/api/app_versioning/ApiVersioningEndpoints/toString.html new file mode 100644 index 0000000..22b74d7 --- /dev/null +++ b/doc/api/app_versioning/ApiVersioningEndpoints/toString.html @@ -0,0 +1,159 @@ + + + + + + + + toString method - ApiVersioningEndpoints class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
toString
+ +
+ +
+ + +
+
+

toString method + Null safety +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string representation.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + +
+

Implementation

+
@override
+String toString() {
+  return 'ApiVersioningEndpoints{minimumVersioningEndpoint: $_minimumVersioningEndpoint}';
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppUpdateInfo-class.html b/doc/api/app_versioning/AppUpdateInfo-class.html new file mode 100644 index 0000000..a976215 --- /dev/null +++ b/doc/api/app_versioning/AppUpdateInfo-class.html @@ -0,0 +1,303 @@ + + + + + + + + AppUpdateInfo class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
AppUpdateInfo
+ +
+ +
+ + +
+
+

AppUpdateInfo class + Null safety + +

+ + + + + + +
+

Constructors

+ +
+
+ AppUpdateInfo({required Version? currentVersion, required Version? minimumVersion, required bool isUpdateAvailable, required AppUpdateType? updateType}) +
+
+ +
const
+
+
+
+ +
+

Properties

+ +
+
+ currentVersion + Version? + +
+
+ +
final
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. +
read-only, inherited
+ +
+ +
+ isUpdateAvailable + bool + +
+
+ +
final
+ +
+ +
+ minimumVersion + Version? + +
+
+ +
final
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+ updateType + AppUpdateType? + +
+
+ +
final
+ +
+ +
+
+ + +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppUpdateInfo/AppUpdateInfo.html b/doc/api/app_versioning/AppUpdateInfo/AppUpdateInfo.html new file mode 100644 index 0000000..bc383de --- /dev/null +++ b/doc/api/app_versioning/AppUpdateInfo/AppUpdateInfo.html @@ -0,0 +1,146 @@ + + + + + + + + AppUpdateInfo constructor - AppUpdateInfo - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
AppUpdateInfo
+ +
+ +
+ + +
+
+

AppUpdateInfo constructor + Null safety +

+ +
const + AppUpdateInfo(
  1. {required Version? currentVersion,
  2. +
  3. required Version? minimumVersion,
  4. +
  5. required bool isUpdateAvailable,
  6. +
  7. required AppUpdateType? updateType}
  8. +
) +
+ + + + + +
+

Implementation

+
const AppUpdateInfo({
+  required this.currentVersion,
+  required this.minimumVersion,
+  required this.isUpdateAvailable,
+  required this.updateType,
+});
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppUpdateInfo/currentVersion.html b/doc/api/app_versioning/AppUpdateInfo/currentVersion.html new file mode 100644 index 0000000..2c10c45 --- /dev/null +++ b/doc/api/app_versioning/AppUpdateInfo/currentVersion.html @@ -0,0 +1,140 @@ + + + + + + + + currentVersion property - AppUpdateInfo class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
currentVersion
+ +
+ +
+ + +
+
+

currentVersion property + Null safety +

+ +
+ Version? + currentVersion +
final
+ +
+ + + +
+

Implementation

+
final Version? currentVersion;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppUpdateInfo/isUpdateAvailable.html b/doc/api/app_versioning/AppUpdateInfo/isUpdateAvailable.html new file mode 100644 index 0000000..b854ebb --- /dev/null +++ b/doc/api/app_versioning/AppUpdateInfo/isUpdateAvailable.html @@ -0,0 +1,140 @@ + + + + + + + + isUpdateAvailable property - AppUpdateInfo class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
isUpdateAvailable
+ +
+ +
+ + +
+
+

isUpdateAvailable property + Null safety +

+ +
+ bool + isUpdateAvailable +
final
+ +
+ + + +
+

Implementation

+
final bool isUpdateAvailable;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppUpdateInfo/minimumVersion.html b/doc/api/app_versioning/AppUpdateInfo/minimumVersion.html new file mode 100644 index 0000000..399eb46 --- /dev/null +++ b/doc/api/app_versioning/AppUpdateInfo/minimumVersion.html @@ -0,0 +1,140 @@ + + + + + + + + minimumVersion property - AppUpdateInfo class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
minimumVersion
+ +
+ +
+ + +
+
+

minimumVersion property + Null safety +

+ +
+ Version? + minimumVersion +
final
+ +
+ + + +
+

Implementation

+
final Version? minimumVersion;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppUpdateInfo/toString.html b/doc/api/app_versioning/AppUpdateInfo/toString.html new file mode 100644 index 0000000..55d81ee --- /dev/null +++ b/doc/api/app_versioning/AppUpdateInfo/toString.html @@ -0,0 +1,162 @@ + + + + + + + + toString method - AppUpdateInfo class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
toString
+ +
+ +
+ + +
+
+

toString method + Null safety +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string representation.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + +
+

Implementation

+
@override
+String toString() {
+  return 'AppUpdateInfo{currentVersion: $currentVersion, minimumVersion: $minimumVersion, isUpdateAvailable: $isUpdateAvailable, updateType: $updateType}';
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppUpdateInfo/updateType.html b/doc/api/app_versioning/AppUpdateInfo/updateType.html new file mode 100644 index 0000000..4bc4c62 --- /dev/null +++ b/doc/api/app_versioning/AppUpdateInfo/updateType.html @@ -0,0 +1,140 @@ + + + + + + + + updateType property - AppUpdateInfo class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
updateType
+ +
+ +
+ + +
+
+

updateType property + Null safety +

+ +
+ AppUpdateType? + updateType +
final
+ +
+ + + +
+

Implementation

+
final AppUpdateType? updateType;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppUpdateType.html b/doc/api/app_versioning/AppUpdateType.html new file mode 100644 index 0000000..c7efdac --- /dev/null +++ b/doc/api/app_versioning/AppUpdateType.html @@ -0,0 +1,355 @@ + + + + + + + + AppUpdateType enum - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
AppUpdateType
+ +
+ +
+ + +
+
+ +

+ AppUpdateType + enum + Null safety + + +

+
+ + + + +
+
+ +
Inheritance
+
+ +
+ + + + +
+
+ + +
+

Constructors

+ +
+
+ AppUpdateType() +
+
+ +
const
+
+
+
+ +
+

Values

+ +
+
+ Optional + → const AppUpdateType + + +
+
+ + + +
+ const AppUpdateType(0) +
+
+ +
+ Mandatory + → const AppUpdateType + + +
+
+ + + +
+ const AppUpdateType(1) +
+
+ +
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. +
read-only, inherited
+ +
+ +
+ index + int + +
+
+ A numeric identifier for the enumerated value. +
read-only, inherited
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ + +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + +
+

Constants

+ +
+
+ values + → const List<AppUpdateType> + + +
+
+ A constant List of the values in this enum, in order of their declaration. + + +
+ [Optional, Mandatory] +
+
+ +
+
+
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppUpdateType/AppUpdateType.html b/doc/api/app_versioning/AppUpdateType/AppUpdateType.html new file mode 100644 index 0000000..55be5ef --- /dev/null +++ b/doc/api/app_versioning/AppUpdateType/AppUpdateType.html @@ -0,0 +1,135 @@ + + + + + + + + AppUpdateType constructor - AppUpdateType - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
AppUpdateType
+ +
+ +
+ + +
+
+

AppUpdateType constructor + Null safety +

+ +
const + AppUpdateType() +
+ + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppUpdateType/values-constant.html b/doc/api/app_versioning/AppUpdateType/values-constant.html new file mode 100644 index 0000000..f36081b --- /dev/null +++ b/doc/api/app_versioning/AppUpdateType/values-constant.html @@ -0,0 +1,139 @@ + + + + + + + + values constant - AppUpdateType extension - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
values
+ +
+ +
+ + +
+
+

values constant + Null safety +

+ +
+ List<AppUpdateType> + const values + + +
+ +
+

A constant List of the values in this enum, in order of their declaration.

+
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppVersioning-class.html b/doc/api/app_versioning/AppVersioning-class.html new file mode 100644 index 0000000..55ab3cc --- /dev/null +++ b/doc/api/app_versioning/AppVersioning-class.html @@ -0,0 +1,325 @@ + + + + + + + + AppVersioning class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
AppVersioning
+ +
+ +
+ + +
+
+

AppVersioning class + Null safety + +

+ + + + + + +
+

Constructors

+ +
+
+ AppVersioning({required MinimumVersioningService minimumVersioningService, required DeviceVersioningService appUpdateService, required OptionalUpdateService optionalUpdateService}) +
+
+ +
factory
+
+
+ AppVersioning.apiService({required ApiConfig apiConfig, required UpdateConfig updateConfig}) +
+
+ +
factory
+
+
+ AppVersioning.firebaseService({required RemoteConfigKeys remoteConfigKeys, required UpdateConfig updateConfig}) +
+
+ +
factory
+
+
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. +
read-only, inherited
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+ tracker + → VersionTracker + +
+
+ +
read-only
+ +
+ +
+
+ + +
+

Methods

+
+
+ getAppUpdateInfo() + Future<AppUpdateInfo> + + + +
+
+ + + +
+ +
+ getCurrentAppVersion() + Future<Version> + + + +
+
+ + + +
+ +
+ launchUpdate({required bool updateInBackground}) + → void + + + +
+
+ + + +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppVersioning/AppVersioning.apiService.html b/doc/api/app_versioning/AppVersioning/AppVersioning.apiService.html new file mode 100644 index 0000000..d09a814 --- /dev/null +++ b/doc/api/app_versioning/AppVersioning/AppVersioning.apiService.html @@ -0,0 +1,150 @@ + + + + + + + + AppVersioning.apiService constructor - AppVersioning - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
AppVersioning.apiService
+ +
+ +
+ + +
+
+

AppVersioning.apiService constructor + Null safety +

+ +
+ AppVersioning.apiService(
  1. {required ApiConfig apiConfig,
  2. +
  3. required UpdateConfig updateConfig}
  4. +
) +
+ + + + + +
+

Implementation

+
factory AppVersioning.apiService({
+  required ApiConfig apiConfig,
+  required UpdateConfig updateConfig,
+}) {
+  return DefaultAppVersioning(
+    minimumVersioningService: DefaultApiVersioningService(apiConfig),
+    appUpdateService: DefaultDeviceVersioningService(updateConfig),
+    optionalUpdateService: DefaultOptionalUpdateService(updateConfig),
+  );
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppVersioning/AppVersioning.firebaseService.html b/doc/api/app_versioning/AppVersioning/AppVersioning.firebaseService.html new file mode 100644 index 0000000..6224de6 --- /dev/null +++ b/doc/api/app_versioning/AppVersioning/AppVersioning.firebaseService.html @@ -0,0 +1,151 @@ + + + + + + + + AppVersioning.firebaseService constructor - AppVersioning - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
AppVersioning.firebaseService
+ +
+ +
+ + +
+
+

AppVersioning.firebaseService constructor + Null safety +

+ +
+ AppVersioning.firebaseService(
  1. {required RemoteConfigKeys remoteConfigKeys,
  2. +
  3. required UpdateConfig updateConfig}
  4. +
) +
+ + + + + +
+

Implementation

+
factory AppVersioning.firebaseService({
+  required RemoteConfigKeys remoteConfigKeys,
+  required UpdateConfig updateConfig,
+}) {
+  return DefaultAppVersioning(
+    minimumVersioningService:
+        DefaultFirebaseVersioningService(remoteConfigKeys),
+    appUpdateService: DefaultDeviceVersioningService(updateConfig),
+    optionalUpdateService: DefaultOptionalUpdateService(updateConfig),
+  );
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppVersioning/AppVersioning.html b/doc/api/app_versioning/AppVersioning/AppVersioning.html new file mode 100644 index 0000000..c25da00 --- /dev/null +++ b/doc/api/app_versioning/AppVersioning/AppVersioning.html @@ -0,0 +1,152 @@ + + + + + + + + AppVersioning constructor - AppVersioning - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
AppVersioning
+ +
+ +
+ + +
+
+

AppVersioning constructor + Null safety +

+ +
+ AppVersioning(
  1. {required MinimumVersioningService minimumVersioningService,
  2. +
  3. required DeviceVersioningService appUpdateService,
  4. +
  5. required OptionalUpdateService optionalUpdateService}
  6. +
) +
+ + + + + +
+

Implementation

+
factory AppVersioning({
+  required MinimumVersioningService minimumVersioningService,
+  required DeviceVersioningService appUpdateService,
+  required OptionalUpdateService optionalUpdateService,
+}) {
+  return DefaultAppVersioning(
+    minimumVersioningService: minimumVersioningService,
+    appUpdateService: appUpdateService,
+    optionalUpdateService: optionalUpdateService,
+  );
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppVersioning/getAppUpdateInfo.html b/doc/api/app_versioning/AppVersioning/getAppUpdateInfo.html new file mode 100644 index 0000000..a4fa1c2 --- /dev/null +++ b/doc/api/app_versioning/AppVersioning/getAppUpdateInfo.html @@ -0,0 +1,144 @@ + + + + + + + + getAppUpdateInfo method - AppVersioning class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
getAppUpdateInfo
+ +
+ +
+ + +
+
+

getAppUpdateInfo method + Null safety +

+ +
+ + +Future<AppUpdateInfo> +getAppUpdateInfo() + + + +
+ + + + +
+

Implementation

+
Future<AppUpdateInfo> getAppUpdateInfo();
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppVersioning/getCurrentAppVersion.html b/doc/api/app_versioning/AppVersioning/getCurrentAppVersion.html new file mode 100644 index 0000000..eddc08a --- /dev/null +++ b/doc/api/app_versioning/AppVersioning/getCurrentAppVersion.html @@ -0,0 +1,144 @@ + + + + + + + + getCurrentAppVersion method - AppVersioning class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
getCurrentAppVersion
+ +
+ +
+ + +
+
+

getCurrentAppVersion method + Null safety +

+ +
+ + +Future<Version> +getCurrentAppVersion() + + + +
+ + + + +
+

Implementation

+
Future<Version> getCurrentAppVersion();
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppVersioning/launchUpdate.html b/doc/api/app_versioning/AppVersioning/launchUpdate.html new file mode 100644 index 0000000..b2f8654 --- /dev/null +++ b/doc/api/app_versioning/AppVersioning/launchUpdate.html @@ -0,0 +1,145 @@ + + + + + + + + launchUpdate method - AppVersioning class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
launchUpdate
+ +
+ +
+ + +
+
+

launchUpdate method + Null safety +

+ +
+ + +void +launchUpdate(
  1. {required bool updateInBackground}
  2. +
) + + + +
+ + + + +
+

Implementation

+
void launchUpdate({required bool updateInBackground});
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppVersioning/tracker.html b/doc/api/app_versioning/AppVersioning/tracker.html new file mode 100644 index 0000000..f925cf8 --- /dev/null +++ b/doc/api/app_versioning/AppVersioning/tracker.html @@ -0,0 +1,147 @@ + + + + + + + + tracker property - AppVersioning class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
tracker
+ +
+ +
+ + +
+
+

tracker property + Null safety +

+ + + +
+ +
+ VersionTracker + tracker + + +
+ + + + +
+

Implementation

+
VersionTracker get tracker;
+
+ +
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppVersioningException-class.html b/doc/api/app_versioning/AppVersioningException-class.html new file mode 100644 index 0000000..e4cfb40 --- /dev/null +++ b/doc/api/app_versioning/AppVersioningException-class.html @@ -0,0 +1,277 @@ + + + + + + + + AppVersioningException class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
AppVersioningException
+ +
+ +
+ + +
+
+

AppVersioningException class + Null safety + +

+ + + + +
+
+ + + +
Implemented types
+
+ +
+ + +
Implementers
+
+ + + +
+
+ + +
+

Constructors

+ +
+
+ AppVersioningException() +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. +
read-only, inherited
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ + +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/AppVersioningException/AppVersioningException.html b/doc/api/app_versioning/AppVersioningException/AppVersioningException.html new file mode 100644 index 0000000..0c8cbf9 --- /dev/null +++ b/doc/api/app_versioning/AppVersioningException/AppVersioningException.html @@ -0,0 +1,129 @@ + + + + + + + + AppVersioningException constructor - AppVersioningException - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
AppVersioningException
+ +
+ +
+ + +
+
+

AppVersioningException constructor + Null safety +

+ +
+ AppVersioningException() +
+ + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/DefaultOptionalUpdateService-class.html b/doc/api/app_versioning/DefaultOptionalUpdateService-class.html new file mode 100644 index 0000000..d44e810 --- /dev/null +++ b/doc/api/app_versioning/DefaultOptionalUpdateService-class.html @@ -0,0 +1,280 @@ + + + + + + + + DefaultOptionalUpdateService class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
DefaultOptionalUpdateService
+ +
+ +
+ + +
+
+

DefaultOptionalUpdateService class + Null safety + +

+ + + + + + +
+

Constructors

+ +
+
+ DefaultOptionalUpdateService(UpdateConfig updateConfig) +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. +
read-only, inherited
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+ updateConfig + UpdateConfig + +
+
+ +
final
+ +
+ +
+
+ + +
+

Methods

+
+
+ isOptionalUpdateAvailable(Version currentVersion) + Future<bool> + + + +
+
+ + + +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/DefaultOptionalUpdateService/DefaultOptionalUpdateService.html b/doc/api/app_versioning/DefaultOptionalUpdateService/DefaultOptionalUpdateService.html new file mode 100644 index 0000000..ff5dd10 --- /dev/null +++ b/doc/api/app_versioning/DefaultOptionalUpdateService/DefaultOptionalUpdateService.html @@ -0,0 +1,136 @@ + + + + + + + + DefaultOptionalUpdateService constructor - DefaultOptionalUpdateService - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
DefaultOptionalUpdateService
+ +
+ +
+ + +
+
+

DefaultOptionalUpdateService constructor + Null safety +

+ +
+ DefaultOptionalUpdateService(
  1. UpdateConfig updateConfig
  2. +
) +
+ + + + + +
+

Implementation

+
DefaultOptionalUpdateService(this.updateConfig);
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/DefaultOptionalUpdateService/isOptionalUpdateAvailable.html b/doc/api/app_versioning/DefaultOptionalUpdateService/isOptionalUpdateAvailable.html new file mode 100644 index 0000000..c4ae095 --- /dev/null +++ b/doc/api/app_versioning/DefaultOptionalUpdateService/isOptionalUpdateAvailable.html @@ -0,0 +1,181 @@ + + + + + + + + isOptionalUpdateAvailable method - DefaultOptionalUpdateService class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
isOptionalUpdateAvailable
+ +
+ +
+ + +
+
+

isOptionalUpdateAvailable method + Null safety +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +Future<bool> +isOptionalUpdateAvailable(
  1. Version currentVersion
  2. +
) + + + +
+ + + + +
+

Implementation

+
@override
+Future<bool> isOptionalUpdateAvailable(Version currentVersion) async {
+  try {
+    // Check Optional Update on the stores
+    if (Platform.isAndroid && updateConfig.appStoreAppId != null) {
+      final info = await iau.InAppUpdate.checkForUpdate();
+      // Optional Android Update
+      return info.updateAvailability ==
+          iau.UpdateAvailability.updateAvailable;
+    } else if (Platform.isIOS && updateConfig.appStoreAppId != null) {
+      // Query AppStore
+      final iTunesResults = await ITunesSearchAPI().lookupById(
+        updateConfig.appStoreAppId!,
+        country: updateConfig.appstoreCountryCode,
+      );
+      if (iTunesResults != null) {
+        // Parse AppStore response
+        final iTunesVersionString = ITunesResults.version(iTunesResults);
+        final iTunesVersion = Version.tryParse(iTunesVersionString);
+        // Check greater version available
+        if (iTunesVersion != null) {
+          return iTunesVersion > currentVersion;
+        }
+        return false;
+      }
+      return false;
+    } else {
+      print("Cannot get AppUpdate on unsupported platform");
+      return false;
+    }
+  } catch (e) {
+    print("Error getting optional update");
+    print(e);
+    return false;
+  }
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/DefaultOptionalUpdateService/updateConfig.html b/doc/api/app_versioning/DefaultOptionalUpdateService/updateConfig.html new file mode 100644 index 0000000..2b73273 --- /dev/null +++ b/doc/api/app_versioning/DefaultOptionalUpdateService/updateConfig.html @@ -0,0 +1,138 @@ + + + + + + + + updateConfig property - DefaultOptionalUpdateService class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
updateConfig
+ +
+ +
+ + +
+
+

updateConfig property + Null safety +

+ +
+ UpdateConfig + updateConfig +
final
+ +
+ + + +
+

Implementation

+
final UpdateConfig updateConfig;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/DeviceVersioningService-class.html b/doc/api/app_versioning/DeviceVersioningService-class.html new file mode 100644 index 0000000..1bf8732 --- /dev/null +++ b/doc/api/app_versioning/DeviceVersioningService-class.html @@ -0,0 +1,282 @@ + + + + + + + + DeviceVersioningService class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
DeviceVersioningService
+ +
+ +
+ + +
+
+

DeviceVersioningService class + Null safety + +

+ + + + + + +
+

Constructors

+ +
+
+ DeviceVersioningService() +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. +
read-only, inherited
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ + +
+

Methods

+
+
+ getCurrentVersion() + Future<Version> + + + +
+
+ + + +
+ +
+ launchUpdate({required bool updateInBackground}) + → void + + + +
+
+ + + +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/DeviceVersioningService/DeviceVersioningService.html b/doc/api/app_versioning/DeviceVersioningService/DeviceVersioningService.html new file mode 100644 index 0000000..9a1cc77 --- /dev/null +++ b/doc/api/app_versioning/DeviceVersioningService/DeviceVersioningService.html @@ -0,0 +1,131 @@ + + + + + + + + DeviceVersioningService constructor - DeviceVersioningService - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
DeviceVersioningService
+ +
+ +
+ + +
+
+

DeviceVersioningService constructor + Null safety +

+ +
+ DeviceVersioningService() +
+ + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/DeviceVersioningService/getCurrentVersion.html b/doc/api/app_versioning/DeviceVersioningService/getCurrentVersion.html new file mode 100644 index 0000000..db5da71 --- /dev/null +++ b/doc/api/app_versioning/DeviceVersioningService/getCurrentVersion.html @@ -0,0 +1,140 @@ + + + + + + + + getCurrentVersion method - DeviceVersioningService class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
getCurrentVersion
+ +
+ +
+ + +
+
+

getCurrentVersion method + Null safety +

+ +
+ + +Future<Version> +getCurrentVersion() + + + +
+ + + + +
+

Implementation

+
Future<Version> getCurrentVersion();
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/DeviceVersioningService/launchUpdate.html b/doc/api/app_versioning/DeviceVersioningService/launchUpdate.html new file mode 100644 index 0000000..071b787 --- /dev/null +++ b/doc/api/app_versioning/DeviceVersioningService/launchUpdate.html @@ -0,0 +1,141 @@ + + + + + + + + launchUpdate method - DeviceVersioningService class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
launchUpdate
+ +
+ +
+ + +
+
+

launchUpdate method + Null safety +

+ +
+ + +void +launchUpdate(
  1. {required bool updateInBackground}
  2. +
) + + + +
+ + + + +
+

Implementation

+
void launchUpdate({required bool updateInBackground});
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/FailedToGetCurrentVersion-class.html b/doc/api/app_versioning/FailedToGetCurrentVersion-class.html new file mode 100644 index 0000000..51443d5 --- /dev/null +++ b/doc/api/app_versioning/FailedToGetCurrentVersion-class.html @@ -0,0 +1,288 @@ + + + + + + + + FailedToGetCurrentVersion class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
FailedToGetCurrentVersion
+ +
+ +
+ + +
+
+

FailedToGetCurrentVersion class + Null safety + +

+ + +
+

Error getting current version from device

+
+ + +
+
+ + + +
Implemented types
+
+ +
+ + + + + +
+
+ + +
+

Constructors

+ +
+
+ FailedToGetCurrentVersion({String? error}) +
+
+ +
const
+
+
+
+ +
+

Properties

+ +
+
+ error + String? + +
+
+ +
final
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. +
read-only, inherited
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ + +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/FailedToGetCurrentVersion/FailedToGetCurrentVersion.html b/doc/api/app_versioning/FailedToGetCurrentVersion/FailedToGetCurrentVersion.html new file mode 100644 index 0000000..30934f3 --- /dev/null +++ b/doc/api/app_versioning/FailedToGetCurrentVersion/FailedToGetCurrentVersion.html @@ -0,0 +1,135 @@ + + + + + + + + FailedToGetCurrentVersion constructor - FailedToGetCurrentVersion - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
FailedToGetCurrentVersion
+ +
+ +
+ + +
+
+

FailedToGetCurrentVersion constructor + Null safety +

+ +
const + FailedToGetCurrentVersion(
  1. {String? error}
  2. +
) +
+ + + + + +
+

Implementation

+
const FailedToGetCurrentVersion({this.error});
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/FailedToGetCurrentVersion/error.html b/doc/api/app_versioning/FailedToGetCurrentVersion/error.html new file mode 100644 index 0000000..baa7e77 --- /dev/null +++ b/doc/api/app_versioning/FailedToGetCurrentVersion/error.html @@ -0,0 +1,137 @@ + + + + + + + + error property - FailedToGetCurrentVersion class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
error
+ +
+ +
+ + +
+
+

error property + Null safety +

+ +
+ String? + error +
final
+ +
+ + + +
+

Implementation

+
final String? error;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/FailedToGetCurrentVersion/toString.html b/doc/api/app_versioning/FailedToGetCurrentVersion/toString.html new file mode 100644 index 0000000..9c5b8e3 --- /dev/null +++ b/doc/api/app_versioning/FailedToGetCurrentVersion/toString.html @@ -0,0 +1,159 @@ + + + + + + + + toString method - FailedToGetCurrentVersion class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
toString
+ +
+ +
+ + +
+
+

toString method + Null safety +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string representation.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + +
+

Implementation

+
@override
+String toString() {
+  return 'FailedToGetCurrentVersion{error: $error}';
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/FailedToGetMinimumVersions-class.html b/doc/api/app_versioning/FailedToGetMinimumVersions-class.html new file mode 100644 index 0000000..bd39203 --- /dev/null +++ b/doc/api/app_versioning/FailedToGetMinimumVersions-class.html @@ -0,0 +1,288 @@ + + + + + + + + FailedToGetMinimumVersions class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
FailedToGetMinimumVersions
+ +
+ +
+ + +
+
+

FailedToGetMinimumVersions class + Null safety + +

+ + +
+

Error getting minimum versions constraints

+
+ + +
+
+ + + +
Implemented types
+
+ +
+ + + + + +
+
+ + +
+

Constructors

+ +
+
+ FailedToGetMinimumVersions({String? error}) +
+
+ +
const
+
+
+
+ +
+

Properties

+ +
+
+ error + String? + +
+
+ +
final
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. +
read-only, inherited
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ + +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/FailedToGetMinimumVersions/FailedToGetMinimumVersions.html b/doc/api/app_versioning/FailedToGetMinimumVersions/FailedToGetMinimumVersions.html new file mode 100644 index 0000000..4e281c2 --- /dev/null +++ b/doc/api/app_versioning/FailedToGetMinimumVersions/FailedToGetMinimumVersions.html @@ -0,0 +1,135 @@ + + + + + + + + FailedToGetMinimumVersions constructor - FailedToGetMinimumVersions - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
FailedToGetMinimumVersions
+ +
+ +
+ + +
+
+

FailedToGetMinimumVersions constructor + Null safety +

+ +
const + FailedToGetMinimumVersions(
  1. {String? error}
  2. +
) +
+ + + + + +
+

Implementation

+
const FailedToGetMinimumVersions({this.error});
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/FailedToGetMinimumVersions/error.html b/doc/api/app_versioning/FailedToGetMinimumVersions/error.html new file mode 100644 index 0000000..9564ae2 --- /dev/null +++ b/doc/api/app_versioning/FailedToGetMinimumVersions/error.html @@ -0,0 +1,137 @@ + + + + + + + + error property - FailedToGetMinimumVersions class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
error
+ +
+ +
+ + +
+
+

error property + Null safety +

+ +
+ String? + error +
final
+ +
+ + + +
+

Implementation

+
final String? error;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/FailedToGetMinimumVersions/toString.html b/doc/api/app_versioning/FailedToGetMinimumVersions/toString.html new file mode 100644 index 0000000..8b106a9 --- /dev/null +++ b/doc/api/app_versioning/FailedToGetMinimumVersions/toString.html @@ -0,0 +1,159 @@ + + + + + + + + toString method - FailedToGetMinimumVersions class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
toString
+ +
+ +
+ + +
+
+

toString method + Null safety +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string representation.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + +
+

Implementation

+
@override
+String toString() {
+  return 'FailedToGetMinimumVersions{error: $error}';
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/MinimumVersioningService-class.html b/doc/api/app_versioning/MinimumVersioningService-class.html new file mode 100644 index 0000000..03a5dfc --- /dev/null +++ b/doc/api/app_versioning/MinimumVersioningService-class.html @@ -0,0 +1,268 @@ + + + + + + + + MinimumVersioningService class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
MinimumVersioningService
+ +
+ +
+ + +
+
+

MinimumVersioningService class + Null safety + +

+ + + + + + +
+

Constructors

+ +
+
+ MinimumVersioningService() +
+
+ +
+
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. +
read-only, inherited
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ + +
+

Methods

+
+
+ getMinimumVersions() + Future<MinimumVersions> + + + +
+
+ + + +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/MinimumVersioningService/MinimumVersioningService.html b/doc/api/app_versioning/MinimumVersioningService/MinimumVersioningService.html new file mode 100644 index 0000000..b1886c7 --- /dev/null +++ b/doc/api/app_versioning/MinimumVersioningService/MinimumVersioningService.html @@ -0,0 +1,130 @@ + + + + + + + + MinimumVersioningService constructor - MinimumVersioningService - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
MinimumVersioningService
+ +
+ +
+ + +
+
+

MinimumVersioningService constructor + Null safety +

+ +
+ MinimumVersioningService() +
+ + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/MinimumVersioningService/getMinimumVersions.html b/doc/api/app_versioning/MinimumVersioningService/getMinimumVersions.html new file mode 100644 index 0000000..e127ed8 --- /dev/null +++ b/doc/api/app_versioning/MinimumVersioningService/getMinimumVersions.html @@ -0,0 +1,139 @@ + + + + + + + + getMinimumVersions method - MinimumVersioningService class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
getMinimumVersions
+ +
+ +
+ + +
+
+

getMinimumVersions method + Null safety +

+ +
+ + +Future<MinimumVersions> +getMinimumVersions() + + + +
+ + + + +
+

Implementation

+
Future<MinimumVersions> getMinimumVersions();
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/MinimumVersions-class.html b/doc/api/app_versioning/MinimumVersions-class.html new file mode 100644 index 0000000..6dc60d4 --- /dev/null +++ b/doc/api/app_versioning/MinimumVersions-class.html @@ -0,0 +1,279 @@ + + + + + + + + MinimumVersions class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
MinimumVersions
+ +
+ +
+ + +
+
+

MinimumVersions class + Null safety + +

+ + + + + + +
+

Constructors

+ +
+
+ MinimumVersions({required Version ios, required Version android}) +
+
+ +
const
+
+
+
+ +
+

Properties

+ +
+
+ android + Version + +
+
+ +
final
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. +
read-only, inherited
+ +
+ +
+ ios + Version + +
+
+ +
final
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ + +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/MinimumVersions/MinimumVersions.html b/doc/api/app_versioning/MinimumVersions/MinimumVersions.html new file mode 100644 index 0000000..5089b8a --- /dev/null +++ b/doc/api/app_versioning/MinimumVersions/MinimumVersions.html @@ -0,0 +1,140 @@ + + + + + + + + MinimumVersions constructor - MinimumVersions - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
MinimumVersions
+ +
+ +
+ + +
+
+

MinimumVersions constructor + Null safety +

+ +
const + MinimumVersions(
  1. {required Version ios,
  2. +
  3. required Version android}
  4. +
) +
+ + + + + +
+

Implementation

+
const MinimumVersions({
+  required this.ios,
+  required this.android,
+});
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/MinimumVersions/android.html b/doc/api/app_versioning/MinimumVersions/android.html new file mode 100644 index 0000000..ff1c23b --- /dev/null +++ b/doc/api/app_versioning/MinimumVersions/android.html @@ -0,0 +1,138 @@ + + + + + + + + android property - MinimumVersions class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
android
+ +
+ +
+ + +
+
+

android property + Null safety +

+ +
+ Version + android +
final
+ +
+ + + +
+

Implementation

+
final Version android;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/MinimumVersions/ios.html b/doc/api/app_versioning/MinimumVersions/ios.html new file mode 100644 index 0000000..769e5a0 --- /dev/null +++ b/doc/api/app_versioning/MinimumVersions/ios.html @@ -0,0 +1,138 @@ + + + + + + + + ios property - MinimumVersions class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
ios
+ +
+ +
+ + +
+
+

ios property + Null safety +

+ +
+ Version + ios +
final
+ +
+ + + +
+

Implementation

+
final Version ios;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/MinimumVersions/toString.html b/doc/api/app_versioning/MinimumVersions/toString.html new file mode 100644 index 0000000..a76d4e8 --- /dev/null +++ b/doc/api/app_versioning/MinimumVersions/toString.html @@ -0,0 +1,160 @@ + + + + + + + + toString method - MinimumVersions class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
toString
+ +
+ +
+ + +
+
+

toString method + Null safety +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string representation.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + +
+

Implementation

+
@override
+String toString() {
+  return 'MinimumVersions{ios: $ios, android: $android}';
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/RemoteConfigKeys-class.html b/doc/api/app_versioning/RemoteConfigKeys-class.html new file mode 100644 index 0000000..45a4a63 --- /dev/null +++ b/doc/api/app_versioning/RemoteConfigKeys-class.html @@ -0,0 +1,279 @@ + + + + + + + + RemoteConfigKeys class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
RemoteConfigKeys
+ +
+ +
+ + +
+
+

RemoteConfigKeys class + Null safety + +

+ + + + + + +
+

Constructors

+ +
+
+ RemoteConfigKeys({String minimumIosVersionKey = "minimumIosVersion", String minimumAndroidVersionKey = "minimumAndroidVersion"}) +
+
+ +
const
+
+
+
+ +
+

Properties

+ +
+
+ hashCode + int + +
+
+ The hash code for this object. +
read-only, inherited
+ +
+ +
+ minimumAndroidVersionKey + String + +
+
+ +
final
+ +
+ +
+ minimumIosVersionKey + String + +
+
+ +
final
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ + +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/RemoteConfigKeys/RemoteConfigKeys.html b/doc/api/app_versioning/RemoteConfigKeys/RemoteConfigKeys.html new file mode 100644 index 0000000..2f6ca3e --- /dev/null +++ b/doc/api/app_versioning/RemoteConfigKeys/RemoteConfigKeys.html @@ -0,0 +1,140 @@ + + + + + + + + RemoteConfigKeys constructor - RemoteConfigKeys - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
RemoteConfigKeys
+ +
+ +
+ + +
+
+

RemoteConfigKeys constructor + Null safety +

+ +
const + RemoteConfigKeys(
  1. {String minimumIosVersionKey = "minimumIosVersion",
  2. +
  3. String minimumAndroidVersionKey = "minimumAndroidVersion"}
  4. +
) +
+ + + + + +
+

Implementation

+
const RemoteConfigKeys({
+  this.minimumIosVersionKey = "minimumIosVersion",
+  this.minimumAndroidVersionKey = "minimumAndroidVersion",
+});
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/RemoteConfigKeys/minimumAndroidVersionKey.html b/doc/api/app_versioning/RemoteConfigKeys/minimumAndroidVersionKey.html new file mode 100644 index 0000000..0f98980 --- /dev/null +++ b/doc/api/app_versioning/RemoteConfigKeys/minimumAndroidVersionKey.html @@ -0,0 +1,138 @@ + + + + + + + + minimumAndroidVersionKey property - RemoteConfigKeys class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
minimumAndroidVersionKey
+ +
+ +
+ + +
+
+

minimumAndroidVersionKey property + Null safety +

+ +
+ String + minimumAndroidVersionKey +
final
+ +
+ + + +
+

Implementation

+
final String minimumAndroidVersionKey;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/RemoteConfigKeys/minimumIosVersionKey.html b/doc/api/app_versioning/RemoteConfigKeys/minimumIosVersionKey.html new file mode 100644 index 0000000..48af231 --- /dev/null +++ b/doc/api/app_versioning/RemoteConfigKeys/minimumIosVersionKey.html @@ -0,0 +1,138 @@ + + + + + + + + minimumIosVersionKey property - RemoteConfigKeys class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
minimumIosVersionKey
+ +
+ +
+ + +
+
+

minimumIosVersionKey property + Null safety +

+ +
+ String + minimumIosVersionKey +
final
+ +
+ + + +
+

Implementation

+
final String minimumIosVersionKey;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/RemoteConfigKeys/toString.html b/doc/api/app_versioning/RemoteConfigKeys/toString.html new file mode 100644 index 0000000..2686930 --- /dev/null +++ b/doc/api/app_versioning/RemoteConfigKeys/toString.html @@ -0,0 +1,160 @@ + + + + + + + + toString method - RemoteConfigKeys class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
toString
+ +
+ +
+ + +
+
+

toString method + Null safety +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string representation.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + +
+

Implementation

+
@override
+String toString() {
+  return 'RemoteConfigKeys{minimumIosVersionKey: $minimumIosVersionKey, minimumAndroidVersionKey: $minimumAndroidVersionKey}';
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/UpdateConfig-class.html b/doc/api/app_versioning/UpdateConfig-class.html new file mode 100644 index 0000000..5897bee --- /dev/null +++ b/doc/api/app_versioning/UpdateConfig-class.html @@ -0,0 +1,291 @@ + + + + + + + + UpdateConfig class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
UpdateConfig
+ +
+ +
+ + +
+
+

UpdateConfig class + Null safety + +

+ + + + + + +
+

Constructors

+ +
+
+ UpdateConfig({String? appStoreAppId, String? playStoreAppId, String appstoreCountryCode = 'US'}) +
+
+ +
const
+
+
+
+ +
+

Properties

+ +
+
+ appStoreAppId + String? + +
+
+ +
final
+ +
+ +
+ appstoreCountryCode + String + +
+
+ +
final
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. +
read-only, inherited
+ +
+ +
+ playStoreAppId + String? + +
+
+ +
final
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ + +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/UpdateConfig/UpdateConfig.html b/doc/api/app_versioning/UpdateConfig/UpdateConfig.html new file mode 100644 index 0000000..cf4ec56 --- /dev/null +++ b/doc/api/app_versioning/UpdateConfig/UpdateConfig.html @@ -0,0 +1,143 @@ + + + + + + + + UpdateConfig constructor - UpdateConfig - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
UpdateConfig
+ +
+ +
+ + +
+
+

UpdateConfig constructor + Null safety +

+ +
const + UpdateConfig(
  1. {String? appStoreAppId,
  2. +
  3. String? playStoreAppId,
  4. +
  5. String appstoreCountryCode = 'US'}
  6. +
) +
+ + + + + +
+

Implementation

+
const UpdateConfig({
+  this.appStoreAppId,
+  this.playStoreAppId,
+  this.appstoreCountryCode = 'US',
+});
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/UpdateConfig/appStoreAppId.html b/doc/api/app_versioning/UpdateConfig/appStoreAppId.html new file mode 100644 index 0000000..66e9500 --- /dev/null +++ b/doc/api/app_versioning/UpdateConfig/appStoreAppId.html @@ -0,0 +1,139 @@ + + + + + + + + appStoreAppId property - UpdateConfig class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
appStoreAppId
+ +
+ +
+ + +
+
+

appStoreAppId property + Null safety +

+ +
+ String? + appStoreAppId +
final
+ +
+ + + +
+

Implementation

+
final String? appStoreAppId;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/UpdateConfig/appstoreCountryCode.html b/doc/api/app_versioning/UpdateConfig/appstoreCountryCode.html new file mode 100644 index 0000000..ec871e6 --- /dev/null +++ b/doc/api/app_versioning/UpdateConfig/appstoreCountryCode.html @@ -0,0 +1,139 @@ + + + + + + + + appstoreCountryCode property - UpdateConfig class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
appstoreCountryCode
+ +
+ +
+ + +
+
+

appstoreCountryCode property + Null safety +

+ +
+ String + appstoreCountryCode +
final
+ +
+ + + +
+

Implementation

+
final String appstoreCountryCode;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/UpdateConfig/playStoreAppId.html b/doc/api/app_versioning/UpdateConfig/playStoreAppId.html new file mode 100644 index 0000000..7ba4be8 --- /dev/null +++ b/doc/api/app_versioning/UpdateConfig/playStoreAppId.html @@ -0,0 +1,139 @@ + + + + + + + + playStoreAppId property - UpdateConfig class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
playStoreAppId
+ +
+ +
+ + +
+
+

playStoreAppId property + Null safety +

+ +
+ String? + playStoreAppId +
final
+ +
+ + + +
+

Implementation

+
final String? playStoreAppId;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/UpdateConfig/toString.html b/doc/api/app_versioning/UpdateConfig/toString.html new file mode 100644 index 0000000..0bce433 --- /dev/null +++ b/doc/api/app_versioning/UpdateConfig/toString.html @@ -0,0 +1,161 @@ + + + + + + + + toString method - UpdateConfig class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
toString
+ +
+ +
+ + +
+
+

toString method + Null safety +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string representation.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + +
+

Implementation

+
@override
+String toString() {
+  return 'UpdateConfig{appStoreAppId: $appStoreAppId, playStoreAppId: $playStoreAppId, appstoreCountryCode: $appstoreCountryCode}';
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version-class.html b/doc/api/app_versioning/Version-class.html new file mode 100644 index 0000000..17e96d6 --- /dev/null +++ b/doc/api/app_versioning/Version-class.html @@ -0,0 +1,482 @@ + + + + + + + + Version class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
Version
+ +
+ +
+ + +
+
+

Version class + Null safety + +

+ + +
+

Provides version objects to enforce conformance to the Semantic Versioning 2.0 spec. The spec can be read at http://semver.org/ +Provides immutable storage and comparison of semantic version numbers.

+
+ + +
+
+ + + +
Implemented types
+
+ +
+ + + + + +
+
+ + +
+

Constructors

+ +
+
+ Version(int major, int minor, int patch, {List<String> preRelease = const <String>[], String build = ""}) +
+
+ Creates a new instance of Version. +
+
+
+ +
+

Properties

+ +
+
+ build + String + +
+
+ Build information relevant to the version. Does not contribute to sorting. +
final
+ +
+ +
+ hashCode + int + +
+
+ The hash code for this object. +
read-only, override
+ +
+ +
+ major + int + +
+
+ The major number of the version, incremented when making breaking changes. +
final
+ +
+ +
+ minor + int + +
+
+ The minor number of the version, incremented when adding new functionality in a backwards-compatible manner. +
final
+ +
+ +
+ patch + int + +
+
+ The patch number of the version, incremented when making backwards-compatible bug fixes. +
final
+ +
+ +
+ preRelease + List<String> + +
+
+ Pre-release information segments. +
read-only
+ +
+ +
+ runtimeType + Type + +
+
+ A representation of the runtime type of the object. +
read-only, inherited
+ +
+ +
+
+ + +
+

Methods

+
+
+ compareTo(Version other) + int + + + +
+
+ Compares this object to another object. +
override
+ +
+ +
+ incrementMajor() + Version + + + +
+
+ Creates a new Version with the major version number incremented. + + +
+ +
+ incrementMinor() + Version + + + +
+
+ Creates a new Version with the minor version number incremented. + + +
+ +
+ incrementPatch() + Version + + + +
+
+ Creates a new Version with the patch version number incremented. + + +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a non-existent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ Returns a String representation of the Version. +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator <(dynamic o) + bool + + + +
+
+ Determines whether the left-hand Version represents a lower precedence than the right-hand Version. + + +
+ +
+ operator <=(dynamic o) + bool + + + +
+
+ Determines whether the left-hand Version represents an equal or lower precedence than the right-hand Version. + + +
+ +
+ operator ==(dynamic o) + bool + + + +
+
+ Determines whether the left-hand Version represents an equal precedence to the right-hand Version. +
override
+ +
+ +
+ operator >(dynamic o) + bool + + + +
+
+ Determines whether the left-hand Version represents a greater precedence than the right-hand Version. + + +
+ +
+ operator >=(dynamic o) + bool + + + +
+
+ Determines whether the left-hand Version represents an equal or greater precedence than the right-hand Version. + + +
+ +
+
+ + +
+

Static Methods

+
+
+ parse(String versionString) + Version + + + +
+
+ Creates a Version instance from a string. + + +
+ +
+ tryParse(String? versionString) + Version? + + + +
+
+ Creates a Version instance from a string. + + +
+ +
+
+ + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version/Version.html b/doc/api/app_versioning/Version/Version.html new file mode 100644 index 0000000..6db3c6e --- /dev/null +++ b/doc/api/app_versioning/Version/Version.html @@ -0,0 +1,183 @@ + + + + + + + + Version constructor - Version - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
Version
+ +
+ +
+ + +
+
+

Version constructor + Null safety +

+ +
+ Version(
  1. int major,
  2. +
  3. int minor,
  4. +
  5. int patch,
  6. +
  7. {List<String> preRelease = const <String>[],
  8. +
  9. String build = ""}
  10. +
) +
+ + +
+

Creates a new instance of Version.

+

major, minor, and patch are all required, all must be greater than 0 and not null, and at least one must be greater than 0. +preRelease is optional, but if specified must be a List of String and must not be null. Each element in the list represents one of the period-separated segments of the pre-release information, and may only contain 0-9A-Za-z-. +build is optional, but if specified must be a String. must contain only 0-9A-Za-z-., and must not be null. +Throws a FormatException if the String content does not follow the character constraints defined above. +Throes an ArgumentError if any of the other conditions are violated.

+
+ + + +
+

Implementation

+
Version(this.major, this.minor, this.patch,
+    {List<String> preRelease = const <String>[], this.build = ""})
+    : _preRelease = preRelease {
+  for (int i = 0; i < _preRelease.length; i++) {
+    if (_preRelease[i].toString().trim().isEmpty) {
+      throw ArgumentError("preRelease segments must not be null or empty");
+    }
+    // Just in case
+    _preRelease[i] = _preRelease[i].toString();
+    if (!_preReleaseRegex.hasMatch(_preRelease[i])) {
+      throw FormatException(
+          "preRelease segments must only contain [0-9A-Za-z-]");
+    }
+  }
+  if (this.build.isNotEmpty && !_buildRegex.hasMatch(this.build)) {
+    throw FormatException("build must only contain [0-9A-Za-z-.]");
+  }
+
+  if (major < 0 || minor < 0 || patch < 0) {
+    throw ArgumentError("Version numbers must be greater than 0");
+  }
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version/build.html b/doc/api/app_versioning/Version/build.html new file mode 100644 index 0000000..4916771 --- /dev/null +++ b/doc/api/app_versioning/Version/build.html @@ -0,0 +1,155 @@ + + + + + + + + build property - Version class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
build
+ +
+ +
+ + +
+
+

build property + Null safety +

+ +
+ String + build +
final
+ +
+ +
+

Build information relevant to the version. Does not contribute to sorting.

+
+ + +
+

Implementation

+
final String build;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version/compareTo.html b/doc/api/app_versioning/Version/compareTo.html new file mode 100644 index 0000000..b856a22 --- /dev/null +++ b/doc/api/app_versioning/Version/compareTo.html @@ -0,0 +1,171 @@ + + + + + + + + compareTo method - Version class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
compareTo
+ +
+ +
+ + +
+
+

compareTo method + Null safety +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +int +compareTo(
  1. Version other
  2. +
) + +
override
+ +
+ +
+

Compares this object to another object.

+

Returns a value like a Comparator when comparing this to other. +That is, it returns a negative integer if this is ordered before other, +a positive integer if this is ordered after other, +and zero if this and other are ordered together.

+

The other argument must be a value that is comparable to this object.

+
+ + + +
+

Implementation

+
@override
+int compareTo(Version other) {
+  return _compare(this, other);
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version/hashCode.html b/doc/api/app_versioning/Version/hashCode.html new file mode 100644 index 0000000..d83cd4a --- /dev/null +++ b/doc/api/app_versioning/Version/hashCode.html @@ -0,0 +1,186 @@ + + + + + + + + hashCode property - Version class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
hashCode
+ +
+ +
+ + +
+
+

hashCode property + Null safety +

+ + + +
+ +
+ int + hashCode +
override
+ +
+ + +
+

The hash code for this object.

+

A hash code is a single integer which represents the state of the object +that affects operator == comparisons.

+

All objects have hash codes. +The default hash code implemented by Object +represents only the identity of the object, +the same way as the default operator == implementation only considers objects +equal if they are identical (see identityHashCode).

+

If operator == is overridden to use the object state instead, +the hash code must also be changed to represent that state, +otherwise the object cannot be used in hash based data structures +like the default Set and Map implementations.

+

Hash codes must be the same for objects that are equal to each other +according to operator ==. +The hash code of an object should only change if the object changes +in a way that affects equality. +There are no further requirements for the hash codes. +They need not be consistent between executions of the same program +and there are no distribution guarantees.

+

Objects that are not equal are allowed to have the same hash code. +It is even technically allowed that all instances have the same hash code, +but if clashes happen too often, +it may reduce the efficiency of hash-based data structures +like HashSet or HashMap.

+

If a subclass overrides hashCode, it should override the +operator == operator as well to maintain consistency.

+
+ + +
+

Implementation

+
@override
+int get hashCode => this.toString().hashCode;
+
+ +
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version/incrementMajor.html b/doc/api/app_versioning/Version/incrementMajor.html new file mode 100644 index 0000000..330c60b --- /dev/null +++ b/doc/api/app_versioning/Version/incrementMajor.html @@ -0,0 +1,158 @@ + + + + + + + + incrementMajor method - Version class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
incrementMajor
+ +
+ +
+ + +
+
+

incrementMajor method + Null safety +

+ +
+ + +Version +incrementMajor() + + + +
+ +
+

Creates a new Version with the major version number incremented.

+

Also resets the minor and patch numbers to 0, and clears the build and preRelease information.

+
+ + + +
+

Implementation

+
Version incrementMajor() => Version(this.major + 1, 0, 0);
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version/incrementMinor.html b/doc/api/app_versioning/Version/incrementMinor.html new file mode 100644 index 0000000..bc7e964 --- /dev/null +++ b/doc/api/app_versioning/Version/incrementMinor.html @@ -0,0 +1,158 @@ + + + + + + + + incrementMinor method - Version class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
incrementMinor
+ +
+ +
+ + +
+
+

incrementMinor method + Null safety +

+ +
+ + +Version +incrementMinor() + + + +
+ +
+

Creates a new Version with the minor version number incremented.

+

Also resets the patch number to 0, and clears the build and preRelease information.

+
+ + + +
+

Implementation

+
Version incrementMinor() => Version(this.major, this.minor + 1, 0);
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version/incrementPatch.html b/doc/api/app_versioning/Version/incrementPatch.html new file mode 100644 index 0000000..d1d1a27 --- /dev/null +++ b/doc/api/app_versioning/Version/incrementPatch.html @@ -0,0 +1,158 @@ + + + + + + + + incrementPatch method - Version class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
incrementPatch
+ +
+ +
+ + +
+
+

incrementPatch method + Null safety +

+ +
+ + +Version +incrementPatch() + + + +
+ +
+

Creates a new Version with the patch version number incremented.

+

Also clears the build and preRelease information.

+
+ + + +
+

Implementation

+
Version incrementPatch() => Version(this.major, this.minor, this.patch + 1);
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version/major.html b/doc/api/app_versioning/Version/major.html new file mode 100644 index 0000000..2672cf5 --- /dev/null +++ b/doc/api/app_versioning/Version/major.html @@ -0,0 +1,155 @@ + + + + + + + + major property - Version class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
major
+ +
+ +
+ + +
+
+

major property + Null safety +

+ +
+ int + major +
final
+ +
+ +
+

The major number of the version, incremented when making breaking changes.

+
+ + +
+

Implementation

+
final int major;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version/minor.html b/doc/api/app_versioning/Version/minor.html new file mode 100644 index 0000000..cccab8e --- /dev/null +++ b/doc/api/app_versioning/Version/minor.html @@ -0,0 +1,155 @@ + + + + + + + + minor property - Version class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
minor
+ +
+ +
+ + +
+
+

minor property + Null safety +

+ +
+ int + minor +
final
+ +
+ +
+

The minor number of the version, incremented when adding new functionality in a backwards-compatible manner.

+
+ + +
+

Implementation

+
final int minor;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version/operator_equals.html b/doc/api/app_versioning/Version/operator_equals.html new file mode 100644 index 0000000..1b55389 --- /dev/null +++ b/doc/api/app_versioning/Version/operator_equals.html @@ -0,0 +1,164 @@ + + + + + + + + operator == method - Version class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
operator ==
+ +
+ +
+ + +
+
+

operator == method + Null safety +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +bool +operator ==(
  1. dynamic o
  2. +
) + +
override
+ +
+ +
+

Determines whether the left-hand Version represents an equal precedence to the right-hand Version.

+
+ + + +
+

Implementation

+
@override
+bool operator ==(dynamic o) => o is Version && _compare(this, o) == 0;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version/operator_greater.html b/doc/api/app_versioning/Version/operator_greater.html new file mode 100644 index 0000000..6031bfd --- /dev/null +++ b/doc/api/app_versioning/Version/operator_greater.html @@ -0,0 +1,158 @@ + + + + + + + + operator > method - Version class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
operator >
+ +
+ +
+ + +
+
+

operator > method + Null safety +

+ +
+ + +bool +operator >(
  1. dynamic o
  2. +
) + + + +
+ +
+

Determines whether the left-hand Version represents a greater precedence than the right-hand Version.

+
+ + + +
+

Implementation

+
bool operator >(dynamic o) => o is Version && _compare(this, o) > 0;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version/operator_greater_equal.html b/doc/api/app_versioning/Version/operator_greater_equal.html new file mode 100644 index 0000000..c211220 --- /dev/null +++ b/doc/api/app_versioning/Version/operator_greater_equal.html @@ -0,0 +1,158 @@ + + + + + + + + operator >= method - Version class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
operator >=
+ +
+ +
+ + +
+
+

operator >= method + Null safety +

+ +
+ + +bool +operator >=(
  1. dynamic o
  2. +
) + + + +
+ +
+

Determines whether the left-hand Version represents an equal or greater precedence than the right-hand Version.

+
+ + + +
+

Implementation

+
bool operator >=(dynamic o) => o is Version && _compare(this, o) >= 0;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version/operator_less.html b/doc/api/app_versioning/Version/operator_less.html new file mode 100644 index 0000000..557ade3 --- /dev/null +++ b/doc/api/app_versioning/Version/operator_less.html @@ -0,0 +1,158 @@ + + + + + + + + operator < method - Version class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
operator <
+ +
+ +
+ + +
+
+

operator < method + Null safety +

+ +
+ + +bool +operator <(
  1. dynamic o
  2. +
) + + + +
+ +
+

Determines whether the left-hand Version represents a lower precedence than the right-hand Version.

+
+ + + +
+

Implementation

+
bool operator <(dynamic o) => o is Version && _compare(this, o) < 0;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version/operator_less_equal.html b/doc/api/app_versioning/Version/operator_less_equal.html new file mode 100644 index 0000000..e758b72 --- /dev/null +++ b/doc/api/app_versioning/Version/operator_less_equal.html @@ -0,0 +1,158 @@ + + + + + + + + operator <= method - Version class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
operator <=
+ +
+ +
+ + +
+
+

operator <= method + Null safety +

+ +
+ + +bool +operator <=(
  1. dynamic o
  2. +
) + + + +
+ +
+

Determines whether the left-hand Version represents an equal or lower precedence than the right-hand Version.

+
+ + + +
+

Implementation

+
bool operator <=(dynamic o) => o is Version && _compare(this, o) <= 0;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version/parse.html b/doc/api/app_versioning/Version/parse.html new file mode 100644 index 0000000..3e07184 --- /dev/null +++ b/doc/api/app_versioning/Version/parse.html @@ -0,0 +1,194 @@ + + + + + + + + parse method - Version class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
parse
+ +
+ +
+ + +
+
+

parse method + Null safety +

+ +
+ + +Version +parse(
  1. String versionString
  2. +
) + + + +
+ +
+

Creates a Version instance from a string.

+

The string must conform to the specification at http://semver.org/ +Throws FormatException if the string is empty or does not conform to the spec.

+
+ + + +
+

Implementation

+
static Version parse(String versionString) {
+  if (versionString.trim().isEmpty) {
+    throw FormatException("Cannot parse empty string into version");
+  }
+  if (!_versionRegex.hasMatch(versionString)) {
+    throw FormatException("Not a properly formatted version string: $versionString");
+  }
+  final Match? m = _versionRegex.firstMatch(versionString);
+  if (m == null)
+    throw FormatException("Cannot match versionString $versionString regex");
+  final String? version = m.group(1);
+  if (version == null)
+    throw FormatException("Cannot parse versionString $versionString regex");
+
+  int major;
+  int? minor, patch;
+  final List<String> parts = version.split(".");
+  major = int.parse(parts[0]);
+  if (parts.length > 1) {
+    minor = int.parse(parts[1]);
+    if (parts.length > 2) {
+      patch = int.parse(parts[2]);
+    }
+  }
+
+  final String preReleaseString = m.group(3) ?? "";
+  List<String> preReleaseList = <String>[];
+  if (preReleaseString.trim().isNotEmpty) {
+    preReleaseList = preReleaseString.split(".");
+  }
+  final String build = m.group(5) ?? "";
+
+  return Version(major, minor ?? 0, patch ?? 0,
+      build: build, preRelease: preReleaseList);
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version/patch.html b/doc/api/app_versioning/Version/patch.html new file mode 100644 index 0000000..097dc8c --- /dev/null +++ b/doc/api/app_versioning/Version/patch.html @@ -0,0 +1,155 @@ + + + + + + + + patch property - Version class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
patch
+ +
+ +
+ + +
+
+

patch property + Null safety +

+ +
+ int + patch +
final
+ +
+ +
+

The patch number of the version, incremented when making backwards-compatible bug fixes.

+
+ + +
+

Implementation

+
final int patch;
+
+
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version/preRelease.html b/doc/api/app_versioning/Version/preRelease.html new file mode 100644 index 0000000..fa990ef --- /dev/null +++ b/doc/api/app_versioning/Version/preRelease.html @@ -0,0 +1,160 @@ + + + + + + + + preRelease property - Version class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
preRelease
+ +
+ +
+ + +
+
+

preRelease property + Null safety +

+ + + +
+ +
+ List<String> + preRelease + + +
+ + +
+

Pre-release information segments.

+
+ + +
+

Implementation

+
List<String> get preRelease => List<String>.from(_preRelease);
+
+ +
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version/toString.html b/doc/api/app_versioning/Version/toString.html new file mode 100644 index 0000000..bdc71da --- /dev/null +++ b/doc/api/app_versioning/Version/toString.html @@ -0,0 +1,177 @@ + + + + + + + + toString method - Version class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
toString
+ +
+ +
+ + +
+
+

toString method + Null safety +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +String +toString() + +
override
+ +
+ +
+

Returns a String representation of the Version.

+

Uses the format "$major.$minor.$patch". +If preRelease has segments available they are appended as "-segmentOne.segmentTwo", with each segment separated by a period. +If build is specified, it is appended as "+build.info" where "build.info" is whatever value build is set to. +If all preRelease and build are specified, then both are appended, preRelease first and build second. +An example of such output would be "1.0.0-preRelease.segment+build.info".

+
+ + + +
+

Implementation

+
@override
+String toString() {
+  final StringBuffer output = StringBuffer("$major.$minor.$patch");
+  if (_preRelease.isNotEmpty) {
+    output.write("-${_preRelease.join('.')}");
+  }
+  if (build.trim().isNotEmpty) {
+    output.write("+${build.trim()}");
+  }
+  return output.toString();
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/Version/tryParse.html b/doc/api/app_versioning/Version/tryParse.html new file mode 100644 index 0000000..67d422c --- /dev/null +++ b/doc/api/app_versioning/Version/tryParse.html @@ -0,0 +1,167 @@ + + + + + + + + tryParse method - Version class - app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
tryParse
+ +
+ +
+ + +
+
+

tryParse method + Null safety +

+ +
+ + +Version? +tryParse(
  1. String? versionString
  2. +
) + + + +
+ +
+

Creates a Version instance from a string.

+

The string must conform to the specification at http://semver.org/ +Returns null if the string is empty or does not conform to the spec.

+
+ + + +
+

Implementation

+
static Version? tryParse(String? versionString) {
+  try {
+    if (versionString == null) return null;
+    return parse(versionString);
+  } catch (e) {
+    return null;
+  }
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/app_versioning/app_versioning-library.html b/doc/api/app_versioning/app_versioning-library.html new file mode 100644 index 0000000..51d0222 --- /dev/null +++ b/doc/api/app_versioning/app_versioning-library.html @@ -0,0 +1,278 @@ + + + + + + + + app_versioning library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ + +
app_versioning
+ +
+ +
+ + +
+
+

app_versioning library + Null safety + +

+ + + + +
+

Classes

+ +
+
+ ApiConfig + +
+
+ +
+ +
+ ApiVersioningEndpoints + +
+
+ +
+ +
+ AppUpdateInfo + +
+
+ +
+ +
+ AppVersioning + +
+
+ +
+ +
+ DefaultOptionalUpdateService + +
+
+ +
+ +
+ DeviceVersioningService + +
+
+ +
+ +
+ MinimumVersioningService + +
+
+ +
+ +
+ MinimumVersions + +
+
+ +
+ +
+ RemoteConfigKeys + +
+
+ +
+ +
+ UpdateConfig + +
+
+ +
+ +
+ Version + +
+
+ Provides version objects to enforce conformance to the Semantic Versioning 2.0 spec. The spec can be read at http://semver.org/ +Provides immutable storage and comparison of semantic version numbers. +
+ +
+
+ + + + + + +
+

Enums

+ +
+
+ AppUpdateType + +
+
+ +
+ +
+
+ + +
+

Exceptions / Errors

+ +
+
+ AppVersioningException + +
+
+ +
+ +
+ FailedToGetCurrentVersion + +
+
+ Error getting current version from device +
+ +
+ FailedToGetMinimumVersions + +
+
+ Error getting minimum versions constraints +
+ +
+
+ +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/categories.json b/doc/api/categories.json new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/doc/api/categories.json @@ -0,0 +1 @@ +[] diff --git a/doc/api/index.html b/doc/api/index.html new file mode 100644 index 0000000..f9c0d4f --- /dev/null +++ b/doc/api/index.html @@ -0,0 +1,200 @@ + + + + + + + + + app_versioning - Dart API docs + + + + + + + + + + + + + + + + + +
+ +
+ + +
app_versioning
+ +
+ +
+ + +
+ +
+

App Versioning

+

Prompt users to update the app whenever there are new optional or mandatory updates available.

+

Overview

+

This packages provides a simple yet customisable way to suggest or force updates to Android & iOS apps +It is built on top of the in_app_update package for Android and upgrader for iOS.

+

Features

+
    +
  • Retrieve information about available updates from the Play Store or App Store.
  • +
  • Version bomb. Force users to update the app if the update is mandatory by configuring a minimum version using your custom Backend or Firebase Remote Config.
  • +
  • Launch Android updates using the native In-App Updates flows, supporting flexible and immediate updates.
  • +
  • Request iOS updates by redirecting to the App Store.
  • +
  • Track version update history using the Version Tracker.
  • +
+

Get Started

+

View the example project for a complete working example.

+

Initializing

+
    +
  1. +

    Initialize the AppVersioning class with your app's identifiers and minimum version provider.

    +
      +
    • The minimum version provider can be an apiService from your backend, a firebaseService from your remote config or a customService that you implement.
    • +
    +
     final appVersioning = AppVersioning.apiService(
    +     apiConfig: ApiConfig(
    +         endpoints: ApiVersioningEndpoints(
    +         "https://api.example.org",
    +         minimumVersioningEndpoint: "api/api-compatibility",
    +         ),
    +     ),
    +     updateConfig: UpdateConfig(
    +         appStoreAppId: "1234567890",
    +         playStoreAppId: "org.example.versioning",
    +         appstoreCountryCode: "US",
    +     ),
    +     );
    +
    +
  2. +
  3. +

    Track the current version when the app is launched.

    +
     await appVersioning.tracker.track();
    +
    +
  4. +
  5. +

    Check whether a new update is available.

    +
     final appUpdateInfo = await appVersioning.getAppUpdateInfo();
    +
    +
  6. +
  7. +

    If an update is available, prompt the user to update the app using your own UI elements.

    +
     if (appUpdateInfo.isUpdateAvailable) {
    +   _showUpdatePopup(appUpdateInfo.updateType == AppUpdateType.Mandatory);
    + }
    +
    +
  8. +
  9. +

    If the user accepts the update, or the update is mandatory, launch the update flow.

    +
     appVersioning.launchUpdate(updateInBackground: !isMandatory)
    +
    +
  10. +
+

Backend Services

+

Apps using a version below the minimum version will be forced to update with a mandatory update type. +This plugin currently supports 2 different backends to set the minimum version supported on the app.

+
    +
  1. API: An arbitrary URL endpoint that returns the minimum versions JSON.
  2. +
  3. Firebase Remote Config: Key/value pairs with the minimum versions specified on Firebase. +
    +

    This requires the project to include and set up Firebase separately.

    +
    +
  4. +
+

Contributing

+

Contributions are most welcome! Feel free to open a new issue or pull request to make this project better.

+

Deployment

+
    +
  1. Set the new version on the pubspec.yaml version field.
  2. +
  3. Update the CHANGELOG.md file documenting the changes.
  4. +
  5. Update the README.md file if necessary.
  6. +
  7. Run dart doc to update the documentation.
  8. +
  9. Run dart pub publish --dry-run to ensure the package can be published successfully.
  10. +
  11. Create a new tag with the release version git tag -a x.y.z -m "x.y.z" && git push --tags.
  12. +
  13. Navigate to GitHub Releases and create a new release for the previously created tag, including the CHANGELOG.md changes.
  14. +
  15. Finally run dart pub publish to deploy the project.
  16. +
+

Credits

+ +

License

+

This repo is covered under the MIT License.

+
+ + +
+

Libraries

+
+
+ app_versioning + +
+
+
+ +
+
+ +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/doc/api/index.json b/doc/api/index.json new file mode 100644 index 0000000..cb60479 --- /dev/null +++ b/doc/api/index.json @@ -0,0 +1 @@ +[{"name":"app_versioning","qualifiedName":"app_versioning","href":"app_versioning/app_versioning-library.html","type":"library","overriddenDepth":0,"packageName":"app_versioning"},{"name":"ApiConfig","qualifiedName":"app_versioning.ApiConfig","href":"app_versioning/ApiConfig-class.html","type":"class","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"app_versioning","type":"library"}},{"name":"ApiConfig","qualifiedName":"app_versioning.ApiConfig.ApiConfig","href":"app_versioning/ApiConfig/ApiConfig.html","type":"constructor","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"ApiConfig","type":"class"}},{"name":"endpoints","qualifiedName":"app_versioning.ApiConfig.endpoints","href":"app_versioning/ApiConfig/endpoints.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"ApiConfig","type":"class"}},{"name":"toString","qualifiedName":"app_versioning.ApiConfig.toString","href":"app_versioning/ApiConfig/toString.html","type":"method","overriddenDepth":1,"packageName":"app_versioning","enclosedBy":{"name":"ApiConfig","type":"class"}},{"name":"ApiVersioningEndpoints","qualifiedName":"app_versioning.ApiVersioningEndpoints","href":"app_versioning/ApiVersioningEndpoints-class.html","type":"class","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"app_versioning","type":"library"}},{"name":"ApiVersioningEndpoints","qualifiedName":"app_versioning.ApiVersioningEndpoints.ApiVersioningEndpoints","href":"app_versioning/ApiVersioningEndpoints/ApiVersioningEndpoints.html","type":"constructor","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"ApiVersioningEndpoints","type":"class"}},{"name":"minimumVersioningEndpoint","qualifiedName":"app_versioning.ApiVersioningEndpoints.minimumVersioningEndpoint","href":"app_versioning/ApiVersioningEndpoints/minimumVersioningEndpoint.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"ApiVersioningEndpoints","type":"class"}},{"name":"toString","qualifiedName":"app_versioning.ApiVersioningEndpoints.toString","href":"app_versioning/ApiVersioningEndpoints/toString.html","type":"method","overriddenDepth":1,"packageName":"app_versioning","enclosedBy":{"name":"ApiVersioningEndpoints","type":"class"}},{"name":"AppUpdateInfo","qualifiedName":"app_versioning.AppUpdateInfo","href":"app_versioning/AppUpdateInfo-class.html","type":"class","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"app_versioning","type":"library"}},{"name":"AppUpdateInfo","qualifiedName":"app_versioning.AppUpdateInfo.AppUpdateInfo","href":"app_versioning/AppUpdateInfo/AppUpdateInfo.html","type":"constructor","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"AppUpdateInfo","type":"class"}},{"name":"currentVersion","qualifiedName":"app_versioning.AppUpdateInfo.currentVersion","href":"app_versioning/AppUpdateInfo/currentVersion.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"AppUpdateInfo","type":"class"}},{"name":"isUpdateAvailable","qualifiedName":"app_versioning.AppUpdateInfo.isUpdateAvailable","href":"app_versioning/AppUpdateInfo/isUpdateAvailable.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"AppUpdateInfo","type":"class"}},{"name":"minimumVersion","qualifiedName":"app_versioning.AppUpdateInfo.minimumVersion","href":"app_versioning/AppUpdateInfo/minimumVersion.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"AppUpdateInfo","type":"class"}},{"name":"toString","qualifiedName":"app_versioning.AppUpdateInfo.toString","href":"app_versioning/AppUpdateInfo/toString.html","type":"method","overriddenDepth":1,"packageName":"app_versioning","enclosedBy":{"name":"AppUpdateInfo","type":"class"}},{"name":"updateType","qualifiedName":"app_versioning.AppUpdateInfo.updateType","href":"app_versioning/AppUpdateInfo/updateType.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"AppUpdateInfo","type":"class"}},{"name":"AppUpdateType","qualifiedName":"app_versioning.AppUpdateType","href":"app_versioning/AppUpdateType.html","type":"enum","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"app_versioning","type":"library"}},{"name":"AppUpdateType","qualifiedName":"app_versioning.AppUpdateType.AppUpdateType","href":"app_versioning/AppUpdateType/AppUpdateType.html","type":"constructor","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"AppUpdateType","type":"enum"}},{"name":"values","qualifiedName":"app_versioning.AppUpdateType.values","href":"app_versioning/AppUpdateType/values-constant.html","type":"constant","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"AppUpdateType","type":"enum"}},{"name":"AppVersioning","qualifiedName":"app_versioning.AppVersioning","href":"app_versioning/AppVersioning-class.html","type":"class","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"app_versioning","type":"library"}},{"name":"AppVersioning","qualifiedName":"app_versioning.AppVersioning.AppVersioning","href":"app_versioning/AppVersioning/AppVersioning.html","type":"constructor","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"AppVersioning","type":"class"}},{"name":"AppVersioning.apiService","qualifiedName":"app_versioning.AppVersioning.apiService","href":"app_versioning/AppVersioning/AppVersioning.apiService.html","type":"constructor","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"AppVersioning","type":"class"}},{"name":"AppVersioning.firebaseService","qualifiedName":"app_versioning.AppVersioning.firebaseService","href":"app_versioning/AppVersioning/AppVersioning.firebaseService.html","type":"constructor","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"AppVersioning","type":"class"}},{"name":"getAppUpdateInfo","qualifiedName":"app_versioning.AppVersioning.getAppUpdateInfo","href":"app_versioning/AppVersioning/getAppUpdateInfo.html","type":"method","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"AppVersioning","type":"class"}},{"name":"getCurrentAppVersion","qualifiedName":"app_versioning.AppVersioning.getCurrentAppVersion","href":"app_versioning/AppVersioning/getCurrentAppVersion.html","type":"method","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"AppVersioning","type":"class"}},{"name":"launchUpdate","qualifiedName":"app_versioning.AppVersioning.launchUpdate","href":"app_versioning/AppVersioning/launchUpdate.html","type":"method","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"AppVersioning","type":"class"}},{"name":"tracker","qualifiedName":"app_versioning.AppVersioning.tracker","href":"app_versioning/AppVersioning/tracker.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"AppVersioning","type":"class"}},{"name":"AppVersioningException","qualifiedName":"app_versioning.AppVersioningException","href":"app_versioning/AppVersioningException-class.html","type":"class","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"app_versioning","type":"library"}},{"name":"AppVersioningException","qualifiedName":"app_versioning.AppVersioningException.AppVersioningException","href":"app_versioning/AppVersioningException/AppVersioningException.html","type":"constructor","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"AppVersioningException","type":"class"}},{"name":"DefaultOptionalUpdateService","qualifiedName":"app_versioning.DefaultOptionalUpdateService","href":"app_versioning/DefaultOptionalUpdateService-class.html","type":"class","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"app_versioning","type":"library"}},{"name":"DefaultOptionalUpdateService","qualifiedName":"app_versioning.DefaultOptionalUpdateService.DefaultOptionalUpdateService","href":"app_versioning/DefaultOptionalUpdateService/DefaultOptionalUpdateService.html","type":"constructor","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"DefaultOptionalUpdateService","type":"class"}},{"name":"isOptionalUpdateAvailable","qualifiedName":"app_versioning.DefaultOptionalUpdateService.isOptionalUpdateAvailable","href":"app_versioning/DefaultOptionalUpdateService/isOptionalUpdateAvailable.html","type":"method","overriddenDepth":1,"packageName":"app_versioning","enclosedBy":{"name":"DefaultOptionalUpdateService","type":"class"}},{"name":"updateConfig","qualifiedName":"app_versioning.DefaultOptionalUpdateService.updateConfig","href":"app_versioning/DefaultOptionalUpdateService/updateConfig.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"DefaultOptionalUpdateService","type":"class"}},{"name":"DeviceVersioningService","qualifiedName":"app_versioning.DeviceVersioningService","href":"app_versioning/DeviceVersioningService-class.html","type":"class","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"app_versioning","type":"library"}},{"name":"DeviceVersioningService","qualifiedName":"app_versioning.DeviceVersioningService.DeviceVersioningService","href":"app_versioning/DeviceVersioningService/DeviceVersioningService.html","type":"constructor","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"DeviceVersioningService","type":"class"}},{"name":"getCurrentVersion","qualifiedName":"app_versioning.DeviceVersioningService.getCurrentVersion","href":"app_versioning/DeviceVersioningService/getCurrentVersion.html","type":"method","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"DeviceVersioningService","type":"class"}},{"name":"launchUpdate","qualifiedName":"app_versioning.DeviceVersioningService.launchUpdate","href":"app_versioning/DeviceVersioningService/launchUpdate.html","type":"method","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"DeviceVersioningService","type":"class"}},{"name":"FailedToGetCurrentVersion","qualifiedName":"app_versioning.FailedToGetCurrentVersion","href":"app_versioning/FailedToGetCurrentVersion-class.html","type":"class","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"app_versioning","type":"library"}},{"name":"FailedToGetCurrentVersion","qualifiedName":"app_versioning.FailedToGetCurrentVersion.FailedToGetCurrentVersion","href":"app_versioning/FailedToGetCurrentVersion/FailedToGetCurrentVersion.html","type":"constructor","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"FailedToGetCurrentVersion","type":"class"}},{"name":"error","qualifiedName":"app_versioning.FailedToGetCurrentVersion.error","href":"app_versioning/FailedToGetCurrentVersion/error.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"FailedToGetCurrentVersion","type":"class"}},{"name":"toString","qualifiedName":"app_versioning.FailedToGetCurrentVersion.toString","href":"app_versioning/FailedToGetCurrentVersion/toString.html","type":"method","overriddenDepth":1,"packageName":"app_versioning","enclosedBy":{"name":"FailedToGetCurrentVersion","type":"class"}},{"name":"FailedToGetMinimumVersions","qualifiedName":"app_versioning.FailedToGetMinimumVersions","href":"app_versioning/FailedToGetMinimumVersions-class.html","type":"class","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"app_versioning","type":"library"}},{"name":"FailedToGetMinimumVersions","qualifiedName":"app_versioning.FailedToGetMinimumVersions.FailedToGetMinimumVersions","href":"app_versioning/FailedToGetMinimumVersions/FailedToGetMinimumVersions.html","type":"constructor","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"FailedToGetMinimumVersions","type":"class"}},{"name":"error","qualifiedName":"app_versioning.FailedToGetMinimumVersions.error","href":"app_versioning/FailedToGetMinimumVersions/error.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"FailedToGetMinimumVersions","type":"class"}},{"name":"toString","qualifiedName":"app_versioning.FailedToGetMinimumVersions.toString","href":"app_versioning/FailedToGetMinimumVersions/toString.html","type":"method","overriddenDepth":1,"packageName":"app_versioning","enclosedBy":{"name":"FailedToGetMinimumVersions","type":"class"}},{"name":"MinimumVersioningService","qualifiedName":"app_versioning.MinimumVersioningService","href":"app_versioning/MinimumVersioningService-class.html","type":"class","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"app_versioning","type":"library"}},{"name":"MinimumVersioningService","qualifiedName":"app_versioning.MinimumVersioningService.MinimumVersioningService","href":"app_versioning/MinimumVersioningService/MinimumVersioningService.html","type":"constructor","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"MinimumVersioningService","type":"class"}},{"name":"getMinimumVersions","qualifiedName":"app_versioning.MinimumVersioningService.getMinimumVersions","href":"app_versioning/MinimumVersioningService/getMinimumVersions.html","type":"method","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"MinimumVersioningService","type":"class"}},{"name":"MinimumVersions","qualifiedName":"app_versioning.MinimumVersions","href":"app_versioning/MinimumVersions-class.html","type":"class","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"app_versioning","type":"library"}},{"name":"MinimumVersions","qualifiedName":"app_versioning.MinimumVersions.MinimumVersions","href":"app_versioning/MinimumVersions/MinimumVersions.html","type":"constructor","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"MinimumVersions","type":"class"}},{"name":"android","qualifiedName":"app_versioning.MinimumVersions.android","href":"app_versioning/MinimumVersions/android.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"MinimumVersions","type":"class"}},{"name":"ios","qualifiedName":"app_versioning.MinimumVersions.ios","href":"app_versioning/MinimumVersions/ios.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"MinimumVersions","type":"class"}},{"name":"toString","qualifiedName":"app_versioning.MinimumVersions.toString","href":"app_versioning/MinimumVersions/toString.html","type":"method","overriddenDepth":1,"packageName":"app_versioning","enclosedBy":{"name":"MinimumVersions","type":"class"}},{"name":"RemoteConfigKeys","qualifiedName":"app_versioning.RemoteConfigKeys","href":"app_versioning/RemoteConfigKeys-class.html","type":"class","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"app_versioning","type":"library"}},{"name":"RemoteConfigKeys","qualifiedName":"app_versioning.RemoteConfigKeys.RemoteConfigKeys","href":"app_versioning/RemoteConfigKeys/RemoteConfigKeys.html","type":"constructor","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"RemoteConfigKeys","type":"class"}},{"name":"minimumAndroidVersionKey","qualifiedName":"app_versioning.RemoteConfigKeys.minimumAndroidVersionKey","href":"app_versioning/RemoteConfigKeys/minimumAndroidVersionKey.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"RemoteConfigKeys","type":"class"}},{"name":"minimumIosVersionKey","qualifiedName":"app_versioning.RemoteConfigKeys.minimumIosVersionKey","href":"app_versioning/RemoteConfigKeys/minimumIosVersionKey.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"RemoteConfigKeys","type":"class"}},{"name":"toString","qualifiedName":"app_versioning.RemoteConfigKeys.toString","href":"app_versioning/RemoteConfigKeys/toString.html","type":"method","overriddenDepth":1,"packageName":"app_versioning","enclosedBy":{"name":"RemoteConfigKeys","type":"class"}},{"name":"UpdateConfig","qualifiedName":"app_versioning.UpdateConfig","href":"app_versioning/UpdateConfig-class.html","type":"class","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"app_versioning","type":"library"}},{"name":"UpdateConfig","qualifiedName":"app_versioning.UpdateConfig.UpdateConfig","href":"app_versioning/UpdateConfig/UpdateConfig.html","type":"constructor","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"UpdateConfig","type":"class"}},{"name":"appStoreAppId","qualifiedName":"app_versioning.UpdateConfig.appStoreAppId","href":"app_versioning/UpdateConfig/appStoreAppId.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"UpdateConfig","type":"class"}},{"name":"appstoreCountryCode","qualifiedName":"app_versioning.UpdateConfig.appstoreCountryCode","href":"app_versioning/UpdateConfig/appstoreCountryCode.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"UpdateConfig","type":"class"}},{"name":"playStoreAppId","qualifiedName":"app_versioning.UpdateConfig.playStoreAppId","href":"app_versioning/UpdateConfig/playStoreAppId.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"UpdateConfig","type":"class"}},{"name":"toString","qualifiedName":"app_versioning.UpdateConfig.toString","href":"app_versioning/UpdateConfig/toString.html","type":"method","overriddenDepth":1,"packageName":"app_versioning","enclosedBy":{"name":"UpdateConfig","type":"class"}},{"name":"Version","qualifiedName":"app_versioning.Version","href":"app_versioning/Version-class.html","type":"class","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"app_versioning","type":"library"}},{"name":"operator <","qualifiedName":"app_versioning.Version.<","href":"app_versioning/Version/operator_less.html","type":"method","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"Version","type":"class"}},{"name":"operator <=","qualifiedName":"app_versioning.Version.<=","href":"app_versioning/Version/operator_less_equal.html","type":"method","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"Version","type":"class"}},{"name":"operator ==","qualifiedName":"app_versioning.Version.==","href":"app_versioning/Version/operator_equals.html","type":"method","overriddenDepth":1,"packageName":"app_versioning","enclosedBy":{"name":"Version","type":"class"}},{"name":"operator >","qualifiedName":"app_versioning.Version.>","href":"app_versioning/Version/operator_greater.html","type":"method","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"Version","type":"class"}},{"name":"operator >=","qualifiedName":"app_versioning.Version.>=","href":"app_versioning/Version/operator_greater_equal.html","type":"method","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"Version","type":"class"}},{"name":"Version","qualifiedName":"app_versioning.Version.Version","href":"app_versioning/Version/Version.html","type":"constructor","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"Version","type":"class"}},{"name":"build","qualifiedName":"app_versioning.Version.build","href":"app_versioning/Version/build.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"Version","type":"class"}},{"name":"compareTo","qualifiedName":"app_versioning.Version.compareTo","href":"app_versioning/Version/compareTo.html","type":"method","overriddenDepth":1,"packageName":"app_versioning","enclosedBy":{"name":"Version","type":"class"}},{"name":"hashCode","qualifiedName":"app_versioning.Version.hashCode","href":"app_versioning/Version/hashCode.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"Version","type":"class"}},{"name":"incrementMajor","qualifiedName":"app_versioning.Version.incrementMajor","href":"app_versioning/Version/incrementMajor.html","type":"method","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"Version","type":"class"}},{"name":"incrementMinor","qualifiedName":"app_versioning.Version.incrementMinor","href":"app_versioning/Version/incrementMinor.html","type":"method","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"Version","type":"class"}},{"name":"incrementPatch","qualifiedName":"app_versioning.Version.incrementPatch","href":"app_versioning/Version/incrementPatch.html","type":"method","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"Version","type":"class"}},{"name":"major","qualifiedName":"app_versioning.Version.major","href":"app_versioning/Version/major.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"Version","type":"class"}},{"name":"minor","qualifiedName":"app_versioning.Version.minor","href":"app_versioning/Version/minor.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"Version","type":"class"}},{"name":"parse","qualifiedName":"app_versioning.Version.parse","href":"app_versioning/Version/parse.html","type":"method","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"Version","type":"class"}},{"name":"patch","qualifiedName":"app_versioning.Version.patch","href":"app_versioning/Version/patch.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"Version","type":"class"}},{"name":"preRelease","qualifiedName":"app_versioning.Version.preRelease","href":"app_versioning/Version/preRelease.html","type":"property","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"Version","type":"class"}},{"name":"toString","qualifiedName":"app_versioning.Version.toString","href":"app_versioning/Version/toString.html","type":"method","overriddenDepth":1,"packageName":"app_versioning","enclosedBy":{"name":"Version","type":"class"}},{"name":"tryParse","qualifiedName":"app_versioning.Version.tryParse","href":"app_versioning/Version/tryParse.html","type":"method","overriddenDepth":0,"packageName":"app_versioning","enclosedBy":{"name":"Version","type":"class"}}] diff --git a/doc/api/static-assets/docs.dart.js b/doc/api/static-assets/docs.dart.js new file mode 100644 index 0000000..3407cb8 --- /dev/null +++ b/doc/api/static-assets/docs.dart.js @@ -0,0 +1,5808 @@ +(function dartProgram(){function copyProperties(a,b){var s=Object.keys(a) +for(var r=0;r=0)return true +if(typeof version=="function"&&version.length==0){var q=version() +if(/^\d+\.\d+\.\d+\.\d+$/.test(q))return true}}catch(p){}return false}() +function inherit(a,b){a.prototype.constructor=a +a.prototype["$i"+a.name]=a +if(b!=null){if(z){a.prototype.__proto__=b.prototype +return}var s=Object.create(b.prototype) +copyProperties(a.prototype,s) +a.prototype=s}}function inheritMany(a,b){for(var s=0;s").b(a))return new A.ce(a,b.l("@<0>").G(c).l("ce<1,2>")) +return new A.aO(a,b.l("@<0>").G(c).l("aO<1,2>"))}, +ja(a){return new A.d9("Field '"+a+"' has been assigned during initialization.")}, +hU(a){var s,r=a^48 +if(r<=9)return r +s=a|32 +if(97<=s&&s<=102)return s-87 +return-1}, +fM(a,b){a=a+b&536870911 +a=a+((a&524287)<<10)&536870911 +return a^a>>>6}, +lf(a){a=a+((a&67108863)<<3)&536870911 +a^=a>>>11 +return a+((a&16383)<<15)&536870911}, +bC(a,b,c){return a}, +kX(a,b,c,d){if(t.O.b(a))return new A.bL(a,b,c.l("@<0>").G(d).l("bL<1,2>")) +return new A.aY(a,b,c.l("@<0>").G(d).l("aY<1,2>"))}, +is(){return new A.bm("No element")}, +kP(){return new A.bm("Too many elements")}, +le(a,b){A.dw(a,0,J.ap(a)-1,b)}, +dw(a,b,c,d){if(c-b<=32)A.ld(a,b,c,d) +else A.lc(a,b,c,d)}, +ld(a,b,c,d){var s,r,q,p,o +for(s=b+1,r=J.b6(a);s<=c;++s){q=r.h(a,s) +p=s +while(!0){if(!(p>b&&d.$2(r.h(a,p-1),q)>0))break +o=p-1 +r.i(a,p,r.h(a,o)) +p=o}r.i(a,p,q)}}, +lc(a3,a4,a5,a6){var s,r,q,p,o,n,m,l,k,j,i=B.c.au(a5-a4+1,6),h=a4+i,g=a5-i,f=B.c.au(a4+a5,2),e=f-i,d=f+i,c=J.b6(a3),b=c.h(a3,h),a=c.h(a3,e),a0=c.h(a3,f),a1=c.h(a3,d),a2=c.h(a3,g) +if(a6.$2(b,a)>0){s=a +a=b +b=s}if(a6.$2(a1,a2)>0){s=a2 +a2=a1 +a1=s}if(a6.$2(b,a0)>0){s=a0 +a0=b +b=s}if(a6.$2(a,a0)>0){s=a0 +a0=a +a=s}if(a6.$2(b,a1)>0){s=a1 +a1=b +b=s}if(a6.$2(a0,a1)>0){s=a1 +a1=a0 +a0=s}if(a6.$2(a,a2)>0){s=a2 +a2=a +a=s}if(a6.$2(a,a0)>0){s=a0 +a0=a +a=s}if(a6.$2(a1,a2)>0){s=a2 +a2=a1 +a1=s}c.i(a3,h,b) +c.i(a3,f,a0) +c.i(a3,g,a2) +c.i(a3,e,c.h(a3,a4)) +c.i(a3,d,c.h(a3,a5)) +r=a4+1 +q=a5-1 +if(J.ba(a6.$2(a,a1),0)){for(p=r;p<=q;++p){o=c.h(a3,p) +n=a6.$2(o,a) +if(n===0)continue +if(n<0){if(p!==r){c.i(a3,p,c.h(a3,r)) +c.i(a3,r,o)}++r}else for(;!0;){n=a6.$2(c.h(a3,q),a) +if(n>0){--q +continue}else{m=q-1 +if(n<0){c.i(a3,p,c.h(a3,r)) +l=r+1 +c.i(a3,r,c.h(a3,q)) +c.i(a3,q,o) +q=m +r=l +break}else{c.i(a3,p,c.h(a3,q)) +c.i(a3,q,o) +q=m +break}}}}k=!0}else{for(p=r;p<=q;++p){o=c.h(a3,p) +if(a6.$2(o,a)<0){if(p!==r){c.i(a3,p,c.h(a3,r)) +c.i(a3,r,o)}++r}else if(a6.$2(o,a1)>0)for(;!0;)if(a6.$2(c.h(a3,q),a1)>0){--q +if(qg){for(;J.ba(a6.$2(c.h(a3,r),a),0);)++r +for(;J.ba(a6.$2(c.h(a3,q),a1),0);)--q +for(p=r;p<=q;++p){o=c.h(a3,p) +if(a6.$2(o,a)===0){if(p!==r){c.i(a3,p,c.h(a3,r)) +c.i(a3,r,o)}++r}else if(a6.$2(o,a1)===0)for(;!0;)if(a6.$2(c.h(a3,q),a1)===0){--q +if(q36)throw A.b(A.T(b,2,36,"radix",n)) +if(b===10&&s!=null)return parseInt(a,10) +if(b<10||s==null){r=b<=10?47+b:86+b +q=m[1] +for(p=q.length,o=0;or)return n}return parseInt(a,b)}, +fI(a){return A.l_(a)}, +l_(a){var s,r,q,p,o +if(a instanceof A.q)return A.Q(A.b8(a),null) +s=J.aI(a) +if(s===B.M||s===B.O||t.o.b(a)){r=B.l(a) +q=r!=="Object"&&r!=="" +if(q)return r +p=a.constructor +if(typeof p=="function"){o=p.name +if(typeof o=="string")q=o!=="Object"&&o!=="" +else q=!1 +if(q)return o}}return A.Q(A.b8(a),null)}, +l8(a,b,c){var s,r,q,p +if(c<=500&&b===0&&c===a.length)return String.fromCharCode.apply(null,a) +for(s=b,r="";s>>0,s&1023|56320)}}throw A.b(A.T(a,0,1114111,null,null))}, +b0(a){if(a.date===void 0)a.date=new Date(a.a) +return a.date}, +l7(a){var s=A.b0(a).getFullYear()+0 +return s}, +l5(a){var s=A.b0(a).getMonth()+1 +return s}, +l1(a){var s=A.b0(a).getDate()+0 +return s}, +l2(a){var s=A.b0(a).getHours()+0 +return s}, +l4(a){var s=A.b0(a).getMinutes()+0 +return s}, +l6(a){var s=A.b0(a).getSeconds()+0 +return s}, +l3(a){var s=A.b0(a).getMilliseconds()+0 +return s}, +ax(a,b,c){var s,r,q={} +q.a=0 +s=[] +r=[] +q.a=b.length +B.b.I(s,b) +q.b="" +if(c!=null&&c.a!==0)c.v(0,new A.fH(q,r,s)) +return J.kx(a,new A.fn(B.Z,0,s,r,0))}, +l0(a,b,c){var s,r,q=c==null||c.a===0 +if(q){s=b.length +if(s===0){if(!!a.$0)return a.$0()}else if(s===1){if(!!a.$1)return a.$1(b[0])}else if(s===2){if(!!a.$2)return a.$2(b[0],b[1])}else if(s===3){if(!!a.$3)return a.$3(b[0],b[1],b[2])}else if(s===4){if(!!a.$4)return a.$4(b[0],b[1],b[2],b[3])}else if(s===5)if(!!a.$5)return a.$5(b[0],b[1],b[2],b[3],b[4]) +r=a[""+"$"+s] +if(r!=null)return r.apply(a,b)}return A.kZ(a,b,c)}, +kZ(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=b.length,e=a.$R +if(fn)return A.ax(a,b,null) +if(fe)return A.ax(a,b,c) +l=A.fu(b,!0,t.z) +k=Object.keys(q) +if(c==null)for(r=k.length,j=0;j=s)return A.z(b,a,r,null,s) +return A.l9(b,r)}, +mC(a){return new A.Z(!0,a,null,null)}, +b(a){var s,r +if(a==null)a=new A.dm() +s=new Error() +s.dartException=a +r=A.n5 +if("defineProperty" in Object){Object.defineProperty(s,"message",{get:r}) +s.name=""}else s.toString=r +return s}, +n5(){return J.bc(this.dartException)}, +aK(a){throw A.b(a)}, +b9(a){throw A.b(A.ar(a))}, +ak(a){var s,r,q,p,o,n +a=A.k7(a.replace(String({}),"$receiver$")) +s=a.match(/\\\$[a-zA-Z]+\\\$/g) +if(s==null)s=A.n([],t.s) +r=s.indexOf("\\$arguments\\$") +q=s.indexOf("\\$argumentsExpr\\$") +p=s.indexOf("\\$expr\\$") +o=s.indexOf("\\$method\\$") +n=s.indexOf("\\$receiver\\$") +return new A.fP(a.replace(new RegExp("\\\\\\$arguments\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$","g"),"((?:x|[^x])*)"),r,q,p,o,n)}, +fQ(a){return function($expr$){var $argumentsExpr$="$arguments$" +try{$expr$.$method$($argumentsExpr$)}catch(s){return s.message}}(a)}, +jo(a){return function($expr$){try{$expr$.$method$}catch(s){return s.message}}(a)}, +iu(a,b){var s=b==null,r=s?null:b.method +return new A.d8(a,r,s?null:b.receiver)}, +ao(a){if(a==null)return new A.fE(a) +if(a instanceof A.bN)return A.aJ(a,a.a) +if(typeof a!=="object")return a +if("dartException" in a)return A.aJ(a,a.dartException) +return A.mA(a)}, +aJ(a,b){if(t.U.b(b))if(b.$thrownJsError==null)b.$thrownJsError=a +return b}, +mA(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=null +if(!("message" in a))return a +s=a.message +if("number" in a&&typeof a.number=="number"){r=a.number +q=r&65535 +if((B.c.a1(r,16)&8191)===10)switch(q){case 438:return A.aJ(a,A.iu(A.p(s)+" (Error "+q+")",e)) +case 445:case 5007:p=A.p(s) +return A.aJ(a,new A.c5(p+" (Error "+q+")",e))}}if(a instanceof TypeError){o=$.ka() +n=$.kb() +m=$.kc() +l=$.kd() +k=$.kg() +j=$.kh() +i=$.kf() +$.ke() +h=$.kj() +g=$.ki() +f=o.L(s) +if(f!=null)return A.aJ(a,A.iu(s,f)) +else{f=n.L(s) +if(f!=null){f.method="call" +return A.aJ(a,A.iu(s,f))}else{f=m.L(s) +if(f==null){f=l.L(s) +if(f==null){f=k.L(s) +if(f==null){f=j.L(s) +if(f==null){f=i.L(s) +if(f==null){f=l.L(s) +if(f==null){f=h.L(s) +if(f==null){f=g.L(s) +p=f!=null}else p=!0}else p=!0}else p=!0}else p=!0}else p=!0}else p=!0}else p=!0 +if(p)return A.aJ(a,new A.c5(s,f==null?e:f.method))}}return A.aJ(a,new A.dL(typeof s=="string"?s:""))}if(a instanceof RangeError){if(typeof s=="string"&&s.indexOf("call stack")!==-1)return new A.c8() +s=function(b){try{return String(b)}catch(d){}return null}(a) +return A.aJ(a,new A.Z(!1,e,e,typeof s=="string"?s.replace(/^RangeError:\s*/,""):s))}if(typeof InternalError=="function"&&a instanceof InternalError)if(typeof s=="string"&&s==="too much recursion")return new A.c8() +return a}, +b7(a){var s +if(a instanceof A.bN)return a.b +if(a==null)return new A.cu(a) +s=a.$cachedTrace +if(s!=null)return s +return a.$cachedTrace=new A.cu(a)}, +k3(a){if(a==null||typeof a!="object")return J.eZ(a) +else return A.ds(a)}, +mS(a,b,c,d,e,f){switch(b){case 0:return a.$0() +case 1:return a.$1(c) +case 2:return a.$2(c,d) +case 3:return a.$3(c,d,e) +case 4:return a.$4(c,d,e,f)}throw A.b(new A.h7("Unsupported number of arguments for wrapped closure"))}, +bD(a,b){var s +if(a==null)return null +s=a.$identity +if(!!s)return s +s=function(c,d,e){return function(f,g,h,i){return e(c,d,f,g,h,i)}}(a,b,A.mS) +a.$identity=s +return s}, +kG(a2){var s,r,q,p,o,n,m,l,k,j,i=a2.co,h=a2.iS,g=a2.iI,f=a2.nDA,e=a2.aI,d=a2.fs,c=a2.cs,b=d[0],a=c[0],a0=i[b],a1=a2.fT +a1.toString +s=h?Object.create(new A.dz().constructor.prototype):Object.create(new A.bf(null,null).constructor.prototype) +s.$initialize=s.constructor +if(h)r=function static_tear_off(){this.$initialize()} +else r=function tear_off(a3,a4){this.$initialize(a3,a4)} +s.constructor=r +r.prototype=s +s.$_name=b +s.$_target=a0 +q=!h +if(q)p=A.j5(b,a0,g,f) +else{s.$static_name=b +p=a0}s.$S=A.kC(a1,h,g) +s[a]=p +for(o=p,n=1;n=0}, +mI(a){if(a.indexOf("$",0)>=0)return a.replace(/\$/g,"$$$$") +return a}, +k7(a){if(/[[\]{}()*+?.\\^$|]/.test(a))return a.replace(/[[\]{}()*+?.\\^$|]/g,"\\$&") +return a}, +n1(a,b,c){var s=A.n2(a,b,c) +return s}, +n2(a,b,c){var s,r,q,p +if(b===""){if(a==="")return c +s=a.length +r=""+c +for(q=0;q=0)return a.split(b).join(c) +return a.replace(new RegExp(A.k7(b),"g"),A.mI(c))}, +bG:function bG(a,b){this.a=a +this.$ti=b}, +bF:function bF(){}, +a6:function a6(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +fn:function fn(a,b,c,d,e){var _=this +_.a=a +_.c=b +_.d=c +_.e=d +_.f=e}, +fH:function fH(a,b,c){this.a=a +this.b=b +this.c=c}, +fP:function fP(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +c5:function c5(a,b){this.a=a +this.b=b}, +d8:function d8(a,b,c){this.a=a +this.b=b +this.c=c}, +dL:function dL(a){this.a=a}, +fE:function fE(a){this.a=a}, +bN:function bN(a,b){this.a=a +this.b=b}, +cu:function cu(a){this.a=a +this.b=null}, +aP:function aP(){}, +cT:function cT(){}, +cU:function cU(){}, +dF:function dF(){}, +dz:function dz(){}, +bf:function bf(a,b){this.a=a +this.b=b}, +du:function du(a){this.a=a}, +hm:function hm(){}, +aV:function aV(a){var _=this +_.a=0 +_.f=_.e=_.d=_.c=_.b=null +_.r=0 +_.$ti=a}, +fs:function fs(a,b){var _=this +_.a=a +_.b=b +_.d=_.c=null}, +aX:function aX(a,b){this.a=a +this.$ti=b}, +db:function db(a,b){var _=this +_.a=a +_.b=b +_.d=_.c=null}, +hV:function hV(a){this.a=a}, +hW:function hW(a){this.a=a}, +hX:function hX(a){this.a=a}, +fo:function fo(a,b){var _=this +_.a=a +_.b=b +_.d=_.c=null}, +m7(a){return a}, +kY(a){return new Int8Array(a)}, +am(a,b,c){if(a>>>0!==a||a>=c)throw A.b(A.cI(b,a))}, +b_:function b_(){}, +bj:function bj(){}, +aZ:function aZ(){}, +c0:function c0(){}, +dg:function dg(){}, +dh:function dh(){}, +di:function di(){}, +dj:function dj(){}, +dk:function dk(){}, +c1:function c1(){}, +c2:function c2(){}, +cl:function cl(){}, +cm:function cm(){}, +cn:function cn(){}, +co:function co(){}, +jk(a,b){var s=b.c +return s==null?b.c=A.iB(a,b.y,!0):s}, +jj(a,b){var s=b.c +return s==null?b.c=A.cy(a,"a8",[b.y]):s}, +jl(a){var s=a.x +if(s===6||s===7||s===8)return A.jl(a.y) +return s===11||s===12}, +lb(a){return a.at}, +cJ(a){return A.eK(v.typeUniverse,a,!1)}, +aG(a,b,a0,a1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c=b.x +switch(c){case 5:case 1:case 2:case 3:case 4:return b +case 6:s=b.y +r=A.aG(a,s,a0,a1) +if(r===s)return b +return A.jC(a,r,!0) +case 7:s=b.y +r=A.aG(a,s,a0,a1) +if(r===s)return b +return A.iB(a,r,!0) +case 8:s=b.y +r=A.aG(a,s,a0,a1) +if(r===s)return b +return A.jB(a,r,!0) +case 9:q=b.z +p=A.cH(a,q,a0,a1) +if(p===q)return b +return A.cy(a,b.y,p) +case 10:o=b.y +n=A.aG(a,o,a0,a1) +m=b.z +l=A.cH(a,m,a0,a1) +if(n===o&&l===m)return b +return A.iz(a,n,l) +case 11:k=b.y +j=A.aG(a,k,a0,a1) +i=b.z +h=A.mx(a,i,a0,a1) +if(j===k&&h===i)return b +return A.jA(a,j,h) +case 12:g=b.z +a1+=g.length +f=A.cH(a,g,a0,a1) +o=b.y +n=A.aG(a,o,a0,a1) +if(f===g&&n===o)return b +return A.iA(a,n,f,!0) +case 13:e=b.y +if(e0;--p)a4.push("T"+(q+p)) +for(o=t.X,n=t._,m="<",l="",p=0;p0){a0+=a1+"[" +for(a1="",p=0;p0){a0+=a1+"{" +for(a1="",p=0;p "+a}, +Q(a,b){var s,r,q,p,o,n,m=a.x +if(m===5)return"erased" +if(m===2)return"dynamic" +if(m===3)return"void" +if(m===1)return"Never" +if(m===4)return"any" +if(m===6){s=A.Q(a.y,b) +return s}if(m===7){r=a.y +s=A.Q(r,b) +q=r.x +return(q===11||q===12?"("+s+")":s)+"?"}if(m===8)return"FutureOr<"+A.Q(a.y,b)+">" +if(m===9){p=A.mz(a.y) +o=a.z +return o.length>0?p+("<"+A.mu(o,b)+">"):p}if(m===11)return A.jN(a,b,null) +if(m===12)return A.jN(a.y,b,a.z) +if(m===13){n=a.y +return b[b.length-1-n]}return"?"}, +mz(a){var s=v.mangledGlobalNames[a] +if(s!=null)return s +return"minified:"+a}, +lH(a,b){var s=a.tR[b] +for(;typeof s=="string";)s=a.tR[s] +return s}, +lG(a,b){var s,r,q,p,o,n=a.eT,m=n[b] +if(m==null)return A.eK(a,b,!1) +else if(typeof m=="number"){s=m +r=A.cz(a,5,"#") +q=A.hx(s) +for(p=0;p0)p+="<"+A.eJ(c)+">" +s=a.eC.get(p) +if(s!=null)return s +r=new A.U(null,null) +r.x=9 +r.y=b +r.z=c +if(c.length>0)r.c=c[0] +r.at=p +q=A.aF(a,r) +a.eC.set(p,q) +return q}, +iz(a,b,c){var s,r,q,p,o,n +if(b.x===10){s=b.y +r=b.z.concat(c)}else{r=c +s=b}q=s.at+(";<"+A.eJ(r)+">") +p=a.eC.get(q) +if(p!=null)return p +o=new A.U(null,null) +o.x=10 +o.y=s +o.z=r +o.at=q +n=A.aF(a,o) +a.eC.set(q,n) +return n}, +jA(a,b,c){var s,r,q,p,o,n=b.at,m=c.a,l=m.length,k=c.b,j=k.length,i=c.c,h=i.length,g="("+A.eJ(m) +if(j>0){s=l>0?",":"" +g+=s+"["+A.eJ(k)+"]"}if(h>0){s=l>0?",":"" +g+=s+"{"+A.lx(i)+"}"}r=n+(g+")") +q=a.eC.get(r) +if(q!=null)return q +p=new A.U(null,null) +p.x=11 +p.y=b +p.z=c +p.at=r +o=A.aF(a,p) +a.eC.set(r,o) +return o}, +iA(a,b,c,d){var s,r=b.at+("<"+A.eJ(c)+">"),q=a.eC.get(r) +if(q!=null)return q +s=A.lz(a,b,c,r,d) +a.eC.set(r,s) +return s}, +lz(a,b,c,d,e){var s,r,q,p,o,n,m,l +if(e){s=c.length +r=A.hx(s) +for(q=0,p=0;p0){n=A.aG(a,b,r,0) +m=A.cH(a,c,r,0) +return A.iA(a,n,m,c!==m)}}l=new A.U(null,null) +l.x=12 +l.y=b +l.z=c +l.at=d +return A.aF(a,l)}, +jw(a,b,c,d){return{u:a,e:b,r:c,s:[],p:0,n:d}}, +jy(a){var s,r,q,p,o,n,m,l,k,j,i,h=a.r,g=a.s +for(s=h.length,r=0;r=48&&q<=57)r=A.lr(r+1,q,h,g) +else if((((q|32)>>>0)-97&65535)<26||q===95||q===36)r=A.jx(a,r,h,g,!1) +else if(q===46)r=A.jx(a,r,h,g,!0) +else{++r +switch(q){case 44:break +case 58:g.push(!1) +break +case 33:g.push(!0) +break +case 59:g.push(A.aE(a.u,a.e,g.pop())) +break +case 94:g.push(A.lC(a.u,g.pop())) +break +case 35:g.push(A.cz(a.u,5,"#")) +break +case 64:g.push(A.cz(a.u,2,"@")) +break +case 126:g.push(A.cz(a.u,3,"~")) +break +case 60:g.push(a.p) +a.p=g.length +break +case 62:p=a.u +o=g.splice(a.p) +A.iy(a.u,a.e,o) +a.p=g.pop() +n=g.pop() +if(typeof n=="string")g.push(A.cy(p,n,o)) +else{m=A.aE(p,a.e,n) +switch(m.x){case 11:g.push(A.iA(p,m,o,a.n)) +break +default:g.push(A.iz(p,m,o)) +break}}break +case 38:A.ls(a,g) +break +case 42:p=a.u +g.push(A.jC(p,A.aE(p,a.e,g.pop()),a.n)) +break +case 63:p=a.u +g.push(A.iB(p,A.aE(p,a.e,g.pop()),a.n)) +break +case 47:p=a.u +g.push(A.jB(p,A.aE(p,a.e,g.pop()),a.n)) +break +case 40:g.push(a.p) +a.p=g.length +break +case 41:p=a.u +l=new A.e6() +k=p.sEA +j=p.sEA +n=g.pop() +if(typeof n=="number")switch(n){case-1:k=g.pop() +break +case-2:j=g.pop() +break +default:g.push(n) +break}else g.push(n) +o=g.splice(a.p) +A.iy(a.u,a.e,o) +a.p=g.pop() +l.a=o +l.b=k +l.c=j +g.push(A.jA(p,A.aE(p,a.e,g.pop()),l)) +break +case 91:g.push(a.p) +a.p=g.length +break +case 93:o=g.splice(a.p) +A.iy(a.u,a.e,o) +a.p=g.pop() +g.push(o) +g.push(-1) +break +case 123:g.push(a.p) +a.p=g.length +break +case 125:o=g.splice(a.p) +A.lu(a.u,a.e,o) +a.p=g.pop() +g.push(o) +g.push(-2) +break +default:throw"Bad character "+q}}}i=g.pop() +return A.aE(a.u,a.e,i)}, +lr(a,b,c,d){var s,r,q=b-48 +for(s=c.length;a=48&&r<=57))break +q=q*10+(r-48)}d.push(q) +return a}, +jx(a,b,c,d,e){var s,r,q,p,o,n,m=b+1 +for(s=c.length;m>>0)-97&65535)<26||r===95||r===36))q=r>=48&&r<=57 +else q=!0 +if(!q)break}}p=c.substring(b,m) +if(e){s=a.u +o=a.e +if(o.x===10)o=o.y +n=A.lH(s,o.y)[p] +if(n==null)A.aK('No "'+p+'" in "'+A.lb(o)+'"') +d.push(A.hv(s,o,n))}else d.push(p) +return m}, +ls(a,b){var s=b.pop() +if(0===s){b.push(A.cz(a.u,1,"0&")) +return}if(1===s){b.push(A.cz(a.u,4,"1&")) +return}throw A.b(A.f0("Unexpected extended operation "+A.p(s)))}, +aE(a,b,c){if(typeof c=="string")return A.cy(a,c,a.sEA) +else if(typeof c=="number")return A.lt(a,b,c) +else return c}, +iy(a,b,c){var s,r=c.length +for(s=0;sn)return!1 +m=n-o +l=s.b +k=r.b +j=l.length +i=k.length +if(o+j=d)return!1 +a1=f[b] +b+=3 +if(a00?new Array(q):v.typeUniverse.sEA +for(o=0;o0?new Array(a):v.typeUniverse.sEA}, +U:function U(a,b){var _=this +_.a=a +_.b=b +_.w=_.r=_.c=null +_.x=0 +_.at=_.as=_.Q=_.z=_.y=null}, +e6:function e6(){this.c=this.b=this.a=null}, +eI:function eI(a){this.a=a}, +e3:function e3(){}, +cx:function cx(a){this.a=a}, +lk(){var s,r,q={} +if(self.scheduleImmediate!=null)return A.mD() +if(self.MutationObserver!=null&&self.document!=null){s=self.document.createElement("div") +r=self.document.createElement("span") +q.a=null +new self.MutationObserver(A.bD(new A.h2(q),1)).observe(s,{childList:true}) +return new A.h1(q,s,r)}else if(self.setImmediate!=null)return A.mE() +return A.mF()}, +ll(a){self.scheduleImmediate(A.bD(new A.h3(a),0))}, +lm(a){self.setImmediate(A.bD(new A.h4(a),0))}, +ln(a){A.lv(0,a)}, +lv(a,b){var s=new A.ht() +s.bA(a,b) +return s}, +mo(a){return new A.dQ(new A.F($.B,a.l("F<0>")),a.l("dQ<0>"))}, +m3(a,b){a.$2(0,null) +b.b=!0 +return b.a}, +m0(a,b){A.m4(a,b)}, +m2(a,b){b.az(0,a)}, +m1(a,b){b.aA(A.ao(a),A.b7(a))}, +m4(a,b){var s,r,q=new A.hA(b),p=new A.hB(b) +if(a instanceof A.F)a.aY(q,p,t.z) +else{s=t.z +if(t.c.b(a))a.aJ(q,p,s) +else{r=new A.F($.B,t.aY) +r.a=8 +r.c=a +r.aY(q,p,s)}}}, +mB(a){var s=function(b,c){return function(d,e){while(true)try{b(d,e) +break}catch(r){e=r +d=c}}}(a,1) +return $.B.bh(new A.hL(s))}, +f1(a,b){var s=A.bC(a,"error",t.K) +return new A.cP(s,b==null?A.j_(a):b)}, +j_(a){var s +if(t.U.b(a)){s=a.ga5() +if(s!=null)return s}return B.K}, +iw(a,b){var s,r +for(;s=a.a,(s&4)!==0;)a=a.c +if((s&24)!==0){r=b.ar() +b.ah(a) +A.cg(b,r)}else{r=b.c +b.a=b.a&1|4 +b.c=a +a.aV(r)}}, +cg(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f={},e=f.a=a +for(s=t.c;!0;){r={} +q=e.a +p=(q&16)===0 +o=!p +if(b==null){if(o&&(q&1)===0){e=e.c +A.iO(e.a,e.b)}return}r.a=b +n=b.a +for(e=b;n!=null;e=n,n=m){e.a=null +A.cg(f.a,e) +r.a=n +m=n.a}q=f.a +l=q.c +r.b=o +r.c=l +if(p){k=e.c +k=(k&1)!==0||(k&15)===8}else k=!0 +if(k){j=e.b.b +if(o){q=q.b===j +q=!(q||q)}else q=!1 +if(q){A.iO(l.a,l.b) +return}i=$.B +if(i!==j)$.B=j +else i=null +e=e.c +if((e&15)===8)new A.hi(r,f,o).$0() +else if(p){if((e&1)!==0)new A.hh(r,l).$0()}else if((e&2)!==0)new A.hg(f,r).$0() +if(i!=null)$.B=i +e=r.c +if(s.b(e)){q=r.a.$ti +q=q.l("a8<2>").b(e)||!q.z[1].b(e)}else q=!1 +if(q){h=r.a.b +if((e.a&24)!==0){g=h.c +h.c=null +b=h.a6(g) +h.a=e.a&30|h.a&1 +h.c=e.c +f.a=e +continue}else A.iw(e,h) +return}}h=r.a.b +g=h.c +h.c=null +b=h.a6(g) +e=r.b +q=r.c +if(!e){h.a=8 +h.c=q}else{h.a=h.a&1|16 +h.c=q}f.a=h +e=h}}, +mr(a,b){if(t.C.b(a))return b.bh(a) +if(t.v.b(a))return a +throw A.b(A.ip(a,"onError",u.c))}, +mp(){var s,r +for(s=$.bz;s!=null;s=$.bz){$.cG=null +r=s.b +$.bz=r +if(r==null)$.cF=null +s.a.$0()}}, +mw(){$.iK=!0 +try{A.mp()}finally{$.cG=null +$.iK=!1 +if($.bz!=null)$.iT().$1(A.jW())}}, +jT(a){var s=new A.dR(a),r=$.cF +if(r==null){$.bz=$.cF=s +if(!$.iK)$.iT().$1(A.jW())}else $.cF=r.b=s}, +mv(a){var s,r,q,p=$.bz +if(p==null){A.jT(a) +$.cG=$.cF +return}s=new A.dR(a) +r=$.cG +if(r==null){s.b=p +$.bz=$.cG=s}else{q=r.b +s.b=q +$.cG=r.b=s +if(q==null)$.cF=s}}, +n_(a){var s=null,r=$.B +if(B.d===r){A.bA(s,s,B.d,a) +return}A.bA(s,s,r,r.b2(a))}, +np(a){A.bC(a,"stream",t.K) +return new A.ev()}, +iO(a,b){A.mv(new A.hK(a,b))}, +jR(a,b,c,d){var s,r=$.B +if(r===c)return d.$0() +$.B=c +s=r +try{r=d.$0() +return r}finally{$.B=s}}, +mt(a,b,c,d,e){var s,r=$.B +if(r===c)return d.$1(e) +$.B=c +s=r +try{r=d.$1(e) +return r}finally{$.B=s}}, +ms(a,b,c,d,e,f){var s,r=$.B +if(r===c)return d.$2(e,f) +$.B=c +s=r +try{r=d.$2(e,f) +return r}finally{$.B=s}}, +bA(a,b,c,d){if(B.d!==c)d=c.b2(d) +A.jT(d)}, +h2:function h2(a){this.a=a}, +h1:function h1(a,b,c){this.a=a +this.b=b +this.c=c}, +h3:function h3(a){this.a=a}, +h4:function h4(a){this.a=a}, +ht:function ht(){}, +hu:function hu(a,b){this.a=a +this.b=b}, +dQ:function dQ(a,b){this.a=a +this.b=!1 +this.$ti=b}, +hA:function hA(a){this.a=a}, +hB:function hB(a){this.a=a}, +hL:function hL(a){this.a=a}, +cP:function cP(a,b){this.a=a +this.b=b}, +dU:function dU(){}, +cb:function cb(a,b){this.a=a +this.$ti=b}, +bu:function bu(a,b,c,d,e){var _=this +_.a=null +_.b=a +_.c=b +_.d=c +_.e=d +_.$ti=e}, +F:function F(a,b){var _=this +_.a=0 +_.b=a +_.c=null +_.$ti=b}, +h8:function h8(a,b){this.a=a +this.b=b}, +hf:function hf(a,b){this.a=a +this.b=b}, +hb:function hb(a){this.a=a}, +hc:function hc(a){this.a=a}, +hd:function hd(a,b,c){this.a=a +this.b=b +this.c=c}, +ha:function ha(a,b){this.a=a +this.b=b}, +he:function he(a,b){this.a=a +this.b=b}, +h9:function h9(a,b,c){this.a=a +this.b=b +this.c=c}, +hi:function hi(a,b,c){this.a=a +this.b=b +this.c=c}, +hj:function hj(a){this.a=a}, +hh:function hh(a,b){this.a=a +this.b=b}, +hg:function hg(a,b){this.a=a +this.b=b}, +dR:function dR(a){this.a=a +this.b=null}, +dB:function dB(){}, +ev:function ev(){}, +hz:function hz(){}, +hK:function hK(a,b){this.a=a +this.b=b}, +hn:function hn(){}, +ho:function ho(a,b){this.a=a +this.b=b}, +ft(a,b){return new A.aV(a.l("@<0>").G(b).l("aV<1,2>"))}, +bW(a){return new A.ch(a.l("ch<0>"))}, +ix(){var s=Object.create(null) +s[""]=s +delete s[""] +return s}, +lq(a,b){var s=new A.ci(a,b) +s.c=a.e +return s}, +kO(a,b,c){var s,r +if(A.iM(a)){if(b==="("&&c===")")return"(...)" +return b+"..."+c}s=A.n([],t.s) +$.b5.push(a) +try{A.mn(a,s)}finally{$.b5.pop()}r=A.jm(b,s,", ")+c +return r.charCodeAt(0)==0?r:r}, +ir(a,b,c){var s,r +if(A.iM(a))return b+"..."+c +s=new A.H(b) +$.b5.push(a) +try{r=s +r.a=A.jm(r.a,a,", ")}finally{$.b5.pop()}s.a+=c +r=s.a +return r.charCodeAt(0)==0?r:r}, +iM(a){var s,r +for(s=$.b5.length,r=0;r100){while(!0){if(!(k>75&&j>3))break +k-=b.pop().length+2;--j}b.push("...") +return}}q=A.p(p) +r=A.p(o) +k+=r.length+q.length+4}}if(j>b.length+2){k+=5 +m="..."}else m=null +while(!0){if(!(k>80&&b.length>3))break +k-=b.pop().length+2 +if(m==null){k+=5 +m="..."}}if(m!=null)b.push(m) +b.push(q) +b.push(r)}, +jb(a,b){var s,r,q=A.bW(b) +for(s=a.length,r=0;r=0)return null +return r}return null}, +lj(a,b,c,d){var s=a?$.kl():$.kk() +if(s==null)return null +if(0===c&&d===b.length)return A.jt(s,b) +return A.jt(s,b.subarray(c,A.bk(c,d,b.length)))}, +jt(a,b){var s,r +try{s=a.decode(b) +return s}catch(r){}return null}, +j0(a,b,c,d,e,f){if(B.c.ad(f,4)!==0)throw A.b(A.G("Invalid base64 padding, padded length must be multiple of four, is "+f,a,c)) +if(d+e!==f)throw A.b(A.G("Invalid base64 padding, '=' not at the end",a,b)) +if(e>2)throw A.b(A.G("Invalid base64 padding, more than two '=' characters",a,b))}, +lY(a){switch(a){case 65:return"Missing extension byte" +case 67:return"Unexpected extension byte" +case 69:return"Invalid UTF-8 byte" +case 71:return"Overlong encoding" +case 73:return"Out of unicode range" +case 75:return"Encoded surrogate" +case 77:return"Unfinished UTF-8 octet sequence" +default:return""}}, +lX(a,b,c){var s,r,q,p=c-b,o=new Uint8Array(p) +for(s=J.b6(a),r=0;r>>0!==0?255:q}return o}, +eb:function eb(a,b){this.a=a +this.b=b +this.c=null}, +ec:function ec(a){this.a=a}, +h_:function h_(){}, +fZ:function fZ(){}, +f5:function f5(){}, +f6:function f6(){}, +cW:function cW(){}, +cY:function cY(){}, +fh:function fh(){}, +fm:function fm(){}, +fl:function fl(){}, +fq:function fq(){}, +fr:function fr(a){this.a=a}, +fX:function fX(){}, +fY:function fY(a){this.a=a}, +hw:function hw(a){this.a=a +this.b=16 +this.c=0}, +ie(a,b){var s=A.jh(a,b) +if(s!=null)return s +throw A.b(A.G(a,null,null))}, +kL(a){if(a instanceof A.aP)return a.k(0) +return"Instance of '"+A.fI(a)+"'"}, +kM(a,b){a=A.b(a) +a.stack=b.k(0) +throw a +throw A.b("unreachable")}, +jc(a,b,c,d){var s,r=J.kQ(a,d) +if(a!==0&&b!=null)for(s=0;s")) +for(s=a.gA(a);s.q();)r.push(s.gt(s)) +return r}, +fu(a,b,c){var s=A.kW(a,c) +return s}, +kW(a,b){var s,r +if(Array.isArray(a))return A.n(a.slice(0),b.l("A<0>")) +s=A.n([],b.l("A<0>")) +for(r=J.aL(a);r.q();)s.push(r.gt(r)) +return s}, +jn(a,b,c){var s=A.l8(a,b,A.bk(b,c,a.length)) +return s}, +la(a){return new A.fo(a,A.kV(a,!1,!0,!1,!1,!1))}, +jm(a,b,c){var s=J.aL(b) +if(!s.q())return a +if(c.length===0){do a+=A.p(s.gt(s)) +while(s.q())}else{a+=A.p(s.gt(s)) +for(;s.q();)a=a+c+A.p(s.gt(s))}return a}, +je(a,b,c,d){return new A.dl(a,b,c,d)}, +kI(a){var s=Math.abs(a),r=a<0?"-":"" +if(s>=1000)return""+a +if(s>=100)return r+"0"+s +if(s>=10)return r+"00"+s +return r+"000"+s}, +kJ(a){if(a>=100)return""+a +if(a>=10)return"0"+a +return"00"+a}, +d0(a){if(a>=10)return""+a +return"0"+a}, +bg(a){if(typeof a=="number"||A.hI(a)||a==null)return J.bc(a) +if(typeof a=="string")return JSON.stringify(a) +return A.kL(a)}, +f0(a){return new A.cO(a)}, +aq(a,b){return new A.Z(!1,null,b,a)}, +ip(a,b,c){return new A.Z(!0,a,b,c)}, +l9(a,b){return new A.c6(null,null,!0,a,b,"Value not in range")}, +T(a,b,c,d,e){return new A.c6(b,c,!0,a,d,"Invalid value")}, +bk(a,b,c){if(0>a||a>c)throw A.b(A.T(a,0,c,"start",null)) +if(b!=null){if(a>b||b>c)throw A.b(A.T(b,a,c,"end",null)) +return b}return c}, +ji(a,b){if(a<0)throw A.b(A.T(a,0,null,b,null)) +return a}, +z(a,b,c,d,e){var s=e==null?J.ap(b):e +return new A.d4(s,!0,a,c,"Index out of range")}, +r(a){return new A.dN(a)}, +jp(a){return new A.dK(a)}, +c9(a){return new A.bm(a)}, +ar(a){return new A.cX(a)}, +G(a,b,c){return new A.fj(a,b,c)}, +jf(a,b,c,d){var s,r=B.e.gu(a) +b=B.e.gu(b) +c=B.e.gu(c) +d=B.e.gu(d) +s=$.kp() +return A.lf(A.fM(A.fM(A.fM(A.fM(s,r),b),c),d))}, +lh(a5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3=null,a4=a5.length +if(a4>=5){s=((B.a.p(a5,4)^58)*3|B.a.p(a5,0)^100|B.a.p(a5,1)^97|B.a.p(a5,2)^116|B.a.p(a5,3)^97)>>>0 +if(s===0)return A.jq(a4=14)r[7]=a4 +q=r[1] +if(q>=0)if(A.jS(a5,0,q,20,r)===20)r[7]=q +p=r[2]+1 +o=r[3] +n=r[4] +m=r[5] +l=r[6] +if(lq+3){j=a3 +k=!1}else{i=o>0 +if(i&&o+1===n){j=a3 +k=!1}else{if(!(mn+2&&B.a.H(a5,"/..",m-3) +else h=!0 +if(h){j=a3 +k=!1}else{if(q===4)if(B.a.H(a5,"file",0)){if(p<=0){if(!B.a.H(a5,"/",n)){g="file:///" +s=3}else{g="file://" +s=2}a5=g+B.a.m(a5,n,a4) +q-=0 +i=s-0 +m+=i +l+=i +a4=a5.length +p=7 +o=7 +n=7}else if(n===m){++l +f=m+1 +a5=B.a.W(a5,n,m,"/");++a4 +m=f}j="file"}else if(B.a.H(a5,"http",0)){if(i&&o+3===n&&B.a.H(a5,"80",o+1)){l-=3 +e=n-3 +m-=3 +a5=B.a.W(a5,o,n,"") +a4-=3 +n=e}j="http"}else j=a3 +else if(q===5&&B.a.H(a5,"https",0)){if(i&&o+4===n&&B.a.H(a5,"443",o+1)){l-=4 +e=n-4 +m-=4 +a5=B.a.W(a5,o,n,"") +a4-=3 +n=e}j="https"}else j=a3 +k=!0}}}else j=a3 +if(k){if(a40)j=A.lR(a5,0,q) +else{if(q===0)A.bx(a5,0,"Invalid empty scheme") +j=""}if(p>0){d=q+3 +c=d9)k.$2("invalid character",s)}else{if(q===3)k.$2(m,s) +o=A.ie(B.a.m(a,r,s),null) +if(o>255)k.$2(l,r) +n=q+1 +j[q]=o +r=s+1 +q=n}}if(q!==3)k.$2(m,c) +o=A.ie(B.a.m(a,r,c),null) +if(o>255)k.$2(l,r) +j[q]=o +return j}, +jr(a,b,a0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=null,d=new A.fT(a),c=new A.fU(d,a) +if(a.length<2)d.$2("address is too short",e) +s=A.n([],t.t) +for(r=b,q=r,p=!1,o=!1;r>>0) +s.push((k[2]<<8|k[3])>>>0)}if(p){if(s.length>7)d.$2("an address with a wildcard must have less than 7 parts",e)}else if(s.length!==8)d.$2("an address without a wildcard must contain exactly 8 parts",e) +j=new Uint8Array(16) +for(l=s.length,i=9-l,r=0,h=0;r=b&&q=b&&s>>4]&1<<(p&15))!==0){if(q&&65<=p&&90>=p){if(i==null)i=new A.H("") +if(r>>4]&1<<(o&15))!==0){if(p&&65<=o&&90>=o){if(q==null)q=new A.H("") +if(r>>4]&1<<(o&15))!==0)A.bx(a,s,"Invalid character") +else{if((o&64512)===55296&&s+1>>4]&1<<(q&15))!==0))A.bx(a,s,"Illegal scheme character") +if(65<=q&&q<=90)r=!0}a=B.a.m(a,b,c) +return A.lJ(r?a.toLowerCase():a)}, +lJ(a){if(a==="http")return"http" +if(a==="file")return"file" +if(a==="https")return"https" +if(a==="package")return"package" +return a}, +lS(a,b,c){return A.cC(a,b,c,B.T,!1)}, +lO(a,b,c,d,e,f){var s=e==="file",r=s||f,q=A.cC(a,b,c,B.v,!0) +if(q.length===0){if(s)return"/"}else if(r&&!B.a.C(q,"/"))q="/"+q +return A.lT(q,e,f)}, +lT(a,b,c){var s=b.length===0 +if(s&&!c&&!B.a.C(a,"/"))return A.lV(a,!s||c) +return A.lW(a)}, +lQ(a,b,c,d){return A.cC(a,b,c,B.h,!0)}, +lM(a,b,c){return A.cC(a,b,c,B.h,!0)}, +iD(a,b,c){var s,r,q,p,o,n=b+2 +if(n>=a.length)return"%" +s=B.a.B(a,b+1) +r=B.a.B(a,n) +q=A.hU(s) +p=A.hU(r) +if(q<0||p<0)return"%" +o=q*16+p +if(o<127&&(B.u[B.c.a1(o,4)]&1<<(o&15))!==0)return A.ay(c&&65<=o&&90>=o?(o|32)>>>0:o) +if(s>=97||r>=97)return B.a.m(a,b,b+3).toUpperCase() +return null}, +iC(a){var s,r,q,p,o,n="0123456789ABCDEF" +if(a<128){s=new Uint8Array(3) +s[0]=37 +s[1]=B.a.p(n,a>>>4) +s[2]=B.a.p(n,a&15)}else{if(a>2047)if(a>65535){r=240 +q=4}else{r=224 +q=3}else{r=192 +q=2}s=new Uint8Array(3*q) +for(p=0;--q,q>=0;r=128){o=B.c.bS(a,6*q)&63|r +s[p]=37 +s[p+1]=B.a.p(n,o>>>4) +s[p+2]=B.a.p(n,o&15) +p+=3}}return A.jn(s,0,null)}, +cC(a,b,c,d,e){var s=A.jH(a,b,c,d,e) +return s==null?B.a.m(a,b,c):s}, +jH(a,b,c,d,e){var s,r,q,p,o,n,m,l,k,j,i=null +for(s=!e,r=b,q=r,p=i;r>>4]&1<<(o&15))!==0)++r +else{if(o===37){n=A.iD(a,r,!1) +if(n==null){r+=3 +continue}if("%"===n){n="%25" +m=1}else m=3}else if(s&&o<=93&&(B.p[o>>>4]&1<<(o&15))!==0){A.bx(a,r,"Invalid character") +m=i +n=m}else{if((o&64512)===55296){l=r+1 +if(l=2&&A.jF(B.a.p(a,0)))for(s=1;s127||(B.q[r>>>4]&1<<(r&15))===0)break}return a}, +lL(a,b){var s,r,q +for(s=0,r=0;r<2;++r){q=B.a.p(a,b+r) +if(48<=q&&q<=57)s=s*16+q-48 +else{q|=32 +if(97<=q&&q<=102)s=s*16+q-87 +else throw A.b(A.aq("Invalid URL encoding",null))}}return s}, +iE(a,b,c,d,e){var s,r,q,p,o=b +while(!0){if(!(o127)throw A.b(A.aq("Illegal percent encoding in URI",null)) +if(r===37){if(o+3>q)throw A.b(A.aq("Truncated URI",null)) +p.push(A.lL(a,o+1)) +o+=2}else if(r===43)p.push(32) +else p.push(r)}}return B.a0.aB(p)}, +jF(a){var s=a|32 +return 97<=s&&s<=122}, +jq(a,b,c){var s,r,q,p,o,n,m,l,k="Invalid MIME type",j=A.n([b-1],t.t) +for(s=a.length,r=b,q=-1,p=null;rb)throw A.b(A.G(k,a,r)) +for(;p!==44;){j.push(r);++r +for(o=-1;r=0)j.push(o) +else{n=B.b.gaa(j) +if(p!==44||r!==n+7||!B.a.H(a,"base64",n+1))throw A.b(A.G("Expecting '='",a,r)) +break}}j.push(r) +m=r+1 +if((j.length&1)===1)a=B.A.cc(0,a,m,s) +else{l=A.jH(a,m,s,B.h,!0) +if(l!=null)a=B.a.W(a,m,s,l)}return new A.fR(a,j,c)}, +m6(){var s,r,q,p,o,n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~!$&'()*+,;=",m=".",l=":",k="/",j="?",i="#",h=A.n(new Array(22),t.n) +for(s=0;s<22;++s)h[s]=new Uint8Array(96) +r=new A.hF(h) +q=new A.hG() +p=new A.hH() +o=r.$2(0,225) +q.$3(o,n,1) +q.$3(o,m,14) +q.$3(o,l,34) +q.$3(o,k,3) +q.$3(o,j,172) +q.$3(o,i,205) +o=r.$2(14,225) +q.$3(o,n,1) +q.$3(o,m,15) +q.$3(o,l,34) +q.$3(o,k,234) +q.$3(o,j,172) +q.$3(o,i,205) +o=r.$2(15,225) +q.$3(o,n,1) +q.$3(o,"%",225) +q.$3(o,l,34) +q.$3(o,k,9) +q.$3(o,j,172) +q.$3(o,i,205) +o=r.$2(1,225) +q.$3(o,n,1) +q.$3(o,l,34) +q.$3(o,k,10) +q.$3(o,j,172) +q.$3(o,i,205) +o=r.$2(2,235) +q.$3(o,n,139) +q.$3(o,k,131) +q.$3(o,m,146) +q.$3(o,j,172) +q.$3(o,i,205) +o=r.$2(3,235) +q.$3(o,n,11) +q.$3(o,k,68) +q.$3(o,m,18) +q.$3(o,j,172) +q.$3(o,i,205) +o=r.$2(4,229) +q.$3(o,n,5) +p.$3(o,"AZ",229) +q.$3(o,l,102) +q.$3(o,"@",68) +q.$3(o,"[",232) +q.$3(o,k,138) +q.$3(o,j,172) +q.$3(o,i,205) +o=r.$2(5,229) +q.$3(o,n,5) +p.$3(o,"AZ",229) +q.$3(o,l,102) +q.$3(o,"@",68) +q.$3(o,k,138) +q.$3(o,j,172) +q.$3(o,i,205) +o=r.$2(6,231) +p.$3(o,"19",7) +q.$3(o,"@",68) +q.$3(o,k,138) +q.$3(o,j,172) +q.$3(o,i,205) +o=r.$2(7,231) +p.$3(o,"09",7) +q.$3(o,"@",68) +q.$3(o,k,138) +q.$3(o,j,172) +q.$3(o,i,205) +q.$3(r.$2(8,8),"]",5) +o=r.$2(9,235) +q.$3(o,n,11) +q.$3(o,m,16) +q.$3(o,k,234) +q.$3(o,j,172) +q.$3(o,i,205) +o=r.$2(16,235) +q.$3(o,n,11) +q.$3(o,m,17) +q.$3(o,k,234) +q.$3(o,j,172) +q.$3(o,i,205) +o=r.$2(17,235) +q.$3(o,n,11) +q.$3(o,k,9) +q.$3(o,j,172) +q.$3(o,i,205) +o=r.$2(10,235) +q.$3(o,n,11) +q.$3(o,m,18) +q.$3(o,k,234) +q.$3(o,j,172) +q.$3(o,i,205) +o=r.$2(18,235) +q.$3(o,n,11) +q.$3(o,m,19) +q.$3(o,k,234) +q.$3(o,j,172) +q.$3(o,i,205) +o=r.$2(19,235) +q.$3(o,n,11) +q.$3(o,k,234) +q.$3(o,j,172) +q.$3(o,i,205) +o=r.$2(11,235) +q.$3(o,n,11) +q.$3(o,k,10) +q.$3(o,j,172) +q.$3(o,i,205) +o=r.$2(12,236) +q.$3(o,n,12) +q.$3(o,j,12) +q.$3(o,i,205) +o=r.$2(13,237) +q.$3(o,n,13) +q.$3(o,j,13) +p.$3(r.$2(20,245),"az",21) +o=r.$2(21,245) +p.$3(o,"az",21) +p.$3(o,"09",21) +q.$3(o,"+-.",21) +return h}, +jS(a,b,c,d,e){var s,r,q,p,o=$.kq() +for(s=b;s95?31:q] +d=p&31 +e[p>>>5]=s}return d}, +fA:function fA(a,b){this.a=a +this.b=b}, +bI:function bI(a,b){this.a=a +this.b=b}, +v:function v(){}, +cO:function cO(a){this.a=a}, +aB:function aB(){}, +dm:function dm(){}, +Z:function Z(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +c6:function c6(a,b,c,d,e,f){var _=this +_.e=a +_.f=b +_.a=c +_.b=d +_.c=e +_.d=f}, +d4:function d4(a,b,c,d,e){var _=this +_.f=a +_.a=b +_.b=c +_.c=d +_.d=e}, +dl:function dl(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +dN:function dN(a){this.a=a}, +dK:function dK(a){this.a=a}, +bm:function bm(a){this.a=a}, +cX:function cX(a){this.a=a}, +dp:function dp(){}, +c8:function c8(){}, +d_:function d_(a){this.a=a}, +h7:function h7(a){this.a=a}, +fj:function fj(a,b,c){this.a=a +this.b=b +this.c=c}, +t:function t(){}, +d5:function d5(){}, +D:function D(){}, +q:function q(){}, +ey:function ey(){}, +H:function H(a){this.a=a}, +fV:function fV(a){this.a=a}, +fS:function fS(a){this.a=a}, +fT:function fT(a){this.a=a}, +fU:function fU(a,b){this.a=a +this.b=b}, +cB:function cB(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.z=_.y=_.w=$}, +fR:function fR(a,b,c){this.a=a +this.b=b +this.c=c}, +hF:function hF(a){this.a=a}, +hG:function hG(){}, +hH:function hH(){}, +eq:function eq(a,b,c,d,e,f,g,h){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=null}, +dY:function dY(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.z=_.y=_.w=$}, +kK(a,b,c){var s=document.body +s.toString +s=new A.b3(new A.I(B.k.K(s,a,b,c)),new A.ff(),t.ba.l("b3")) +return t.h.a(s.gS(s))}, +bM(a){var s,r,q="element tag unavailable" +try{s=J.Y(a) +s.gbi(a) +q=s.gbi(a)}catch(r){}return q}, +jv(a){var s=document.createElement("a"),r=new A.hp(s,window.location) +r=new A.bv(r) +r.by(a) +return r}, +lo(a,b,c,d){return!0}, +lp(a,b,c,d){var s,r=d.a,q=r.a +q.href=c +s=q.hostname +r=r.b +if(!(s==r.hostname&&q.port===r.port&&q.protocol===r.protocol))if(s==="")if(q.port===""){r=q.protocol +r=r===":"||r===""}else r=!1 +else r=!1 +else r=!0 +return r}, +jz(){var s=t.N,r=A.jb(B.w,s),q=A.n(["TEMPLATE"],t.s) +s=new A.eB(r,A.bW(s),A.bW(s),A.bW(s),null) +s.bz(null,new A.J(B.w,new A.hs(),t.e),q,null) +return s}, +k:function k(){}, +f_:function f_(){}, +cM:function cM(){}, +cN:function cN(){}, +be:function be(){}, +aM:function aM(){}, +aN:function aN(){}, +a_:function a_(){}, +f8:function f8(){}, +w:function w(){}, +bH:function bH(){}, +f9:function f9(){}, +S:function S(){}, +a7:function a7(){}, +fa:function fa(){}, +fb:function fb(){}, +fc:function fc(){}, +aQ:function aQ(){}, +fd:function fd(){}, +bJ:function bJ(){}, +bK:function bK(){}, +d1:function d1(){}, +fe:function fe(){}, +x:function x(){}, +ff:function ff(){}, +h:function h(){}, +c:function c(){}, +a0:function a0(){}, +d2:function d2(){}, +fi:function fi(){}, +d3:function d3(){}, +a9:function a9(){}, +fk:function fk(){}, +aS:function aS(){}, +bQ:function bQ(){}, +bR:function bR(){}, +at:function at(){}, +bi:function bi(){}, +fv:function fv(){}, +fx:function fx(){}, +dd:function dd(){}, +fy:function fy(a){this.a=a}, +de:function de(){}, +fz:function fz(a){this.a=a}, +ac:function ac(){}, +df:function df(){}, +I:function I(a){this.a=a}, +m:function m(){}, +c3:function c3(){}, +ad:function ad(){}, +dr:function dr(){}, +dt:function dt(){}, +fJ:function fJ(a){this.a=a}, +dv:function dv(){}, +af:function af(){}, +dx:function dx(){}, +ag:function ag(){}, +dy:function dy(){}, +ah:function ah(){}, +dA:function dA(){}, +fL:function fL(a){this.a=a}, +W:function W(){}, +ca:function ca(){}, +dD:function dD(){}, +dE:function dE(){}, +bp:function bp(){}, +ai:function ai(){}, +X:function X(){}, +dG:function dG(){}, +dH:function dH(){}, +fN:function fN(){}, +aj:function aj(){}, +dI:function dI(){}, +fO:function fO(){}, +N:function N(){}, +fW:function fW(){}, +h0:function h0(){}, +bs:function bs(){}, +al:function al(){}, +bt:function bt(){}, +dV:function dV(){}, +cd:function cd(){}, +e7:function e7(){}, +ck:function ck(){}, +et:function et(){}, +ez:function ez(){}, +dS:function dS(){}, +cf:function cf(a){this.a=a}, +dX:function dX(a){this.a=a}, +h5:function h5(a,b){this.a=a +this.b=b}, +h6:function h6(a,b){this.a=a +this.b=b}, +e2:function e2(a){this.a=a}, +bv:function bv(a){this.a=a}, +y:function y(){}, +c4:function c4(a){this.a=a}, +fC:function fC(a){this.a=a}, +fB:function fB(a,b,c){this.a=a +this.b=b +this.c=c}, +cr:function cr(){}, +hq:function hq(){}, +hr:function hr(){}, +eB:function eB(a,b,c,d,e){var _=this +_.e=a +_.a=b +_.b=c +_.c=d +_.d=e}, +hs:function hs(){}, +eA:function eA(){}, +bP:function bP(a,b){var _=this +_.a=a +_.b=b +_.c=-1 +_.d=null}, +hp:function hp(a,b){this.a=a +this.b=b}, +eM:function eM(a){this.a=a +this.b=0}, +hy:function hy(a){this.a=a}, +dW:function dW(){}, +dZ:function dZ(){}, +e_:function e_(){}, +e0:function e0(){}, +e1:function e1(){}, +e4:function e4(){}, +e5:function e5(){}, +e9:function e9(){}, +ea:function ea(){}, +ef:function ef(){}, +eg:function eg(){}, +eh:function eh(){}, +ei:function ei(){}, +ej:function ej(){}, +ek:function ek(){}, +en:function en(){}, +eo:function eo(){}, +ep:function ep(){}, +cs:function cs(){}, +ct:function ct(){}, +er:function er(){}, +es:function es(){}, +eu:function eu(){}, +eC:function eC(){}, +eD:function eD(){}, +cv:function cv(){}, +cw:function cw(){}, +eE:function eE(){}, +eF:function eF(){}, +eN:function eN(){}, +eO:function eO(){}, +eP:function eP(){}, +eQ:function eQ(){}, +eR:function eR(){}, +eS:function eS(){}, +eT:function eT(){}, +eU:function eU(){}, +eV:function eV(){}, +eW:function eW(){}, +jL(a){var s,r,q +if(a==null)return a +if(typeof a=="string"||typeof a=="number"||A.hI(a))return a +s=Object.getPrototypeOf(a) +if(s===Object.prototype||s===null)return A.aH(a) +if(Array.isArray(a)){r=[] +for(q=0;q")),r=new A.cb(s,b.l("cb<0>")) +a.then(A.bD(new A.ii(r),1),A.bD(new A.ij(r),1)) +return s}, +fD:function fD(a){this.a=a}, +ii:function ii(a){this.a=a}, +ij:function ij(a){this.a=a}, +av:function av(){}, +da:function da(){}, +aw:function aw(){}, +dn:function dn(){}, +fG:function fG(){}, +bl:function bl(){}, +dC:function dC(){}, +cQ:function cQ(a){this.a=a}, +i:function i(){}, +aA:function aA(){}, +dJ:function dJ(){}, +ed:function ed(){}, +ee:function ee(){}, +el:function el(){}, +em:function em(){}, +ew:function ew(){}, +ex:function ex(){}, +eG:function eG(){}, +eH:function eH(){}, +f2:function f2(){}, +cR:function cR(){}, +f3:function f3(a){this.a=a}, +f4:function f4(){}, +bd:function bd(){}, +fF:function fF(){}, +dT:function dT(){}, +mO(){var s,r,q={},p=window.document,o=t.cD,n=o.a(p.getElementById("search-box")),m=o.a(p.getElementById("search-body")),l=o.a(p.getElementById("search-sidebar")) +o=p.querySelector("body") +o.toString +q.a="" +if(o.getAttribute("data-using-base-href")==="false"){s=o.getAttribute("data-base-href") +o=q.a=s==null?"":s}else o="" +r=window +A.k5(r.fetch(o+"index.json",null),t.z).bj(new A.hY(q,new A.hZ(n,m,l),n,m,l),t.P)}, +jX(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g=b.length +if(g===0)return A.n([],t.M) +s=A.n([],t.l) +for(r=a.length,g=g>1,q="dart:"+b,p=0;p4294967295)throw A.b(A.T(a,0,4294967295,"length",null)) +return J.kR(new Array(a),b)}, +kR(a,b){return J.j8(A.n(a,b.l("A<0>")))}, +j8(a){a.fixed$length=Array +return a}, +kS(a,b){return J.ku(a,b)}, +j9(a){if(a<256)switch(a){case 9:case 10:case 11:case 12:case 13:case 32:case 133:case 160:return!0 +default:return!1}switch(a){case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8232:case 8233:case 8239:case 8287:case 12288:case 65279:return!0 +default:return!1}}, +kT(a,b){var s,r +for(s=a.length;b0;b=s){s=b-1 +r=B.a.B(a,s) +if(r!==32&&r!==13&&!J.j9(r))break}return b}, +aI(a){if(typeof a=="number"){if(Math.floor(a)==a)return J.bS.prototype +return J.d7.prototype}if(typeof a=="string")return J.au.prototype +if(a==null)return J.bT.prototype +if(typeof a=="boolean")return J.d6.prototype +if(a.constructor==Array)return J.A.prototype +if(typeof a!="object"){if(typeof a=="function")return J.aa.prototype +return a}if(a instanceof A.q)return a +return J.hT(a)}, +b6(a){if(typeof a=="string")return J.au.prototype +if(a==null)return a +if(a.constructor==Array)return J.A.prototype +if(typeof a!="object"){if(typeof a=="function")return J.aa.prototype +return a}if(a instanceof A.q)return a +return J.hT(a)}, +cK(a){if(a==null)return a +if(a.constructor==Array)return J.A.prototype +if(typeof a!="object"){if(typeof a=="function")return J.aa.prototype +return a}if(a instanceof A.q)return a +return J.hT(a)}, +mJ(a){if(typeof a=="number")return J.bh.prototype +if(typeof a=="string")return J.au.prototype +if(a==null)return a +if(!(a instanceof A.q))return J.b2.prototype +return a}, +jY(a){if(typeof a=="string")return J.au.prototype +if(a==null)return a +if(!(a instanceof A.q))return J.b2.prototype +return a}, +Y(a){if(a==null)return a +if(typeof a!="object"){if(typeof a=="function")return J.aa.prototype +return a}if(a instanceof A.q)return a +return J.hT(a)}, +ba(a,b){if(a==null)return b==null +if(typeof a!="object")return b!=null&&a===b +return J.aI(a).J(a,b)}, +im(a,b){if(typeof b==="number")if(a.constructor==Array||typeof a=="string"||A.k2(a,a[v.dispatchPropertyName]))if(b>>>0===b&&b>>0===b&&b").G(b).l("a5<1,2>"))}, +I(a,b){var s +if(!!a.fixed$length)A.aK(A.r("addAll")) +if(Array.isArray(b)){this.bC(a,b) +return}for(s=J.aL(b);s.q();)a.push(s.gt(s))}, +bC(a,b){var s,r=b.length +if(r===0)return +if(a===b)throw A.b(A.ar(a)) +for(s=0;s").G(c).l("J<1,2>"))}, +R(a,b){var s,r=A.jc(a.length,"",!1,t.N) +for(s=0;ss)throw A.b(A.T(b,0,s,"start",null)) +if(cs)throw A.b(A.T(c,b,s,"end",null)) +if(b===c)return A.n([],A.b4(a)) +return A.n(a.slice(b,c),A.b4(a))}, +gc4(a){if(a.length>0)return a[0] +throw A.b(A.is())}, +gaa(a){var s=a.length +if(s>0)return a[s-1] +throw A.b(A.is())}, +b1(a,b){var s,r=a.length +for(s=0;sa.length)A.b4(a).c.a(null) +a.length=b}, +h(a,b){if(!(b>=0&&b=0&&b=p){r.d=null +return!1}r.d=q[s] +r.c=s+1 +return!0}} +J.bh.prototype={ +a8(a,b){var s +if(ab)return 1 +else if(a===b){if(a===0){s=this.gaE(b) +if(this.gaE(a)===s)return 0 +if(this.gaE(a))return-1 +return 1}return 0}else if(isNaN(a)){if(isNaN(b))return 0 +return 1}else return-1}, +gaE(a){return a===0?1/a<0:a<0}, +X(a){if(a>0){if(a!==1/0)return Math.round(a)}else if(a>-1/0)return 0-Math.round(0-a) +throw A.b(A.r(""+a+".round()"))}, +k(a){if(a===0&&1/a<0)return"-0.0" +else return""+a}, +gu(a){var s,r,q,p,o=a|0 +if(a===o)return o&536870911 +s=Math.abs(a) +r=Math.log(s)/0.6931471805599453|0 +q=Math.pow(2,r) +p=s<1?s/q:q/s +return((p*9007199254740992|0)+(p*3542243181176521|0))*599197+r*1259&536870911}, +ad(a,b){var s=a%b +if(s===0)return 0 +if(s>0)return s +return s+b}, +au(a,b){return(a|0)===a?a/b|0:this.bT(a,b)}, +bT(a,b){var s=a/b +if(s>=-2147483648&&s<=2147483647)return s|0 +if(s>0){if(s!==1/0)return Math.floor(s)}else if(s>-1/0)return Math.ceil(s) +throw A.b(A.r("Result of truncating division is "+A.p(s)+": "+A.p(a)+" ~/ "+b))}, +a1(a,b){var s +if(a>0)s=this.aW(a,b) +else{s=b>31?31:b +s=a>>s>>>0}return s}, +bS(a,b){if(0>b)throw A.b(A.mC(b)) +return this.aW(a,b)}, +aW(a,b){return b>31?0:a>>>b}, +$ia4:1, +$iP:1} +J.bS.prototype={$il:1} +J.d7.prototype={} +J.au.prototype={ +B(a,b){if(b<0)throw A.b(A.cI(a,b)) +if(b>=a.length)A.aK(A.cI(a,b)) +return a.charCodeAt(b)}, +p(a,b){if(b>=a.length)throw A.b(A.cI(a,b)) +return a.charCodeAt(b)}, +bm(a,b){return a+b}, +W(a,b,c,d){var s=A.bk(b,c,a.length) +return a.substring(0,b)+d+a.substring(s)}, +H(a,b,c){var s +if(c<0||c>a.length)throw A.b(A.T(c,0,a.length,null,null)) +s=c+b.length +if(s>a.length)return!1 +return b===a.substring(c,s)}, +C(a,b){return this.H(a,b,0)}, +m(a,b,c){return a.substring(b,A.bk(b,c,a.length))}, +M(a,b){return this.m(a,b,null)}, +cn(a){return a.toLowerCase()}, +co(a){var s,r,q,p=a.trim(),o=p.length +if(o===0)return p +if(this.p(p,0)===133){s=J.kT(p,1) +if(s===o)return""}else s=0 +r=o-1 +q=this.B(p,r)===133?J.kU(p,r):o +if(s===0&&q===o)return p +return p.substring(s,q)}, +bn(a,b){var s,r +if(0>=b)return"" +if(b===1||a.length===0)return a +if(b!==b>>>0)throw A.b(B.J) +for(s=a,r="";!0;){if((b&1)===1)r=s+r +b=b>>>1 +if(b===0)break +s+=s}return r}, +a9(a,b,c){var s +if(c<0||c>a.length)throw A.b(A.T(c,0,a.length,null,null)) +s=a.indexOf(b,c) +return s}, +b8(a,b){return this.a9(a,b,0)}, +a8(a,b){var s +if(a===b)s=0 +else s=a>6}r=r+((r&67108863)<<3)&536870911 +r^=r>>11 +return r+((r&16383)<<15)&536870911}, +gj(a){return a.length}, +$id:1} +A.aD.prototype={ +gA(a){var s=A.L(this) +return new A.cS(J.aL(this.ga2()),s.l("@<1>").G(s.z[1]).l("cS<1,2>"))}, +gj(a){return J.ap(this.ga2())}, +n(a,b){return A.L(this).z[1].a(J.io(this.ga2(),b))}, +k(a){return J.bc(this.ga2())}} +A.cS.prototype={ +q(){return this.a.q()}, +gt(a){var s=this.a +return this.$ti.z[1].a(s.gt(s))}} +A.aO.prototype={ +ga2(){return this.a}} +A.ce.prototype={$if:1} +A.cc.prototype={ +h(a,b){return this.$ti.z[1].a(J.im(this.a,b))}, +i(a,b,c){J.eY(this.a,b,this.$ti.c.a(c))}, +$if:1, +$ij:1} +A.a5.prototype={ +a7(a,b){return new A.a5(this.a,this.$ti.l("@<1>").G(b).l("a5<1,2>"))}, +ga2(){return this.a}} +A.d9.prototype={ +k(a){return"LateInitializationError: "+this.a}} +A.cV.prototype={ +gj(a){return this.a.length}, +h(a,b){return B.a.B(this.a,b)}} +A.fK.prototype={} +A.f.prototype={} +A.a1.prototype={ +gA(a){return new A.bY(this,this.gj(this))}, +ab(a,b){return this.br(0,b)}} +A.bY.prototype={ +gt(a){var s=this.d +return s==null?A.L(this).c.a(s):s}, +q(){var s,r=this,q=r.a,p=J.b6(q),o=p.gj(q) +if(r.b!==o)throw A.b(A.ar(q)) +s=r.c +if(s>=o){r.d=null +return!1}r.d=p.n(q,s);++r.c +return!0}} +A.aY.prototype={ +gA(a){return new A.dc(J.aL(this.a),this.b)}, +gj(a){return J.ap(this.a)}, +n(a,b){return this.b.$1(J.io(this.a,b))}} +A.bL.prototype={$if:1} +A.dc.prototype={ +q(){var s=this,r=s.b +if(r.q()){s.a=s.c.$1(r.gt(r)) +return!0}s.a=null +return!1}, +gt(a){var s=this.a +return s==null?A.L(this).z[1].a(s):s}} +A.J.prototype={ +gj(a){return J.ap(this.a)}, +n(a,b){return this.b.$1(J.io(this.a,b))}} +A.b3.prototype={ +gA(a){return new A.dP(J.aL(this.a),this.b)}} +A.dP.prototype={ +q(){var s,r +for(s=this.a,r=this.b;s.q();)if(r.$1(s.gt(s)))return!0 +return!1}, +gt(a){var s=this.a +return s.gt(s)}} +A.bO.prototype={} +A.dM.prototype={ +i(a,b,c){throw A.b(A.r("Cannot modify an unmodifiable list"))}} +A.br.prototype={} +A.bn.prototype={ +gu(a){var s=this._hashCode +if(s!=null)return s +s=664597*J.eZ(this.a)&536870911 +this._hashCode=s +return s}, +k(a){return'Symbol("'+A.p(this.a)+'")'}, +J(a,b){if(b==null)return!1 +return b instanceof A.bn&&this.a==b.a}, +$ibo:1} +A.cD.prototype={} +A.bG.prototype={} +A.bF.prototype={ +k(a){return A.iv(this)}, +i(a,b,c){A.kH()}, +$iu:1} +A.a6.prototype={ +gj(a){return this.a}, +U(a,b){if("__proto__"===b)return!1 +return this.b.hasOwnProperty(b)}, +h(a,b){if(!this.U(0,b))return null +return this.b[b]}, +v(a,b){var s,r,q,p,o=this.c +for(s=o.length,r=this.b,q=0;q>>0}, +k(a){return"Closure '"+this.$_name+"' of "+("Instance of '"+A.fI(this.a)+"'")}} +A.du.prototype={ +k(a){return"RuntimeError: "+this.a}} +A.hm.prototype={} +A.aV.prototype={ +gj(a){return this.a}, +gD(a){return new A.aX(this,A.L(this).l("aX<1>"))}, +U(a,b){var s=this.b +if(s==null)return!1 +return s[b]!=null}, +h(a,b){var s,r,q,p,o=null +if(typeof b=="string"){s=this.b +if(s==null)return o +r=s[b] +q=r==null?o:r.b +return q}else if(typeof b=="number"&&(b&0x3fffffff)===b){p=this.c +if(p==null)return o +r=p[b] +q=r==null?o:r.b +return q}else return this.c8(b)}, +c8(a){var s,r,q=this.d +if(q==null)return null +s=q[this.b9(a)] +r=this.ba(s,a) +if(r<0)return null +return s[r].b}, +i(a,b,c){var s,r,q=this +if(typeof b=="string"){s=q.b +q.aN(s==null?q.b=q.ap():s,b,c)}else if(typeof b=="number"&&(b&0x3fffffff)===b){r=q.c +q.aN(r==null?q.c=q.ap():r,b,c)}else q.c9(b,c)}, +c9(a,b){var s,r,q,p=this,o=p.d +if(o==null)o=p.d=p.ap() +s=p.b9(a) +r=o[s] +if(r==null)o[s]=[p.aq(a,b)] +else{q=p.ba(r,a) +if(q>=0)r[q].b=b +else r.push(p.aq(a,b))}}, +v(a,b){var s=this,r=s.e,q=s.r +for(;r!=null;){b.$2(r.a,r.b) +if(q!==s.r)throw A.b(A.ar(s)) +r=r.c}}, +aN(a,b,c){var s=a[b] +if(s==null)a[b]=this.aq(b,c) +else s.b=c}, +bK(){this.r=this.r+1&1073741823}, +aq(a,b){var s,r=this,q=new A.fs(a,b) +if(r.e==null)r.e=r.f=q +else{s=r.f +s.toString +q.d=s +r.f=s.c=q}++r.a +r.bK() +return q}, +b9(a){return J.eZ(a)&0x3fffffff}, +ba(a,b){var s,r +if(a==null)return-1 +s=a.length +for(r=0;r"]=s +delete s[""] +return s}} +A.fs.prototype={} +A.aX.prototype={ +gj(a){return this.a.a}, +gA(a){var s=this.a,r=new A.db(s,s.r) +r.c=s.e +return r}} +A.db.prototype={ +gt(a){return this.d}, +q(){var s,r=this,q=r.a +if(r.b!==q.r)throw A.b(A.ar(q)) +s=r.c +if(s==null){r.d=null +return!1}else{r.d=s.a +r.c=s.c +return!0}}} +A.hV.prototype={ +$1(a){return this.a(a)}, +$S:4} +A.hW.prototype={ +$2(a,b){return this.a(a,b)}, +$S:44} +A.hX.prototype={ +$1(a){return this.a(a)}, +$S:21} +A.fo.prototype={ +k(a){return"RegExp/"+this.a+"/"+this.b.flags}} +A.b_.prototype={$iR:1} +A.bj.prototype={ +gj(a){return a.length}, +$io:1} +A.aZ.prototype={ +h(a,b){A.am(b,a,a.length) +return a[b]}, +i(a,b,c){A.am(b,a,a.length) +a[b]=c}, +$if:1, +$ij:1} +A.c0.prototype={ +i(a,b,c){A.am(b,a,a.length) +a[b]=c}, +$if:1, +$ij:1} +A.dg.prototype={ +h(a,b){A.am(b,a,a.length) +return a[b]}} +A.dh.prototype={ +h(a,b){A.am(b,a,a.length) +return a[b]}} +A.di.prototype={ +h(a,b){A.am(b,a,a.length) +return a[b]}} +A.dj.prototype={ +h(a,b){A.am(b,a,a.length) +return a[b]}} +A.dk.prototype={ +h(a,b){A.am(b,a,a.length) +return a[b]}} +A.c1.prototype={ +gj(a){return a.length}, +h(a,b){A.am(b,a,a.length) +return a[b]}} +A.c2.prototype={ +gj(a){return a.length}, +h(a,b){A.am(b,a,a.length) +return a[b]}, +$ibq:1} +A.cl.prototype={} +A.cm.prototype={} +A.cn.prototype={} +A.co.prototype={} +A.U.prototype={ +l(a){return A.hv(v.typeUniverse,this,a)}, +G(a){return A.lF(v.typeUniverse,this,a)}} +A.e6.prototype={} +A.eI.prototype={ +k(a){return A.Q(this.a,null)}} +A.e3.prototype={ +k(a){return this.a}} +A.cx.prototype={$iaB:1} +A.h2.prototype={ +$1(a){var s=this.a,r=s.a +s.a=null +r.$0()}, +$S:12} +A.h1.prototype={ +$1(a){var s,r +this.a.a=a +s=this.b +r=this.c +s.firstChild?s.removeChild(r):s.appendChild(r)}, +$S:23} +A.h3.prototype={ +$0(){this.a.$0()}, +$S:10} +A.h4.prototype={ +$0(){this.a.$0()}, +$S:10} +A.ht.prototype={ +bA(a,b){if(self.setTimeout!=null)self.setTimeout(A.bD(new A.hu(this,b),0),a) +else throw A.b(A.r("`setTimeout()` not found."))}} +A.hu.prototype={ +$0(){this.b.$0()}, +$S:0} +A.dQ.prototype={ +az(a,b){var s,r=this +if(b==null)r.$ti.c.a(b) +if(!r.b)r.a.aO(b) +else{s=r.a +if(r.$ti.l("a8<1>").b(b))s.aQ(b) +else s.aj(b)}}, +aA(a,b){var s=this.a +if(this.b)s.Z(a,b) +else s.aP(a,b)}} +A.hA.prototype={ +$1(a){return this.a.$2(0,a)}, +$S:5} +A.hB.prototype={ +$2(a,b){this.a.$2(1,new A.bN(a,b))}, +$S:45} +A.hL.prototype={ +$2(a,b){this.a(a,b)}, +$S:36} +A.cP.prototype={ +k(a){return A.p(this.a)}, +$iv:1, +ga5(){return this.b}} +A.dU.prototype={ +aA(a,b){var s +A.bC(a,"error",t.K) +s=this.a +if((s.a&30)!==0)throw A.b(A.c9("Future already completed")) +if(b==null)b=A.j_(a) +s.aP(a,b)}, +b3(a){return this.aA(a,null)}} +A.cb.prototype={ +az(a,b){var s=this.a +if((s.a&30)!==0)throw A.b(A.c9("Future already completed")) +s.aO(b)}} +A.bu.prototype={ +ca(a){if((this.c&15)!==6)return!0 +return this.b.b.aI(this.d,a.a)}, +c7(a){var s,r=this.e,q=null,p=a.a,o=this.b.b +if(t.C.b(r))q=o.cj(r,p,a.b) +else q=o.aI(r,p) +try{p=q +return p}catch(s){if(t.b7.b(A.ao(s))){if((this.c&1)!==0)throw A.b(A.aq("The error handler of Future.then must return a value of the returned future's type","onError")) +throw A.b(A.aq("The error handler of Future.catchError must return a value of the future's type","onError"))}else throw s}}} +A.F.prototype={ +aJ(a,b,c){var s,r,q=$.B +if(q===B.d){if(b!=null&&!t.C.b(b)&&!t.v.b(b))throw A.b(A.ip(b,"onError",u.c))}else if(b!=null)b=A.mr(b,q) +s=new A.F(q,c.l("F<0>")) +r=b==null?1:3 +this.ag(new A.bu(s,r,a,b,this.$ti.l("@<1>").G(c).l("bu<1,2>"))) +return s}, +bj(a,b){return this.aJ(a,null,b)}, +aY(a,b,c){var s=new A.F($.B,c.l("F<0>")) +this.ag(new A.bu(s,3,a,b,this.$ti.l("@<1>").G(c).l("bu<1,2>"))) +return s}, +bR(a){this.a=this.a&1|16 +this.c=a}, +ah(a){this.a=a.a&30|this.a&1 +this.c=a.c}, +ag(a){var s=this,r=s.a +if(r<=3){a.a=s.c +s.c=a}else{if((r&4)!==0){r=s.c +if((r.a&24)===0){r.ag(a) +return}s.ah(r)}A.bA(null,null,s.b,new A.h8(s,a))}}, +aV(a){var s,r,q,p,o,n=this,m={} +m.a=a +if(a==null)return +s=n.a +if(s<=3){r=n.c +n.c=a +if(r!=null){q=a.a +for(p=a;q!=null;p=q,q=o)o=q.a +p.a=r}}else{if((s&4)!==0){s=n.c +if((s.a&24)===0){s.aV(a) +return}n.ah(s)}m.a=n.a6(a) +A.bA(null,null,n.b,new A.hf(m,n))}}, +ar(){var s=this.c +this.c=null +return this.a6(s)}, +a6(a){var s,r,q +for(s=a,r=null;s!=null;r=s,s=q){q=s.a +s.a=r}return r}, +bF(a){var s,r,q,p=this +p.a^=2 +try{a.aJ(new A.hb(p),new A.hc(p),t.P)}catch(q){s=A.ao(q) +r=A.b7(q) +A.n_(new A.hd(p,s,r))}}, +aj(a){var s=this,r=s.ar() +s.a=8 +s.c=a +A.cg(s,r)}, +Z(a,b){var s=this.ar() +this.bR(A.f1(a,b)) +A.cg(this,s)}, +aO(a){if(this.$ti.l("a8<1>").b(a)){this.aQ(a) +return}this.bE(a)}, +bE(a){this.a^=2 +A.bA(null,null,this.b,new A.ha(this,a))}, +aQ(a){var s=this +if(s.$ti.b(a)){if((a.a&16)!==0){s.a^=2 +A.bA(null,null,s.b,new A.he(s,a))}else A.iw(a,s) +return}s.bF(a)}, +aP(a,b){this.a^=2 +A.bA(null,null,this.b,new A.h9(this,a,b))}, +$ia8:1} +A.h8.prototype={ +$0(){A.cg(this.a,this.b)}, +$S:0} +A.hf.prototype={ +$0(){A.cg(this.b,this.a.a)}, +$S:0} +A.hb.prototype={ +$1(a){var s,r,q,p=this.a +p.a^=2 +try{p.aj(p.$ti.c.a(a))}catch(q){s=A.ao(q) +r=A.b7(q) +p.Z(s,r)}}, +$S:12} +A.hc.prototype={ +$2(a,b){this.a.Z(a,b)}, +$S:25} +A.hd.prototype={ +$0(){this.a.Z(this.b,this.c)}, +$S:0} +A.ha.prototype={ +$0(){this.a.aj(this.b)}, +$S:0} +A.he.prototype={ +$0(){A.iw(this.b,this.a)}, +$S:0} +A.h9.prototype={ +$0(){this.a.Z(this.b,this.c)}, +$S:0} +A.hi.prototype={ +$0(){var s,r,q,p,o,n,m=this,l=null +try{q=m.a.a +l=q.b.b.cg(q.d)}catch(p){s=A.ao(p) +r=A.b7(p) +q=m.c&&m.b.a.c.a===s +o=m.a +if(q)o.c=m.b.a.c +else o.c=A.f1(s,r) +o.b=!0 +return}if(l instanceof A.F&&(l.a&24)!==0){if((l.a&16)!==0){q=m.a +q.c=l.c +q.b=!0}return}if(t.c.b(l)){n=m.b.a +q=m.a +q.c=l.bj(new A.hj(n),t.z) +q.b=!1}}, +$S:0} +A.hj.prototype={ +$1(a){return this.a}, +$S:16} +A.hh.prototype={ +$0(){var s,r,q,p,o +try{q=this.a +p=q.a +q.c=p.b.b.aI(p.d,this.b)}catch(o){s=A.ao(o) +r=A.b7(o) +q=this.a +q.c=A.f1(s,r) +q.b=!0}}, +$S:0} +A.hg.prototype={ +$0(){var s,r,q,p,o,n,m=this +try{s=m.a.a.c +p=m.b +if(p.a.ca(s)&&p.a.e!=null){p.c=p.a.c7(s) +p.b=!1}}catch(o){r=A.ao(o) +q=A.b7(o) +p=m.a.a.c +n=m.b +if(p.a===r)n.c=p +else n.c=A.f1(r,q) +n.b=!0}}, +$S:0} +A.dR.prototype={} +A.dB.prototype={} +A.ev.prototype={} +A.hz.prototype={} +A.hK.prototype={ +$0(){var s=this.a,r=this.b +A.bC(s,"error",t.K) +A.bC(r,"stackTrace",t.J) +A.kM(s,r)}, +$S:0} +A.hn.prototype={ +cl(a){var s,r,q +try{if(B.d===$.B){a.$0() +return}A.jR(null,null,this,a)}catch(q){s=A.ao(q) +r=A.b7(q) +A.iO(s,r)}}, +b2(a){return new A.ho(this,a)}, +ci(a){if($.B===B.d)return a.$0() +return A.jR(null,null,this,a)}, +cg(a){return this.ci(a,t.z)}, +cm(a,b){if($.B===B.d)return a.$1(b) +return A.mt(null,null,this,a,b)}, +aI(a,b){return this.cm(a,b,t.z,t.z)}, +ck(a,b,c){if($.B===B.d)return a.$2(b,c) +return A.ms(null,null,this,a,b,c)}, +cj(a,b,c){return this.ck(a,b,c,t.z,t.z,t.z)}, +cd(a){return a}, +bh(a){return this.cd(a,t.z,t.z,t.z)}} +A.ho.prototype={ +$0(){return this.a.cl(this.b)}, +$S:0} +A.ch.prototype={ +gA(a){var s=new A.ci(this,this.r) +s.c=this.e +return s}, +gj(a){return this.a}, +F(a,b){var s,r +if(b!=="__proto__"){s=this.b +if(s==null)return!1 +return s[b]!=null}else{r=this.bI(b) +return r}}, +bI(a){var s=this.d +if(s==null)return!1 +return this.ao(s[this.ak(a)],a)>=0}, +E(a,b){var s,r,q=this +if(typeof b=="string"&&b!=="__proto__"){s=q.b +return q.aS(s==null?q.b=A.ix():s,b)}else if(typeof b=="number"&&(b&1073741823)===b){r=q.c +return q.aS(r==null?q.c=A.ix():r,b)}else return q.bB(0,b)}, +bB(a,b){var s,r,q=this,p=q.d +if(p==null)p=q.d=A.ix() +s=q.ak(b) +r=p[s] +if(r==null)p[s]=[q.ai(b)] +else{if(q.ao(r,b)>=0)return!1 +r.push(q.ai(b))}return!0}, +a4(a,b){var s +if(b!=="__proto__")return this.bN(this.b,b) +else{s=this.bM(0,b) +return s}}, +bM(a,b){var s,r,q,p,o=this,n=o.d +if(n==null)return!1 +s=o.ak(b) +r=n[s] +q=o.ao(r,b) +if(q<0)return!1 +p=r.splice(q,1)[0] +if(0===r.length)delete n[s] +o.b_(p) +return!0}, +aS(a,b){if(a[b]!=null)return!1 +a[b]=this.ai(b) +return!0}, +bN(a,b){var s +if(a==null)return!1 +s=a[b] +if(s==null)return!1 +this.b_(s) +delete a[b] +return!0}, +aT(){this.r=this.r+1&1073741823}, +ai(a){var s,r=this,q=new A.hl(a) +if(r.e==null)r.e=r.f=q +else{s=r.f +s.toString +q.c=s +r.f=s.b=q}++r.a +r.aT() +return q}, +b_(a){var s=this,r=a.c,q=a.b +if(r==null)s.e=q +else r.b=q +if(q==null)s.f=r +else q.c=r;--s.a +s.aT()}, +ak(a){return J.eZ(a)&1073741823}, +ao(a,b){var s,r +if(a==null)return-1 +s=a.length +for(r=0;r").G(c).l("J<1,2>"))}, +a7(a,b){return new A.a5(a,A.b8(a).l("@").G(b).l("a5<1,2>"))}, +c3(a,b,c,d){var s +A.bk(b,c,this.gj(a)) +for(s=b;s"))}return new A.ec(this)}, +i(a,b,c){var s,r,q=this +if(q.b==null)q.c.i(0,b,c) +else if(q.U(0,b)){s=q.b +s[b]=c +r=q.a +if(r==null?s!=null:r!==s)r[b]=null}else q.bU().i(0,b,c)}, +U(a,b){if(this.b==null)return this.c.U(0,b) +return Object.prototype.hasOwnProperty.call(this.a,b)}, +v(a,b){var s,r,q,p,o=this +if(o.b==null)return o.c.v(0,b) +s=o.a_() +for(r=0;r=0){g=B.a.B("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",f) +if(g===k)continue +k=g}else{if(f===-1){if(o<0){e=p==null?null:p.a.length +if(e==null)e=0 +o=e+(r-q) +n=r}++m +if(k===61)continue}k=g}if(f!==-2){if(p==null){p=new A.H("") +e=p}else e=p +d=e.a+=B.a.m(a1,q,r) +e.a=d+A.ay(k) +q=l +continue}}throw A.b(A.G("Invalid base64 data",a1,r))}if(p!=null){e=p.a+=B.a.m(a1,q,a3) +d=e.length +if(o>=0)A.j0(a1,n,a3,o,m,d) +else{c=B.c.ad(d-1,4)+1 +if(c===1)throw A.b(A.G(a,a1,a3)) +for(;c<4;){e+="=" +p.a=e;++c}}e=p.a +return B.a.W(a1,a2,a3,e.charCodeAt(0)==0?e:e)}b=a3-a2 +if(o>=0)A.j0(a1,n,a3,o,m,b) +else{c=B.c.ad(b,4) +if(c===1)throw A.b(A.G(a,a1,a3)) +if(c>1)a1=B.a.W(a1,a3,a3,c===2?"==":"=")}return a1}} +A.f6.prototype={} +A.cW.prototype={} +A.cY.prototype={} +A.fh.prototype={} +A.fm.prototype={ +k(a){return"unknown"}} +A.fl.prototype={ +aB(a){var s=this.bJ(a,0,a.length) +return s==null?a:s}, +bJ(a,b,c){var s,r,q,p +for(s=b,r=null;s":q=">" +break +case"/":q="/" +break +default:q=null}if(q!=null){if(r==null)r=new A.H("") +if(s>b)r.a+=B.a.m(a,b,s) +r.a+=q +b=s+1}}if(r==null)return null +if(c>b)r.a+=B.a.m(a,b,c) +p=r.a +return p.charCodeAt(0)==0?p:p}} +A.fq.prototype={ +c0(a,b,c){var s=A.mq(b,this.gc2().a) +return s}, +gc2(){return B.P}} +A.fr.prototype={} +A.fX.prototype={} +A.fY.prototype={ +aB(a){var s=this.a,r=A.li(s,a,0,null) +if(r!=null)return r +return new A.hw(s).bZ(a,0,null,!0)}} +A.hw.prototype={ +bZ(a,b,c,d){var s,r,q,p,o=this,n=A.bk(b,c,J.ap(a)) +if(b===n)return"" +s=A.lX(a,b,n) +r=o.al(s,0,n-b,!0) +q=o.b +if((q&1)!==0){p=A.lY(q) +o.b=0 +throw A.b(A.G(p,a,b+o.c))}return r}, +al(a,b,c,d){var s,r,q=this +if(c-b>1000){s=B.c.au(b+c,2) +r=q.al(a,b,s,!1) +if((q.b&1)!==0)return r +return r+q.al(a,s,c,d)}return q.c1(a,b,c,d)}, +c1(a,b,c,d){var s,r,q,p,o,n,m,l=this,k=65533,j=l.b,i=l.c,h=new A.H(""),g=b+1,f=a[b] +$label0$0:for(s=l.a;!0;){for(;!0;g=p){r=B.a.p("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHJEEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBKCCCCCCCCCCCCDCLONNNMEEEEEEEEEEE",f)&31 +i=j<=32?f&61694>>>r:(f&63|i<<6)>>>0 +j=B.a.p(" \x000:XECCCCCN:lDb \x000:XECCCCCNvlDb \x000:XECCCCCN:lDb AAAAA\x00\x00\x00\x00\x00AAAAA00000AAAAA:::::AAAAAGG000AAAAA00KKKAAAAAG::::AAAAA:IIIIAAAAA000\x800AAAAA\x00\x00\x00\x00 AAAAA",j+r) +if(j===0){h.a+=A.ay(i) +if(g===c)break $label0$0 +break}else if((j&1)!==0){if(s)switch(j){case 69:case 67:h.a+=A.ay(k) +break +case 65:h.a+=A.ay(k);--g +break +default:q=h.a+=A.ay(k) +h.a=q+A.ay(k) +break}else{l.b=j +l.c=g-1 +return""}j=0}if(g===c)break $label0$0 +p=g+1 +f=a[g]}p=g+1 +f=a[g] +if(f<128){while(!0){if(!(p=128){o=n-1 +p=n +break}p=n}if(o-g<20)for(m=g;m32)if(s)h.a+=A.ay(k) +else{l.b=77 +l.c=c +return""}l.b=j +l.c=i +s=h.a +return s.charCodeAt(0)==0?s:s}} +A.fA.prototype={ +$2(a,b){var s=this.b,r=this.a,q=s.a+=r.a +q+=a.a +s.a=q +s.a=q+": " +s.a+=A.bg(b) +r.a=", "}, +$S:15} +A.bI.prototype={ +J(a,b){if(b==null)return!1 +return b instanceof A.bI&&this.a===b.a&&!0}, +a8(a,b){return B.c.a8(this.a,b.a)}, +gu(a){var s=this.a +return(s^B.c.a1(s,30))&1073741823}, +k(a){var s=this,r=A.kI(A.l7(s)),q=A.d0(A.l5(s)),p=A.d0(A.l1(s)),o=A.d0(A.l2(s)),n=A.d0(A.l4(s)),m=A.d0(A.l6(s)),l=A.kJ(A.l3(s)) +return r+"-"+q+"-"+p+" "+o+":"+n+":"+m+"."+l}} +A.v.prototype={ +ga5(){return A.b7(this.$thrownJsError)}} +A.cO.prototype={ +k(a){var s=this.a +if(s!=null)return"Assertion failed: "+A.bg(s) +return"Assertion failed"}} +A.aB.prototype={} +A.dm.prototype={ +k(a){return"Throw of null."}} +A.Z.prototype={ +gan(){return"Invalid argument"+(!this.a?"(s)":"")}, +gam(){return""}, +k(a){var s=this,r=s.c,q=r==null?"":" ("+r+")",p=s.d,o=p==null?"":": "+A.p(p),n=s.gan()+q+o +if(!s.a)return n +return n+s.gam()+": "+A.bg(s.b)}} +A.c6.prototype={ +gan(){return"RangeError"}, +gam(){var s,r=this.e,q=this.f +if(r==null)s=q!=null?": Not less than or equal to "+A.p(q):"" +else if(q==null)s=": Not greater than or equal to "+A.p(r) +else if(q>r)s=": Not in inclusive range "+A.p(r)+".."+A.p(q) +else s=qe.length +else s=!1 +if(s)f=null +if(f==null){if(e.length>78)e=B.a.m(e,0,75)+"..." +return g+"\n"+e}for(r=1,q=0,p=!1,o=0;o1?g+(" (at line "+r+", character "+(f-q+1)+")\n"):g+(" (at character "+(f+1)+")\n") +m=e.length +for(o=f;o78)if(f-q<75){l=q+75 +k=q +j="" +i="..."}else{if(m-f<75){k=m-75 +l=m +i=""}else{k=f-36 +l=f+36 +i="..."}j="..."}else{l=m +k=q +j="" +i=""}return g+j+B.a.m(e,k,l)+i+"\n"+B.a.bn(" ",f-k+j.length)+"^\n"}else return f!=null?g+(" (at offset "+A.p(f)+")"):g}} +A.t.prototype={ +a7(a,b){return A.kB(this,A.L(this).l("t.E"),b)}, +aF(a,b,c){return A.kX(this,b,A.L(this).l("t.E"),c)}, +ab(a,b){return new A.b3(this,b,A.L(this).l("b3"))}, +gj(a){var s,r=this.gA(this) +for(s=0;r.q();)++s +return s}, +gS(a){var s,r=this.gA(this) +if(!r.q())throw A.b(A.is()) +s=r.gt(r) +if(r.q())throw A.b(A.kP()) +return s}, +n(a,b){var s,r,q +A.ji(b,"index") +for(s=this.gA(this),r=0;s.q();){q=s.gt(s) +if(b===r)return q;++r}throw A.b(A.z(b,this,"index",null,r))}, +k(a){return A.kO(this,"(",")")}} +A.d5.prototype={} +A.D.prototype={ +gu(a){return A.q.prototype.gu.call(this,this)}, +k(a){return"null"}} +A.q.prototype={$iq:1, +J(a,b){return this===b}, +gu(a){return A.ds(this)}, +k(a){return"Instance of '"+A.fI(this)+"'"}, +bd(a,b){throw A.b(A.je(this,b.gbb(),b.gbf(),b.gbc()))}, +toString(){return this.k(this)}} +A.ey.prototype={ +k(a){return""}, +$iaz:1} +A.H.prototype={ +gj(a){return this.a.length}, +k(a){var s=this.a +return s.charCodeAt(0)==0?s:s}} +A.fV.prototype={ +$2(a,b){var s,r,q,p=B.a.b8(b,"=") +if(p===-1){if(b!=="")J.eY(a,A.iE(b,0,b.length,this.a,!0),"")}else if(p!==0){s=B.a.m(b,0,p) +r=B.a.M(b,p+1) +q=this.a +J.eY(a,A.iE(s,0,s.length,q,!0),A.iE(r,0,r.length,q,!0))}return a}, +$S:24} +A.fS.prototype={ +$2(a,b){throw A.b(A.G("Illegal IPv4 address, "+a,this.a,b))}, +$S:17} +A.fT.prototype={ +$2(a,b){throw A.b(A.G("Illegal IPv6 address, "+a,this.a,b))}, +$S:18} +A.fU.prototype={ +$2(a,b){var s +if(b-a>4)this.a.$2("an IPv6 part can only contain a maximum of 4 hex digits",a) +s=A.ie(B.a.m(this.b,a,b),16) +if(s<0||s>65535)this.a.$2("each part must be in the range of `0x0..0xFFFF`",a) +return s}, +$S:19} +A.cB.prototype={ +gaX(){var s,r,q,p,o=this,n=o.w +if(n===$){s=o.a +r=s.length!==0?""+s+":":"" +q=o.c +p=q==null +if(!p||s==="file"){s=r+"//" +r=o.b +if(r.length!==0)s=s+r+"@" +if(!p)s+=q +r=o.d +if(r!=null)s=s+":"+A.p(r)}else s=r +s+=o.e +r=o.f +if(r!=null)s=s+"?"+r +r=o.r +if(r!=null)s=s+"#"+r +A.iN(n,"_text") +n=o.w=s.charCodeAt(0)==0?s:s}return n}, +gu(a){var s,r=this,q=r.y +if(q===$){s=B.a.gu(r.gaX()) +A.iN(r.y,"hashCode") +r.y=s +q=s}return q}, +gbg(){var s,r=this,q=r.z +if(q===$){s=r.f +s=A.js(s==null?"":s) +A.iN(r.z,"queryParameters") +q=r.z=new A.aC(s,t.V)}return q}, +gbl(){return this.b}, +gaC(a){var s=this.c +if(s==null)return"" +if(B.a.C(s,"["))return B.a.m(s,1,s.length-1) +return s}, +gaG(a){var s=this.d +return s==null?A.jD(this.a):s}, +gaH(a){var s=this.f +return s==null?"":s}, +gb4(){var s=this.r +return s==null?"":s}, +gb5(){return this.c!=null}, +gb7(){return this.f!=null}, +gb6(){return this.r!=null}, +k(a){return this.gaX()}, +J(a,b){var s,r,q=this +if(b==null)return!1 +if(q===b)return!0 +if(t.R.b(b))if(q.a===b.gaM())if(q.c!=null===b.gb5())if(q.b===b.gbl())if(q.gaC(q)===b.gaC(b))if(q.gaG(q)===b.gaG(b))if(q.e===b.gbe(b)){s=q.f +r=s==null +if(!r===b.gb7()){if(r)s="" +if(s===b.gaH(b)){s=q.r +r=s==null +if(!r===b.gb6()){if(r)s="" +s=s===b.gb4()}else s=!1}else s=!1}else s=!1}else s=!1 +else s=!1 +else s=!1 +else s=!1 +else s=!1 +else s=!1 +else s=!1 +return s}, +$idO:1, +gaM(){return this.a}, +gbe(a){return this.e}} +A.fR.prototype={ +gbk(){var s,r,q,p,o=this,n=null,m=o.c +if(m==null){m=o.a +s=o.b[0]+1 +r=B.a.a9(m,"?",s) +q=m.length +if(r>=0){p=A.cC(m,r+1,q,B.h,!1) +q=r}else p=n +m=o.c=new A.dY("data","",n,n,A.cC(m,s,q,B.v,!1),p,n)}return m}, +k(a){var s=this.a +return this.b[0]===-1?"data:"+s:s}} +A.hF.prototype={ +$2(a,b){var s=this.a[a] +B.Y.c3(s,0,96,b) +return s}, +$S:20} +A.hG.prototype={ +$3(a,b,c){var s,r +for(s=b.length,r=0;r>>0]=c}, +$S:8} +A.eq.prototype={ +gb5(){return this.c>0}, +gb7(){return this.fr?B.a.m(this.a,r,s-1):""}, +gaC(a){var s=this.c +return s>0?B.a.m(this.a,s,this.d):""}, +gaG(a){var s,r=this +if(r.c>0&&r.d+1=s.r)return B.W +return new A.aC(A.js(s.gaH(s)),t.V)}, +gu(a){var s=this.x +return s==null?this.x=B.a.gu(this.a):s}, +J(a,b){if(b==null)return!1 +if(this===b)return!0 +return t.R.b(b)&&this.a===b.k(0)}, +k(a){return this.a}, +$idO:1} +A.dY.prototype={} +A.k.prototype={} +A.f_.prototype={ +gj(a){return a.length}} +A.cM.prototype={ +k(a){return String(a)}} +A.cN.prototype={ +k(a){return String(a)}} +A.be.prototype={$ibe:1} +A.aM.prototype={$iaM:1} +A.aN.prototype={$iaN:1} +A.a_.prototype={ +gj(a){return a.length}} +A.f8.prototype={ +gj(a){return a.length}} +A.w.prototype={$iw:1} +A.bH.prototype={ +gj(a){return a.length}} +A.f9.prototype={} +A.S.prototype={} +A.a7.prototype={} +A.fa.prototype={ +gj(a){return a.length}} +A.fb.prototype={ +gj(a){return a.length}} +A.fc.prototype={ +gj(a){return a.length}} +A.aQ.prototype={} +A.fd.prototype={ +k(a){return String(a)}} +A.bJ.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a[b]}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return a[b]}, +$if:1, +$io:1, +$ij:1} +A.bK.prototype={ +k(a){var s,r=a.left +r.toString +s=a.top +s.toString +return"Rectangle ("+A.p(r)+", "+A.p(s)+") "+A.p(this.gY(a))+" x "+A.p(this.gV(a))}, +J(a,b){var s,r +if(b==null)return!1 +if(t.q.b(b)){s=a.left +s.toString +r=b.left +r.toString +if(s===r){s=a.top +s.toString +r=b.top +r.toString +if(s===r){s=J.Y(b) +s=this.gY(a)===s.gY(b)&&this.gV(a)===s.gV(b)}else s=!1}else s=!1}else s=!1 +return s}, +gu(a){var s,r=a.left +r.toString +s=a.top +s.toString +return A.jf(r,s,this.gY(a),this.gV(a))}, +gaU(a){return a.height}, +gV(a){var s=this.gaU(a) +s.toString +return s}, +gb0(a){return a.width}, +gY(a){var s=this.gb0(a) +s.toString +return s}, +$ib1:1} +A.d1.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a[b]}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return a[b]}, +$if:1, +$io:1, +$ij:1} +A.fe.prototype={ +gj(a){return a.length}} +A.x.prototype={ +gbW(a){return new A.cf(a)}, +ga3(a){return new A.e2(a)}, +k(a){return a.localName}, +K(a,b,c,d){var s,r,q,p +if(c==null){s=$.j7 +if(s==null){s=A.n([],t.Q) +r=new A.c4(s) +s.push(A.jv(null)) +s.push(A.jz()) +$.j7=r +d=r}else d=s +s=$.j6 +if(s==null){s=new A.eM(d) +$.j6=s +c=s}else{s.a=d +c=s}}if($.as==null){s=document +r=s.implementation.createHTMLDocument("") +$.as=r +$.iq=r.createRange() +r=$.as.createElement("base") +t.D.a(r) +s=s.baseURI +s.toString +r.href=s +$.as.head.appendChild(r)}s=$.as +if(s.body==null){r=s.createElement("body") +s.body=t.Y.a(r)}s=$.as +if(t.Y.b(a)){s=s.body +s.toString +q=s}else{s.toString +q=s.createElement(a.tagName) +$.as.body.appendChild(q)}if("createContextualFragment" in window.Range.prototype&&!B.b.F(B.R,a.tagName)){$.iq.selectNodeContents(q) +s=$.iq +p=s.createContextualFragment(b)}else{q.innerHTML=b +p=$.as.createDocumentFragment() +for(;s=q.firstChild,s!=null;)p.appendChild(s)}if(q!==$.as.body)J.iY(q) +c.aL(p) +document.adoptNode(p) +return p}, +c_(a,b,c){return this.K(a,b,c,null)}, +saD(a,b){this.ae(a,b)}, +ae(a,b){a.textContent=null +a.appendChild(this.K(a,b,null,null))}, +gbi(a){return a.tagName}, +$ix:1} +A.ff.prototype={ +$1(a){return t.h.b(a)}, +$S:22} +A.h.prototype={$ih:1} +A.c.prototype={ +N(a,b,c){this.bD(a,b,c,null)}, +bD(a,b,c,d){return a.addEventListener(b,A.bD(c,1),d)}} +A.a0.prototype={$ia0:1} +A.d2.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a[b]}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return a[b]}, +$if:1, +$io:1, +$ij:1} +A.fi.prototype={ +gj(a){return a.length}} +A.d3.prototype={ +gj(a){return a.length}} +A.a9.prototype={$ia9:1} +A.fk.prototype={ +gj(a){return a.length}} +A.aS.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a[b]}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return a[b]}, +$if:1, +$io:1, +$ij:1} +A.bQ.prototype={} +A.bR.prototype={$ibR:1} +A.at.prototype={$iat:1} +A.bi.prototype={$ibi:1} +A.fv.prototype={ +k(a){return String(a)}} +A.fx.prototype={ +gj(a){return a.length}} +A.dd.prototype={ +h(a,b){return A.aH(a.get(b))}, +v(a,b){var s,r=a.entries() +for(;!0;){s=r.next() +if(s.done)return +b.$2(s.value[0],A.aH(s.value[1]))}}, +gD(a){var s=A.n([],t.s) +this.v(a,new A.fy(s)) +return s}, +gj(a){return a.size}, +i(a,b,c){throw A.b(A.r("Not supported"))}, +$iu:1} +A.fy.prototype={ +$2(a,b){return this.a.push(a)}, +$S:2} +A.de.prototype={ +h(a,b){return A.aH(a.get(b))}, +v(a,b){var s,r=a.entries() +for(;!0;){s=r.next() +if(s.done)return +b.$2(s.value[0],A.aH(s.value[1]))}}, +gD(a){var s=A.n([],t.s) +this.v(a,new A.fz(s)) +return s}, +gj(a){return a.size}, +i(a,b,c){throw A.b(A.r("Not supported"))}, +$iu:1} +A.fz.prototype={ +$2(a,b){return this.a.push(a)}, +$S:2} +A.ac.prototype={$iac:1} +A.df.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a[b]}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return a[b]}, +$if:1, +$io:1, +$ij:1} +A.I.prototype={ +gS(a){var s=this.a,r=s.childNodes.length +if(r===0)throw A.b(A.c9("No elements")) +if(r>1)throw A.b(A.c9("More than one element")) +s=s.firstChild +s.toString +return s}, +I(a,b){var s,r,q,p,o +if(b instanceof A.I){s=b.a +r=this.a +if(s!==r)for(q=s.childNodes.length,p=0;p>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a[b]}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return a[b]}, +$if:1, +$io:1, +$ij:1} +A.ad.prototype={ +gj(a){return a.length}, +$iad:1} +A.dr.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a[b]}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return a[b]}, +$if:1, +$io:1, +$ij:1} +A.dt.prototype={ +h(a,b){return A.aH(a.get(b))}, +v(a,b){var s,r=a.entries() +for(;!0;){s=r.next() +if(s.done)return +b.$2(s.value[0],A.aH(s.value[1]))}}, +gD(a){var s=A.n([],t.s) +this.v(a,new A.fJ(s)) +return s}, +gj(a){return a.size}, +i(a,b,c){throw A.b(A.r("Not supported"))}, +$iu:1} +A.fJ.prototype={ +$2(a,b){return this.a.push(a)}, +$S:2} +A.dv.prototype={ +gj(a){return a.length}} +A.af.prototype={$iaf:1} +A.dx.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a[b]}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return a[b]}, +$if:1, +$io:1, +$ij:1} +A.ag.prototype={$iag:1} +A.dy.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a[b]}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return a[b]}, +$if:1, +$io:1, +$ij:1} +A.ah.prototype={ +gj(a){return a.length}, +$iah:1} +A.dA.prototype={ +h(a,b){return a.getItem(A.eX(b))}, +i(a,b,c){a.setItem(b,c)}, +v(a,b){var s,r,q +for(s=0;!0;++s){r=a.key(s) +if(r==null)return +q=a.getItem(r) +q.toString +b.$2(r,q)}}, +gD(a){var s=A.n([],t.s) +this.v(a,new A.fL(s)) +return s}, +gj(a){return a.length}, +$iu:1} +A.fL.prototype={ +$2(a,b){return this.a.push(a)}, +$S:6} +A.W.prototype={$iW:1} +A.ca.prototype={ +K(a,b,c,d){var s,r +if("createContextualFragment" in window.Range.prototype)return this.af(a,b,c,d) +s=A.kK(""+b+"
",c,d) +r=document.createDocumentFragment() +new A.I(r).I(0,new A.I(s)) +return r}} +A.dD.prototype={ +K(a,b,c,d){var s,r +if("createContextualFragment" in window.Range.prototype)return this.af(a,b,c,d) +s=document +r=s.createDocumentFragment() +s=new A.I(B.z.K(s.createElement("table"),b,c,d)) +s=new A.I(s.gS(s)) +new A.I(r).I(0,new A.I(s.gS(s))) +return r}} +A.dE.prototype={ +K(a,b,c,d){var s,r +if("createContextualFragment" in window.Range.prototype)return this.af(a,b,c,d) +s=document +r=s.createDocumentFragment() +s=new A.I(B.z.K(s.createElement("table"),b,c,d)) +new A.I(r).I(0,new A.I(s.gS(s))) +return r}} +A.bp.prototype={ +ae(a,b){var s,r +a.textContent=null +s=a.content +s.toString +J.kr(s) +r=this.K(a,b,null,null) +a.content.appendChild(r)}, +$ibp:1} +A.ai.prototype={$iai:1} +A.X.prototype={$iX:1} +A.dG.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a[b]}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return a[b]}, +$if:1, +$io:1, +$ij:1} +A.dH.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a[b]}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return a[b]}, +$if:1, +$io:1, +$ij:1} +A.fN.prototype={ +gj(a){return a.length}} +A.aj.prototype={$iaj:1} +A.dI.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a[b]}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return a[b]}, +$if:1, +$io:1, +$ij:1} +A.fO.prototype={ +gj(a){return a.length}} +A.N.prototype={} +A.fW.prototype={ +k(a){return String(a)}} +A.h0.prototype={ +gj(a){return a.length}} +A.bs.prototype={$ibs:1} +A.al.prototype={$ial:1} +A.bt.prototype={$ibt:1} +A.dV.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a[b]}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return a[b]}, +$if:1, +$io:1, +$ij:1} +A.cd.prototype={ +k(a){var s,r,q,p=a.left +p.toString +s=a.top +s.toString +r=a.width +r.toString +q=a.height +q.toString +return"Rectangle ("+A.p(p)+", "+A.p(s)+") "+A.p(r)+" x "+A.p(q)}, +J(a,b){var s,r +if(b==null)return!1 +if(t.q.b(b)){s=a.left +s.toString +r=b.left +r.toString +if(s===r){s=a.top +s.toString +r=b.top +r.toString +if(s===r){s=a.width +s.toString +r=J.Y(b) +if(s===r.gY(b)){s=a.height +s.toString +r=s===r.gV(b) +s=r}else s=!1}else s=!1}else s=!1}else s=!1 +return s}, +gu(a){var s,r,q,p=a.left +p.toString +s=a.top +s.toString +r=a.width +r.toString +q=a.height +q.toString +return A.jf(p,s,r,q)}, +gaU(a){return a.height}, +gV(a){var s=a.height +s.toString +return s}, +gb0(a){return a.width}, +gY(a){var s=a.width +s.toString +return s}} +A.e7.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a[b]}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return a[b]}, +$if:1, +$io:1, +$ij:1} +A.ck.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a[b]}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return a[b]}, +$if:1, +$io:1, +$ij:1} +A.et.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a[b]}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return a[b]}, +$if:1, +$io:1, +$ij:1} +A.ez.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a[b]}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return a[b]}, +$if:1, +$io:1, +$ij:1} +A.dS.prototype={ +v(a,b){var s,r,q,p,o,n +for(s=this.gD(this),r=s.length,q=this.a,p=0;p0)p[r]=q[0].toUpperCase()+B.a.M(q,1)}return B.b.R(p,"")}, +av(a){var s,r,q,p,o +for(s=a.length,r=0,q="";r0?q+"-":q)+o}return q.charCodeAt(0)==0?q:q}} +A.h5.prototype={ +$2(a,b){if(B.a.C(a,"data-"))this.b.$2(this.a.aZ(B.a.M(a,5)),b)}, +$S:6} +A.h6.prototype={ +$2(a,b){if(B.a.C(a,"data-"))this.b.push(this.a.aZ(B.a.M(a,5)))}, +$S:6} +A.e2.prototype={ +P(){var s,r,q,p,o=A.bW(t.N) +for(s=this.a.className.split(" "),r=s.length,q=0;q") +return}if(!l.a.T(a)){l.a0(a,b) +window +s=A.p(b) +if(typeof console!="undefined")window.console.warn("Removing disallowed element <"+e+"> from "+s) +return}if(g!=null)if(!l.a.O(a,"is",g)){l.a0(a,b) +window +if(typeof console!="undefined")window.console.warn("Removing disallowed type extension <"+e+' is="'+g+'">') +return}s=f.gD(f) +r=A.n(s.slice(0),A.b4(s)) +for(q=f.gD(f).length-1,s=f.a,p="Removing disallowed attribute <"+e+" ";q>=0;--q){o=r[q] +n=l.a +m=J.ky(o) +A.eX(o) +if(!n.O(a,m,s.getAttribute(o))){window +n=s.getAttribute(o) +if(typeof console!="undefined")window.console.warn(p+o+'="'+A.p(n)+'">') +s.removeAttribute(o)}}if(t.bg.b(a)){s=a.content +s.toString +l.aL(s)}}} +A.hy.prototype={ +$2(a,b){var s,r,q,p,o,n=this.a +switch(a.nodeType){case 1:n.bQ(a,b) +break +case 8:case 11:case 3:case 4:break +default:n.a0(a,b)}s=a.lastChild +for(;s!=null;){r=null +try{r=s.previousSibling +if(r!=null){q=r.nextSibling +p=s +p=q==null?p!=null:q!==p +q=p}else q=!1 +if(q){q=A.c9("Corrupt HTML") +throw A.b(q)}}catch(o){q=s;++n.b +p=q.parentNode +if(a!==p){if(p!=null)p.removeChild(q)}else a.removeChild(q) +s=null +r=a.lastChild}if(s!=null)this.$2(s,a) +s=r}}, +$S:27} +A.dW.prototype={} +A.dZ.prototype={} +A.e_.prototype={} +A.e0.prototype={} +A.e1.prototype={} +A.e4.prototype={} +A.e5.prototype={} +A.e9.prototype={} +A.ea.prototype={} +A.ef.prototype={} +A.eg.prototype={} +A.eh.prototype={} +A.ei.prototype={} +A.ej.prototype={} +A.ek.prototype={} +A.en.prototype={} +A.eo.prototype={} +A.ep.prototype={} +A.cs.prototype={} +A.ct.prototype={} +A.er.prototype={} +A.es.prototype={} +A.eu.prototype={} +A.eC.prototype={} +A.eD.prototype={} +A.cv.prototype={} +A.cw.prototype={} +A.eE.prototype={} +A.eF.prototype={} +A.eN.prototype={} +A.eO.prototype={} +A.eP.prototype={} +A.eQ.prototype={} +A.eR.prototype={} +A.eS.prototype={} +A.eT.prototype={} +A.eU.prototype={} +A.eV.prototype={} +A.eW.prototype={} +A.cZ.prototype={ +aw(a){var s=$.k9().b +if(s.test(a))return a +throw A.b(A.ip(a,"value","Not a valid class token"))}, +k(a){return this.P().R(0," ")}, +aK(a,b){var s,r,q +this.aw(b) +s=this.P() +r=s.F(0,b) +if(!r){s.E(0,b) +q=!0}else{s.a4(0,b) +q=!1}this.ac(s) +return q}, +gA(a){var s=this.P() +return A.lq(s,s.r)}, +gj(a){return this.P().a}, +E(a,b){var s +this.aw(b) +s=this.cb(0,new A.f7(b)) +return s==null?!1:s}, +a4(a,b){var s,r +this.aw(b) +s=this.P() +r=s.a4(0,b) +this.ac(s) +return r}, +n(a,b){return this.P().n(0,b)}, +cb(a,b){var s=this.P(),r=b.$1(s) +this.ac(s) +return r}} +A.f7.prototype={ +$1(a){return a.E(0,this.a)}, +$S:28} +A.bV.prototype={$ibV:1} +A.hD.prototype={ +$1(a){var s=function(b,c,d){return function(){return b(c,d,this,Array.prototype.slice.apply(arguments))}}(A.m5,a,!1) +A.iH(s,$.il(),a) +return s}, +$S:4} +A.hE.prototype={ +$1(a){return new this.a(a)}, +$S:4} +A.hM.prototype={ +$1(a){return new A.bU(a)}, +$S:29} +A.hN.prototype={ +$1(a){return new A.aU(a,t.F)}, +$S:30} +A.hO.prototype={ +$1(a){return new A.ab(a)}, +$S:31} +A.ab.prototype={ +h(a,b){if(typeof b!="string"&&typeof b!="number")throw A.b(A.aq("property is not a String or num",null)) +return A.iF(this.a[b])}, +i(a,b,c){if(typeof b!="string"&&typeof b!="number")throw A.b(A.aq("property is not a String or num",null)) +this.a[b]=A.iG(c)}, +J(a,b){if(b==null)return!1 +return b instanceof A.ab&&this.a===b.a}, +k(a){var s,r +try{s=String(this.a) +return s}catch(r){s=this.bv(0) +return s}}, +bY(a,b){var s=this.a,r=b==null?null:A.jd(new A.J(b,A.mV(),A.b4(b).l("J<1,@>")),t.z) +return A.iF(s[a].apply(s,r))}, +bX(a){return this.bY(a,null)}, +gu(a){return 0}} +A.bU.prototype={} +A.aU.prototype={ +aR(a){var s=this,r=a<0||a>=s.gj(s) +if(r)throw A.b(A.T(a,0,s.gj(s),null,null))}, +h(a,b){if(A.iL(b))this.aR(b) +return this.bs(0,b)}, +i(a,b,c){this.aR(b) +this.bw(0,b,c)}, +gj(a){var s=this.a.length +if(typeof s==="number"&&s>>>0===s)return s +throw A.b(A.c9("Bad JsArray length"))}, +$if:1, +$ij:1} +A.bw.prototype={ +i(a,b,c){return this.bt(0,b,c)}} +A.fD.prototype={ +k(a){return"Promise was rejected with a value of `"+(this.a?"undefined":"null")+"`."}} +A.ii.prototype={ +$1(a){return this.a.az(0,a)}, +$S:5} +A.ij.prototype={ +$1(a){if(a==null)return this.a.b3(new A.fD(a===undefined)) +return this.a.b3(a)}, +$S:5} +A.av.prototype={$iav:1} +A.da.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a.getItem(b)}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return this.h(a,b)}, +$if:1, +$ij:1} +A.aw.prototype={$iaw:1} +A.dn.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a.getItem(b)}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return this.h(a,b)}, +$if:1, +$ij:1} +A.fG.prototype={ +gj(a){return a.length}} +A.bl.prototype={$ibl:1} +A.dC.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a.getItem(b)}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return this.h(a,b)}, +$if:1, +$ij:1} +A.cQ.prototype={ +P(){var s,r,q,p,o=this.a.getAttribute("class"),n=A.bW(t.N) +if(o==null)return n +for(s=o.split(" "),r=s.length,q=0;q'+b+"",c) +q=o.createDocumentFragment() +o=new A.I(r) +p=o.gS(o) +for(;o=p.firstChild,o!=null;)q.appendChild(o) +return q}, +$ii:1} +A.aA.prototype={$iaA:1} +A.dJ.prototype={ +gj(a){return a.length}, +h(a,b){if(b>>>0!==b||b>=a.length)throw A.b(A.z(b,a,null,null,null)) +return a.getItem(b)}, +i(a,b,c){throw A.b(A.r("Cannot assign element of immutable List."))}, +n(a,b){return this.h(a,b)}, +$if:1, +$ij:1} +A.ed.prototype={} +A.ee.prototype={} +A.el.prototype={} +A.em.prototype={} +A.ew.prototype={} +A.ex.prototype={} +A.eG.prototype={} +A.eH.prototype={} +A.f2.prototype={ +gj(a){return a.length}} +A.cR.prototype={ +h(a,b){return A.aH(a.get(b))}, +v(a,b){var s,r=a.entries() +for(;!0;){s=r.next() +if(s.done)return +b.$2(s.value[0],A.aH(s.value[1]))}}, +gD(a){var s=A.n([],t.s) +this.v(a,new A.f3(s)) +return s}, +gj(a){return a.size}, +i(a,b,c){throw A.b(A.r("Not supported"))}, +$iu:1} +A.f3.prototype={ +$2(a,b){return this.a.push(a)}, +$S:2} +A.f4.prototype={ +gj(a){return a.length}} +A.bd.prototype={} +A.fF.prototype={ +gj(a){return a.length}} +A.dT.prototype={} +A.hZ.prototype={ +$0(){var s,r="Failed to initialize search" +A.mZ("Could not activate search functionality.") +s=this.a +if(s!=null)s.placeholder=r +s=this.b +if(s!=null)s.placeholder=r +s=this.c +if(s!=null)s.placeholder=r}, +$S:0} +A.hY.prototype={ +$1(a){var s=0,r=A.mo(t.P),q,p=this,o,n,m,l,k,j,i,h,g +var $async$$1=A.mB(function(b,c){if(b===1)return A.m1(c,r) +while(true)switch(s){case 0:if(a.status===404){p.b.$0() +s=1 +break}i=J +h=t.j +g=B.I +s=3 +return A.m0(A.k5(a.text(),t.N),$async$$1) +case 3:o=i.kt(h.a(g.c0(0,c,null)),t.a) +n=o.$ti.l("J") +m=A.fu(new A.J(o,A.n0(),n),!0,n.l("a1.E")) +l=A.lh(String(window.location)).gbg().h(0,"search") +if(l!=null){k=A.jX(m,l) +if(k.length!==0){j=B.b.gc4(k).d +if(j!=null){window.location.assign(p.a.a+j) +s=1 +break}}}n=p.c +if(n!=null)A.iR(n,m,p.a.a) +n=p.d +if(n!=null)A.iR(n,m,p.a.a) +n=p.e +if(n!=null)A.iR(n,m,p.a.a) +case 1:return A.m2(q,r)}}) +return A.m3($async$$1,r)}, +$S:48} +A.hS.prototype={ +$1(a){var s,r=this.a,q=r.e +if(q==null)q=0 +s=B.X.h(0,r.c) +if(s==null)s=4 +this.b.push(new A.V(r,(a-q*10)/s))}, +$S:47} +A.hQ.prototype={ +$2(a,b){var s=B.e.X(b.b-a.b) +if(s===0)return a.a.a.length-b.a.a.length +return s}, +$S:34} +A.hR.prototype={ +$1(a){return a.a}, +$S:35} +A.i0.prototype={ +$1(a){return}, +$S:1} +A.ia.prototype={ +$2(a,b){var s=B.B.aB(b) +return A.n1(a,b,""+s+"")}, +$S:37} +A.i5.prototype={ +$2(a,b){var s,r,q,p,o=document,n=o.createElement("div"),m=b.d +n.setAttribute("data-href",m==null?"":m) +m=J.Y(n) +m.ga3(n).E(0,"tt-suggestion") +s=o.createElement("span") +r=J.Y(s) +r.ga3(s).E(0,"tt-suggestion-title") +q=this.a +r.saD(s,q.$2(b.a+" "+b.c.toLowerCase(),a)) +n.appendChild(s) +r=b.f +if(r!=null){p=o.createElement("div") +o=J.Y(p) +o.ga3(p).E(0,"search-from-lib") +o.saD(p,"from "+A.p(q.$2(r.a,a))) +n.appendChild(p)}m.N(n,"mousedown",new A.i6()) +m.N(n,"click",new A.i7(b,this.b)) +return n}, +$S:38} +A.i6.prototype={ +$1(a){a.preventDefault()}, +$S:1} +A.i7.prototype={ +$1(a){var s=this.a.d +if(s!=null){window.location.assign(this.b+s) +a.preventDefault()}}, +$S:1} +A.ib.prototype={ +$1(a){var s +this.a.c=a +s=a==null?"":a +this.b.value=s}, +$S:39} +A.ic.prototype={ +$0(){var s,r +if(this.a.hasChildNodes()){s=this.b +r=s.style +r.display="block" +s.setAttribute("aria-expanded","true")}}, +$S:0} +A.i9.prototype={ +$0(){var s=this.a,r=s.style +r.display="none" +s.setAttribute("aria-expanded","false")}, +$S:0} +A.id.prototype={ +$2(a,b){var s,r,q,p,o,n=this,m=n.a +m.e=A.n([],t.M) +m.d=A.n([],t.k) +s=n.b +s.textContent="" +r=b.length +if(r<1){n.c.$1(null) +n.d.$0() +return}for(q=n.e,p=0;p10)s=B.b.bp(s,0,10) +q.b=a +r.b.$2(a,s)}, +$1(a){return this.$2(a,!1)}, +$S:41} +A.i1.prototype={ +$1(a){this.a.$2(this.b.value,!0)}, +$S:1} +A.i2.prototype={ +$1(a){var s,r=this,q=r.a +q.f=null +s=q.a +if(s!=null){r.b.value=s +q.a=null}r.c.$0() +r.d.$1(null)}, +$S:1} +A.i3.prototype={ +$1(a){this.a.$1(this.b.value)}, +$S:1} +A.i4.prototype={ +$1(a){var s,r,q,p,o,n,m,l,k,j=this,i="tt-cursor",h=j.a,g=h.d,f=g.length +if(f===0)return +if(a.type!=="keydown")return +t.u.a(a) +s=a.code +if(s==="Enter"){r=h.f +h=g[r==null?0:r] +q=h.getAttribute("data-"+new A.dX(new A.cf(h)).av("href")) +if(q!=null)window.location.assign(j.b+q) +return}if(s==="Tab"){g=h.f +if(g==null){g=h.c +if(g!=null){j.c.value=g +j.d.$1(h.c) +a.preventDefault()}}else{j.d.$1(h.e[g].a) +h.f=h.a=null +a.preventDefault()}return}p=f-1 +o=h.f +if(s==="ArrowUp")if(o==null)h.f=p +else if(o===0)h.f=null +else h.f=o-1 +else if(s==="ArrowDown")if(o==null)h.f=0 +else if(o===p)h.f=null +else h.f=o+1 +else{if(h.a!=null){h.a=null +j.d.$1(j.c.value)}return}f=o!=null +if(f)J.bb(g[o]).a4(0,i) +g=h.f +if(g!=null){n=h.d[g] +J.bb(n).E(0,i) +g=h.f +if(g===0)j.e.scrollTop=0 +else{f=j.e +if(g===p)f.scrollTop=B.c.X(B.e.X(f.scrollHeight)) +else{m=B.e.X(n.offsetTop) +l=B.e.X(f.offsetHeight) +if(m(@)","~(d,l)","~(d,l?)","l(l,l)","bq(@,@)","@(d)","O(m)","D(~())","u(u,d)","D(q,az)","d(d)","~(m,m?)","O(ae)","bU(@)","aU<@>(@)","ab(@)","M(u)","q?(@)","l(V,V)","M(V)","~(l,@)","d(d,d)","x(d,M)","~(d?)","~(d,j)","~(d?[O])","~(h)","l(@,@)","@(@,d)","D(@,az)","q?(q?)","~(l)","a8(@)"],interceptorsByTag:null,leafTags:null,arrayRti:Symbol("$ti")} +A.lE(v.typeUniverse,JSON.parse('{"dq":"aW","b2":"aW","aa":"aW","n8":"h","ni":"h","n7":"i","nj":"i","n9":"k","nl":"k","no":"m","nh":"m","nE":"aQ","nD":"X","nb":"N","ng":"al","na":"a_","nq":"a_","nk":"aS","nc":"w","ne":"W","nn":"aZ","nm":"b_","d6":{"O":[]},"bT":{"D":[]},"A":{"j":["1"],"f":["1"]},"fp":{"A":["1"],"j":["1"],"f":["1"]},"bh":{"a4":[],"P":[]},"bS":{"a4":[],"l":[],"P":[]},"d7":{"a4":[],"P":[]},"au":{"d":[]},"aD":{"t":["2"]},"aO":{"aD":["1","2"],"t":["2"],"t.E":"2"},"ce":{"aO":["1","2"],"aD":["1","2"],"f":["2"],"t":["2"],"t.E":"2"},"cc":{"e":["2"],"j":["2"],"aD":["1","2"],"f":["2"],"t":["2"]},"a5":{"cc":["1","2"],"e":["2"],"j":["2"],"aD":["1","2"],"f":["2"],"t":["2"],"e.E":"2","t.E":"2"},"d9":{"v":[]},"cV":{"e":["l"],"j":["l"],"f":["l"],"e.E":"l"},"f":{"t":["1"]},"a1":{"f":["1"],"t":["1"]},"aY":{"t":["2"],"t.E":"2"},"bL":{"aY":["1","2"],"f":["2"],"t":["2"],"t.E":"2"},"J":{"a1":["2"],"f":["2"],"t":["2"],"a1.E":"2","t.E":"2"},"b3":{"t":["1"],"t.E":"1"},"br":{"e":["1"],"j":["1"],"f":["1"]},"bn":{"bo":[]},"bG":{"aC":["1","2"],"u":["1","2"]},"bF":{"u":["1","2"]},"a6":{"u":["1","2"]},"c5":{"aB":[],"v":[]},"d8":{"v":[]},"dL":{"v":[]},"cu":{"az":[]},"aP":{"aR":[]},"cT":{"aR":[]},"cU":{"aR":[]},"dF":{"aR":[]},"dz":{"aR":[]},"bf":{"aR":[]},"du":{"v":[]},"aV":{"u":["1","2"],"E.V":"2"},"aX":{"f":["1"],"t":["1"],"t.E":"1"},"b_":{"R":[]},"bj":{"o":["1"],"R":[]},"aZ":{"e":["a4"],"o":["a4"],"j":["a4"],"f":["a4"],"R":[],"e.E":"a4"},"c0":{"e":["l"],"o":["l"],"j":["l"],"f":["l"],"R":[]},"dg":{"e":["l"],"o":["l"],"j":["l"],"f":["l"],"R":[],"e.E":"l"},"dh":{"e":["l"],"o":["l"],"j":["l"],"f":["l"],"R":[],"e.E":"l"},"di":{"e":["l"],"o":["l"],"j":["l"],"f":["l"],"R":[],"e.E":"l"},"dj":{"e":["l"],"o":["l"],"j":["l"],"f":["l"],"R":[],"e.E":"l"},"dk":{"e":["l"],"o":["l"],"j":["l"],"f":["l"],"R":[],"e.E":"l"},"c1":{"e":["l"],"o":["l"],"j":["l"],"f":["l"],"R":[],"e.E":"l"},"c2":{"e":["l"],"bq":[],"o":["l"],"j":["l"],"f":["l"],"R":[],"e.E":"l"},"e3":{"v":[]},"cx":{"aB":[],"v":[]},"F":{"a8":["1"]},"cP":{"v":[]},"cb":{"dU":["1"]},"ch":{"a3":["1"],"ae":["1"],"f":["1"]},"bX":{"e":["1"],"j":["1"],"f":["1"]},"bZ":{"u":["1","2"]},"E":{"u":["1","2"]},"c_":{"u":["1","2"]},"aC":{"u":["1","2"]},"c7":{"a3":["1"],"ae":["1"],"f":["1"]},"cp":{"a3":["1"],"ae":["1"],"f":["1"]},"eb":{"u":["d","@"],"E.V":"@"},"ec":{"a1":["d"],"f":["d"],"t":["d"],"a1.E":"d","t.E":"d"},"a4":{"P":[]},"l":{"P":[]},"j":{"f":["1"]},"ae":{"f":["1"],"t":["1"]},"cO":{"v":[]},"aB":{"v":[]},"dm":{"v":[]},"Z":{"v":[]},"c6":{"v":[]},"d4":{"v":[]},"dl":{"v":[]},"dN":{"v":[]},"dK":{"v":[]},"bm":{"v":[]},"cX":{"v":[]},"dp":{"v":[]},"c8":{"v":[]},"d_":{"v":[]},"ey":{"az":[]},"cB":{"dO":[]},"eq":{"dO":[]},"dY":{"dO":[]},"x":{"m":[]},"a0":{"aM":[]},"bv":{"a2":[]},"k":{"x":[],"m":[]},"cM":{"x":[],"m":[]},"cN":{"x":[],"m":[]},"be":{"x":[],"m":[]},"aN":{"x":[],"m":[]},"a_":{"m":[]},"aQ":{"m":[]},"bJ":{"e":["b1

"],"j":["b1

"],"o":["b1

"],"f":["b1

"],"e.E":"b1

"},"bK":{"b1":["P"]},"d1":{"e":["d"],"j":["d"],"o":["d"],"f":["d"],"e.E":"d"},"d2":{"e":["a0"],"j":["a0"],"o":["a0"],"f":["a0"],"e.E":"a0"},"d3":{"x":[],"m":[]},"aS":{"e":["m"],"j":["m"],"o":["m"],"f":["m"],"e.E":"m"},"bQ":{"m":[]},"at":{"x":[],"m":[]},"bi":{"h":[]},"dd":{"u":["d","@"],"E.V":"@"},"de":{"u":["d","@"],"E.V":"@"},"df":{"e":["ac"],"j":["ac"],"o":["ac"],"f":["ac"],"e.E":"ac"},"I":{"e":["m"],"j":["m"],"f":["m"],"e.E":"m"},"c3":{"e":["m"],"j":["m"],"o":["m"],"f":["m"],"e.E":"m"},"dr":{"e":["ad"],"j":["ad"],"o":["ad"],"f":["ad"],"e.E":"ad"},"dt":{"u":["d","@"],"E.V":"@"},"dv":{"x":[],"m":[]},"dx":{"e":["af"],"j":["af"],"o":["af"],"f":["af"],"e.E":"af"},"dy":{"e":["ag"],"j":["ag"],"o":["ag"],"f":["ag"],"e.E":"ag"},"dA":{"u":["d","d"],"E.V":"d"},"ca":{"x":[],"m":[]},"dD":{"x":[],"m":[]},"dE":{"x":[],"m":[]},"bp":{"x":[],"m":[]},"dG":{"e":["X"],"j":["X"],"o":["X"],"f":["X"],"e.E":"X"},"dH":{"e":["ai"],"j":["ai"],"o":["ai"],"f":["ai"],"e.E":"ai"},"dI":{"e":["aj"],"j":["aj"],"o":["aj"],"f":["aj"],"e.E":"aj"},"N":{"h":[]},"bt":{"m":[]},"dV":{"e":["w"],"j":["w"],"o":["w"],"f":["w"],"e.E":"w"},"cd":{"b1":["P"]},"e7":{"e":["a9?"],"j":["a9?"],"o":["a9?"],"f":["a9?"],"e.E":"a9?"},"ck":{"e":["m"],"j":["m"],"o":["m"],"f":["m"],"e.E":"m"},"et":{"e":["ah"],"j":["ah"],"o":["ah"],"f":["ah"],"e.E":"ah"},"ez":{"e":["W"],"j":["W"],"o":["W"],"f":["W"],"e.E":"W"},"dS":{"u":["d","d"]},"cf":{"u":["d","d"],"E.V":"d"},"dX":{"u":["d","d"],"E.V":"d"},"e2":{"a3":["d"],"ae":["d"],"f":["d"]},"c4":{"a2":[]},"cr":{"a2":[]},"eB":{"a2":[]},"eA":{"a2":[]},"cZ":{"a3":["d"],"ae":["d"],"f":["d"]},"aU":{"e":["1"],"j":["1"],"f":["1"],"e.E":"1"},"da":{"e":["av"],"j":["av"],"f":["av"],"e.E":"av"},"dn":{"e":["aw"],"j":["aw"],"f":["aw"],"e.E":"aw"},"bl":{"i":[],"x":[],"m":[]},"dC":{"e":["d"],"j":["d"],"f":["d"],"e.E":"d"},"cQ":{"a3":["d"],"ae":["d"],"f":["d"]},"i":{"x":[],"m":[]},"dJ":{"e":["aA"],"j":["aA"],"f":["aA"],"e.E":"aA"},"cR":{"u":["d","@"],"E.V":"@"},"bq":{"j":["l"],"f":["l"],"R":[]}}')) +A.lD(v.typeUniverse,JSON.parse('{"bE":1,"bY":1,"dc":2,"dP":1,"bO":1,"dM":1,"br":1,"cD":2,"bF":2,"db":1,"bj":1,"dB":2,"ev":1,"ci":1,"bX":1,"bZ":2,"E":2,"eL":2,"c_":2,"c7":1,"cp":1,"cj":1,"cq":1,"cA":2,"cE":1,"cW":2,"cY":2,"d5":1,"y":1,"bP":1,"bw":1}')) +var u={c:"Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type"} +var t=(function rtii(){var s=A.cJ +return{D:s("be"),d:s("aM"),Y:s("aN"),m:s("bG"),O:s("f<@>"),h:s("x"),U:s("v"),E:s("h"),Z:s("aR"),c:s("a8<@>"),I:s("bR"),r:s("at"),k:s("A"),M:s("A"),Q:s("A"),l:s("A"),s:s("A"),n:s("A"),b:s("A<@>"),t:s("A"),T:s("bT"),g:s("aa"),p:s("o<@>"),F:s("aU<@>"),B:s("aV"),w:s("bV"),u:s("bi"),j:s("j<@>"),a:s("u"),L:s("J"),e:s("J"),G:s("m"),P:s("D"),K:s("q"),q:s("b1

"),W:s("bl"),J:s("az"),N:s("d"),bM:s("i"),bg:s("bp"),b7:s("aB"),f:s("R"),o:s("b2"),V:s("aC"),R:s("dO"),cg:s("bs"),bj:s("al"),x:s("bt"),ba:s("I"),aY:s("F<@>"),y:s("O"),i:s("a4"),z:s("@"),v:s("@(q)"),C:s("@(q,az)"),S:s("l"),A:s("0&*"),_:s("q*"),bc:s("a8?"),cD:s("at?"),X:s("q?"),H:s("P")}})();(function constants(){var s=hunkHelpers.makeConstList +B.k=A.aN.prototype +B.L=A.bQ.prototype +B.f=A.at.prototype +B.M=J.aT.prototype +B.b=J.A.prototype +B.c=J.bS.prototype +B.e=J.bh.prototype +B.a=J.au.prototype +B.N=J.aa.prototype +B.O=J.a.prototype +B.Y=A.c2.prototype +B.y=J.dq.prototype +B.z=A.ca.prototype +B.j=J.b2.prototype +B.a1=new A.f6() +B.A=new A.f5() +B.a2=new A.fm() +B.B=new A.fl() +B.l=function getTagFallback(o) { + var s = Object.prototype.toString.call(o); + return s.substring(8, s.length - 1); +} +B.C=function() { + var toStringFunction = Object.prototype.toString; + function getTag(o) { + var s = toStringFunction.call(o); + return s.substring(8, s.length - 1); + } + function getUnknownTag(object, tag) { + if (/^HTML[A-Z].*Element$/.test(tag)) { + var name = toStringFunction.call(object); + if (name == "[object Object]") return null; + return "HTMLElement"; + } + } + function getUnknownTagGenericBrowser(object, tag) { + if (self.HTMLElement && object instanceof HTMLElement) return "HTMLElement"; + return getUnknownTag(object, tag); + } + function prototypeForTag(tag) { + if (typeof window == "undefined") return null; + if (typeof window[tag] == "undefined") return null; + var constructor = window[tag]; + if (typeof constructor != "function") return null; + return constructor.prototype; + } + function discriminator(tag) { return null; } + var isBrowser = typeof navigator == "object"; + return { + getTag: getTag, + getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag, + prototypeForTag: prototypeForTag, + discriminator: discriminator }; +} +B.H=function(getTagFallback) { + return function(hooks) { + if (typeof navigator != "object") return hooks; + var ua = navigator.userAgent; + if (ua.indexOf("DumpRenderTree") >= 0) return hooks; + if (ua.indexOf("Chrome") >= 0) { + function confirm(p) { + return typeof window == "object" && window[p] && window[p].name == p; + } + if (confirm("Window") && confirm("HTMLElement")) return hooks; + } + hooks.getTag = getTagFallback; + }; +} +B.D=function(hooks) { + if (typeof dartExperimentalFixupGetTag != "function") return hooks; + hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); +} +B.E=function(hooks) { + var getTag = hooks.getTag; + var prototypeForTag = hooks.prototypeForTag; + function getTagFixed(o) { + var tag = getTag(o); + if (tag == "Document") { + if (!!o.xmlVersion) return "!Document"; + return "!HTMLDocument"; + } + return tag; + } + function prototypeForTagFixed(tag) { + if (tag == "Document") return null; + return prototypeForTag(tag); + } + hooks.getTag = getTagFixed; + hooks.prototypeForTag = prototypeForTagFixed; +} +B.G=function(hooks) { + var userAgent = typeof navigator == "object" ? navigator.userAgent : ""; + if (userAgent.indexOf("Firefox") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "GeoGeolocation": "Geolocation", + "Location": "!Location", + "WorkerMessageEvent": "MessageEvent", + "XMLDocument": "!Document"}; + function getTagFirefox(o) { + var tag = getTag(o); + return quickMap[tag] || tag; + } + hooks.getTag = getTagFirefox; +} +B.F=function(hooks) { + var userAgent = typeof navigator == "object" ? navigator.userAgent : ""; + if (userAgent.indexOf("Trident/") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "HTMLDDElement": "HTMLElement", + "HTMLDTElement": "HTMLElement", + "HTMLPhraseElement": "HTMLElement", + "Position": "Geoposition" + }; + function getTagIE(o) { + var tag = getTag(o); + var newTag = quickMap[tag]; + if (newTag) return newTag; + if (tag == "Object") { + if (window.DataView && (o instanceof window.DataView)) return "DataView"; + } + return tag; + } + function prototypeForTagIE(tag) { + var constructor = window[tag]; + if (constructor == null) return null; + return constructor.prototype; + } + hooks.getTag = getTagIE; + hooks.prototypeForTag = prototypeForTagIE; +} +B.m=function(hooks) { return hooks; } + +B.I=new A.fq() +B.J=new A.dp() +B.a3=new A.fK() +B.n=new A.fX() +B.o=new A.hm() +B.d=new A.hn() +B.K=new A.ey() +B.P=new A.fr(null) +B.p=A.n(s([0,0,32776,33792,1,10240,0,0]),t.t) +B.Q=A.n(s(["*::class","*::dir","*::draggable","*::hidden","*::id","*::inert","*::itemprop","*::itemref","*::itemscope","*::lang","*::spellcheck","*::title","*::translate","A::accesskey","A::coords","A::hreflang","A::name","A::shape","A::tabindex","A::target","A::type","AREA::accesskey","AREA::alt","AREA::coords","AREA::nohref","AREA::shape","AREA::tabindex","AREA::target","AUDIO::controls","AUDIO::loop","AUDIO::mediagroup","AUDIO::muted","AUDIO::preload","BDO::dir","BODY::alink","BODY::bgcolor","BODY::link","BODY::text","BODY::vlink","BR::clear","BUTTON::accesskey","BUTTON::disabled","BUTTON::name","BUTTON::tabindex","BUTTON::type","BUTTON::value","CANVAS::height","CANVAS::width","CAPTION::align","COL::align","COL::char","COL::charoff","COL::span","COL::valign","COL::width","COLGROUP::align","COLGROUP::char","COLGROUP::charoff","COLGROUP::span","COLGROUP::valign","COLGROUP::width","COMMAND::checked","COMMAND::command","COMMAND::disabled","COMMAND::label","COMMAND::radiogroup","COMMAND::type","DATA::value","DEL::datetime","DETAILS::open","DIR::compact","DIV::align","DL::compact","FIELDSET::disabled","FONT::color","FONT::face","FONT::size","FORM::accept","FORM::autocomplete","FORM::enctype","FORM::method","FORM::name","FORM::novalidate","FORM::target","FRAME::name","H1::align","H2::align","H3::align","H4::align","H5::align","H6::align","HR::align","HR::noshade","HR::size","HR::width","HTML::version","IFRAME::align","IFRAME::frameborder","IFRAME::height","IFRAME::marginheight","IFRAME::marginwidth","IFRAME::width","IMG::align","IMG::alt","IMG::border","IMG::height","IMG::hspace","IMG::ismap","IMG::name","IMG::usemap","IMG::vspace","IMG::width","INPUT::accept","INPUT::accesskey","INPUT::align","INPUT::alt","INPUT::autocomplete","INPUT::autofocus","INPUT::checked","INPUT::disabled","INPUT::inputmode","INPUT::ismap","INPUT::list","INPUT::max","INPUT::maxlength","INPUT::min","INPUT::multiple","INPUT::name","INPUT::placeholder","INPUT::readonly","INPUT::required","INPUT::size","INPUT::step","INPUT::tabindex","INPUT::type","INPUT::usemap","INPUT::value","INS::datetime","KEYGEN::disabled","KEYGEN::keytype","KEYGEN::name","LABEL::accesskey","LABEL::for","LEGEND::accesskey","LEGEND::align","LI::type","LI::value","LINK::sizes","MAP::name","MENU::compact","MENU::label","MENU::type","METER::high","METER::low","METER::max","METER::min","METER::value","OBJECT::typemustmatch","OL::compact","OL::reversed","OL::start","OL::type","OPTGROUP::disabled","OPTGROUP::label","OPTION::disabled","OPTION::label","OPTION::selected","OPTION::value","OUTPUT::for","OUTPUT::name","P::align","PRE::width","PROGRESS::max","PROGRESS::min","PROGRESS::value","SELECT::autocomplete","SELECT::disabled","SELECT::multiple","SELECT::name","SELECT::required","SELECT::size","SELECT::tabindex","SOURCE::type","TABLE::align","TABLE::bgcolor","TABLE::border","TABLE::cellpadding","TABLE::cellspacing","TABLE::frame","TABLE::rules","TABLE::summary","TABLE::width","TBODY::align","TBODY::char","TBODY::charoff","TBODY::valign","TD::abbr","TD::align","TD::axis","TD::bgcolor","TD::char","TD::charoff","TD::colspan","TD::headers","TD::height","TD::nowrap","TD::rowspan","TD::scope","TD::valign","TD::width","TEXTAREA::accesskey","TEXTAREA::autocomplete","TEXTAREA::cols","TEXTAREA::disabled","TEXTAREA::inputmode","TEXTAREA::name","TEXTAREA::placeholder","TEXTAREA::readonly","TEXTAREA::required","TEXTAREA::rows","TEXTAREA::tabindex","TEXTAREA::wrap","TFOOT::align","TFOOT::char","TFOOT::charoff","TFOOT::valign","TH::abbr","TH::align","TH::axis","TH::bgcolor","TH::char","TH::charoff","TH::colspan","TH::headers","TH::height","TH::nowrap","TH::rowspan","TH::scope","TH::valign","TH::width","THEAD::align","THEAD::char","THEAD::charoff","THEAD::valign","TR::align","TR::bgcolor","TR::char","TR::charoff","TR::valign","TRACK::default","TRACK::kind","TRACK::label","TRACK::srclang","UL::compact","UL::type","VIDEO::controls","VIDEO::height","VIDEO::loop","VIDEO::mediagroup","VIDEO::muted","VIDEO::preload","VIDEO::width"]),t.s) +B.h=A.n(s([0,0,65490,45055,65535,34815,65534,18431]),t.t) +B.q=A.n(s([0,0,26624,1023,65534,2047,65534,2047]),t.t) +B.R=A.n(s(["HEAD","AREA","BASE","BASEFONT","BR","COL","COLGROUP","EMBED","FRAME","FRAMESET","HR","IMAGE","IMG","INPUT","ISINDEX","LINK","META","PARAM","SOURCE","STYLE","TITLE","WBR"]),t.s) +B.r=A.n(s([]),t.s) +B.t=A.n(s([]),t.b) +B.T=A.n(s([0,0,32722,12287,65534,34815,65534,18431]),t.t) +B.u=A.n(s([0,0,24576,1023,65534,34815,65534,18431]),t.t) +B.V=A.n(s([0,0,32754,11263,65534,34815,65534,18431]),t.t) +B.v=A.n(s([0,0,65490,12287,65535,34815,65534,18431]),t.t) +B.w=A.n(s(["bind","if","ref","repeat","syntax"]),t.s) +B.i=A.n(s(["A::href","AREA::href","BLOCKQUOTE::cite","BODY::background","COMMAND::icon","DEL::cite","FORM::action","IMG::src","INPUT::src","INS::cite","Q::cite","VIDEO::poster"]),t.s) +B.W=new A.a6(0,{},B.r,A.cJ("a6")) +B.S=A.n(s([]),A.cJ("A")) +B.x=new A.a6(0,{},B.S,A.cJ("a6")) +B.U=A.n(s(["library","class","mixin","extension","typedef","method","accessor","operator","constant","property","constructor"]),t.s) +B.X=new A.a6(11,{library:2,class:2,mixin:3,extension:3,typedef:3,method:4,accessor:4,operator:4,constant:4,property:4,constructor:4},B.U,A.cJ("a6")) +B.Z=new A.bn("call") +B.a_=A.n6("q") +B.a0=new A.fY(!1)})();(function staticFields(){$.hk=null +$.jg=null +$.j3=null +$.j2=null +$.k_=null +$.jV=null +$.k6=null +$.hP=null +$.ig=null +$.iQ=null +$.bz=null +$.cF=null +$.cG=null +$.iK=!1 +$.B=B.d +$.b5=A.n([],A.cJ("A")) +$.as=null +$.iq=null +$.j7=null +$.j6=null +$.e8=A.ft(t.N,t.Z)})();(function lazyInitializers(){var s=hunkHelpers.lazyFinal +s($,"nf","il",()=>A.jZ("_$dart_dartClosure")) +s($,"nr","ka",()=>A.ak(A.fQ({ +toString:function(){return"$receiver$"}}))) +s($,"ns","kb",()=>A.ak(A.fQ({$method$:null, +toString:function(){return"$receiver$"}}))) +s($,"nt","kc",()=>A.ak(A.fQ(null))) +s($,"nu","kd",()=>A.ak(function(){var $argumentsExpr$="$arguments$" +try{null.$method$($argumentsExpr$)}catch(r){return r.message}}())) +s($,"nx","kg",()=>A.ak(A.fQ(void 0))) +s($,"ny","kh",()=>A.ak(function(){var $argumentsExpr$="$arguments$" +try{(void 0).$method$($argumentsExpr$)}catch(r){return r.message}}())) +s($,"nw","kf",()=>A.ak(A.jo(null))) +s($,"nv","ke",()=>A.ak(function(){try{null.$method$}catch(r){return r.message}}())) +s($,"nA","kj",()=>A.ak(A.jo(void 0))) +s($,"nz","ki",()=>A.ak(function(){try{(void 0).$method$}catch(r){return r.message}}())) +s($,"nF","iT",()=>A.lk()) +s($,"nB","kk",()=>new A.h_().$0()) +s($,"nC","kl",()=>new A.fZ().$0()) +s($,"nG","km",()=>A.kY(A.m7(A.n([-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1,-2,-2,-2,-2,-2,62,-2,62,-2,63,52,53,54,55,56,57,58,59,60,61,-2,-2,-2,-1,-2,-2,-2,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-2,-2,-2,-2,63,-2,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-2,-2,-2,-2,-2],t.t)))) +s($,"nZ","kp",()=>A.k3(B.a_)) +s($,"o_","kq",()=>A.m6()) +s($,"nI","kn",()=>A.jb(["A","ABBR","ACRONYM","ADDRESS","AREA","ARTICLE","ASIDE","AUDIO","B","BDI","BDO","BIG","BLOCKQUOTE","BR","BUTTON","CANVAS","CAPTION","CENTER","CITE","CODE","COL","COLGROUP","COMMAND","DATA","DATALIST","DD","DEL","DETAILS","DFN","DIR","DIV","DL","DT","EM","FIELDSET","FIGCAPTION","FIGURE","FONT","FOOTER","FORM","H1","H2","H3","H4","H5","H6","HEADER","HGROUP","HR","I","IFRAME","IMG","INPUT","INS","KBD","LABEL","LEGEND","LI","MAP","MARK","MENU","METER","NAV","NOBR","OL","OPTGROUP","OPTION","OUTPUT","P","PRE","PROGRESS","Q","S","SAMP","SECTION","SELECT","SMALL","SOURCE","SPAN","STRIKE","STRONG","SUB","SUMMARY","SUP","TABLE","TBODY","TD","TEXTAREA","TFOOT","TH","THEAD","TIME","TR","TRACK","TT","U","UL","VAR","VIDEO","WBR"],t.N)) +s($,"nd","k9",()=>A.la("^\\S+$")) +s($,"nX","ko",()=>A.jU(self)) +s($,"nH","iU",()=>A.jZ("_$dart_dartObject")) +s($,"nY","iV",()=>function DartObject(a){this.o=a})})();(function nativeSupport(){!function(){var s=function(a){var m={} +m[a]=1 +return Object.keys(hunkHelpers.convertToFastObject(m))[0]} +v.getIsolateTag=function(a){return s("___dart_"+a+v.isolateTag)} +var r="___dart_isolate_tags_" +var q=Object[r]||(Object[r]=Object.create(null)) +var p="_ZxYxX" +for(var o=0;;o++){var n=s(p+"_"+o+"_") +if(!(n in q)){q[n]=1 +v.isolateTag=n +break}}v.dispatchPropertyName=v.getIsolateTag("dispatch_record")}() +hunkHelpers.setOrUpdateInterceptorsByTag({ArrayBuffer:J.aT,WebGL:J.aT,AnimationEffectReadOnly:J.a,AnimationEffectTiming:J.a,AnimationEffectTimingReadOnly:J.a,AnimationTimeline:J.a,AnimationWorkletGlobalScope:J.a,AuthenticatorAssertionResponse:J.a,AuthenticatorAttestationResponse:J.a,AuthenticatorResponse:J.a,BackgroundFetchFetch:J.a,BackgroundFetchManager:J.a,BackgroundFetchSettledFetch:J.a,BarProp:J.a,BarcodeDetector:J.a,BluetoothRemoteGATTDescriptor:J.a,Body:J.a,BudgetState:J.a,CacheStorage:J.a,CanvasGradient:J.a,CanvasPattern:J.a,CanvasRenderingContext2D:J.a,Client:J.a,Clients:J.a,CookieStore:J.a,Coordinates:J.a,Credential:J.a,CredentialUserData:J.a,CredentialsContainer:J.a,Crypto:J.a,CryptoKey:J.a,CSS:J.a,CSSVariableReferenceValue:J.a,CustomElementRegistry:J.a,DataTransfer:J.a,DataTransferItem:J.a,DeprecatedStorageInfo:J.a,DeprecatedStorageQuota:J.a,DeprecationReport:J.a,DetectedBarcode:J.a,DetectedFace:J.a,DetectedText:J.a,DeviceAcceleration:J.a,DeviceRotationRate:J.a,DirectoryEntry:J.a,webkitFileSystemDirectoryEntry:J.a,FileSystemDirectoryEntry:J.a,DirectoryReader:J.a,WebKitDirectoryReader:J.a,webkitFileSystemDirectoryReader:J.a,FileSystemDirectoryReader:J.a,DocumentOrShadowRoot:J.a,DocumentTimeline:J.a,DOMError:J.a,DOMImplementation:J.a,Iterator:J.a,DOMMatrix:J.a,DOMMatrixReadOnly:J.a,DOMParser:J.a,DOMPoint:J.a,DOMPointReadOnly:J.a,DOMQuad:J.a,DOMStringMap:J.a,Entry:J.a,webkitFileSystemEntry:J.a,FileSystemEntry:J.a,External:J.a,FaceDetector:J.a,FederatedCredential:J.a,FileEntry:J.a,webkitFileSystemFileEntry:J.a,FileSystemFileEntry:J.a,DOMFileSystem:J.a,WebKitFileSystem:J.a,webkitFileSystem:J.a,FileSystem:J.a,FontFace:J.a,FontFaceSource:J.a,FormData:J.a,GamepadButton:J.a,GamepadPose:J.a,Geolocation:J.a,Position:J.a,GeolocationPosition:J.a,Headers:J.a,HTMLHyperlinkElementUtils:J.a,IdleDeadline:J.a,ImageBitmap:J.a,ImageBitmapRenderingContext:J.a,ImageCapture:J.a,InputDeviceCapabilities:J.a,IntersectionObserver:J.a,IntersectionObserverEntry:J.a,InterventionReport:J.a,KeyframeEffect:J.a,KeyframeEffectReadOnly:J.a,MediaCapabilities:J.a,MediaCapabilitiesInfo:J.a,MediaDeviceInfo:J.a,MediaError:J.a,MediaKeyStatusMap:J.a,MediaKeySystemAccess:J.a,MediaKeys:J.a,MediaKeysPolicy:J.a,MediaMetadata:J.a,MediaSession:J.a,MediaSettingsRange:J.a,MemoryInfo:J.a,MessageChannel:J.a,Metadata:J.a,MutationObserver:J.a,WebKitMutationObserver:J.a,MutationRecord:J.a,NavigationPreloadManager:J.a,Navigator:J.a,NavigatorAutomationInformation:J.a,NavigatorConcurrentHardware:J.a,NavigatorCookies:J.a,NavigatorUserMediaError:J.a,NodeFilter:J.a,NodeIterator:J.a,NonDocumentTypeChildNode:J.a,NonElementParentNode:J.a,NoncedElement:J.a,OffscreenCanvasRenderingContext2D:J.a,OverconstrainedError:J.a,PaintRenderingContext2D:J.a,PaintSize:J.a,PaintWorkletGlobalScope:J.a,PasswordCredential:J.a,Path2D:J.a,PaymentAddress:J.a,PaymentInstruments:J.a,PaymentManager:J.a,PaymentResponse:J.a,PerformanceEntry:J.a,PerformanceLongTaskTiming:J.a,PerformanceMark:J.a,PerformanceMeasure:J.a,PerformanceNavigation:J.a,PerformanceNavigationTiming:J.a,PerformanceObserver:J.a,PerformanceObserverEntryList:J.a,PerformancePaintTiming:J.a,PerformanceResourceTiming:J.a,PerformanceServerTiming:J.a,PerformanceTiming:J.a,Permissions:J.a,PhotoCapabilities:J.a,PositionError:J.a,GeolocationPositionError:J.a,Presentation:J.a,PresentationReceiver:J.a,PublicKeyCredential:J.a,PushManager:J.a,PushMessageData:J.a,PushSubscription:J.a,PushSubscriptionOptions:J.a,Range:J.a,RelatedApplication:J.a,ReportBody:J.a,ReportingObserver:J.a,ResizeObserver:J.a,ResizeObserverEntry:J.a,RTCCertificate:J.a,RTCIceCandidate:J.a,mozRTCIceCandidate:J.a,RTCLegacyStatsReport:J.a,RTCRtpContributingSource:J.a,RTCRtpReceiver:J.a,RTCRtpSender:J.a,RTCSessionDescription:J.a,mozRTCSessionDescription:J.a,RTCStatsResponse:J.a,Screen:J.a,ScrollState:J.a,ScrollTimeline:J.a,Selection:J.a,SharedArrayBuffer:J.a,SpeechRecognitionAlternative:J.a,SpeechSynthesisVoice:J.a,StaticRange:J.a,StorageManager:J.a,StyleMedia:J.a,StylePropertyMap:J.a,StylePropertyMapReadonly:J.a,SyncManager:J.a,TaskAttributionTiming:J.a,TextDetector:J.a,TextMetrics:J.a,TrackDefault:J.a,TreeWalker:J.a,TrustedHTML:J.a,TrustedScriptURL:J.a,TrustedURL:J.a,UnderlyingSourceBase:J.a,URLSearchParams:J.a,VRCoordinateSystem:J.a,VRDisplayCapabilities:J.a,VREyeParameters:J.a,VRFrameData:J.a,VRFrameOfReference:J.a,VRPose:J.a,VRStageBounds:J.a,VRStageBoundsPoint:J.a,VRStageParameters:J.a,ValidityState:J.a,VideoPlaybackQuality:J.a,VideoTrack:J.a,VTTRegion:J.a,WindowClient:J.a,WorkletAnimation:J.a,WorkletGlobalScope:J.a,XPathEvaluator:J.a,XPathExpression:J.a,XPathNSResolver:J.a,XPathResult:J.a,XMLSerializer:J.a,XSLTProcessor:J.a,Bluetooth:J.a,BluetoothCharacteristicProperties:J.a,BluetoothRemoteGATTServer:J.a,BluetoothRemoteGATTService:J.a,BluetoothUUID:J.a,BudgetService:J.a,Cache:J.a,DOMFileSystemSync:J.a,DirectoryEntrySync:J.a,DirectoryReaderSync:J.a,EntrySync:J.a,FileEntrySync:J.a,FileReaderSync:J.a,FileWriterSync:J.a,HTMLAllCollection:J.a,Mojo:J.a,MojoHandle:J.a,MojoWatcher:J.a,NFC:J.a,PagePopupController:J.a,Report:J.a,Request:J.a,Response:J.a,SubtleCrypto:J.a,USBAlternateInterface:J.a,USBConfiguration:J.a,USBDevice:J.a,USBEndpoint:J.a,USBInTransferResult:J.a,USBInterface:J.a,USBIsochronousInTransferPacket:J.a,USBIsochronousInTransferResult:J.a,USBIsochronousOutTransferPacket:J.a,USBIsochronousOutTransferResult:J.a,USBOutTransferResult:J.a,WorkerLocation:J.a,WorkerNavigator:J.a,Worklet:J.a,IDBCursor:J.a,IDBCursorWithValue:J.a,IDBFactory:J.a,IDBIndex:J.a,IDBObjectStore:J.a,IDBObservation:J.a,IDBObserver:J.a,IDBObserverChanges:J.a,SVGAngle:J.a,SVGAnimatedAngle:J.a,SVGAnimatedBoolean:J.a,SVGAnimatedEnumeration:J.a,SVGAnimatedInteger:J.a,SVGAnimatedLength:J.a,SVGAnimatedLengthList:J.a,SVGAnimatedNumber:J.a,SVGAnimatedNumberList:J.a,SVGAnimatedPreserveAspectRatio:J.a,SVGAnimatedRect:J.a,SVGAnimatedString:J.a,SVGAnimatedTransformList:J.a,SVGMatrix:J.a,SVGPoint:J.a,SVGPreserveAspectRatio:J.a,SVGRect:J.a,SVGUnitTypes:J.a,AudioListener:J.a,AudioParam:J.a,AudioTrack:J.a,AudioWorkletGlobalScope:J.a,AudioWorkletProcessor:J.a,PeriodicWave:J.a,WebGLActiveInfo:J.a,ANGLEInstancedArrays:J.a,ANGLE_instanced_arrays:J.a,WebGLBuffer:J.a,WebGLCanvas:J.a,WebGLColorBufferFloat:J.a,WebGLCompressedTextureASTC:J.a,WebGLCompressedTextureATC:J.a,WEBGL_compressed_texture_atc:J.a,WebGLCompressedTextureETC1:J.a,WEBGL_compressed_texture_etc1:J.a,WebGLCompressedTextureETC:J.a,WebGLCompressedTexturePVRTC:J.a,WEBGL_compressed_texture_pvrtc:J.a,WebGLCompressedTextureS3TC:J.a,WEBGL_compressed_texture_s3tc:J.a,WebGLCompressedTextureS3TCsRGB:J.a,WebGLDebugRendererInfo:J.a,WEBGL_debug_renderer_info:J.a,WebGLDebugShaders:J.a,WEBGL_debug_shaders:J.a,WebGLDepthTexture:J.a,WEBGL_depth_texture:J.a,WebGLDrawBuffers:J.a,WEBGL_draw_buffers:J.a,EXTsRGB:J.a,EXT_sRGB:J.a,EXTBlendMinMax:J.a,EXT_blend_minmax:J.a,EXTColorBufferFloat:J.a,EXTColorBufferHalfFloat:J.a,EXTDisjointTimerQuery:J.a,EXTDisjointTimerQueryWebGL2:J.a,EXTFragDepth:J.a,EXT_frag_depth:J.a,EXTShaderTextureLOD:J.a,EXT_shader_texture_lod:J.a,EXTTextureFilterAnisotropic:J.a,EXT_texture_filter_anisotropic:J.a,WebGLFramebuffer:J.a,WebGLGetBufferSubDataAsync:J.a,WebGLLoseContext:J.a,WebGLExtensionLoseContext:J.a,WEBGL_lose_context:J.a,OESElementIndexUint:J.a,OES_element_index_uint:J.a,OESStandardDerivatives:J.a,OES_standard_derivatives:J.a,OESTextureFloat:J.a,OES_texture_float:J.a,OESTextureFloatLinear:J.a,OES_texture_float_linear:J.a,OESTextureHalfFloat:J.a,OES_texture_half_float:J.a,OESTextureHalfFloatLinear:J.a,OES_texture_half_float_linear:J.a,OESVertexArrayObject:J.a,OES_vertex_array_object:J.a,WebGLProgram:J.a,WebGLQuery:J.a,WebGLRenderbuffer:J.a,WebGLRenderingContext:J.a,WebGL2RenderingContext:J.a,WebGLSampler:J.a,WebGLShader:J.a,WebGLShaderPrecisionFormat:J.a,WebGLSync:J.a,WebGLTexture:J.a,WebGLTimerQueryEXT:J.a,WebGLTransformFeedback:J.a,WebGLUniformLocation:J.a,WebGLVertexArrayObject:J.a,WebGLVertexArrayObjectOES:J.a,WebGL2RenderingContextBase:J.a,DataView:A.b_,ArrayBufferView:A.b_,Float32Array:A.aZ,Float64Array:A.aZ,Int16Array:A.dg,Int32Array:A.dh,Int8Array:A.di,Uint16Array:A.dj,Uint32Array:A.dk,Uint8ClampedArray:A.c1,CanvasPixelArray:A.c1,Uint8Array:A.c2,HTMLAudioElement:A.k,HTMLBRElement:A.k,HTMLButtonElement:A.k,HTMLCanvasElement:A.k,HTMLContentElement:A.k,HTMLDListElement:A.k,HTMLDataElement:A.k,HTMLDataListElement:A.k,HTMLDetailsElement:A.k,HTMLDialogElement:A.k,HTMLDivElement:A.k,HTMLEmbedElement:A.k,HTMLFieldSetElement:A.k,HTMLHRElement:A.k,HTMLHeadElement:A.k,HTMLHeadingElement:A.k,HTMLHtmlElement:A.k,HTMLIFrameElement:A.k,HTMLImageElement:A.k,HTMLLIElement:A.k,HTMLLabelElement:A.k,HTMLLegendElement:A.k,HTMLLinkElement:A.k,HTMLMapElement:A.k,HTMLMediaElement:A.k,HTMLMenuElement:A.k,HTMLMetaElement:A.k,HTMLMeterElement:A.k,HTMLModElement:A.k,HTMLOListElement:A.k,HTMLObjectElement:A.k,HTMLOptGroupElement:A.k,HTMLOptionElement:A.k,HTMLOutputElement:A.k,HTMLParagraphElement:A.k,HTMLParamElement:A.k,HTMLPictureElement:A.k,HTMLPreElement:A.k,HTMLProgressElement:A.k,HTMLQuoteElement:A.k,HTMLScriptElement:A.k,HTMLShadowElement:A.k,HTMLSlotElement:A.k,HTMLSourceElement:A.k,HTMLSpanElement:A.k,HTMLStyleElement:A.k,HTMLTableCaptionElement:A.k,HTMLTableCellElement:A.k,HTMLTableDataCellElement:A.k,HTMLTableHeaderCellElement:A.k,HTMLTableColElement:A.k,HTMLTextAreaElement:A.k,HTMLTimeElement:A.k,HTMLTitleElement:A.k,HTMLTrackElement:A.k,HTMLUListElement:A.k,HTMLUnknownElement:A.k,HTMLVideoElement:A.k,HTMLDirectoryElement:A.k,HTMLFontElement:A.k,HTMLFrameElement:A.k,HTMLFrameSetElement:A.k,HTMLMarqueeElement:A.k,HTMLElement:A.k,AccessibleNodeList:A.f_,HTMLAnchorElement:A.cM,HTMLAreaElement:A.cN,HTMLBaseElement:A.be,Blob:A.aM,HTMLBodyElement:A.aN,CDATASection:A.a_,CharacterData:A.a_,Comment:A.a_,ProcessingInstruction:A.a_,Text:A.a_,CSSPerspective:A.f8,CSSCharsetRule:A.w,CSSConditionRule:A.w,CSSFontFaceRule:A.w,CSSGroupingRule:A.w,CSSImportRule:A.w,CSSKeyframeRule:A.w,MozCSSKeyframeRule:A.w,WebKitCSSKeyframeRule:A.w,CSSKeyframesRule:A.w,MozCSSKeyframesRule:A.w,WebKitCSSKeyframesRule:A.w,CSSMediaRule:A.w,CSSNamespaceRule:A.w,CSSPageRule:A.w,CSSRule:A.w,CSSStyleRule:A.w,CSSSupportsRule:A.w,CSSViewportRule:A.w,CSSStyleDeclaration:A.bH,MSStyleCSSProperties:A.bH,CSS2Properties:A.bH,CSSImageValue:A.S,CSSKeywordValue:A.S,CSSNumericValue:A.S,CSSPositionValue:A.S,CSSResourceValue:A.S,CSSUnitValue:A.S,CSSURLImageValue:A.S,CSSStyleValue:A.S,CSSMatrixComponent:A.a7,CSSRotation:A.a7,CSSScale:A.a7,CSSSkew:A.a7,CSSTranslation:A.a7,CSSTransformComponent:A.a7,CSSTransformValue:A.fa,CSSUnparsedValue:A.fb,DataTransferItemList:A.fc,XMLDocument:A.aQ,Document:A.aQ,DOMException:A.fd,ClientRectList:A.bJ,DOMRectList:A.bJ,DOMRectReadOnly:A.bK,DOMStringList:A.d1,DOMTokenList:A.fe,Element:A.x,AbortPaymentEvent:A.h,AnimationEvent:A.h,AnimationPlaybackEvent:A.h,ApplicationCacheErrorEvent:A.h,BackgroundFetchClickEvent:A.h,BackgroundFetchEvent:A.h,BackgroundFetchFailEvent:A.h,BackgroundFetchedEvent:A.h,BeforeInstallPromptEvent:A.h,BeforeUnloadEvent:A.h,BlobEvent:A.h,CanMakePaymentEvent:A.h,ClipboardEvent:A.h,CloseEvent:A.h,CustomEvent:A.h,DeviceMotionEvent:A.h,DeviceOrientationEvent:A.h,ErrorEvent:A.h,ExtendableEvent:A.h,ExtendableMessageEvent:A.h,FetchEvent:A.h,FontFaceSetLoadEvent:A.h,ForeignFetchEvent:A.h,GamepadEvent:A.h,HashChangeEvent:A.h,InstallEvent:A.h,MediaEncryptedEvent:A.h,MediaKeyMessageEvent:A.h,MediaQueryListEvent:A.h,MediaStreamEvent:A.h,MediaStreamTrackEvent:A.h,MessageEvent:A.h,MIDIConnectionEvent:A.h,MIDIMessageEvent:A.h,MutationEvent:A.h,NotificationEvent:A.h,PageTransitionEvent:A.h,PaymentRequestEvent:A.h,PaymentRequestUpdateEvent:A.h,PopStateEvent:A.h,PresentationConnectionAvailableEvent:A.h,PresentationConnectionCloseEvent:A.h,ProgressEvent:A.h,PromiseRejectionEvent:A.h,PushEvent:A.h,RTCDataChannelEvent:A.h,RTCDTMFToneChangeEvent:A.h,RTCPeerConnectionIceEvent:A.h,RTCTrackEvent:A.h,SecurityPolicyViolationEvent:A.h,SensorErrorEvent:A.h,SpeechRecognitionError:A.h,SpeechRecognitionEvent:A.h,SpeechSynthesisEvent:A.h,StorageEvent:A.h,SyncEvent:A.h,TrackEvent:A.h,TransitionEvent:A.h,WebKitTransitionEvent:A.h,VRDeviceEvent:A.h,VRDisplayEvent:A.h,VRSessionEvent:A.h,MojoInterfaceRequestEvent:A.h,ResourceProgressEvent:A.h,USBConnectionEvent:A.h,IDBVersionChangeEvent:A.h,AudioProcessingEvent:A.h,OfflineAudioCompletionEvent:A.h,WebGLContextEvent:A.h,Event:A.h,InputEvent:A.h,SubmitEvent:A.h,AbsoluteOrientationSensor:A.c,Accelerometer:A.c,AccessibleNode:A.c,AmbientLightSensor:A.c,Animation:A.c,ApplicationCache:A.c,DOMApplicationCache:A.c,OfflineResourceList:A.c,BackgroundFetchRegistration:A.c,BatteryManager:A.c,BroadcastChannel:A.c,CanvasCaptureMediaStreamTrack:A.c,EventSource:A.c,FileReader:A.c,FontFaceSet:A.c,Gyroscope:A.c,XMLHttpRequest:A.c,XMLHttpRequestEventTarget:A.c,XMLHttpRequestUpload:A.c,LinearAccelerationSensor:A.c,Magnetometer:A.c,MediaDevices:A.c,MediaKeySession:A.c,MediaQueryList:A.c,MediaRecorder:A.c,MediaSource:A.c,MediaStream:A.c,MediaStreamTrack:A.c,MessagePort:A.c,MIDIAccess:A.c,MIDIInput:A.c,MIDIOutput:A.c,MIDIPort:A.c,NetworkInformation:A.c,Notification:A.c,OffscreenCanvas:A.c,OrientationSensor:A.c,PaymentRequest:A.c,Performance:A.c,PermissionStatus:A.c,PresentationAvailability:A.c,PresentationConnection:A.c,PresentationConnectionList:A.c,PresentationRequest:A.c,RelativeOrientationSensor:A.c,RemotePlayback:A.c,RTCDataChannel:A.c,DataChannel:A.c,RTCDTMFSender:A.c,RTCPeerConnection:A.c,webkitRTCPeerConnection:A.c,mozRTCPeerConnection:A.c,ScreenOrientation:A.c,Sensor:A.c,ServiceWorker:A.c,ServiceWorkerContainer:A.c,ServiceWorkerRegistration:A.c,SharedWorker:A.c,SpeechRecognition:A.c,SpeechSynthesis:A.c,SpeechSynthesisUtterance:A.c,VR:A.c,VRDevice:A.c,VRDisplay:A.c,VRSession:A.c,VisualViewport:A.c,WebSocket:A.c,Worker:A.c,WorkerPerformance:A.c,BluetoothDevice:A.c,BluetoothRemoteGATTCharacteristic:A.c,Clipboard:A.c,MojoInterfaceInterceptor:A.c,USB:A.c,IDBDatabase:A.c,IDBOpenDBRequest:A.c,IDBVersionChangeRequest:A.c,IDBRequest:A.c,IDBTransaction:A.c,AnalyserNode:A.c,RealtimeAnalyserNode:A.c,AudioBufferSourceNode:A.c,AudioDestinationNode:A.c,AudioNode:A.c,AudioScheduledSourceNode:A.c,AudioWorkletNode:A.c,BiquadFilterNode:A.c,ChannelMergerNode:A.c,AudioChannelMerger:A.c,ChannelSplitterNode:A.c,AudioChannelSplitter:A.c,ConstantSourceNode:A.c,ConvolverNode:A.c,DelayNode:A.c,DynamicsCompressorNode:A.c,GainNode:A.c,AudioGainNode:A.c,IIRFilterNode:A.c,MediaElementAudioSourceNode:A.c,MediaStreamAudioDestinationNode:A.c,MediaStreamAudioSourceNode:A.c,OscillatorNode:A.c,Oscillator:A.c,PannerNode:A.c,AudioPannerNode:A.c,webkitAudioPannerNode:A.c,ScriptProcessorNode:A.c,JavaScriptAudioNode:A.c,StereoPannerNode:A.c,WaveShaperNode:A.c,EventTarget:A.c,File:A.a0,FileList:A.d2,FileWriter:A.fi,HTMLFormElement:A.d3,Gamepad:A.a9,History:A.fk,HTMLCollection:A.aS,HTMLFormControlsCollection:A.aS,HTMLOptionsCollection:A.aS,HTMLDocument:A.bQ,ImageData:A.bR,HTMLInputElement:A.at,KeyboardEvent:A.bi,Location:A.fv,MediaList:A.fx,MIDIInputMap:A.dd,MIDIOutputMap:A.de,MimeType:A.ac,MimeTypeArray:A.df,DocumentFragment:A.m,ShadowRoot:A.m,DocumentType:A.m,Node:A.m,NodeList:A.c3,RadioNodeList:A.c3,Plugin:A.ad,PluginArray:A.dr,RTCStatsReport:A.dt,HTMLSelectElement:A.dv,SourceBuffer:A.af,SourceBufferList:A.dx,SpeechGrammar:A.ag,SpeechGrammarList:A.dy,SpeechRecognitionResult:A.ah,Storage:A.dA,CSSStyleSheet:A.W,StyleSheet:A.W,HTMLTableElement:A.ca,HTMLTableRowElement:A.dD,HTMLTableSectionElement:A.dE,HTMLTemplateElement:A.bp,TextTrack:A.ai,TextTrackCue:A.X,VTTCue:A.X,TextTrackCueList:A.dG,TextTrackList:A.dH,TimeRanges:A.fN,Touch:A.aj,TouchList:A.dI,TrackDefaultList:A.fO,CompositionEvent:A.N,FocusEvent:A.N,MouseEvent:A.N,DragEvent:A.N,PointerEvent:A.N,TextEvent:A.N,TouchEvent:A.N,WheelEvent:A.N,UIEvent:A.N,URL:A.fW,VideoTrackList:A.h0,Window:A.bs,DOMWindow:A.bs,DedicatedWorkerGlobalScope:A.al,ServiceWorkerGlobalScope:A.al,SharedWorkerGlobalScope:A.al,WorkerGlobalScope:A.al,Attr:A.bt,CSSRuleList:A.dV,ClientRect:A.cd,DOMRect:A.cd,GamepadList:A.e7,NamedNodeMap:A.ck,MozNamedAttrMap:A.ck,SpeechRecognitionResultList:A.et,StyleSheetList:A.ez,IDBKeyRange:A.bV,SVGLength:A.av,SVGLengthList:A.da,SVGNumber:A.aw,SVGNumberList:A.dn,SVGPointList:A.fG,SVGScriptElement:A.bl,SVGStringList:A.dC,SVGAElement:A.i,SVGAnimateElement:A.i,SVGAnimateMotionElement:A.i,SVGAnimateTransformElement:A.i,SVGAnimationElement:A.i,SVGCircleElement:A.i,SVGClipPathElement:A.i,SVGDefsElement:A.i,SVGDescElement:A.i,SVGDiscardElement:A.i,SVGEllipseElement:A.i,SVGFEBlendElement:A.i,SVGFEColorMatrixElement:A.i,SVGFEComponentTransferElement:A.i,SVGFECompositeElement:A.i,SVGFEConvolveMatrixElement:A.i,SVGFEDiffuseLightingElement:A.i,SVGFEDisplacementMapElement:A.i,SVGFEDistantLightElement:A.i,SVGFEFloodElement:A.i,SVGFEFuncAElement:A.i,SVGFEFuncBElement:A.i,SVGFEFuncGElement:A.i,SVGFEFuncRElement:A.i,SVGFEGaussianBlurElement:A.i,SVGFEImageElement:A.i,SVGFEMergeElement:A.i,SVGFEMergeNodeElement:A.i,SVGFEMorphologyElement:A.i,SVGFEOffsetElement:A.i,SVGFEPointLightElement:A.i,SVGFESpecularLightingElement:A.i,SVGFESpotLightElement:A.i,SVGFETileElement:A.i,SVGFETurbulenceElement:A.i,SVGFilterElement:A.i,SVGForeignObjectElement:A.i,SVGGElement:A.i,SVGGeometryElement:A.i,SVGGraphicsElement:A.i,SVGImageElement:A.i,SVGLineElement:A.i,SVGLinearGradientElement:A.i,SVGMarkerElement:A.i,SVGMaskElement:A.i,SVGMetadataElement:A.i,SVGPathElement:A.i,SVGPatternElement:A.i,SVGPolygonElement:A.i,SVGPolylineElement:A.i,SVGRadialGradientElement:A.i,SVGRectElement:A.i,SVGSetElement:A.i,SVGStopElement:A.i,SVGStyleElement:A.i,SVGSVGElement:A.i,SVGSwitchElement:A.i,SVGSymbolElement:A.i,SVGTSpanElement:A.i,SVGTextContentElement:A.i,SVGTextElement:A.i,SVGTextPathElement:A.i,SVGTextPositioningElement:A.i,SVGTitleElement:A.i,SVGUseElement:A.i,SVGViewElement:A.i,SVGGradientElement:A.i,SVGComponentTransferFunctionElement:A.i,SVGFEDropShadowElement:A.i,SVGMPathElement:A.i,SVGElement:A.i,SVGTransform:A.aA,SVGTransformList:A.dJ,AudioBuffer:A.f2,AudioParamMap:A.cR,AudioTrackList:A.f4,AudioContext:A.bd,webkitAudioContext:A.bd,BaseAudioContext:A.bd,OfflineAudioContext:A.fF}) +hunkHelpers.setOrUpdateLeafTags({ArrayBuffer:true,WebGL:true,AnimationEffectReadOnly:true,AnimationEffectTiming:true,AnimationEffectTimingReadOnly:true,AnimationTimeline:true,AnimationWorkletGlobalScope:true,AuthenticatorAssertionResponse:true,AuthenticatorAttestationResponse:true,AuthenticatorResponse:true,BackgroundFetchFetch:true,BackgroundFetchManager:true,BackgroundFetchSettledFetch:true,BarProp:true,BarcodeDetector:true,BluetoothRemoteGATTDescriptor:true,Body:true,BudgetState:true,CacheStorage:true,CanvasGradient:true,CanvasPattern:true,CanvasRenderingContext2D:true,Client:true,Clients:true,CookieStore:true,Coordinates:true,Credential:true,CredentialUserData:true,CredentialsContainer:true,Crypto:true,CryptoKey:true,CSS:true,CSSVariableReferenceValue:true,CustomElementRegistry:true,DataTransfer:true,DataTransferItem:true,DeprecatedStorageInfo:true,DeprecatedStorageQuota:true,DeprecationReport:true,DetectedBarcode:true,DetectedFace:true,DetectedText:true,DeviceAcceleration:true,DeviceRotationRate:true,DirectoryEntry:true,webkitFileSystemDirectoryEntry:true,FileSystemDirectoryEntry:true,DirectoryReader:true,WebKitDirectoryReader:true,webkitFileSystemDirectoryReader:true,FileSystemDirectoryReader:true,DocumentOrShadowRoot:true,DocumentTimeline:true,DOMError:true,DOMImplementation:true,Iterator:true,DOMMatrix:true,DOMMatrixReadOnly:true,DOMParser:true,DOMPoint:true,DOMPointReadOnly:true,DOMQuad:true,DOMStringMap:true,Entry:true,webkitFileSystemEntry:true,FileSystemEntry:true,External:true,FaceDetector:true,FederatedCredential:true,FileEntry:true,webkitFileSystemFileEntry:true,FileSystemFileEntry:true,DOMFileSystem:true,WebKitFileSystem:true,webkitFileSystem:true,FileSystem:true,FontFace:true,FontFaceSource:true,FormData:true,GamepadButton:true,GamepadPose:true,Geolocation:true,Position:true,GeolocationPosition:true,Headers:true,HTMLHyperlinkElementUtils:true,IdleDeadline:true,ImageBitmap:true,ImageBitmapRenderingContext:true,ImageCapture:true,InputDeviceCapabilities:true,IntersectionObserver:true,IntersectionObserverEntry:true,InterventionReport:true,KeyframeEffect:true,KeyframeEffectReadOnly:true,MediaCapabilities:true,MediaCapabilitiesInfo:true,MediaDeviceInfo:true,MediaError:true,MediaKeyStatusMap:true,MediaKeySystemAccess:true,MediaKeys:true,MediaKeysPolicy:true,MediaMetadata:true,MediaSession:true,MediaSettingsRange:true,MemoryInfo:true,MessageChannel:true,Metadata:true,MutationObserver:true,WebKitMutationObserver:true,MutationRecord:true,NavigationPreloadManager:true,Navigator:true,NavigatorAutomationInformation:true,NavigatorConcurrentHardware:true,NavigatorCookies:true,NavigatorUserMediaError:true,NodeFilter:true,NodeIterator:true,NonDocumentTypeChildNode:true,NonElementParentNode:true,NoncedElement:true,OffscreenCanvasRenderingContext2D:true,OverconstrainedError:true,PaintRenderingContext2D:true,PaintSize:true,PaintWorkletGlobalScope:true,PasswordCredential:true,Path2D:true,PaymentAddress:true,PaymentInstruments:true,PaymentManager:true,PaymentResponse:true,PerformanceEntry:true,PerformanceLongTaskTiming:true,PerformanceMark:true,PerformanceMeasure:true,PerformanceNavigation:true,PerformanceNavigationTiming:true,PerformanceObserver:true,PerformanceObserverEntryList:true,PerformancePaintTiming:true,PerformanceResourceTiming:true,PerformanceServerTiming:true,PerformanceTiming:true,Permissions:true,PhotoCapabilities:true,PositionError:true,GeolocationPositionError:true,Presentation:true,PresentationReceiver:true,PublicKeyCredential:true,PushManager:true,PushMessageData:true,PushSubscription:true,PushSubscriptionOptions:true,Range:true,RelatedApplication:true,ReportBody:true,ReportingObserver:true,ResizeObserver:true,ResizeObserverEntry:true,RTCCertificate:true,RTCIceCandidate:true,mozRTCIceCandidate:true,RTCLegacyStatsReport:true,RTCRtpContributingSource:true,RTCRtpReceiver:true,RTCRtpSender:true,RTCSessionDescription:true,mozRTCSessionDescription:true,RTCStatsResponse:true,Screen:true,ScrollState:true,ScrollTimeline:true,Selection:true,SharedArrayBuffer:true,SpeechRecognitionAlternative:true,SpeechSynthesisVoice:true,StaticRange:true,StorageManager:true,StyleMedia:true,StylePropertyMap:true,StylePropertyMapReadonly:true,SyncManager:true,TaskAttributionTiming:true,TextDetector:true,TextMetrics:true,TrackDefault:true,TreeWalker:true,TrustedHTML:true,TrustedScriptURL:true,TrustedURL:true,UnderlyingSourceBase:true,URLSearchParams:true,VRCoordinateSystem:true,VRDisplayCapabilities:true,VREyeParameters:true,VRFrameData:true,VRFrameOfReference:true,VRPose:true,VRStageBounds:true,VRStageBoundsPoint:true,VRStageParameters:true,ValidityState:true,VideoPlaybackQuality:true,VideoTrack:true,VTTRegion:true,WindowClient:true,WorkletAnimation:true,WorkletGlobalScope:true,XPathEvaluator:true,XPathExpression:true,XPathNSResolver:true,XPathResult:true,XMLSerializer:true,XSLTProcessor:true,Bluetooth:true,BluetoothCharacteristicProperties:true,BluetoothRemoteGATTServer:true,BluetoothRemoteGATTService:true,BluetoothUUID:true,BudgetService:true,Cache:true,DOMFileSystemSync:true,DirectoryEntrySync:true,DirectoryReaderSync:true,EntrySync:true,FileEntrySync:true,FileReaderSync:true,FileWriterSync:true,HTMLAllCollection:true,Mojo:true,MojoHandle:true,MojoWatcher:true,NFC:true,PagePopupController:true,Report:true,Request:true,Response:true,SubtleCrypto:true,USBAlternateInterface:true,USBConfiguration:true,USBDevice:true,USBEndpoint:true,USBInTransferResult:true,USBInterface:true,USBIsochronousInTransferPacket:true,USBIsochronousInTransferResult:true,USBIsochronousOutTransferPacket:true,USBIsochronousOutTransferResult:true,USBOutTransferResult:true,WorkerLocation:true,WorkerNavigator:true,Worklet:true,IDBCursor:true,IDBCursorWithValue:true,IDBFactory:true,IDBIndex:true,IDBObjectStore:true,IDBObservation:true,IDBObserver:true,IDBObserverChanges:true,SVGAngle:true,SVGAnimatedAngle:true,SVGAnimatedBoolean:true,SVGAnimatedEnumeration:true,SVGAnimatedInteger:true,SVGAnimatedLength:true,SVGAnimatedLengthList:true,SVGAnimatedNumber:true,SVGAnimatedNumberList:true,SVGAnimatedPreserveAspectRatio:true,SVGAnimatedRect:true,SVGAnimatedString:true,SVGAnimatedTransformList:true,SVGMatrix:true,SVGPoint:true,SVGPreserveAspectRatio:true,SVGRect:true,SVGUnitTypes:true,AudioListener:true,AudioParam:true,AudioTrack:true,AudioWorkletGlobalScope:true,AudioWorkletProcessor:true,PeriodicWave:true,WebGLActiveInfo:true,ANGLEInstancedArrays:true,ANGLE_instanced_arrays:true,WebGLBuffer:true,WebGLCanvas:true,WebGLColorBufferFloat:true,WebGLCompressedTextureASTC:true,WebGLCompressedTextureATC:true,WEBGL_compressed_texture_atc:true,WebGLCompressedTextureETC1:true,WEBGL_compressed_texture_etc1:true,WebGLCompressedTextureETC:true,WebGLCompressedTexturePVRTC:true,WEBGL_compressed_texture_pvrtc:true,WebGLCompressedTextureS3TC:true,WEBGL_compressed_texture_s3tc:true,WebGLCompressedTextureS3TCsRGB:true,WebGLDebugRendererInfo:true,WEBGL_debug_renderer_info:true,WebGLDebugShaders:true,WEBGL_debug_shaders:true,WebGLDepthTexture:true,WEBGL_depth_texture:true,WebGLDrawBuffers:true,WEBGL_draw_buffers:true,EXTsRGB:true,EXT_sRGB:true,EXTBlendMinMax:true,EXT_blend_minmax:true,EXTColorBufferFloat:true,EXTColorBufferHalfFloat:true,EXTDisjointTimerQuery:true,EXTDisjointTimerQueryWebGL2:true,EXTFragDepth:true,EXT_frag_depth:true,EXTShaderTextureLOD:true,EXT_shader_texture_lod:true,EXTTextureFilterAnisotropic:true,EXT_texture_filter_anisotropic:true,WebGLFramebuffer:true,WebGLGetBufferSubDataAsync:true,WebGLLoseContext:true,WebGLExtensionLoseContext:true,WEBGL_lose_context:true,OESElementIndexUint:true,OES_element_index_uint:true,OESStandardDerivatives:true,OES_standard_derivatives:true,OESTextureFloat:true,OES_texture_float:true,OESTextureFloatLinear:true,OES_texture_float_linear:true,OESTextureHalfFloat:true,OES_texture_half_float:true,OESTextureHalfFloatLinear:true,OES_texture_half_float_linear:true,OESVertexArrayObject:true,OES_vertex_array_object:true,WebGLProgram:true,WebGLQuery:true,WebGLRenderbuffer:true,WebGLRenderingContext:true,WebGL2RenderingContext:true,WebGLSampler:true,WebGLShader:true,WebGLShaderPrecisionFormat:true,WebGLSync:true,WebGLTexture:true,WebGLTimerQueryEXT:true,WebGLTransformFeedback:true,WebGLUniformLocation:true,WebGLVertexArrayObject:true,WebGLVertexArrayObjectOES:true,WebGL2RenderingContextBase:true,DataView:true,ArrayBufferView:false,Float32Array:true,Float64Array:true,Int16Array:true,Int32Array:true,Int8Array:true,Uint16Array:true,Uint32Array:true,Uint8ClampedArray:true,CanvasPixelArray:true,Uint8Array:false,HTMLAudioElement:true,HTMLBRElement:true,HTMLButtonElement:true,HTMLCanvasElement:true,HTMLContentElement:true,HTMLDListElement:true,HTMLDataElement:true,HTMLDataListElement:true,HTMLDetailsElement:true,HTMLDialogElement:true,HTMLDivElement:true,HTMLEmbedElement:true,HTMLFieldSetElement:true,HTMLHRElement:true,HTMLHeadElement:true,HTMLHeadingElement:true,HTMLHtmlElement:true,HTMLIFrameElement:true,HTMLImageElement:true,HTMLLIElement:true,HTMLLabelElement:true,HTMLLegendElement:true,HTMLLinkElement:true,HTMLMapElement:true,HTMLMediaElement:true,HTMLMenuElement:true,HTMLMetaElement:true,HTMLMeterElement:true,HTMLModElement:true,HTMLOListElement:true,HTMLObjectElement:true,HTMLOptGroupElement:true,HTMLOptionElement:true,HTMLOutputElement:true,HTMLParagraphElement:true,HTMLParamElement:true,HTMLPictureElement:true,HTMLPreElement:true,HTMLProgressElement:true,HTMLQuoteElement:true,HTMLScriptElement:true,HTMLShadowElement:true,HTMLSlotElement:true,HTMLSourceElement:true,HTMLSpanElement:true,HTMLStyleElement:true,HTMLTableCaptionElement:true,HTMLTableCellElement:true,HTMLTableDataCellElement:true,HTMLTableHeaderCellElement:true,HTMLTableColElement:true,HTMLTextAreaElement:true,HTMLTimeElement:true,HTMLTitleElement:true,HTMLTrackElement:true,HTMLUListElement:true,HTMLUnknownElement:true,HTMLVideoElement:true,HTMLDirectoryElement:true,HTMLFontElement:true,HTMLFrameElement:true,HTMLFrameSetElement:true,HTMLMarqueeElement:true,HTMLElement:false,AccessibleNodeList:true,HTMLAnchorElement:true,HTMLAreaElement:true,HTMLBaseElement:true,Blob:false,HTMLBodyElement:true,CDATASection:true,CharacterData:true,Comment:true,ProcessingInstruction:true,Text:true,CSSPerspective:true,CSSCharsetRule:true,CSSConditionRule:true,CSSFontFaceRule:true,CSSGroupingRule:true,CSSImportRule:true,CSSKeyframeRule:true,MozCSSKeyframeRule:true,WebKitCSSKeyframeRule:true,CSSKeyframesRule:true,MozCSSKeyframesRule:true,WebKitCSSKeyframesRule:true,CSSMediaRule:true,CSSNamespaceRule:true,CSSPageRule:true,CSSRule:true,CSSStyleRule:true,CSSSupportsRule:true,CSSViewportRule:true,CSSStyleDeclaration:true,MSStyleCSSProperties:true,CSS2Properties:true,CSSImageValue:true,CSSKeywordValue:true,CSSNumericValue:true,CSSPositionValue:true,CSSResourceValue:true,CSSUnitValue:true,CSSURLImageValue:true,CSSStyleValue:false,CSSMatrixComponent:true,CSSRotation:true,CSSScale:true,CSSSkew:true,CSSTranslation:true,CSSTransformComponent:false,CSSTransformValue:true,CSSUnparsedValue:true,DataTransferItemList:true,XMLDocument:true,Document:false,DOMException:true,ClientRectList:true,DOMRectList:true,DOMRectReadOnly:false,DOMStringList:true,DOMTokenList:true,Element:false,AbortPaymentEvent:true,AnimationEvent:true,AnimationPlaybackEvent:true,ApplicationCacheErrorEvent:true,BackgroundFetchClickEvent:true,BackgroundFetchEvent:true,BackgroundFetchFailEvent:true,BackgroundFetchedEvent:true,BeforeInstallPromptEvent:true,BeforeUnloadEvent:true,BlobEvent:true,CanMakePaymentEvent:true,ClipboardEvent:true,CloseEvent:true,CustomEvent:true,DeviceMotionEvent:true,DeviceOrientationEvent:true,ErrorEvent:true,ExtendableEvent:true,ExtendableMessageEvent:true,FetchEvent:true,FontFaceSetLoadEvent:true,ForeignFetchEvent:true,GamepadEvent:true,HashChangeEvent:true,InstallEvent:true,MediaEncryptedEvent:true,MediaKeyMessageEvent:true,MediaQueryListEvent:true,MediaStreamEvent:true,MediaStreamTrackEvent:true,MessageEvent:true,MIDIConnectionEvent:true,MIDIMessageEvent:true,MutationEvent:true,NotificationEvent:true,PageTransitionEvent:true,PaymentRequestEvent:true,PaymentRequestUpdateEvent:true,PopStateEvent:true,PresentationConnectionAvailableEvent:true,PresentationConnectionCloseEvent:true,ProgressEvent:true,PromiseRejectionEvent:true,PushEvent:true,RTCDataChannelEvent:true,RTCDTMFToneChangeEvent:true,RTCPeerConnectionIceEvent:true,RTCTrackEvent:true,SecurityPolicyViolationEvent:true,SensorErrorEvent:true,SpeechRecognitionError:true,SpeechRecognitionEvent:true,SpeechSynthesisEvent:true,StorageEvent:true,SyncEvent:true,TrackEvent:true,TransitionEvent:true,WebKitTransitionEvent:true,VRDeviceEvent:true,VRDisplayEvent:true,VRSessionEvent:true,MojoInterfaceRequestEvent:true,ResourceProgressEvent:true,USBConnectionEvent:true,IDBVersionChangeEvent:true,AudioProcessingEvent:true,OfflineAudioCompletionEvent:true,WebGLContextEvent:true,Event:false,InputEvent:false,SubmitEvent:false,AbsoluteOrientationSensor:true,Accelerometer:true,AccessibleNode:true,AmbientLightSensor:true,Animation:true,ApplicationCache:true,DOMApplicationCache:true,OfflineResourceList:true,BackgroundFetchRegistration:true,BatteryManager:true,BroadcastChannel:true,CanvasCaptureMediaStreamTrack:true,EventSource:true,FileReader:true,FontFaceSet:true,Gyroscope:true,XMLHttpRequest:true,XMLHttpRequestEventTarget:true,XMLHttpRequestUpload:true,LinearAccelerationSensor:true,Magnetometer:true,MediaDevices:true,MediaKeySession:true,MediaQueryList:true,MediaRecorder:true,MediaSource:true,MediaStream:true,MediaStreamTrack:true,MessagePort:true,MIDIAccess:true,MIDIInput:true,MIDIOutput:true,MIDIPort:true,NetworkInformation:true,Notification:true,OffscreenCanvas:true,OrientationSensor:true,PaymentRequest:true,Performance:true,PermissionStatus:true,PresentationAvailability:true,PresentationConnection:true,PresentationConnectionList:true,PresentationRequest:true,RelativeOrientationSensor:true,RemotePlayback:true,RTCDataChannel:true,DataChannel:true,RTCDTMFSender:true,RTCPeerConnection:true,webkitRTCPeerConnection:true,mozRTCPeerConnection:true,ScreenOrientation:true,Sensor:true,ServiceWorker:true,ServiceWorkerContainer:true,ServiceWorkerRegistration:true,SharedWorker:true,SpeechRecognition:true,SpeechSynthesis:true,SpeechSynthesisUtterance:true,VR:true,VRDevice:true,VRDisplay:true,VRSession:true,VisualViewport:true,WebSocket:true,Worker:true,WorkerPerformance:true,BluetoothDevice:true,BluetoothRemoteGATTCharacteristic:true,Clipboard:true,MojoInterfaceInterceptor:true,USB:true,IDBDatabase:true,IDBOpenDBRequest:true,IDBVersionChangeRequest:true,IDBRequest:true,IDBTransaction:true,AnalyserNode:true,RealtimeAnalyserNode:true,AudioBufferSourceNode:true,AudioDestinationNode:true,AudioNode:true,AudioScheduledSourceNode:true,AudioWorkletNode:true,BiquadFilterNode:true,ChannelMergerNode:true,AudioChannelMerger:true,ChannelSplitterNode:true,AudioChannelSplitter:true,ConstantSourceNode:true,ConvolverNode:true,DelayNode:true,DynamicsCompressorNode:true,GainNode:true,AudioGainNode:true,IIRFilterNode:true,MediaElementAudioSourceNode:true,MediaStreamAudioDestinationNode:true,MediaStreamAudioSourceNode:true,OscillatorNode:true,Oscillator:true,PannerNode:true,AudioPannerNode:true,webkitAudioPannerNode:true,ScriptProcessorNode:true,JavaScriptAudioNode:true,StereoPannerNode:true,WaveShaperNode:true,EventTarget:false,File:true,FileList:true,FileWriter:true,HTMLFormElement:true,Gamepad:true,History:true,HTMLCollection:true,HTMLFormControlsCollection:true,HTMLOptionsCollection:true,HTMLDocument:true,ImageData:true,HTMLInputElement:true,KeyboardEvent:true,Location:true,MediaList:true,MIDIInputMap:true,MIDIOutputMap:true,MimeType:true,MimeTypeArray:true,DocumentFragment:true,ShadowRoot:true,DocumentType:true,Node:false,NodeList:true,RadioNodeList:true,Plugin:true,PluginArray:true,RTCStatsReport:true,HTMLSelectElement:true,SourceBuffer:true,SourceBufferList:true,SpeechGrammar:true,SpeechGrammarList:true,SpeechRecognitionResult:true,Storage:true,CSSStyleSheet:true,StyleSheet:true,HTMLTableElement:true,HTMLTableRowElement:true,HTMLTableSectionElement:true,HTMLTemplateElement:true,TextTrack:true,TextTrackCue:true,VTTCue:true,TextTrackCueList:true,TextTrackList:true,TimeRanges:true,Touch:true,TouchList:true,TrackDefaultList:true,CompositionEvent:true,FocusEvent:true,MouseEvent:true,DragEvent:true,PointerEvent:true,TextEvent:true,TouchEvent:true,WheelEvent:true,UIEvent:false,URL:true,VideoTrackList:true,Window:true,DOMWindow:true,DedicatedWorkerGlobalScope:true,ServiceWorkerGlobalScope:true,SharedWorkerGlobalScope:true,WorkerGlobalScope:true,Attr:true,CSSRuleList:true,ClientRect:true,DOMRect:true,GamepadList:true,NamedNodeMap:true,MozNamedAttrMap:true,SpeechRecognitionResultList:true,StyleSheetList:true,IDBKeyRange:true,SVGLength:true,SVGLengthList:true,SVGNumber:true,SVGNumberList:true,SVGPointList:true,SVGScriptElement:true,SVGStringList:true,SVGAElement:true,SVGAnimateElement:true,SVGAnimateMotionElement:true,SVGAnimateTransformElement:true,SVGAnimationElement:true,SVGCircleElement:true,SVGClipPathElement:true,SVGDefsElement:true,SVGDescElement:true,SVGDiscardElement:true,SVGEllipseElement:true,SVGFEBlendElement:true,SVGFEColorMatrixElement:true,SVGFEComponentTransferElement:true,SVGFECompositeElement:true,SVGFEConvolveMatrixElement:true,SVGFEDiffuseLightingElement:true,SVGFEDisplacementMapElement:true,SVGFEDistantLightElement:true,SVGFEFloodElement:true,SVGFEFuncAElement:true,SVGFEFuncBElement:true,SVGFEFuncGElement:true,SVGFEFuncRElement:true,SVGFEGaussianBlurElement:true,SVGFEImageElement:true,SVGFEMergeElement:true,SVGFEMergeNodeElement:true,SVGFEMorphologyElement:true,SVGFEOffsetElement:true,SVGFEPointLightElement:true,SVGFESpecularLightingElement:true,SVGFESpotLightElement:true,SVGFETileElement:true,SVGFETurbulenceElement:true,SVGFilterElement:true,SVGForeignObjectElement:true,SVGGElement:true,SVGGeometryElement:true,SVGGraphicsElement:true,SVGImageElement:true,SVGLineElement:true,SVGLinearGradientElement:true,SVGMarkerElement:true,SVGMaskElement:true,SVGMetadataElement:true,SVGPathElement:true,SVGPatternElement:true,SVGPolygonElement:true,SVGPolylineElement:true,SVGRadialGradientElement:true,SVGRectElement:true,SVGSetElement:true,SVGStopElement:true,SVGStyleElement:true,SVGSVGElement:true,SVGSwitchElement:true,SVGSymbolElement:true,SVGTSpanElement:true,SVGTextContentElement:true,SVGTextElement:true,SVGTextPathElement:true,SVGTextPositioningElement:true,SVGTitleElement:true,SVGUseElement:true,SVGViewElement:true,SVGGradientElement:true,SVGComponentTransferFunctionElement:true,SVGFEDropShadowElement:true,SVGMPathElement:true,SVGElement:false,SVGTransform:true,SVGTransformList:true,AudioBuffer:true,AudioParamMap:true,AudioTrackList:true,AudioContext:true,webkitAudioContext:true,BaseAudioContext:false,OfflineAudioContext:true}) +A.bj.$nativeSuperclassTag="ArrayBufferView" +A.cl.$nativeSuperclassTag="ArrayBufferView" +A.cm.$nativeSuperclassTag="ArrayBufferView" +A.aZ.$nativeSuperclassTag="ArrayBufferView" +A.cn.$nativeSuperclassTag="ArrayBufferView" +A.co.$nativeSuperclassTag="ArrayBufferView" +A.c0.$nativeSuperclassTag="ArrayBufferView" +A.cs.$nativeSuperclassTag="EventTarget" +A.ct.$nativeSuperclassTag="EventTarget" +A.cv.$nativeSuperclassTag="EventTarget" +A.cw.$nativeSuperclassTag="EventTarget"})() +convertAllToFastObject(w) +convertToFastObject($);(function(a){if(typeof document==="undefined"){a(null) +return}if(typeof document.currentScript!="undefined"){a(document.currentScript) +return}var s=document.scripts +function onLoad(b){for(var q=0;q","TypeErrorDecoder.matchTypeError","NullError.toString","JsNoSuchMethodError.toString","UnknownJsTypeError.toString","NullThrownFromJavaScriptException.toString","_StackTrace.toString","Closure.toString","StaticClosure.toString","BoundClosure.==","BoundClosure.hashCode","BoundClosure.toString","RuntimeError.toString","JsLinkedHashMap.keys","JsLinkedHashMap.length","JsLinkedHashMap.containsKey","JsLinkedHashMap.[]","JsLinkedHashMap.internalGet","JsLinkedHashMap.[]=","JsLinkedHashMap.internalSet","JsLinkedHashMap.forEach","JsLinkedHashMap._addHashTableEntry","JsLinkedHashMap._modified","JsLinkedHashMap._newLinkedCell","JsLinkedHashMap.internalComputeHashCode","JsLinkedHashMap.internalFindBucketIndex","JsLinkedHashMap.toString","JsLinkedHashMap._newHashTable","LinkedHashMapKeyIterable.length","LinkedHashMapKeyIterable.iterator","LinkedHashMapKeyIterator","LinkedHashMapKeyIterator.current","LinkedHashMapKeyIterator.moveNext","initHooks.","JSSyntaxRegExp.toString","NativeTypedArray.length","NativeTypedArrayOfDouble.[]","NativeTypedArrayOfDouble.[]=","NativeTypedArrayOfInt.[]=","NativeInt16List.[]","NativeInt32List.[]","NativeInt8List.[]","NativeUint16List.[]","NativeUint32List.[]","NativeUint8ClampedList.length","NativeUint8ClampedList.[]","NativeUint8List.length","NativeUint8List.[]","Rti._eval","Rti._bind","_Type.toString","_Error.toString","_AsyncRun._initializeScheduleImmediate.internalCallback","_AsyncRun._initializeScheduleImmediate.","_AsyncRun._scheduleImmediateJsOverride.internalCallback","_AsyncRun._scheduleImmediateWithSetImmediate.internalCallback","_TimerImpl.internalCallback","_AsyncAwaitCompleter.complete","_AsyncAwaitCompleter.completeError","_awaitOnObject.","_wrapJsFunctionForAsync.","AsyncError.toString","_Completer.completeError","_Completer.completeError[function-entry$1]","_AsyncCompleter.complete","_FutureListener.matchesErrorTest","_FutureListener.handleError","_Future.then","_Future.then[function-entry$1]","_Future._thenAwait","_Future._setErrorObject","_Future._cloneResult","_Future._addListener","_Future._prependListeners","_Future._removeListeners","_Future._reverseListeners","_Future._chainForeignFuture","_Future._completeWithValue","_Future._completeError","_Future._asyncComplete","_Future._asyncCompleteWithValue","_Future._chainFuture","_Future._asyncCompleteError","_Future._addListener.","_Future._prependListeners.","_Future._chainForeignFuture.","_Future._asyncCompleteWithValue.","_Future._chainFuture.","_Future._asyncCompleteError.","_Future._propagateToListeners.handleWhenCompleteCallback","_FutureListener.handleWhenComplete","_Future._propagateToListeners.handleWhenCompleteCallback.","_Future._propagateToListeners.handleValueCallback","_FutureListener.handleValue","_Future._propagateToListeners.handleError","_FutureListener.hasErrorCallback","_rootHandleError.","_RootZone.runGuarded","_RootZone.bindCallbackGuarded","_RootZone.run","_RootZone.run[function-entry$1]","_RootZone.runUnary","_RootZone.runUnary[function-entry$2]","_RootZone.runBinary","_RootZone.runBinary[function-entry$3]","_RootZone.registerBinaryCallback","_RootZone.registerBinaryCallback[function-entry$1]","_RootZone.bindCallbackGuarded.","_LinkedHashSet.iterator","_LinkedHashSet.length","_LinkedHashSet.contains","_LinkedHashSet._contains","_LinkedHashSet.add","_LinkedHashSet._add","_LinkedHashSet.remove","_LinkedHashSet._remove","_LinkedHashSet._addHashTableEntry","_LinkedHashSet._removeHashTableEntry","_LinkedHashSet._modified","_LinkedHashSet._newLinkedCell","_LinkedHashSet._unlinkCell","_LinkedHashSet._computeHashCode","_LinkedHashSet._findBucketIndex","_LinkedHashSetIterator.current","_LinkedHashSetIterator.moveNext","ListMixin.iterator","ListMixin.elementAt","ListMixin.map","ListMixin.cast","ListMixin.fillRange","ListMixin.toString","MapBase.mapToString.","MapMixin.forEach","MapMixin.length","MapMixin.toString","_UnmodifiableMapMixin.[]=","MapView.[]","MapView.[]=","MapView.forEach","MapView.length","MapView.toString","SetMixin.addAll","SetMixin.toString","SetMixin.join","SetMixin.elementAt","_JsonMap.[]","_JsonMap.length","_JsonMap.keys","_JsonMap.[]=","_JsonMap.containsKey","_JsonMap.forEach","_JsonMap._computeKeys","_JsonMap._upgrade","_JsonMap._process","_JsonMapKeyIterable.length","_JsonMapKeyIterable.elementAt","_JsonMapKeyIterable.iterator","Utf8Decoder._decoder.","Utf8Decoder._decoderNonfatal.","Base64Codec.normalize","StringBuffer.writeCharCode","HtmlEscapeMode.toString","HtmlEscape.convert","HtmlEscape._convert","JsonCodec.decode","JsonCodec.decoder","Utf8Decoder.convert","_Utf8Decoder.convertGeneral","_Utf8Decoder._convertRecursive","_Utf8Decoder.decodeGeneral","NoSuchMethodError.toString.","_symbolToString","DateTime.==","DateTime.compareTo","DateTime.hashCode","DateTime.toString","Error.stackTrace","AssertionError.toString","NullThrownError.toString","ArgumentError._errorName","ArgumentError._errorExplanation","ArgumentError.toString","RangeError._errorName","RangeError._errorExplanation","IndexError._errorName","IndexError._errorExplanation","NoSuchMethodError.toString","UnsupportedError.toString","UnimplementedError.toString","StateError.toString","ConcurrentModificationError.toString","OutOfMemoryError.toString","OutOfMemoryError.stackTrace","StackOverflowError.toString","StackOverflowError.stackTrace","CyclicInitializationError.toString","_Exception.toString","FormatException.toString","Iterable.cast","Iterable.map","Iterable.where","Iterable.length","Iterable.single","Iterable.elementAt","Iterable.toString","Null.hashCode","Null.toString","Object.hashCode","Object.==","Object.toString","Object.noSuchMethod","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","Uri.splitQueryString.","Uri._parseIPv4Address.error","Uri.parseIPv6Address.error","Uri.parseIPv6Address.parseHex","_Uri._text","JSString.isNotEmpty","_Uri._initializeText","_Uri._writeAuthority","_Uri.hashCode","_Uri.queryParameters","_Uri.userInfo","_Uri.host","_Uri.port","_Uri.query","_Uri.fragment","_Uri.toString","_Uri.hasAuthority","_Uri.hasQuery","_Uri.hasFragment","_Uri.==","UriData.uri","UriData._computeUri","UriData.toString","_createTables.build","_createTables.setChars","_createTables.setRange","_SimpleUri.hasAuthority","_SimpleUri.hasQuery","_SimpleUri.hasFragment","_SimpleUri.scheme","_SimpleUri._computeScheme","_SimpleUri.userInfo","_SimpleUri.host","_SimpleUri.port","_SimpleUri.path","_SimpleUri.query","_SimpleUri.fragment","_SimpleUri.queryParameters","_SimpleUri.hashCode","_SimpleUri.==","_SimpleUri.toString","AccessibleNodeList.length","AnchorElement.toString","AreaElement.toString","CharacterData.length","CssPerspective.length","CssStyleDeclaration.length","CssTransformValue.length","CssUnparsedValue.length","DataTransferItemList.length","DomException.toString","DomRectList.length","DomRectList.[]","DomRectList.[]=","DomRectList.elementAt","DomRectReadOnly.toString","DomRectReadOnly.==","DomRectReadOnly.hashCode","DomRectReadOnly._height","DomRectReadOnly.height","DomRectReadOnly._width","DomRectReadOnly.width","DomStringList.length","DomStringList.[]","DomStringList.[]=","DomStringList.elementAt","DomTokenList.length","Element.attributes","Element.classes","Element.toString","Element.createFragment","NodeValidatorBuilder.common","NodeValidatorBuilder.allowHtml5","NodeValidatorBuilder.allowTemplating","Element._canBeUsedToCreateContextualFragment","Element.createFragment[function-entry$1$treeSanitizer]","Element.innerHtml","Element.setInnerHtml","Element.tagName","Element.html.","EventTarget.addEventListener","EventTarget._addEventListener","FileList.length","FileList.[]","FileList.[]=","FileList.elementAt","FileWriter.length","FormElement.length","History.length","HtmlCollection.length","HtmlCollection.[]","HtmlCollection.[]=","HtmlCollection.elementAt","Location.toString","MediaList.length","MidiInputMap.[]","MidiInputMap.forEach","MidiInputMap.keys","MidiInputMap.length","MidiInputMap.[]=","MidiInputMap.keys.","MidiOutputMap.[]","MidiOutputMap.forEach","MidiOutputMap.keys","MidiOutputMap.length","MidiOutputMap.[]=","MidiOutputMap.keys.","MimeTypeArray.length","MimeTypeArray.[]","MimeTypeArray.[]=","MimeTypeArray.elementAt","_ChildNodeListLazy.single","_ChildNodeListLazy.addAll","_ChildNodeListLazy.[]=","_ChildNodeListLazy.iterator","ImmutableListMixin.iterator","_ChildNodeListLazy.length","_ChildNodeListLazy.[]","Node.remove","Node.replaceWith","Node._clearChildren","Node.toString","Node._replaceChild","NodeList.length","NodeList.[]","NodeList.[]=","NodeList.elementAt","Plugin.length","PluginArray.length","PluginArray.[]","PluginArray.[]=","PluginArray.elementAt","RtcStatsReport.[]","RtcStatsReport.forEach","RtcStatsReport.keys","RtcStatsReport.length","RtcStatsReport.[]=","RtcStatsReport.keys.","SelectElement.length","SourceBufferList.length","SourceBufferList.[]","SourceBufferList.[]=","SourceBufferList.elementAt","SpeechGrammarList.length","SpeechGrammarList.[]","SpeechGrammarList.[]=","SpeechGrammarList.elementAt","SpeechRecognitionResult.length","Storage.[]","Storage.[]=","Storage.forEach","Storage.keys","Storage.length","Storage.keys.","TableElement.createFragment","TableRowElement.createFragment","TableSectionElement.createFragment","TemplateElement.setInnerHtml","TextTrackCueList.length","TextTrackCueList.[]","TextTrackCueList.[]=","TextTrackCueList.elementAt","TextTrackList.length","TextTrackList.[]","TextTrackList.[]=","TextTrackList.elementAt","TimeRanges.length","TouchList.length","TouchList.[]","TouchList.[]=","TouchList.elementAt","TrackDefaultList.length","Url.toString","VideoTrackList.length","_CssRuleList.length","_CssRuleList.[]","_CssRuleList.[]=","_CssRuleList.elementAt","_DomRect.toString","_DomRect.==","_DomRect.hashCode","_DomRect._height","_DomRect.height","_DomRect._width","_DomRect.width","_GamepadList.length","_GamepadList.[]","_GamepadList.[]=","_GamepadList.elementAt","_NamedNodeMap.length","_NamedNodeMap.[]","_NamedNodeMap.[]=","_NamedNodeMap.elementAt","_SpeechRecognitionResultList.length","_SpeechRecognitionResultList.[]","_SpeechRecognitionResultList.[]=","_SpeechRecognitionResultList.elementAt","_StyleSheetList.length","_StyleSheetList.[]","_StyleSheetList.[]=","_StyleSheetList.elementAt","_AttributeMap.forEach","_AttributeMap.keys","_ElementAttributeMap.[]=","_ElementAttributeMap.length","_DataAttributeMap.[]","_DataAttributeMap.[]=","_DataAttributeMap.forEach","_DataAttributeMap.keys","_DataAttributeMap.length","_DataAttributeMap._toCamelCase","_DataAttributeMap._toHyphenedName","_DataAttributeMap.forEach.","_DataAttributeMap.keys.","_ElementCssClassSet.readClasses","_ElementCssClassSet.writeClasses","_ElementCssClassSet.length","_ElementCssClassSet.remove","_ElementCssClassSet.toggle","_ElementCssClassSet._toggle","_Html5NodeValidator.allowsElement","_Html5NodeValidator.allowsAttribute","NodeValidatorBuilder.allowsElement","NodeValidatorBuilder.allowsAttribute","NodeValidatorBuilder.allowsElement.","NodeValidatorBuilder.allowsAttribute.","_SimpleNodeValidator.allowsElement","_SimpleNodeValidator.allowsAttribute","_SimpleNodeValidator.","_TemplatingNodeValidator.allowsAttribute","_TemplatingNodeValidator.","_SvgNodeValidator.allowsElement","_SvgNodeValidator.allowsAttribute","FixedSizeListIterator.moveNext","FixedSizeListIterator.current","_ValidatingTreeSanitizer.sanitizeTree","_ValidatingTreeSanitizer._removeNode","_ValidatingTreeSanitizer._sanitizeUntrustedElement","_ValidatingTreeSanitizer._sanitizeElement","JSArray.toList","_ValidatingTreeSanitizer.sanitizeTree.walk","CssClassSetImpl._validateToken","CssClassSetImpl.toString","CssClassSetImpl.toggle","CssClassSetImpl.iterator","CssClassSetImpl.length","CssClassSetImpl.add","CssClassSetImpl.remove","CssClassSetImpl.elementAt","CssClassSetImpl.modify","CssClassSetImpl.add.","_convertToJS.","_wrapToDart.","JsObject.[]","JsObject.[]=","JsObject.==","JsObject.toString","JsObject.callMethod","JsObject.callMethod[function-entry$1]","JsObject.hashCode","JsArray._checkIndex","JsArray.[]","JsArray.[]=","JsArray.length","_JsArray&JsObject&ListMixin.[]=","NullRejectionException.toString","promiseToFuture.","LengthList.length","LengthList.[]","LengthList.[]=","LengthList.elementAt","NumberList.length","NumberList.[]","NumberList.[]=","NumberList.elementAt","PointList.length","StringList.length","StringList.[]","StringList.[]=","StringList.elementAt","AttributeClassSet.readClasses","AttributeClassSet.writeClasses","SvgElement.classes","SvgElement.innerHtml","SvgElement.createFragment","NodeValidatorBuilder.allowSvg","NodeTreeSanitizer","TransformList.length","TransformList.[]","TransformList.[]=","TransformList.elementAt","AudioBuffer.length","AudioParamMap.[]","AudioParamMap.forEach","AudioParamMap.keys","AudioParamMap.length","AudioParamMap.[]=","AudioParamMap.keys.","AudioTrackList.length","OfflineAudioContext.length","init.disableSearch","print","init.","findMatches.score","findMatches.","initializeSearch.","initializeSearch.highlight","initializeSearch.createSuggestion","initializeSearch.createSuggestion.","initializeSearch.setHint","initializeSearch.showSuggestions","initializeSearch.hideSuggestions","initializeSearch.updateSuggestions","initializeSearch.handle","initializeSearch[function-entry$1].handle","Element.dataset","init.toggleDrawerAndOverlay","DART_CLOSURE_PROPERTY_NAME","TypeErrorDecoder.noSuchMethodPattern","TypeErrorDecoder.notClosurePattern","TypeErrorDecoder.nullCallPattern","TypeErrorDecoder.nullLiteralCallPattern","TypeErrorDecoder.undefinedCallPattern","TypeErrorDecoder.undefinedLiteralCallPattern","TypeErrorDecoder.nullPropertyPattern","TypeErrorDecoder.nullLiteralPropertyPattern","TypeErrorDecoder.undefinedPropertyPattern","TypeErrorDecoder.undefinedLiteralPropertyPattern","_AsyncRun._scheduleImmediateClosure","Utf8Decoder._decoder","Utf8Decoder._decoderNonfatal","_Base64Decoder._inverseAlphabet","_hashSeed","_scannerTables","_Html5NodeValidator._allowedElements","CssClassSetImpl._validTokenRE","_context","_DART_OBJECT_PROPERTY_NAME","_dartProxyCtor","setDispatchProperty","JS_INTEROP_INTERCEPTOR_TAG","init_closure","init_disableSearch","fromTearOff","StaticClosure","BoundClosure","forwardCallTo","_computeSignatureFunctionNewRti","fieldADI","NullThrownError","objectTypeName","_objectTypeNameNewRti","Object","mapToString","StringBuffer","_toStringVisiting","MapBase_mapToString_closure","_empty","LinkedHashMapCell","","safeToString","_objectToString","Closure","JsLinkedHashMap","_identityHashCodeProperty","hash","combine","finish","eval","create","parse","handleDigit","handleIdentifier","toType","_lookupGenericFunctionParameterRti","_lookupTerminalRti","toTypes","_lookupInterfaceRti","_lookupGenericFunctionRti","_lookupBindingRti","handleExtendedOperations","_lookupStarRti","_lookupQuestionRti","_lookupFutureOrRti","_FunctionParameters","_lookupFunctionRti","toTypesNamed","_canonicalRecipeJoin","_canonicalRecipeJoinNamed","Rti","_installTypeTests","_createFutureOrRti","Future","_createQuestionRti","_getQuestionFromStar","_createStarRti","_createGenericFunctionRti","newArrayOrEmpty","indexToType","findRule","_getCanonicalRecipe","evalInEnvironment","MapMixin","ArrayIterator","LinkedHashMapKeyIterable","iterableToShortString","_writeAll","ListIterator","checkNotNegative","range","RangeError","value","FixedSizeListIterator","AudioParamMap_keys_closure","Storage_keys_closure","RtcStatsReport_keys_closure","MidiOutputMap_keys_closure","MidiInputMap_keys_closure","iterableToFullString","initNativeDispatchFlag","_JS_INTEROP_INTERCEPTOR_TAG","getTagFunction","dispatchRecordsForInstanceTags","interceptorsForUncacheableTags","alternateTagFunction","JavaScriptIndexingBehavior","prototypeForTagFunction","initHooks_closure","LateError","CyclicInitializationError","evalRecipe","forwardInterceptedCallTo","cspForwardCall","receiverOf","_interceptorFieldNameCache","_computeFieldNamed","_receiverFieldNameCache","cspForwardInterceptedCall","interceptorOf","RuntimeError","markFixedList","forType","_TypeError","compose","fromMessage","_isUnionOfFunctionType","_getFutureFromFutureOr","List","bind","findErasedType","MappedListIterable","ListMixin","IndexItem","ListIterable","of","EnclosedBy","Iterable","CastIterator","EfficientLengthIterable","_EfficientLengthCastIterable","CastList","_current","_wrapJsFunctionForAsync_closure","_StreamIterator","ExceptionAndStackTrace","_StackTrace","NullThrownFromJavaScriptException","NullError","UnknownJsTypeError","StackOverflowError","extractPattern","TypeErrorDecoder","provokePropertyErrorOn","provokeCallErrorOn","_awaitOnObject_closure","_Future","_FutureListener","_Future__addListener_closure","_AsyncCallbackEntry","_lastCallback","_nextCallback","_isInCallbackLoop","_lastPriorityCallback","_initializeScheduleImmediate","_AsyncRun__initializeScheduleImmediate_internalCallback","_AsyncRun__initializeScheduleImmediate_closure","_TimerImpl_internalCallback","_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback","_AsyncRun__scheduleImmediateJsOverride_internalCallback","_Exception","_RootZone_bindCallbackGuarded_closure","_rootHandleError_closure","_throw","_propagateToListeners","_Future__propagateToListeners_handleWhenCompleteCallback","_Future__propagateToListeners_handleValueCallback","_Future__propagateToListeners_handleError","_chainCoreFuture","_Future__prependListeners_closure","defaultStackTrace","_Future__propagateToListeners_handleWhenCompleteCallback_closure","_AsyncAwaitCompleter","_Future__asyncCompleteError_closure","_Future__chainFuture_closure","_Future__chainForeignFuture_closure","_Future__asyncCompleteWithValue_closure","initializeSearch_closure","initializeSearch_setHint","initializeSearch_hideSuggestions","initializeSearch_handle","initializeSearch_updateSuggestions","initializeSearch_createSuggestion","initializeSearch_highlight","initializeSearch_showSuggestions","AttributeClassSet","_skipLeadingWhitespace","_skipTrailingWhitespace","_isWhitespace","_LinkedHashSet","_newHashTable","_LinkedHashSetCell","CssClassSetImpl_add_closure","JSSyntaxRegExp","makeNative","checkValidRange","_ElementCssClassSet","_DataAttributeMap","_ElementAttributeMap","_DataAttributeMap_keys_closure","filled","fixed","markFixed","JSArray","_DataAttributeMap_forEach_closure","initializeSearch_createSuggestion_closure","_SvgNodeValidator","_ValidatingTreeSanitizer","NodeValidatorBuilder","_ChildNodeListLazy","from","_TemplatingNodeValidator_closure","_SimpleNodeValidator_closure","WhereIterable","WhereIterator","_SameOriginUriPolicy","_attributeValidators","html","Element_Element$html_closure","noElement","tooMany","_defaultValidator","_defaultSanitizer","_parseDocument","_parseRange","_ValidatingTreeSanitizer_sanitizeTree_walk","_safeTagName","NodeValidatorBuilder_allowsAttribute_closure","NodeValidatorBuilder_allowsElement_closure","findMatches_score","findMatches_closure","sort","_doSort","_insertionSort","_dualPivotQuicksort","SearchMatch","_parse","_SimpleUri","_makeScheme","_fail","_makeUserInfo","_makeHost","parseInt","_makePort","_makePath","_makeQuery","_makeFragment","_internal","_defaultPort","splitQueryString","UnmodifiableMapView","Uri_splitQueryString_closure","_uriDecode","_throwUnmodifiable","CodeUnits","_hexCharPairToByte","_convertIntercepted","_Utf8Decoder","_makeUint8List","errorDescription","stringFromCharCode","fromCharCodes","stringFromNativeUint8List","_convertInterceptedUint8List","_useTextDecoder","Utf8Decoder__decoder_closure","Utf8Decoder__decoderNonfatal_closure","_Uri","_normalizeOrSubstring","_normalize","_normalizeEscape","_escapeChar","_normalizePath","_normalizeRelativePath","_removeDotSegments","_mayContainDotSegments","_escapeScheme","_isAlphabeticCharacter","_checkZoneID","_normalizeZoneID","parseIPv6Address","_normalizeRegName","Uri_parseIPv6Address_error","Uri_parseIPv6Address_parseHex","_parseIPv4Address","Uri__parseIPv4Address_error","_canonicalizeScheme","_createTables_build","_createTables_setChars","_createTables_setRange","_DataUri","UriData","_checkPadding","_create1","_of","_JsonMap","_JsonMapKeyIterable","_AsyncCompleter","promiseToFuture_closure","NullRejectionException","init_toggleDrawerAndOverlay","_wrapToDart_closure","JsObject","DateTime","lazyAsJsDate","_convertToJS_closure","applyFunction","MappedIterator","EfficientLengthMappedIterable","_generalApplyFunction","functionNoSuchMethod","Primitives_functionNoSuchMethod_closure","JSInvocationMirror","Symbol","NoSuchMethodError_toString_closure","ConstantMapView","getYear","_fourDigits","getMonth","_twoDigits","getDay","getHours","getMinutes","getSeconds","getMilliseconds","_threeDigits","JsArray","JsFunction","objectAssign","JS_CONST","Interceptor","bool","JSBool","Null","JSNull","JavaScriptObject","LegacyJavaScriptObject","PlainJavaScriptObject","UnknownJavaScriptObject","Function","JavaScriptFunction","JSUnmodifiableArray","double","num","JSNumber","int","JSInt","JSNumNotInt","String","JSString","_CastIterableBase","_CastListBase","SentinelValue","FixedLengthListMixin","UnmodifiableListMixin","UnmodifiableListBase","Map","ConstantMap","ConstantStringMap","StackTrace","Closure0Args","Closure2Args","TearOffClosure","_Required","TypedData","NativeTypedData","NativeByteData","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","NativeFloat32List","NativeInt16List","NativeInt32List","NativeInt8List","NativeUint16List","NativeUint32List","NativeUint8ClampedList","Uint8List","NativeUint8List","_Error","TypeError","Error","_Completer","StreamTransformerBase","_Zone","_RootZone","ListBase","MapBase","_UnmodifiableMapMixin","MapView","SetMixin","Set","SetBase","_SetBase","Base64Codec","Base64Encoder","Codec","Converter","Encoding","HtmlEscapeMode","HtmlEscape","JsonCodec","JsonDecoder","Utf8Codec","Utf8Decoder","OutOfMemoryError","Iterator","_StringStackTrace","Uri","HtmlElement","AbortPaymentEvent","AccessibleNodeList","AnchorElement","AreaElement","AudioElement","BaseElement","Blob","BodyElement","CDataSection","CharacterData","CompositionEvent","CssCharsetRule","CssPerspective","CssRule","CssStyleDeclaration","CssStyleDeclarationBase","CssStyleSheet","CssStyleValue","CssTransformComponent","CssTransformValue","CssUnparsedValue","DataTransferItemList","DedicatedWorkerGlobalScope","Document","DocumentFragment","DomException","DomRectList","Rectangle","DomRectReadOnly","DomStringList","DomTokenList","Element","Node","Event","EventTarget","ExtendableEvent","File","FileList","FileWriter","FormElement","Gamepad","History","HtmlCollection","HtmlDocument","HtmlFormControlsCollection","ImageData","InputElement","KeyboardEvent","Location","MediaElement","MediaList","MidiInputMap","MidiOutputMap","MimeType","MimeTypeArray","NodeList","Plugin","PluginArray","RtcStatsReport","SelectElement","ShadowRoot","SourceBuffer","SourceBufferList","SpeechGrammar","SpeechGrammarList","SpeechRecognitionResult","Storage","StyleSheet","TableElement","TableRowElement","TableSectionElement","TemplateElement","Text","TextTrack","TextTrackCue","TextTrackCueList","TextTrackList","TimeRanges","Touch","TouchList","TrackDefaultList","UIEvent","Url","VideoTrackList","VttCue","Window","WorkerGlobalScope","XmlDocument","_Attr","_CssRuleList","_DomRect","_GamepadList","_NamedNodeMap","_SpeechRecognitionResultList","_StyleSheetList","_AttributeMap","NodeValidator","ImmutableListMixin","CssClassSetImpl","KeyRange","AElement","GraphicsElement","Length","LengthList","Number","NumberList","PointList","ScriptElement","StringList","SvgElement","Transform","TransformList","AudioBuffer","AudioParamMap","AudioTrackList","BaseAudioContext","OfflineAudioContext","__CastListBase&_CastIterableBase&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_ListBase&Object&ListMixin","_SetBase&Object&SetMixin","_UnmodifiableMapView&MapView&_UnmodifiableMapMixin","__SetBase&Object&SetMixin","_CssStyleDeclaration&JavaScriptObject&CssStyleDeclarationBase","_DomRectList&JavaScriptObject&ListMixin","_DomRectList&JavaScriptObject&ListMixin&ImmutableListMixin","_DomStringList&JavaScriptObject&ListMixin","_DomStringList&JavaScriptObject&ListMixin&ImmutableListMixin","_FileList&JavaScriptObject&ListMixin","_FileList&JavaScriptObject&ListMixin&ImmutableListMixin","_HtmlCollection&JavaScriptObject&ListMixin","_HtmlCollection&JavaScriptObject&ListMixin&ImmutableListMixin","_MidiInputMap&JavaScriptObject&MapMixin","_MidiOutputMap&JavaScriptObject&MapMixin","_MimeTypeArray&JavaScriptObject&ListMixin","_MimeTypeArray&JavaScriptObject&ListMixin&ImmutableListMixin","_NodeList&JavaScriptObject&ListMixin","_NodeList&JavaScriptObject&ListMixin&ImmutableListMixin","_PluginArray&JavaScriptObject&ListMixin","_PluginArray&JavaScriptObject&ListMixin&ImmutableListMixin","_RtcStatsReport&JavaScriptObject&MapMixin","_SourceBufferList&EventTarget&ListMixin","_SourceBufferList&EventTarget&ListMixin&ImmutableListMixin","_SpeechGrammarList&JavaScriptObject&ListMixin","_SpeechGrammarList&JavaScriptObject&ListMixin&ImmutableListMixin","_Storage&JavaScriptObject&MapMixin","_TextTrackCueList&JavaScriptObject&ListMixin","_TextTrackCueList&JavaScriptObject&ListMixin&ImmutableListMixin","_TextTrackList&EventTarget&ListMixin","_TextTrackList&EventTarget&ListMixin&ImmutableListMixin","_TouchList&JavaScriptObject&ListMixin","_TouchList&JavaScriptObject&ListMixin&ImmutableListMixin","__CssRuleList&JavaScriptObject&ListMixin","__CssRuleList&JavaScriptObject&ListMixin&ImmutableListMixin","__GamepadList&JavaScriptObject&ListMixin","__GamepadList&JavaScriptObject&ListMixin&ImmutableListMixin","__NamedNodeMap&JavaScriptObject&ListMixin","__NamedNodeMap&JavaScriptObject&ListMixin&ImmutableListMixin","__SpeechRecognitionResultList&JavaScriptObject&ListMixin","__SpeechRecognitionResultList&JavaScriptObject&ListMixin&ImmutableListMixin","__StyleSheetList&JavaScriptObject&ListMixin","__StyleSheetList&JavaScriptObject&ListMixin&ImmutableListMixin","_JsArray&JsObject&ListMixin","_LengthList&JavaScriptObject&ListMixin","_LengthList&JavaScriptObject&ListMixin&ImmutableListMixin","_NumberList&JavaScriptObject&ListMixin","_NumberList&JavaScriptObject&ListMixin&ImmutableListMixin","_StringList&JavaScriptObject&ListMixin","_StringList&JavaScriptObject&ListMixin&ImmutableListMixin","_TransformList&JavaScriptObject&ListMixin","_TransformList&JavaScriptObject&ListMixin&ImmutableListMixin","_AudioParamMap&JavaScriptObject&MapMixin","_compareAny","addRules","addErasedTypes","_scheduleImmediateJsOverride","_scheduleImmediateWithSetImmediate","_scheduleImmediateWithTimer","_standardAttributeValidator","_uriAttributeValidator","_#fromMap#tearOff","noSuchMethodPattern","notClosurePattern","nullCallPattern","nullLiteralCallPattern","undefinedCallPattern","undefinedLiteralCallPattern","nullPropertyPattern","nullLiteralPropertyPattern","undefinedPropertyPattern","undefinedLiteralPropertyPattern","_scheduleImmediateClosure","_decoder","_decoderNonfatal","_inverseAlphabet","_allowedElements","_validTokenRE","$intercepted$toString0$IJavaScriptFunctionLegacyJavaScriptObjectabnsux","getInterceptor$","$intercepted$forEach1$ax","$intercepted$$eq$Iux","getInterceptor$x","$intercepted$get$hashCode$ILegacyJavaScriptObjectabnsux","$intercepted$get$iterator$ax","getInterceptor$asx","$intercepted$get$length$asx","$intercepted$__$asx","$intercepted$cast10$ax","search_IndexItem___fromMap_tearOff$closure","$intercepted$elementAt1$ax","async___startMicrotaskLoop$closure","async__AsyncRun__scheduleImmediateJsOverride$closure","async__AsyncRun__scheduleImmediateWithSetImmediate$closure","async__AsyncRun__scheduleImmediateWithTimer$closure","$intercepted$get$classes$x","$intercepted$trim0$s","html__Html5NodeValidator__standardAttributeValidator$closure","html__Html5NodeValidator__uriAttributeValidator$closure","$intercepted$remove0$x","$intercepted$get$attributes$x","$intercepted$toLowerCase0$s","$intercepted$_clearChildren0$x","$intercepted$_replaceChild2$x","_interceptors_JSArray__compareAny$closure","$intercepted$compareTo1$ns","$intercepted$___$ax","$intercepted$addEventListener2$x","js___convertToJS$closure","$intercepted$map11$ax","js___convertToDart$closure","$intercepted$noSuchMethod1$Iu","getInterceptor$ax","getInterceptor$s","getInterceptor$ns","toString","where","createFragment","allowsAttribute","[]=","[]","callMethod","then","_js_helper#_newHashTable","_js_helper#_addHashTableEntry","internalSet","internalComputeHashCode","_js_helper#_newLinkedCell","internalFindBucketIndex","_js_helper#_modified","rti#_eval","rti#_bind","width","height","dart.dom.html#_height","dart.dom.html#_width","hashCode","keys","moveNext","current","internalGet","length","elementAt","iterator","dart.core#_errorName","dart.core#_errorExplanation","forEach","decode","queryParameters","first","dart._internal#_source","registerBinaryCallback","completeError","_interceptors#_shrOtherPositive","matchTypeError","_interceptors#_shrBothPositive","complete","dart.async#_thenAwait","dart.async#_addListener","dart.async#_cloneResult","bindCallbackGuarded","runGuarded","dart.async#_reverseListeners","dart.async#_removeListeners","dart.async#_prependListeners","matchesErrorTest","handleError","stackTrace","runBinary","runUnary","run","dart.async#_completeError","dart.async#_asyncCompleteError","dart.async#_setErrorObject","dart.async#_asyncComplete","dart.async#_chainFuture","dart.async#_completeWithValue","dart.async#_chainForeignFuture","dart.async#_asyncCompleteWithValue","addEventListener","add","replaceWith","readClasses","_interceptors#_codeUnitAt","codeUnitAt","dart.collection#_addHashTableEntry","dart.collection#_add","dart.collection#_computeHashCode","dart.collection#_newLinkedCell","dart.collection#_findBucketIndex","dart.collection#_modified","html_common#_validateToken","modify","writeClasses","join","substring","dart.dom.html#_toHyphenedName","remove","round","startsWith","dart.dom.html#_toCamelCase","dart.collection#_removeHashTableEntry","dart.collection#_remove","dart.collection#_unlinkCell","sublist","classes","innerHtml=","setInnerHtml","single","addAll","contains","sanitizeTree","dart.dom.html#_sanitizeUntrustedElement","dart.dom.html#_removeNode","dart.dom.html#_sanitizeElement","allowsElement","any","allowsUri","dart.collection#_contains","tagName","convert","dart.convert#_convert","dart.dom.html#_addEventListener","isNegative","_interceptors#_tdivFast","_interceptors#_tdivSlow","containsKey","uri","replaceRange","scheme","hasAuthority","userInfo","host","port","path","hasQuery","query","hasFragment","fragment","dart.core#_computeScheme","dart.core#_text","fold","indexOf","convertGeneral","dart.convert#_convertRecursive","decodeGeneral","_interceptors#_shrReceiverPositive","last","fillRange","normalize","decoder","dart.convert#_computeKeys","dart.convert#_upgrade","dart.convert#_process","toggle","memberName","positionalArguments","namedArguments","_interceptors#_addAllFromArray","compareTo","dart.js#_checkIndex","noSuchMethod","cast","map","toLowerCase","trim","call","attributes","dart.dom.html#_clearChildren","dart.dom.html#_replaceChild","$index","$add","$indexSet","$mul","$mod","$eq","_","instanceTypeName","constructorNameFallback","_saneNativeClassName","millisecondsSinceEpoch","isEmpty","isNotEmpty","isRequired","interceptorFieldName","receiverFieldName","_rtiEval","propertyGet","stringReplaceJS","_setPrecomputed1","_lookupFutureRti","asString","asBool","allocate","_setRequiredPositional","_setOptionalPositional","_setNamed","instanceOf","_setCachedRuntimeType","_getKind","_setSpecializedTestResource","_setIsTestFunction","_setAsCheckFunction","isSubtype","_getSpecializedTestResource","_getReturnType","_getPrimary","_getGenericFunctionParameterIndex","unmangleGlobalNameIfPreservedAnyways","_lookupErasedRti","_parseRecipe","_getEvalCache","_setEvalCache","_getBindCache","_setBindCache","_createTerminalRti","_setKind","_setCanonicalRecipe","_canonicalRecipeOfStar","_recipeJoin","_setPrimary","_canonicalRecipeOfQuestion","_canonicalRecipeOfFutureOr","_createGenericFunctionParameterRti","_canonicalRecipeOfInterface","_createInterfaceRti","_setRest","arrayConcat","_canonicalRecipeOfBinding","_recipeJoin5","_createBindingRti","_canonicalRecipeOfFunction","_canonicalRecipeOfFunctionParameters","_createFunctionRti","_canonicalRecipeOfGenericFunction","_recipeJoin4","charCodeAt","toGenericFunctionParameter","_lookupDynamicRti","_lookupVoidRti","pushStackFrame","push","setPosition","handleTypeArguments","collectArray","arraySplice","handleFunctionArguments","handleOptionalGroup","handleNamedGroup","collectNamed","isDigit","evalTypeVariable","_lookupNeverRti","_lookupAnyRti","asRti","stringLessThan","lookupSupertype","_getInterfaceTypeArguments","_getRest","_createTimer","_future","future","_setValue","_isChained","_chainSource","_setChained","_hasError","_error","handleUncaughtError","handlesValue","_zone","handlesComplete","shouldChain","_isComplete","_removeListeners","_cloneResult","_setErrorObject","_scheduleImmediate","writeAll","tryParse","objectToHumanReadableString","_stringFromUint8List","_writeOne","hash4","_startsWithData","notSimple","write","_writeString","_isZoneIDChar","_isRegNameChar","_isGeneralDelimiter","_isSchemeCharacter","_isUnreservedChar","fromCharCode","codeUnits","nodes","_hiddenAnchor","allowedElements","allowedAttributes","allowedUriAttributes","isJavaScriptSimpleObject","apply","fromMillisecondsSinceEpoch","_withValue","getAttribute","fetch","toList","setAttribute","_add","fromMap","context","compare","castFrom","checkGrowable","checkMutable","listToString","_codeUnitAt","stringReplaceRangeUnchecked","_fetch","isGetter","markUnmodifiableList","isAccessor","unvalidated","_containsTableEntry","_getBucket","_rtiBind","_mayComplete","_completeError","hasErrorTest","_errorTest","thenAwait","_mayAddListener","_setError","handleWhenComplete","_whenCompleteAction","handleValue","_onValue","hasErrorCallback","_onError","throwWithStackTrace","_isUpgraded","clear","parseHexByte","writeCharCode","convertSingle","getName","year","month","day","hour","minute","second","millisecond","extractStackTrace","decodeQueryComponent","_initializeText","_writeAuthority","_computeUri","_isHttp","_isHttps","_isFile","_isPackage","hasPort","left","top","common","_validators","allowHtml5","allowTemplating","head","_canBeUsedToCreateContextualFragment","_cannotBeUsedToCreateContextualFragment","_getItem","_matches","_attr","_strip","_classListLength","_remove","_toggle","_toggleDefault","_toListGrowable","sanitizeNode","_removeNode","hasMatch","_fromJs","allowSvg","printToConsole","jsonDecode","replaceAll","dataset","scrollTop","scrollHeight","offsetTop","offsetHeight","scrollIntoView","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","fromList","identityHashCode","patchInstance"], + "mappings": "A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqEUA,uBACKA,KACTA,OAUJA,yCAPAA;AADEA,OANFA,yCAOAA,C;EC3DAC,6EAEuEA,C;ECmGrEC,IAAwBA;AAM1BA,QAAgBA,QAIlBA;AAHgBA;AACdA,iBAAgCA,WAElCA;AADEA,QACFA,C;EAwDaC,MACSA;AACAA;AAClBA,cACFA,C;EAEWC,IACSA;AACXA;AACPA,kCACFA,C;EAqjBAC,QAIAA,QACFA,C;ECzZUC,UACOA,YACXA,OAsBJA,2CAnBAA;AADEA,OAGFA,2CAFAA,C;EA4gBkBC,GAAeA,OCpUjCA,sBDoUyDA,C;EAEvCC,GAAaA,OCtU/BA,6BDsU8DA,C;EEr1BlDC,MACVA,SAAgBA,YAClBA,C;EAqBYC,UAEVA,WACEA;KAEAA,aAEJA,C;EAEYC,UAEVA;AAOEA,oBAPFA,UACWA;AAEDA;AAARA,UAAsBA,eAAQA;AACnBA;AAATA,QAAOA;AADDA,IAIRA,WAEJA,C;EAEYC,cAKgBA,4DAGPA,8BAITA,uBACAA,aACAA,aACAA,aACAA;AAGNA,iBAUQA;AAKAA;IAVRA,mBAeaA;AAUAA;KApBbA,kBAUQA;AALKA;IAAbA,kBAeQA;AALAA;IALRA,kBA+BQA;AA1BKA;IAAbA,mBAUaA;AAKLA;KAVRA,kBAKQA;AAKKA;IALbA,kBAWSA;AAMDA;IAZRA,mBAOSA;AAMDA;KAFZA;AACAA;AACAA;AAEAA,SAAYA;AACZA,SAAYA;AAEDA;AACCA;AAEoBA,QAAPA,gBAiBvBA,kBACWA;AACEA;AACXA,SAAeA;AACfA,QACEA,UACEA,SAAOA;AACPA,YAEFA,cAWAA,KACSA,QAAQA;AACfA,QACEA;AAGAA,cAUEA;AATGA,QAELA,SAAOA;AACLA;AAAFA,SAAYA;AACZA;;;AACAA,WAGAA,SAAOA;AACPA;;AAGAA,SAnBJA,UA0CJA,kBACWA;AACSA,iBAEhBA,UACEA,SAAOA;AACPA,YAEFA,SAEkBA,sBAEhBA,IACaA,SAAQA,iBAEjBA;AACAA,OAAeA;AAGfA,cAYIA;AATGA,SAAQA,gBAGbA,SAAOA;AACLA;AAAFA,SAAYA;AACZA;SAGAA,SAAOA;AACPA;AAEFA,OA2BRA,KAdQA;AAAZA,UAAUA;AACVA;AACaA;AAAbA,UAAWA;AACXA;AAQAA;AACAA;AAEAA,KAGEA,MAqFJA;AA9EEA,kBACgBA,KAAPA,MAAQA,iBACbA;KAEYA,KAAPA,MAAQA,kBACbA;AAmBFA,kBACWA;AACSA,mBAEhBA,UACEA,SAAOA;AACPA,YAEFA,SAEkBA,wBAEhBA,IACaA,SAAQA,mBAEjBA;AACAA,OAAeA;AAGfA,cAYIA;AATGA,SAAQA,gBAGbA,SAAOA;AACLA;AAAFA,SAAYA;AACZA;SAGAA,SAAOA;AACPA;AAEFA,OAYVA,qBAOAA,eAEJA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECpVaC,GACXA,UAAMA,sCACRA,C;ECsCKC,8BAEDA;AAAJA,WAAuBA,QAGzBA;AAF+BA,mBAE/BA,C;EAuBKC,MACHA;eAEMA;AAAJA,WAAoBA,QAGxBA,CADEA,OAAcA,QAChBA,C;CAEOC,IACLA;sBAAqBA,QAmBvBA;AAlBEA,uBACEA,SAEEA,UAeNA,MAbSA,UACLA,YAYJA;KAXSA,UACLA,aAUJA;KATSA,WACLA,YAQJA;AANeA;AAKbA,QACFA,C;EA+HaC,aAELA;;GAEAA;AAAJA;OAIAA,QACFA,C;EAKYC,MAONA;AAAJA,WAIEA,QA0DJA;GAxDyBA;AACvBA,YACEA,WAEEA,qBAoDNA;IAlDQA,UAEFA,qBAgDNA;AA9CIA,QA8CJA,CAxCEA,aACEA,UAAUA;AAEZA,mBAEEA,qBAmCJA;AA/BEA;;OAqBiCA,YAA/BA,QACsBA,qBAElBA,QAORA,CADEA,oBACFA,C;EAqCcC,IACZA,OAAOA,OACTA,C;EAOcC,IACRA;ACoVCA,iBDlVoCA,GACvCA,WCgVMA,aD5SVA;AAjCoBA;AAGPA,+BAkBgBA,GEhKzBA;AF+KAA;AAfAA,KAAwCA,QAY5CA;GAV6CA;AAAzCA,4BAEMA;AAAJA,sBAWFA;;AAXEA,KAEEA,QAMRA,EADEA,OC8SKA,IADGA,aD5SVA,C;EA2FcC,QAGZA;uBAAuDA,QACrDA,wCAcJA;AAXEA,sBACkBA;AAOZA;mDAENA,QACFA,C;EAEcC,IACZA;SACEA,YACEA,6BAYNA;AATIA,eACaA;AAGXA,4BADqBA,qCAM3BA,EADEA,UAAUA,2BACZA,C;EA0FOC,wCG1S2BA;AH+ShCA,aACFA,C;EAmBOC,IAGqCA;AAF1CA,QAGFA,C;EAKOC,IAGqCA;AAF1CA,QAGFA,C;EAKOC,IAGsCA;AAF3CA,QAGFA,C;EAKOC,IAGuCA;AAF5CA,QAGFA,C;EAKOC,IAGyCA;AAF9CA,QAGFA,C;EAKOC,IAGyCA;AAF9CA,QAGFA,C;EAKOC,IAI8CA;AAHnDA,QAIFA,C;EAkCOC,QAEDA;;AAMFA;AAqBEA;CAtBFA,IAAqCA;AACrCA;CAGKA;aItuBWA,OJwuBhBA,MAAuBA;AAWzBA,OAAOA,OApkBTC,UAqkBMD,YAMNA,C;EAiCOE,4BI3xBaA;AJ8xBlBA,SAGgCA;AAC9BA,oBAGIA,aAiDRA,MA/CWA,oBAGHA,iBA4CRA,MA1CWA,oBAGHA,sBAuCRA,MApCWA,oBAGHA,2BAiCRA,MA9BWA,oBAGHA,gCA2BRA,MAxBWA,mBAGHA,qCAqBRA;GANQA;AAAJA,WACEA,mBAKNA,CADEA,OAAOA,WACTA,C;EAEOC,yCAayBA,WAKVA;AAApBA,OACEA,OAAOA,WAuGXA;GAjGkCA;;;AAOdA;GAGdA;AAAJA;AAMAA,MAIWA,aIr4BOC,OJq4BdD,kBA6ENA;AA3EIA,SACEA,mBA0ENA;AAxEIA,OAAOA,WAwEXA,CArEkDA,qBAMrCA,aIn5BOC,OJm5BdD,kBA+DNA;KA3DgDA;AAC5CA,OAEEA,OAAOA,cAwDbA;AAtDIA,QAOmBA;AAFEA;AAEnBA,gBAEsDA;AAAxDA,mBA6CJA,MAzCIA,OAGEA,OAAOA,WAsCbA;AAjCuBA;AAKEA;AADrBA,kBACEA,yDAEiBA,EAFjBA;AAGWA,IAugEyBA,OAvgEhCA,kBAyBVA;AAvBQA,sBAIFA;AACMA,aACFA;AACAA,OAAcA,kBAGCA;AACNA,IA0/DuBA,OA1/D9BA,kBAYZA;AAVUA,WAKKA,QI98BGA,GJ88BVA,kBAKRA,CAFIA,mBAEJA,E;EA6BIE,MACJA;YAAmBA,OHz1BnBA,oBGk2BFA;AARyBA;AAGvBA,aACEA,OAAWA,iBAIfA;AADEA,OAAWA,SACbA,C;EA6BcC,IACZA,OHh4BAA,uBGi4BFA,C;CAiCAC,IACEA;WHj9BAA;AGo9BkCA;;;AAElCA;eAqBOC;AAPPD,QACFA,C;EAGAC,GAGEA,+BACFA,C;EAMAC,UACwBA,MACxBA,C;EA2BAC,IACEA,UAAUA,QACZA,C;EAqJSC,IAA+BA;AAc1BA,OAAqBA;AAO3BA;AAAJA,WAA2BA;AA2BvBA;AAAWA;AAAeA;AAAMA;AAAQA;AAD5CA,OArHFA,mRAsHwDA,4EACxDA,C;EAMcC,IAmDZA,OAA8BA;mEAChCA,C;EAkCcC,IASZA,OAA8BA,mEAChCA,C;EAiDAC;sCAGuEA,C;EA+ClEC,IAGLA,WACEA,OA7BFA,WA2CFA;AAVWA,qBAAPA,eAA6BA,GAUjCA;AANEA,uBAA6CA,QAM/CA;AAJEA,wBACEA,OAAOA,uBAGXA;AADEA,OAAOA,OACTA,C;EAKOC,MACKA,gBAEJA;AAINA,QACFA,C;EAEOC,IACLA;qBACEA,QAsGJA;GA9EwCA;gDATlBA;;AACMA,4BAKtBA,mBAEIA,OAAOA,OACCA,KAAsBA,2BA8ExCA;mBA1E8BA;AADpBA,OAAOA,OA9HfA,+BAyMFA,EArEEA,2BAE8BA;AACMA;AACFA;AACOA;AACNA;AACOA;AACJA;AACOA;AACNA;AACOA;AAC/BA;AAAbA,WACEA,OAAOA,OAAmBA,UAwDhCA;KAvDwBA;AAAbA,YAMEA;AAAPA,cAA0BA,UAiDhCA,MAhDwBA;AAAbA,YACMA;AADNA,YAEMA;AAFNA,YAGMA;AAHNA,YAIMA;AAJNA,YAKMA;AALNA,YAMMA;AANNA,YAOMA;AAPNA,eAxJOA;AAwJPA,KAQLA,OAAOA,OAjKXA,+BAyMFA,EAlCIA,OAAOA,OAvITA,kCAyKFA,CA9BEA,gFAEIA,OH1kCEA,UGsmCRA;yDApBQA;AAGJA,OAAOA,OH1/CTA,qEG2gDFA,CAbEA,gEAIEA,gDACEA,OH9lCEA,UGsmCRA;AADEA,QACFA,C;EAqBWC,IACTA;qBACEA,QAAiBA,EAOrBA;AALEA,WAAuBA,OAUvBA,WALFA;GAHMA;AAAJA,WAAmBA,QAGrBA;AADEA,sBAMAA,WALFA,C;EAmBIC,IACFA,+BACEA,OAAcA,OAIlBA;KAFIA,OAAkBA,OAEtBA,C;EAsCAC,cAEEA,iBAEIA,OAAOA,MAWbA;OATMA,OAAOA,OASbA;OAPMA,OAAOA,SAObA;OALMA,OAAOA,WAKbA;OAHMA,OAAOA,aAGbA,CADEA,UKxwDAC,gELywDFD,C;EAIAE,MACEA;WAAqBA,WAkBvBA;GAhByBA;AAAvBA,OAAkCA,QAgBpCA;kEAF0CA;;AACxCA,QACFA,C;EA4BSC,iCAmC6BA,QAmClBA,QAmCoBA,QAAeA,iBAxEtBA,QACKA,OACWA,OAkFfA,QAlB4BA;EAzDWA;kBA+anEA,gDAgCJA;;;;;;;;AAlZEA;KAEMA;;AAWgBA,KAJlBA;;AAOJA,eAAgCA,QAAhCA,QAIMA;AAAJA;AAWsBA;AAAUA,SAZzBA;GASHA;AAAJA,YACEA,KAEMA;OAIRA;OAW2CA;OAMzCA;AAEJA,QACFA,C;EAEOC,QAELA,sBAEEA,QAoBJA;AAlBEA,uBAEEA,KAEEA;AAGFA,iEAWJA,CADEA,6CACFA,C;EAEOC;AAiBLA,sBAEIA,iEAuENA;OA7DMA,mEA6DNA;OAnDMA,uEAmDNA;OAzCMA,2EAyCNA;OA/BMA,+EA+BNA;OArBMA,mFAqBNA;QAVMA,+EAUNA,E;EAIOC,UAELA;KACEA,OAAOA,WA4BXA;GAzBoCA;AACzBA;AAAPA,QAwBJA,C;EAEOC;AAMLA,sBAIIA,UAoZNA;OAlZMA,4EA+ENA;OApEMA,+EAoENA;OAzDMA,mFAyDNA;OA9CMA,uFA8CNA;OAnCMA,2FAmCNA;OAxBMA,+FAwBNA;QAbMA;;kCAaNA,E;EAEOC,QAEEA;IA4ILA,UAA+BA;IAJ/BA,UAA4BA;GAnIIA;AACzBA;AAAPA,QAwBJA,C;EAsBFC,IACEA,OAAeA,OACjBA,C;EAoESC,MACLA,OCl+DeC,oBA2BDD,MDu8DuBA,MACvCA,C;EAIOE,IAAoCA,QAAQA,EAASA,C;EAIrDC,IAAuCA,QAAQA,EAAYA,C;EAYpDC,IA/CdA,iDAiDsBA;OAEMA,YAA1BA,YACaA;YAETA,QAINA,CADEA,UAAMA,yCACRA,C;EA6JGC,IACHA,UHx8DAA,YGy8DFA,C;EAiDOC,IAELA,yBACFA,C;EEvhFKC,6FAQLA,C;EAoEAC,IAE6BA,iBAAdA,aAIYA,GACrBA;AAAJA;AAAoBA,UAmEtBA,IAlEgCA,GAC1BA;AAAJA,WAAyBA,QAiE3BA;qBA5DMA;AAAJA,YACuCA,GAApBA;AACjBA,eAGuBA,GACjBA;AAAJA;AAAoBA,UAsD1BA,IArDgCA,GACtBA;AAAJA,WAAyBA,QAoD/BA;;KA9CEA,WAQEA,WAsCJA;GA9BoCA;GAD9BA;AAAJA,YACWA;CACGA;;AACZA,UA4BJA,CAzBEA,aACcA;AACZA,QAuBJA,CApBEA,YACyBA;sBIlIrBC;AJkIFD,UAmBJA,CAhBEA,WACEA,OAAOA,SAeXA;AAZEA,WAEEA,UAAUA;yBAMaA;sBIjJrBC;AJiJFD,UAIJA,MAFIA,OAAOA,SAEXA,C;EAYAE,MAE+CA;sDAAhCA;AAEbA,QACFA,C;EAEAC,IAGEA,OAAOA,uBACTA,C;EAEAC,eAIkCA;AAAvBA,wBAAPA,cAIJA;KAFIA,OAAOA,mBAEXA,C;EAgBKC,YACSA,IAAwBA,MAGtCA;;AADEA,MACFA,C;EAGKC,GAA6BA;;;AAIhCA;GA/PyBC,AAqQ4CD;;AAErEA;;AAGEA,WAAyBA,QAAzBA,QACYA;AACyBA,GAAvBA;AACZA,YAEeA,UAA+BA;AAC5CA;iBAYNA,WAAyBA,QAAzBA,QAEyCA;4BAEQA;;;;;YAOnDA,C;EAmCKE,GAOiEA,mBAL1CA;AAiBlBA,QACJA,GALIA,MAAsBA,GAFtBA,MADsBA,GAAtBA,MAAsBA,GADtBA,MAAsBA,GADtBA,MAAsBA,GAHtBA,KAAsBA,CAD1BA,IAA+CA;AAqBnDA,2DAE2CA;AAAzCA,wBAGyCA;wBACvCA,2BAE2CA;AAAzCA,wBAoBkBA;;;AATPA;AAEbA;AAEAA,gBACNA,C;EAEAC,MAEEA,OAAwBA,OAC1BA,C;EK7USC,uIA0BiCA;AAAtCA,uBAA+CA,QAKjDA;AADEA,UAAUA,+BAA0CA,sBACtDA,C;ECIGC;AAEDA,WAOJA,C;EAOOC,2BASHA,8BAGJA;AADEA,QACFA,C;EAaAC,oCAIIA,8CAGJA;AADEA,QACFA,C;EAEOC,QAIIA;AAAPA,QASJA,C;EAoBOC,QAELA;WACEA,UACEA,QA+BNA;GA5B0BA;;AAEtBA,qBACeA;AAGfA,6BAsBJA,CAfQA;AAAJA,OAAeA,QAenBA;IARiBA,iCAEXA,yBAMNA;AADEA,iBAAiCA,WAFpBA,aAtGTA,QAyGNA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EC8IKC,IACsBA,QAM3BA,C;EA+hBwBC,IAClBA,uBAA6CA,C;EAs4B9CC,QACHA,mBACEA,UAAMA,UAEVA,C;;;;;;;;;;;;;;;;ER3qDaC,MAKOA,OAFZA;AAKJA,gBAXIA,mBAYNA,C;EAEWC,MA61DPA,OA11DEA;AAIJA,gBArBIA,iBA42D+DA,MAt1DrEA,C;EAyDYC,WAENA;AAAJA,uBACEA,OAAOA,SAGXA;AADEA,qBACFA,C;EAwIcC,IAGZA,WACFA,C;EA4DEC,IASFA,OAAiBA,yBACnBA,C;EAoDIC,mDAEMA;AAARA,6CAMIA,QA6ENA;UAzEgCA;AAAtBA;AACJA,SAAuDA,QAwE7DA;AAvEMA,OAAiBA,YAuEvBA;UAnEgCA;AAAtBA;AACJA,SAAuDA,QAkE7DA;AAjEMA,OAAiBA,YAiEvBA;UA7DgCA;AAAtBA;AACJA,SAAuDA,QA4D7DA;AA3DMA,OAAiBA,YA2DvBA;UAvDoBA;AAD0BA;AAExCA,SAEEA,QAoDRA;AAnDMA,OAAiBA,aAmDvBA;WA/CkDA;AAAtBA;GAGSA;AAA3BA;AACJA,gBACyDA,QA0C/DA;AAzCMA,OAAiBA,WAyCvBA;WApCgCA;AAAtBA;GAIcA;AADdA;AAEJA,gBAEEA,QA6BRA;AA5BMA,OAAiBA,WA4BvBA;WAxBkCA;;AAExBA;GAEwCA;AAAtBA;AACtBA,gBAC+CA,QAkBrDA;AAjBMA,OAAiBA,cAiBvBA;WAXUA;AAAJA,QAAmBA,QAWzBA;IALUA;AAAJA,WAAsBA,QAK5BA;AAJMA,QAINA;QAFMA,UAAMA,wDAEZA,C;EAEQC,UAIkBA,eAAgBA;AACxCA,yBAE6CA;AAAtBA;AACrBA,SACEA;OAIJA,YACFA,C;EAEQC,UAKkBA,mBAAgBA;AACxCA,0BAu+EuDA;GAJNA;GA/9EJA;AAAtBA;AACrBA,SACEA;oBAKJA,YACFA,C;EAEoBC,UAKdA,SAA2BA,sBAIAA,KAA3BA,iBAG2BA,KAA3BA;AACJA,uBAEiDA,QAQnDA;AArQMC;CAQSD;CAQAA;CAiBAA;AAmObA,QACFA,C;CAcQE;AAINA,QACFA,C;EAKKC,WAGCA;AAAJA,YACEA,sBACEA,OAAOA,OAKbA;AAHIA,aAGJA,CADEA,WACFA,C;EAOIC,MACFA;AAAQA,4BAg6E4BC,KA35ErBD;AACXA,WAAiBA,QAIvBA,CADEA,OAAOA,OACTA,C;EAKIE,IASFA;iBAw4EoCC,IAp1EKD,GAAlCA;AAnDLA,wBASJA,qBALIA,OAAOA,OAKXA;AADEA,OAAOA,KADWA,QAEpBA,C;EAIIE,WAqBEA,EApF2BN;AAoF/BM,WAAiBA,QAUnBA;iCALIA,QAKJA;AADEA,QACFA,C;CAKIC,IAEuCA,OAAlCA;AAAPA,wBACFA,C;EAOIC,WAE0BA,gBACxBA;AAAJA,WAAmBA,QAErBA;AADEA,OAAOA,SACTA,C;EAGIC,MAckBA,oBAszEgBN;;AAnzEpCM,QACFA,C;EASIC,aAEwBA,UACNA;AAApBA,uBA3WiBA;;AA8WfA,QAGJA,CADEA,QACFA,C;EAQKC,iBAECA;AAAJA,WAAkBA,QAcpBA;GAToEA;AAC5DA;AAAJA,SACEA,QA3nBEC,GA6oBND,WAXFA;AALkCA;AAgBhCA;AAbEA,QAhoBIA,YAAAC,gBAkoBRD,C;EAGKE,IACHA,OAAOA,KA7YUA,0BA8YnBA,C;EA2BKC,IAGCA;AAGKA,WAAPA,qBA6CJA;AA6oEIA,0BACAA;;KADAA;AAxrEFA,KACEA,OAAOA,cA0CXA;GA1sBmDA;;;;;;AA6qBjDA,WACEA,OAAOA,WA4BXA;eAhByDA;IAFxBA,iBA3sBzBA;AA+sBFA,WACEA,OAAOA,cAafA;AAVMA,OAAOA,cAUbA,OANSA,SACLA,OAAOA,cAKXA;AAFEA,OAAOA,cAETA,C;EAGKC,SApzBGA;AAszBNA,aACFA,C;EAsBKC;AAinEDA,0BACAA;KAvmEAA;;AALFA;;KAK+BA;AAA7BA,aA51BIA;AAk2BNA,aACFA,C;EAEKC,aAKCA;AAHGA,wCAGEA,SACuBA;KADvBA;KADEA;KADPA;KADJA;QAMFA,C;EAGKC,IAGCA;AACJA,WAAoBA,OAAOA,OAG7BA;AADEA,OAwsDOA,mBAzsDSA,sBAElBA,C;EAQKC,IACHA,WAAoBA,QAMtBA;AADEA,WAAoBA,OACtBA,C;EAGKC,IAGCA;AACJA,WAAoBA,OAAOA,OAY7BA;GAr0BeA;AAm0BKA,iBAmlEkBf,GAtlElCe,YAKJA;AADEA,kBACFA,C;EAIKC,IAGCA;AACJA,WAAoBA,OAAOA,OAoB7BA;AAdEA,sBAAgDA,QAclDA;oBAZ8BA,QAY9BA;GAj2BeA;AA+1BKA,iBAujEkBhB,GA1jElCgB,YAKJA;AADEA,kBACFA,C;EAIQC,IAGFA;AACJA,YAC+BA;AAA7BA,KAAkDA,QAGtDA,gBAF4CA,QAE5CA;AADEA,SACFA,C;EAIQC,IAGFA;AACJA,WACEA,QAGJA;eAF4CA,QAE5CA;AADEA,SACFA,C;EAEKC,MAIHA,UAAiBA,KADNA,OAFKA,UAEsBA,cAExCA,C;EAqBgBC,QAEqBA;AAGjCA,oBAD+BA,YADjBA,oDAKhBA,C;EAOAC,oCAAqEA,C;CAE7DC,MACNA,OAHFA,uBAGuCA,eACvCA,C;EAaGC,IACHA,cACFA,C;EAIQC,IACNA,WAA6CA,QAE/CA;AADEA,UAAiBA,gBACnBA,C;EAIKC,IACHA,QACFA,C;EAIQC,IACNA,QACFA,C;EAIKC,IACHA,oBACFA,C;EAMKC,IACHA,UAAoBA,QAGtBA;AAFEA,UAAqBA,QAEvBA;AADEA,UAAiBA,cACnBA,C;EAIMC,IACJA,UAAoBA,QAItBA;AAHEA,UAAqBA,QAGvBA;AAFEA,WAAoBA,QAEtBA;AADEA,UAAiBA,cACnBA,C;EAIMC,IACJA,UAAoBA,QAItBA;AAHEA,UAAqBA,QAGvBA;AAFEA,WAAoBA,QAEtBA;AADEA,UAAiBA,eACnBA,C;EAIOC,IACLA,sBAAoBA,QAEtBA;AADEA,UAAiBA,gBACnBA,C;EAIQC,IACNA,sBAAoBA,QAGtBA;AAFEA,WAAoBA,QAEtBA;AADEA,UAAiBA,gBACnBA,C;EAIQC,IACNA,sBAAoBA,QAGtBA;AAFEA,WAAoBA,QAEtBA;AADEA,UAAiBA,iBACnBA,C;EAIKC,IACHA,4CAEFA,C;EAIIC,6CACkBA,QAEtBA;AADEA,UAAiBA,aACnBA,C;EAIKC,6CACiBA,QAGtBA;AAFEA,WAAoBA,QAEtBA;AADEA,UAAiBA,aACnBA,C;EAIKC,6CACiBA,QAGtBA;AAFEA,WAAoBA,QAEtBA;AADEA,UAAiBA,cACnBA,C;EAIKC,IACHA,yBACFA,C;EAIIC,IACFA,sBAAoBA,QAEtBA;AADEA,UAAiBA,aACnBA,C;EAIKC,IACHA,sBAAoBA,QAGtBA;AAFEA,WAAoBA,QAEtBA;AADEA,UAAiBA,aACnBA,C;EAIKC,IACHA,sBAAoBA,QAGtBA;AAFEA,WAAoBA,QAEtBA;AADEA,UAAiBA,cACnBA,C;EAIKC,IACHA,yBACFA,C;EAIOC,IACLA,sBAAuBA,QAEzBA;AADEA,UAAiBA,gBACnBA,C;EAIQC,IACNA,sBAAuBA,QAGzBA;AAFEA,WAAoBA,QAEtBA;AADEA,UAAiBA,gBACnBA,C;EAIQC,IACNA,sBAAuBA,QAGzBA;AAFEA,WAAoBA,QAEtBA;AADEA,UAAiBA,iBACnBA,C;EAEOC,MACEA;AACPA,wCAEMA;AAGNA,QACFA,C;EAEOC,WAEEA;AAGPA,iBAQeA;AANbA,aAC2BA;gBAEWA;IAEVA;AAC5BA,gBACEA;+BAKFA,cAEEA,eAAsBA,GAA8BA;IAErCA;GAsvDZC;AANLD,wCACAA;;KADAA;AAhvDEA,MAEoBA,yBAItBA,YA3BKA;WAxiCoCE;IAykCIF;GACGA;;GAGAA;;GAEbA;;AAGbA;AAIxBA,kCAEMA;AAKNA,QACEA;AAEAA,4BAEMA;AAINA,QAGFA,QACEA;AAEAA,8BACEA;UAEEA;AAEeA,4BAMnBA,QAGFA,cAEuCA;YAOvCA,yBACFA,C;CAEOG,yBAGDA;AAAJA,SAA4BA,cAiE9BA;AAhEEA,SAA6BA,eAgE/BA;AA/DEA,SAA0BA,YA+D5BA;AA9DEA,SAA2BA,aA8D7BA;AA7DEA,SAAyBA,WA6D3BA;AA3DEA,UAEaA,OAAaA;AAStBA,QAgDNA,CA5CEA,aAE0BA;AAAbA;GAEPA;AAIJA,sCAoCJA,CAjCEA,SAEEA,kBAAmBA,KAAaA,SA+BpCA;AA5BEA,UAESA,QAAeA;AAGNA,GADZA;AAGJA,QAHcA,iCAwBlBA,CAlBEA,UACEA,OAAOA,cAiBXA;AAdEA,UAGEA,OAAOA,MAAqBA,MAChBA,GAUhBA;AAPEA,cAnsC2CC;AAssCzCD,QAAOA,EAFqBA,YAMhCA,CADEA,SACFA,C;EAEOE,WSh5C4B7I,AAAA6I,mBTk5C7BA;AAAJA,WAAuBA,QAEzBA;AADEA,mBACFA,C;EAwKiBC;KAEbA;AAGAA,QACFA,C;EAEWC,8BAGLA;AAAJA,WACEA,OAAOA,YAcXA;KAbSA,uBAGsCA;AAwKtCA;AAxKsBA;AAC3BA;AAGgBA;AAYTC;AAVPD,QAIJA,MAFIA,QAEJA,C;EAKYC,MACRA,mBAA+CA,C;EAEvCC,MACRA,OAAOA,YAA0CA,C;EAS1CC,QAGLA;AAAJA,WAAmBA,QAIrBA;AA2DoBA,OADGA;;AA3DrBA,QACFA,C;EAEWC,mBAj1CkCA;AAo1C3CA,WAEiCA,GAp1C7BA;AAu1CAA;AAAJA,WAAmBA,QAIrBA;AA6CoBA,OADGA;;AA7CrBA,QACFA,C;EAEWC,qBA30CkCA;AA60C3CA,WAEiCA,GA70C7BA;GAg1C6BA;AAC7BA;AAAJA,WAAmBA,QAUrBA;AAHYA;;AAEVA,QACFA,C;EA6BWC,OA/nDLA;CAIAA;AAmoDJA,QACFA,C;EAmFWC,QAGLA;AAAJA,WAAmBA,QAErBA;AA5uDIC;CAyHEC;CA0KAA;AA+8CGF;;AAPPA,QACFA,C;EASWG,QAILA,SAnF8DC;AAmFlED,WAAmBA,QAGrBA;AADqBA;;AADnBA,QAEFA,C;EAEWE,UAETA;SAIMA;AAFAA;KAAJA;KAIEA,QAQNA,CA9wDIJ;CAyHEI;CA0CAA;AA0mDGA,CA1+CHA;AA0+CJA,gBACFA,C;EAEWC,QAKLA,SA/G8DC;AA+GlED,WAAmBA,QAGrBA;AADqBA;;AADnBA,QAEFA,C;EAEWE,UAETA;SAIMA;AAFAA,mCAESA,SAELA;KAFKA;KADTA;KADJA;KAKEA,QAoBNA;uBAjBMA,UAiBNA;KAhBWA,aAE+BA;AAEhCA,IADAA,kBAEFA,QAWRA;KATQA,OAAWA,SASnBA,EAvzDIP;CAyHEO;CA0CAA;AAmpDGA,CAnhDHA;AAmhDJA,gBACFA,C;EAEWC,QAKLA,SAxJ8DC;AAwJlED,WAAmBA,QAGrBA;AADqBA;;AADnBA,QAEFA,C;EAEWE,UAETA;SA9sD+CA;AAu1F/CA,0BACAA;;KADAA;cAtoCIA,QAYNA;KAXWA,SACLA,OAgGFA,gBAtFJA;yBARMA,WAQNA,CAp1DIV;CAyHEU;CA0CAA;AAgrDGA,CAhjDHA;AAgjDJA,gBACFA,C;EAEWC,MAILA;AAAJA,WAAmBA,QAGrBA;AA71DIX;CAyHEY;CA0CAA;CAgIAA;AAkkDGD;;AAVPA,QAEFA,C;EAWcE;AAGZA,sCAE6CA,GAClBA;AAG3BA,QACFA,C;EAEcC;AAIZA,qCAsnCqDA;GAnnClCA;UAI0BA,KACHA,IAG1CA,QACFA,C;EAaWC,QAEFA;IATHA,UAEEA;AAUFA;AAAJA,WAAmBA,QAGrBA;AAz5DIf;CAyHEgB;CA0CAA;CAcAA;IAivDAD,WAn2DAC,IAAgBA;CAoOhBA;AAmoDGD;;AAfPA,QAEFA,C;EA+BWE,QACLA;;GAumC2BA,kBAhmCiBA;AAATA,IAbnCA,GAtQeC;AAsRfD;AAAJA,WAAmBA,QAGrBA;AAt8DIjB;CAyHEmB;CA0CAA;CAcAA;CAkHAA;AA4qDGF;;AAXPA,QAEFA,C;EAmDWG,QArBLC,iBAvsDQA,OA8rDsCA,MAYnCA,WATmCA,MAQ9CA,WANiCA,MAgBjCA;AAVJA,QAIMA;AAEAA,qBAINA,QAEgCA;AAC1BA,qBAU2BD;AAC7BA;AAAJA,WAAmBA,QAGrBA;AAjgEIpB;CAyHEsB;CA0CAA;CAcAA;CAkHAA;AAuuDGF;;AAXPA,QAEFA,C;EAoBWG,UAHHA,SAxWaC,wBAgXfD;AAAJA,WAAmBA,QAMrBA;AAFMA;;AAHJA,QAKFA,C;EAEWE,YAETA;SAGiDA;AAAhBA;AAC/BA,wBAEmBA;mBAEfA,KAGJA,QAEMA;AAEAA;AACJA,OAAOA,iBAabA,EAjkEIzB;CAyHEyB;CA0CAA;CAcAA;AA+4DGA,CA7xDHA;AA6xDJA,gBACFA,C;EA6HcC,UAEZA,gCAcFA,C;EAqBWC,iCAP4DA;OAWnDA,YAAlBA,MAEqBA;AAAnBA,gBACMA;KACCA,8CACDA;KACCA,UACDA;KAEJA;AACAA,kBAEIA;;AAIAA;;AAIAA;eAIIA;AACJA;eA0SSA;AArSTA;eApjBDA;AAwjBCA;eAnjBDA;AAujBCA;gBAljBDA;AAsjBCA;gBAnDmBC;KAPDA;AA8DlBD;;AA2M+CE,YA6jBjBC;AA7jBtCD;AAzQ0BC;AAqLNH;AAApBA,6BAEwBA;KAEXA;2BAKOA;AAEdA;eAGsBA;AACtBA,OAlIEA;QAGAA;AACAA;;OAMcA,OAENA;AAERA;;OAMcA,OAENA;AAERA;;OAMcA,OAENA;AAERA;gBA7FmBC;KAPDA;AAwGlBD;;AAxhEN/F;;;AAmoEe+F;AAAjBA,sBAEEA;AAGIA;;AAIAA;;AAIAA;AAyCiDI,YA6jBjBD;AA7jBtCC;AAzQ0BD;CAx6DfC;CAQAA;CAiBAA;OA0nEWJ,OADLA;AA9HTA;gBArGmBC;KAPDA;AAgHlBD;QAyJ+CK,YA6jBjBF;AA7jBtCE;AAzQ0BF;;;AAoHlBH;iBA7GmBC;KAPDA;AAwHlBD;SAwJoDM,YAsjBtBC;AAtjBtCD;AAhR0BC;;;AA4HlBP;kCAQ6CA;AAArDA,OAAOA,eACTA,C;EAOWQ,UACLA;OACcA,QAAlBA,SAEsBA;AAApBA,mBAAyBA;AACXA;AAGhBA,QACFA,C;EAEWC,YAELA;OACcA,QAAlBA,SAEMA;AAAJA,WACEA,KAAeA;AACfA,UACKA,iDUx2EsBA;KVu2E3BA;AACKA,MAGLA,OAQ6CA;AAJjDA;GAxwBwBA;IACpBA;AAKiBA,UAAmBA,GAGpCA;AAAJA,WACEA,uBAA4BA;OAEbA;AAowBjBA,QACFA,C;EA2EYC,MAEDA;AAATA,iBApvBOA;AAsvBLA,MAOJA,CALEA,iBAnvBOA;AAqvBLA,MAGJA,CADEA,UAAMA,sCAA+CA,QACvDA,C;EAkBWC,QACTA,sBAEEA,OAAiBA,eAOrBA;KALSA,sBACLA,OAAeA,WAInBA;KAFIA,QAEJA,C;EAEYC;AAEVA,gBAEaA,eAA8BA,IAG7CA,C;EAEYC;AAGVA,iBAEaA,eAA8BA,IAG7CA,C;EAEWC,mBAELA;AAAJA,WACEA,SAAgBA,UAsBpBA;GApBiCA;GAChBA;AAAbA,QACEA,aAkBNA;AAfIA;GAEoBA;WAEpBA,SAAgBA,QAWpBA;AATEA,SACEA,UAAMA;GAGqBA;OAChBA,QACXA,aAGJA;AADEA,UAAMA,4BAAsCA,QAC9CA,C;CA8DGC,YACEA;AAGLA,SAA8BA,QAuJhCA;AA+MIA,0BA3UGA;KA3ByBA;;AAG9BA,KAAkBA,QAoJpBA;GAjJMA;AAAJA,SAA0BA,QAiJ5BA;AA9IMA,WAAoBA,QA8I1BA;WA5HOA;KA3ByBA;AAY9BA,KAAqBA,QA2IvBA;AAxI0BA;AACxBA,KAGMA,UAAqBA,EADqBA,WACEA,QAoIpDA;GA3HQA;;AADNA,MACEA,SACEA,OAAOA,gBA0HbA;AAxHIA,qCAwHJA,aAnHIA,SACEA,OAAOA,gBAkHbA;AAhHIA,SACEA,OAAOA,gBA+GbA;AA7GIA,YA6GJA,CAzGEA,SACEA,OAAOA,gBAwGXA;AApGEA,UAOgBA;AANdA,OAAOA,cAmGXA,CAxFEA,UACOA,qBACHA,QAsFNA;AApFIA,OAAOA,MACWA,gBAmFtBA,CA/EEA,UAEUA;AADRA,UAEIA,gBA4ERA,CAnEEA,UACMA,oBACFA,QAiENA;AA/DIA,OAAOA,UACoBA,YA8D/BA,CA1DEA,UAEUA;AADRA,UAEIA,gBAuDRA,CAjDEA,KAAsBA,QAiDxBA;AA9CEA;yBAEEA,QA4CJA;AAtCEA,sBAC2BA,QAqC7BA;AApCIA,UAAsCA,QAoC1CA;GAhCqCA;GACAA;GAC7BA;QAAWA,QAASA,QA8B5BA;;;AAzBIA,oBAG4BA;GAAcA;AAAnCA,qBACAA,eACHA,QAoBRA,CAhBIA,OAAOA,mBAgBXA,CAbEA,sBAC2BA,QAY7BA;AAXIA,KAA+BA,QAWnCA;AAVIA,OAAOA,eAUXA,CANEA,UACEA,SAAgCA,QAKpCA;AAJIA,OAAOA,eAIXA,CADEA,QACFA,C;EAEKC,iBAC2DA;AAMzDA,aAAqBA,QAAmBA,OAC3CA,QAsFJA;IA/EiDA;IAEAA;GACIA;GACAA;GAC/CA;GAA4BA;AAAhCA,OAA2DA,QA0E7DA;AAxEMA;GAM+CA;GACAA;GACnBA;GACAA;AADhCA,WAC2DA,QA+D7DA;AA7DEA,oBA6M8CA;AA1MvCA,YAAqBA,aACxBA,QAyDNA,CArDEA,oBAqM8CA;AAjMvCA,YAAqBA,eACxBA,QAgDNA,CA5CEA,oBA4L8CA;AAxLvCA,YAAqBA,aACxBA,QAuCNA,IAjCwCA;GACAA;;;AAGtCA,0BAoOwBA;KAlOtBA,KACEA,QAA4BA,QA0BlCA;IAvBuCA;AADjCA;AACAA,SAAyCA,QAuB/CA;;AApBMA,UACEA,MAAiBA,QAmBzBA;AAlBQA,YA6J2CA;AAzJ7CA,UAAiCA,QAcvCA;GAgJgDA;AA3JrCA,YAAqBA,eAA2BA,QAW3DA;AAVMA,YAIFA,gBACyDA,QAK7DA;AAJMA,KAGJA,QACFA,C;EAEKC,uCAvSqBA;KA4SxBA,cAaMA;AAAJA,WAAkBA,QA6BtBA;AA5BIA;AAEEA,YAIEA;AAAJA,WAAqBA,QAsBzBA;GApBmDA;;AAC/CA,gBAE+BA,eAA+BA;AAI9DA,OAAOA,iBACkCA,KAY7CA,IAjuF0CC;AAguFjCD,GAhuFiCC;AAguFxCD,2BACFA,C;EAEKE;AAWHA,oBAkF8CA;;AApDrCA,mBACHA,QAKRA,CADEA,QACFA,C;EAEKC,aAICA;uBADAA,YACKA,SACmBA,uBACIA;KAJhCA;KAESA;KADLA;KADJA;QAKFA,C;EAGK7D,IACDA;0BACAA;;KADAA;QAEwCA,C;EAEvC8D,WAEIA;AAAPA,0CAKFA,C;EAwCcC,MAGeA;AACzBA,oBAE2BA;UAE7BA,C;EAEeC,IAA+BA,0CAEEA,C;;;;;;;;;;;EWriGhCC,GAA+BA;AAGpCA,gCAAPA,aAgCJA;qDAf0DA;;;AAAVA,0BADxCA,KAPYA;AAUhBA,OAAOA,eAaXA,MAJWA,2BAAPA,aAIJA;AADEA,OAAOA,MACTA,C;EAEYC,2BAMNA,KALYA,eAMlBA,C;EAEYC,sBAMNA,KALYA,eAMlBA,C;EAEYC,IAoBCA,SAlBbA,C;EAmCAC;;QAaAA,C;EA8FWC,IACXA,OArCAA,SCsEAC,SAAyBA,GAAzBA,aDtEAD,aAsCFA,C;EAUQE,MAENA;CACUA;AACVA,QAxBwBA,EAyB1BA,C;EASQC,MACNA,SACFA,C;EAQQC,MACNA,SACFA,C;EAOQC,MAENA,KACIA,QAAyBA,QAC/BA,C;EASKC,MAECA,wBAEqBA;oBASvBA;;AACgBA,YAChBA;KCvCFA,WAAyBA;CAsHvBA;CACAA;AD3EAA,aAEJA,C;EAIkBC;;;AAwBhBA,OAAYA,CE2ReA,MF3RgBA,YAG7CA,C;EGzUEC,MACcA;AADdA,0BAEiCA,UAFjCA,AAEyDA,C;EAOvCC,IAChBA;AAAUA,aACeA;AACvBA,WAAwBA,QAG5BA,CADEA,QAAkBA,EACpBA,C;EFgfYC,MAAiDA;QA5OrCA,iBAyFfA;AAwJPA,eAC+BA;AAC7BA;AACAA,kBAEoCA;CA/OtCA,IAA0BA;CAC1BA;AAgPEA,QAEJA,C;EAmIYC;UAEVA;GA7XqBA;AAAOA;AAARA;AAgYlBA,YACEA,oBA/SGA;ACgxCPA,MD99B0CA,IAAkBA,IAExDA,MA+JNA,EA1JoBA;GACyBA;AACzCA,0BACWA;AACTA,MAAsBA;CACtBA;GACwBA,MAGGA;GAAOA;CAQ/BA;CACDA;AAKJA,SAplBsBA;AAolBGA,6BArC3BA;AAqCEA,SAtlBeA,EAAOA;AAwlBpBA,SAAwBA;AAAxBA;MC87BJA,MD17B0CA,IAAkBA;AACtDA,MA4HRA,IAxH0BA;AAApBA;KAmFIA;GA/qBmBA;AAkqBvBA,cA/D+BA,gBAgE7BA;KACKA,MACLA,aA9BsBA,cA+BpBA,UAGFA,aAzBcA,cA0BZA;AAKJA;GAIIA;AAAqBA,cACrBA;eArmBuCA,OAAsBA,iBAomBjEA;SAKmBA,EAASA;KA1gBTA,eAsLIA;CAC3BA;AACOA;CAtEPA,IACYA,OAAkCA;CAC9CA,IAA4BA;CA2ZlBA;AACAA,cAEAA;AAKJA,MAeRA,KAXqBA,EAASA;GArWDA;CAC3BA;AACOA;GAqWAA;GACcA;AADnBA,QA/bFA;CACAA,WAKAA,IAAwBA;CACxBA,MA+bEA;IAEJA,C;EAuDOC,MACUA,YACfA,OAAOA,OAWXA;AARmBA,YACfA,QAOJA;AALEA,UAAoBA,sBAKtBA,C;EG32BKC,GACHA;OAAiBA,IAAjBA,WAAuDA;GAEpCA;;AAEjBA;AACOA,SAEXA,C;EAEKC;IAKDA;;IAIIA,UJ1BJA,OAAyBA,GI2BMA,QAGnCA,C;EAMKC,IAnDHA,qBAqDoCA;AACpCA;KAEOA,IJzCLA,OAAyBA,GI0CMA,mBAGlBA,IAGjBA,C;EAQKC,iBACCA;AAAJA,YACEA;MACwBA;AACxBA,MAgBJA,CA3FEA;GA8E4CA;AAC5CA,aACQA;oBAG0BA;CAC1BA;MACeA;AAErBA,kBAIJA,C;EA0BKC,kBACsBA;IACXA,QAGZA,UAHYA;AAIZA,MAUJA,CFwhDIA,WEzhDkCA,QACtCA,C;ECixEUC,ICz8CWA;AD48CfA,OC78CJA,UD68CkCA,C;EHliC/BC,MACHA,KAA+BA,cAGjCA,C;EAEEC,mBACmBA;AAAnBA,SAAoCA,OAAOA,MAY7CA;;AANQA;IAEGA;AAAPA,QAIJA,gB;EAEEC,qBAEmBA;AAAnBA,SAAoCA,OAAOA,OAY7CA;;AANQA;IAEGA;AAAPA,QAIJA,gB;EAEEC,uBAEmBA;AAAnBA,SAAoCA,OAAOA,SAY7CA;;AANQA;IAEGA;AAAPA,QAIJA,gB;EAqBKC,cAEYA,OAGPA;AAKRA,OACFA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AVl7CEC;Ee8fQA,MACNA,gBf/fFA,8BeggBAA,C;EAsfQC,IAOAA,OA6ERA,sBAxDAA,C;EA6UOC,GAQUA;;;AAEfA,QACFA,C;EAwGAC;CACEA,IAAaA;AADfA,QAEAA,C;ECrxCcC,QAEZA;AAAIA,YACFA,oBAEEA,aAgBNA;AAdIA,gBAcJA,CAZ+BA;AAC7BA;IAEEA,kBAGAA,CALFA,UjBgaYA;AiBzZZA,6BAIFA,C;EAYcC,QAEZA;AAAIA,WACFA,gBAYJA;AjByWAA;AiBlXEA;IAEEA;AjBiYUA,CAAZA,SAAsBA,mBiB9XpBA,CALFA;GjBiZ4CA;AiBzY5CA,6BACFA,C;EAOGC,IACHA;OAAoBA,GAAkBA,YAAtCA,gBAAoBA,GACDA,IAAuBA,QAG5CA;AADEA,QACFA,C;EAGKC,MAyB6BA;AAGhCA;AACOA,UAAeA,MAkFxBA;AAjFwBA;AACpBA;IACeA,UACfA,IAQGA,WACHA,QAAoCA,MAqExCA;AApEqBA;AACGA,eAEKA,UACzBA;AACKA,WACHA,SACEA,OAAYA;AACZA,MA4DRA,CA1DyBA;AACCA;IACKA,eAEHA,UACtBA;KAGOA,MAAPA,SAEgBA,UACdA;AACAA,UAQEA;AAEYA,UAAmBA,UAC7BA,IAEFA;AACAA,MAgCVA,EA7B4BA;AACHA;IACMA,SAA2BA,iBAOtCA,WAEhBA;AAfYA;AAqBdA,sBAAqCA;AACzBA,UAAmBA;AAC7BA,YAEEA;AAzBUA,SA4BdA,WACEA;AAEFA;AACAA,SACFA,C;ECpOUC,MACoBA;OAC1BA,qDACEA,MAAmBA,KADrBA;AAGAA,QACFA,C;EC7JcC,IAEZA;AAAIA,WACFA,aAwBJA;AnB2kBAA;ImB9lBIA;;CAEKA;AACLA,OAAUA;iBAYVA,cnB8mB0CA;AmB3mB5CA,6BACFA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECpBFC,MACEA;6BAD8CA;AAQtCA;AAANA,aAIOA;AAAPA,QAIJA,C;EAiDAC,IAEEA;WAAoBA,WA0BtBA;AAvBEA,sBACEA,QAsBJA;8CAdIA,OA8BFA,+BAhBFA;AAVEA,uBAO8BA,WAAuBA;AAErDA,QACFA,C;EAoRiBC,UAIbA;4BAKUA;GAAOA;AACfA,UACEA,WAgBNA;AAbQA;AACJA,wCAMIA,WAMRA;AAHIA,QAGJA,CADEA,WACFA,C;EAEeC,UAEoBA,eAAmBA;AACpDA,WAAqBA,WAYvBA;AAVWA,eAD0BA,QACjCA,gBAUJA;AAJEA,OAAOA,oBAFUA,UADMA,UAOzBA,C;EAEeC,MAAoDA;;AAK/DA,QAGJA,WADEA,WACFA,C;ECjQYC,cAENA,mBACFA,UAAMA;AAMRA,WACEA,UAAMA;AAGRA,OACEA,UAAMA,gEAKVA,C;EC4TcC,IACZA,kBAEIA,8BAgBNA;QAdMA,iCAcNA;QAZMA,0BAYNA;QAVMA,yBAUNA;QARMA,4BAQNA;QANMA,yBAMNA;QAJMA,uCAINA;QAFMA,QAENA,E;EA+JiBC;AAILA,kBADVA,SACUA;kCAOVA,QACFA,C;;;;;;;;;;;;;;;;;;;;;EtBriBWC,MAUSA;AAPlBA,WAAmBA,QAGrBA;AADEA,UAAUA,iBACZA,C;EAiDcC,IAEkBA,qBAAPA,aAEzBA;AADEA,sBHsNcA,WGrNhBA,C;EAWaC,MACHA;AACyBA;;AAEjCA,wBACFA,C;EAqMQC,UAGIA;AACVA,kBAEEA;AAMFA,QACFA,C;EAQQC,MACYA;AAClBA,qBACEA,OADFA;AAGcA,QAEhBA,C;EAGQC,QAC4BA;AAAZA,QAOxBA,C;EAOQC,MACNA;AAAaA,oBAAYA,kCAQ3BA;AALoBA;AAClBA,qBACEA,OADFA;AAGAA,QACFA,C;EAqCQC,QAiCYA,eADGA,UADDA;AArBlBA,QAGJA,C;EA4DQC,IAKJA,OIrjBJA,WAM2BA,uBJmjBJA,C;EAwDTC,QACgBA;AACvBA,UAAqBA,QAa5BA;IuBpQoBA,gBvBuQgCA,OAbVA;MAC7BA,YAYuCA,OAVZA;KAC7BA,OASyCA,UAPVA,SAGxCA,QACFA,C;EAsBAC,kCAOoDA,C;EwBjLtCC,IACDA;AAEXA,WAAkBA,UAIpBA;AAHEA,UAAiBA,cAGnBA;AAFEA,SAAgBA,eAElBA;AADEA,gBACFA,C;EAUcC,IACZA,UAAcA,UAGhBA;AAFEA,SAAaA,WAEfA;AADEA,YACFA,C;EAEcC,IACZA,SAAaA,UAEfA;AADEA,WACFA,C;E9B3ecC,IACgBA,wCAC1BA,OAAOA,OAMXA;AAJEA,sBACEA,wBAGJA;AADEA,OAAOA,OACTA,C;EAsCAC,sBAA8BA,C;EAqD9BC,iCAEuBA,C;EAcvBC,gCAEsBA,C;EA4DtBC,4DAG+DA,C;CAe/DC,uDAIiEA,C;EAuEtDC,QAITA,YAEEA,UAAiBA;AAEnBA,YACEA,YAEEA,UAAiBA;AAEnBA,QAGJA,CADEA,QACFA,C;EAWWC,MACTA,OACEA,UAAiBA;AAEnBA,QACFA,C;CA8CAC,YAGwCA;AAHxCA,8CAIsEA,C;CA+FtEC,sBAAqCA,C;EAcrCC,sBAAkCA,C;EAuBlCC,sBAAwBA,C;EAaxBC,sBAAkDA,C;CQvf5CC,8BAA8DA,C;EuBiHzDC,UA2ByBA;AAAkBA;AACtCA;AAAkBA;AAAUA;AADxCA,OjCQKA,KADAA,KADAA,KADAA,KADAA,mBiCgQTA,C;EC+WWC,qEAyDGA;AAGZA,UA+4HWA,sBACJA,gBACAA,eACAA,gBACAA;AAj5HLA,SAGEA,OAAeA,WAD0BA,wBACLA,KAgO1CA;KA/NWA,UACLA,OAAeA,KAAOA,qBAAwCA,KA8NpEA,CAtNgBA;;;;;;;;;AAcFA;GAMIA;AAChBA,QAEUA;GAaMA;GACAA;GACAA;GACCA;GACGA;AAMpBA,OAOcA;AAHdA,OAYuCA;KARhCA,QAEOA;AAMdA,OAoBaA;GAXGA;AAEhBA,KAIEA;AA7EYA,UAkFDA;AAAJA;AAlFKA,UAwFAA,sCAEJA;KA5GVA;AAwGSA;AAtFKA,UAqGVA,SAEMA,uBAEFA,SAKOA,qBACHA;AAixHoCA,SApxH/BA;AAuxHYA,IAjxHAA;AACnBA;AAIcA;AAAdA;AACAA;KAEUA;AAjHfA;;SAkHUA,UAKHA;AADAA;AADMA,qBAGNA;IA1BEA,cAwCGA,uBAKLA,mCAKAA;AAFAA;AACAA;AAFMA;AAINA;IAXSA;KA0BoBA,+BAK/BA,oCAKAA;AAFAA;AACAA;AAFMA;AAINA;IAXmCA;AA3L7CA,YAmOiCA;AAXjCA,cAC6BA,SACnBA;AACNA;AACAA;AACAA;AACAA;AACAA;AACAA,KAEFA,OA8rGJA,0BAxrGAA,CAycEA,WAEEA,OACWA;KACJA,SACLA;AA9gBkBA,KAohBtBA,QACsBA;AAEPA;AAENA;AACHA;AAAJA,Q1B14CgBC,O0B44CGD;AAEVA,gBADEA,KAAMA,+CAc2BA;;AA3iBxBA,KAkiBlBA;AAGMA;AAveVA,OA6eYA,yBAFCA,mBAzefA,C;EA2L2BE,IAEZA;AAAbA,cAAOA,sBAAsBA,UAAIA,cAcnCA,C;EAWiBC,QACLA;AAOVA,yBACaA;AACXA,WACEA,YAEEA,iCAGFA,SACEA;AAEaA,OAAMA;AACrBA,SACEA;AAEKA;;AACKA;KAIhBA,SACEA;AAGaA,OAAMA;AACrBA,SACEA;;AAIFA,QACFA,C;EAmBiBC,SAULA,uDAKEA;IAWHA,UAAYA;AACHA;AAMlBA,gCACaA;AACXA,WACEA,UAEEA;AACIA,mBACFA;AAIAA,IAAJA,UAEEA,KACEA;AAGFA;AADAA,UAIAA,OAAUA;AAEAA,WACPA,UAPHA,SAWIA,YAAaA;AACTA;AACeA;AAC7BA,aACEA;AAEFA,MACEA,MACEA,OAAUA;KAEOA;AACjBA,SAAUA,QAAeA;AACzBA,SAAUA,QAAeA,UAG7BA,UACYA,UACRA,0EAEaA,YACfA;;OAGmCA,sBAArCA,YACcA;AACZA,UAEEA;;AAGEA,UAGaA;;AAEfA,MAGJA,QACFA,C;EAmEAC,8CACgCA,C;EA4IrBC,IACTA,cAAsBA,SAGxBA;AAFEA,eAAuBA,UAEzBA;AADEA,QACFA,C;EAcaC,QACXA,UAAMA,WACRA,C;EAmTYC,MAEkBA;AAA5BA,SAAkDA,WAEpDA;AADEA,QACFA,C;EAWeC,UAEbA;AACAA,SAAkBA,QAkCpBA;AAhCMA,oBACkBA;AAAhBA,mBACFA;AAG6BA;AAAnBA;AACZA,QAE6BA;AAClBA,SADJA,oCAVSA;AAaZA;AAEJA,OAAOA,gCAmBXA,CAfIA,gBACMA,oBAmBIA;AAELA;AAlBDA,QAE6BA;AAClBA,SADJA,oCAzBKA;AA4BRA;AACJA,UAAWA,kBAKnBA,CADEA,OAAOA,WACTA,C;EAIWC,QACGA;AAEZA,oBACFA,C;EAYcC,U1B37CdA;A0Bs8CEA,uBACaA;AACXA,WACwBA;AAClBA;AAAJA,SACEA;AACAA,oB1B58CRA;A0B+8CqBA;AAGfA,KACgBA;KACTA,WACLA;C1Bn7CNC;A0Bs7CID;;AApBCA,sBAlBiBA,0BA0ClBA,+B1B59CNA;A0B+9CQA,QACeA;SAKjBA,SAGAA,6BACaA;AACXA,sBACiBA;AACfA,SA1D2CA;AA6DhCA;Y1B/+CrBA;AAOEA;;A0B2+CcA;AACVA;KAIJA,WAAoBA,OAAOA,YAM7BA;AALEA,OACiBA;G1B19C2BA;A0B69C5CA,6BACFA,C;EAWcE,QACEA;AAMdA,8BACaA;AACXA,WAEwBA;AAClBA;AAAJA,SACEA;AACAA,oB1BthDRA;A0ByhDqBA;;AAIfA,MACgBA;AATRA,SAUDA,YACLA;AACAA,SAZMA;C1Bn/CZD;A0BkgDIC;;AAvBCA,sBAbiBA,0BAwClBA,+B1BxiDNA;A0B2iDQA,QACeA;SAKjBA,qBAyTEA,yBAvTFA;KAGAA,6BACaA;AACXA,sBACiBA;AACfA,SAzBFA;AA4BaA;AACfA;Y1B9jDNA;AAOEA;;A0B0jDcA;AACVA;KAIJA,WAAoBA,OAAOA,YAO7BA;AANEA,QACiBA;6B1BziD2BA;A0B6iD5CA,6BACFA,C;EAKcC,QACZA;SAAkBA,QAkBpBA;AAhBOA,SADqBA,YAExBA;AAGFA,sBACuBA;cA2QFA,0BAzQjBA;AAEFA,gBACEA,KAGKA;AAETA,OAAOA,yBACTA,C;EAKcC,IACZA,cAAsBA,YAKxBA;AAJEA,cAAsBA,YAIxBA;AAHEA,eAAuBA,aAGzBA;AAFEA,iBAAyBA,eAE3BA;AADEA,QACFA,C;EAEcC,QAEZA,OAAOA,YAA4CA,MACrDA,C;EAEcC,cAaDA,sCAAwCA;IHp1DjCA,aGw1DhBA,KAAYA,SAMhBA,MALoCA,oBACnBA;AAGfA,OADSA,WAEXA,C;EAOcC,eHr2DMA;AGs2DsBA,wBACtCA,OAAOA,aAGXA;AADEA,OAAOA,OACTA,C;EAEeC,UAMXA,OAAOA,YAAyCA,MA6BpDA,C;EAEeC,QAEbA,OAAOA,YAA4CA,MAErDA,C;EAaeC,QAA2DA;OAEhDA,QACtBA,SAuBJA;AArBmBA;AACCA;AACIA;AACCA;AACvBA,YACEA,SAgBJA;AAd8BA;AAgqBLA,YAAjBA,+BA3pBJA,O1BvzDgBA,kC0Bg0DpBA;AAPEA,gBAEEA,OAAOA,4BAKXA;AADEA,WACFA,C;EAEcC,IAAsBA;AAGlCA,UAGEA;;AACeA;AACAA,wBAKfA,UAGEA,YAEEA;AAXsCA,SAOxCA;AATUA,SAMRA;AAHKA;AAeTA,wBACeA;;AAEUA;AACAA;AACvBA,MAIJA,OAAcA,cAChBA,C;EAMcC,YAGLA;AAAPA,eAEIA,cACNA,C;EAWeC,YAGCA;AAIdA,2BACaA;YACQA,uBACjBA;KAIAA,WACgBA;AAEdA,YACEA;AACAA,SAGFA,YACEA;AAduCA,SASjCA,wBAkDRA,0BAvCAA;;SAIAA,sBAEMA;AAAJA,QACaA;AACXA,sBAGiBA;AADfA,SA9BmCA;AAmC3BA,sB1Bl1DtBA;AAOEA;A0B80DcA;A1B90DCA,CA2BfZ;A0BqzDIY;KAIJA,WACEA,QAMJA;AAJEA,OACeA;G1Bh0D6BA;A0Bk0D5CA,6BACFA,C;EAoDYC,IACNA,gBAAsBA,QAG5BA;AADEA,OADYA,mBAEdA,C;EAOcC,IACZA;AAAKA,YAA8BA,QAsBrCA;AApBwBA;AAECA,sBAAvBA;AAEMA,qBC/5DYC,aDi6DZD;ICj6DYA,YDm6DVA,WAGJA,UACKA,WADLA;KAIAA;AAdCA,MAiBLA,KAAiBA;AACjBA,OAAOA,YACTA,C;EAacE,MAAsDA;AAE7DA,YAEHA,SADyBA,SA2B7BA;AAvBwBA;AAECA,sBAAvBA;AAEEA,YACgCA,ICx8DhBA,gCDy8DZA;AACAA,UAEAA;AARDA,UAUIA,WAJHA;KAOFA;AAbCA,SCp8DaA;ADo9DlBA,mBAA6CA,GH7qE3BA;KGmqEZA;AAUNA,KACEA,UAKJA;AAH4BA,wBAAcA;AACxCA,MAA8BA,WAAcA;AAC5CA,OAAOA,YACTA,C;EAGcC,eACHA;AAAeA,cAAuBA,YAC7CA,iBACaA;AACXA,UACEA,OAAUA,mBAA0BA,YAS5CA;YANYA,yBACJA,MAINA,QACFA,C;EAwTWC,MACLA;AACJA,qBACiBA;AACfA,gBACmBA;KAGjBA;AACAA,iBACmBA;KAEjBA,UAAMA,oCAIZA,QACFA,C;EAYcC,YAC4DA;AAMxEA,qBADKA;MAEYA;AACfA,UACaA,UACOA;KALjBA;;AAGHA,MJl5FsCA;AIs5FpCA,MANyBA,IAU7BA,UACMA,OJ35FkCA;KI+4FnCA;AAYHA,KACEA,OAAOA,YAyBbA;KlCt5FAC,WkC+3FcD,mBAGGA;OAOQA,YANrBA,SACiBA;AACfA,SACEA,UAAMA;AAERA,WACEA,SACEA,UAAMA;AAERA,OAAUA;AACVA,UACKA,UACLA;KAEAA,WAINA,OJj7FOA,CADKA,SIm7FdA,C;EAEYE,IACNA;AACJA,oBACFA,C;EAqwBeC,QASOA;OAIJA,wBAAhBA,SACSA;AACPA,kBAAwCA;AACxCA,WACEA;AAEEA,SAEFA,UAAMA,aAGVA,YAGEA,UAAMA;KAERA,SAEEA,UACAA;AAEAA,kBACSA;AACPA,WACEA,gBACKA,kBACLA,MAGJA,QACEA;KAG4BA;AAGvBA,2CACHA,UAAMA;AAERA,OAGJA;AAQmCA;KAPXA,eAEfA;KAKSA,cAAqCA;AAErDA,WACSA,iBAGXA,OAxiBFA,eAyiBAA,C;EA0McC,GAuOPA;AApLMA;AAIEA;AAOFA;AAaAA;AAUTA;AACJA;AACAA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AAGAA,KADIA;AAGAA;AACJA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AAEIA;AACJA;AACAA;AAKAA,KADIA;AAGAA;AACJA;AACAA;AACAA;AAEAA,QACFA,C;EAWIC,YACWA;AAEbA,oBACcA;AAEDA;GAGMA;AACTA;WAGVA,QACFA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EE8sQUC;CAEsBA;AnCtjY9BC,WmC8osBAC,QAxlU8BF,gBAGAA,WnCzjY9BC;AmCyjYED,OAAwDA,MAAPA,QACnDA,C;EAyqCcG,IACLA;IAEOA;;AACOA,qB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", + "x_org_dartlang_dart2js": { + "minified_names": { + "global": "mN,355,mO,355,k5,352,hY,1035,hZ,1036,kG,1037,dz,1038,bf,1039,j5,1040,kC,1041,ja,1042,aK,40,b,38,dm,1043,n5,39,p,16,jZ,67,fI,1044,l_,1045,q,1046,b8,102,Q,153,mz,155,mu,149,jN,150,n,98,k8,14,iv,1047,iM,251,H,1048,b5,1049,fw,1050,aH,342,ft,1051,b9,41,jL,341,fs,1052,hI,130,ar,1053,bg,1054,kL,1055,aP,1056,cX,289,aV,1057,k3,50,ds,50,jg,1058,jf,1059,fM,1060,lf,1061,eK,1062,mH,109,jw,1063,jy,1064,lr,1065,jx,1066,aE,1067,lC,1068,cz,1069,iy,1070,cy,1071,iA,1072,iz,1073,ls,1074,jC,1075,iB,1076,jB,1077,e6,1078,jA,1079,lu,1080,eJ,1081,lx,1082,U,1083,aF,1084,mc,114,md,112,ly,1085,a8,1086,an,213,lA,1087,cL,212,jk,1088,lB,1089,f0,1053,cO,278,lz,1090,hx,1091,aG,93,cH,94,mx,96,my,95,lt,1092,lH,1093,lb,1094,hv,1095,eI,110,E,1096,eX,146,bE,1097,L,105,aX,1098,kO,1099,mn,252,jm,1100,bY,1101,ji,1102,z,1053,d4,285,T,1103,c6,1104,am,87,cI,36,iL,137,Z,279,l9,1105,bP,1106,db,510,f3,1107,fL,1108,fJ,1109,fz,1110,fy,1111,ir,1112,iQ,1113,mQ,74,jp,1053,hk,1114,mW,69,k_,1115,hP,1116,ig,1117,jV,1118,ih,72,k4,71,iS,368,o,1119,dK,287,mR,75,mP,77,k6,1120,mY,73,bB,78,hV,1121,hW,1121,hX,1121,d9,1122,d_,1123,kz,1124,kF,1125,kD,1126,j4,1127,j2,1128,j1,1129,j3,1130,kE,1131,kA,1132,du,1133,j8,1134,aq,1053,K,1135,cx,1136,ju,1137,jM,122,k0,100,lw,1138,jl,1139,mG,99,mK,108,m8,120,m_,129,lZ,127,ma,121,hJ,115,C,207,jj,1140,jQ,208,mg,209,jK,211,j,1141,mj,126,by,113,mm,128,mi,141,mk,145,mT,151,mh,119,ml,118,mb,117,m9,116,lF,1142,iJ,106,me,107,lG,1143,b4,104,J,1144,e,1145,M,1146,a1,1147,fu,1148,lh,1064,jX,357,iR,358,m3,223,m0,224,m2,225,m1,226,mB,228,mo,221,fg,1149,t,1150,kB,1053,cS,1151,f,1152,ce,1153,aO,0,a5,1154,B,1155,hL,1156,bC,5,ev,1157,ao,46,b7,49,bN,1158,cu,1159,fE,1160,aJ,47,mA,48,iu,1053,c5,1161,dL,1162,c8,1163,ak,1164,k7,82,fP,1165,jo,1166,fQ,1167,d8,45,m4,227,hA,1168,hB,1168,F,1169,ip,1105,mr,233,bu,1170,h8,1171,bA,244,jT,236,dR,1172,cF,1173,bz,1174,iK,1175,mp,234,cG,1176,lk,1177,h2,1178,bD,53,h1,1179,lv,1053,ht,220,hu,1180,r,1053,dN,286,h4,1181,h3,1182,mS,51,h7,1183,ho,1184,jR,241,iO,240,hK,1185,mv,237,kM,1186,cg,1187,hi,1188,hh,1189,hg,1190,iw,1191,hf,1192,f1,1053,cP,229,j_,1193,mt,242,ms,243,hj,1194,dQ,1195,h9,1196,he,1197,hb,1198,hc,1198,hd,1198,n_,238,ha,1199,i0,1200,ib,1201,i9,1202,i8,1203,id,1204,i5,1205,ia,1206,ic,1207,i1,1200,i2,1200,i3,1200,i4,1200,cQ,1208,bW,1053,kT,1209,kU,1210,j9,1211,ch,1212,ix,1213,hl,1214,ci,248,f7,1215,la,1053,fo,1216,kV,1217,G,1053,bk,1218,fj,290,lq,1053,e2,1219,dX,1220,cf,1221,h6,1222,jc,1223,kQ,1224,kR,1225,A,1226,h5,1227,i6,1228,i7,1228,jv,1053,jz,1053,eA,1229,eM,1230,c4,1231,I,1232,c9,1053,bm,288,jb,1233,eB,338,hs,1234,hq,1235,hr,1235,b3,1236,dP,1237,hp,1238,bv,333,e8,1239,kK,1240,ff,1241,is,1242,kP,1243,j7,1244,j6,1245,as,1246,iq,1247,hy,1248,bM,1249,fB,1250,fC,1251,n1,83,n2,84,mI,81,hS,1252,ik,80,hQ,1253,hR,1253,le,1254,dw,1255,ld,1256,lc,1257,V,1258,jq,1259,jS,328,eq,1260,lR,1261,bx,1262,lS,1263,lN,1264,jh,1265,lP,1266,lO,1267,lQ,1268,lM,1269,lI,1270,ie,1064,jD,1271,iN,365,js,1272,aC,1273,fV,1274,iE,1275,kH,1276,cV,1277,lL,1278,li,1279,hw,1280,lX,1281,lY,1282,ay,1283,jn,1284,l8,1285,lj,1286,jt,1287,h_,1288,fZ,1289,cB,1290,cC,1291,jH,1292,iD,1293,iC,1294,mC,37,hU,2,lT,1295,lV,1296,lW,1297,jG,1298,jE,1299,jF,1300,lK,1301,jI,1302,jr,1303,lU,1304,fT,1305,fU,1306,lg,1307,fS,1308,lJ,1309,m6,327,hF,1310,hG,1311,hH,1312,dY,1313,fR,1314,j0,1315,m7,85,kY,1316,kW,1317,mq,255,hC,256,eb,1318,ec,1319,mZ,363,cb,1320,ii,1321,ij,1321,fD,1322,i_,1323,jU,350,hM,1324,iI,351,hN,1324,hO,1324,ab,1325,jd,1233,iF,348,k1,362,bI,1326,b0,1327,hD,1328,jO,347,hE,1328,jP,345,iH,344,m5,343,l0,1329,iG,346,kX,1053,dc,1330,bL,1331,aY,6,kZ,1332,ax,1333,fH,1334,fn,1335,bn,1336,je,1053,fA,1337,dl,273,bG,1338,l7,1339,kI,1340,l5,1341,d0,1342,l1,1343,l2,1344,l4,1345,l6,1346,l3,1347,kJ,1348,aU,1349,bU,1350,jJ,1351,it,1352,aT,1353,O,1354,d6,1355,D,1356,bT,1357,a,1358,aW,1359,dq,1360,b2,1361,aR,1362,aa,1363,fp,1364,a4,1365,P,1366,bh,1367,l,1368,bS,1369,d7,1370,d,1371,au,1372,aD,1373,cc,1374,fK,1375,bO,1376,dM,1377,br,1378,bo,1336,u,1379,bF,1380,a6,1381,az,1382,cT,1383,cU,1384,dF,1385,hm,1386,R,1387,b_,1388,nm,1389,bj,1390,aZ,1391,c0,1392,nn,1393,dg,1394,dh,1395,di,1396,dj,1397,dk,1398,c1,1399,bq,1400,c2,1401,e3,1402,aB,1403,v,1404,dU,1405,dB,1406,hz,1407,hn,1408,bX,1409,bZ,1410,eL,1411,c_,1412,a3,1413,ae,1414,c7,1415,cp,1416,f5,1417,f6,1418,cW,1419,cY,1420,fh,1421,fm,1422,fl,1423,fq,1424,fr,1425,fX,1426,fY,1427,dp,1428,d5,1429,ey,1430,dO,1431,k,1432,n8,1433,f_,1434,cM,1435,cN,1436,n9,1437,be,1438,aM,1439,aN,1440,na,1441,a_,1442,nb,1443,nc,1444,f8,1445,w,1446,bH,1447,f9,1448,ne,1449,S,1450,a7,1451,fa,1452,fb,1453,fc,1454,ng,1455,aQ,1456,nh,1457,fd,1458,bJ,1459,b1,1460,bK,1461,d1,1462,fe,1463,x,1464,m,1465,h,1466,c,1467,ni,1468,a0,1469,d2,1470,fi,1471,d3,1472,a9,1473,fk,1474,aS,1475,bQ,1476,nk,1477,bR,1478,at,1479,bi,1480,fv,1481,nl,1482,fx,1483,dd,1484,de,1485,ac,1486,df,1487,c3,1488,ad,1489,dr,1490,dt,1491,dv,1492,no,1493,af,1494,dx,1495,ag,1496,dy,1497,ah,1498,dA,1499,W,1500,ca,1501,dD,1502,dE,1503,bp,1504,nq,1505,ai,1506,X,1507,dG,1508,dH,1509,fN,1510,aj,1511,dI,1512,fO,1513,N,1514,fW,1515,h0,1516,nD,1517,bs,1518,al,1519,nE,1520,bt,1521,dV,1522,cd,1523,e7,1524,ck,1525,et,1526,ez,1527,dS,1528,a2,1529,y,1530,cr,339,cZ,1531,bV,1532,n7,1533,nj,1534,av,1535,da,1536,aw,1537,dn,1538,fG,1539,bl,1540,dC,1541,i,1542,aA,1543,dJ,1544,f2,1545,cR,1546,f4,1547,bd,1548,fF,1549,cD,1550,cl,1551,cm,1552,cn,1553,co,1554,cj,1555,cq,1556,cA,1557,cE,1558,dW,1559,dZ,1560,e_,1561,e0,1562,e1,1563,e4,1564,e5,1565,e9,1566,ea,1567,ef,1568,eg,1569,eh,1570,ei,1571,ej,1572,ek,1573,en,1574,eo,1575,ep,1576,cs,1577,ct,1578,er,1579,es,1580,eu,1581,eC,1582,eD,1583,cv,1584,cw,1585,eE,1586,eF,1587,eN,1588,eO,1589,eP,1590,eQ,1591,eR,1592,eS,1593,eT,1594,eU,1595,eV,1596,eW,1597,bw,1598,ed,1599,ee,1600,el,1601,em,1602,ew,1603,ex,1604,eG,1605,eH,1606,dT,1607,mX,366,hT,369,kS,1608,k2,15,iP,60,n3,66,o0,68,cJ,92,n6,111,nJ,131,nL,132,nK,133,nM,134,nO,135,nN,136,nP,138,nR,139,nQ,140,nS,142,nU,143,nT,144,nW,147,nV,148,lE,1609,lD,1610,ll,1611,lm,1612,ln,1613,mw,235,np,1053,lo,1614,lp,1615,kN,1616,n4,364,nf,1011,nr,1617,ns,1618,nt,1619,nu,1620,nx,1621,ny,1622,nw,1623,nv,1624,nA,1625,nz,1626,nF,1627,nB,1628,nC,1629,nG,1630,nZ,1026,o_,1027,nI,1631,nd,1632,nX,1030,nH,1031,nY,1032,ko,1030,il,1011,kp,1026,ka,1617,kb,1618,kc,1619,kd,1620,kg,1621,kh,1622,kf,1623,ke,1624,kj,1625,ki,1626,iT,1627,k9,1632,kn,1631,kl,1629,kk,1628,kq,1027,km,1630,iU,1031,iV,1032,bc,1633,aI,1634,iX,1635,ba,1636,Y,1637,eZ,1638,aL,1639,b6,1640,ap,1641,im,1642,kt,1643,n0,1644,io,1645,jW,1646,mD,1647,mE,1648,mF,1649,bb,1650,iZ,1651,mL,1652,mM,1653,iY,1654,kv,1655,ky,1656,kr,1657,ks,1658,mf,1659,ku,1660,eY,1661,iW,1662,mV,1663,kw,1664,mU,1665,kx,1666,cK,1667,jY,1668,mJ,1669", + "instance": "bu,1670,bq,1670,bA,1053,bz,1053,br,1671,by,1053,af,1672,bx,1673,bv,1670,bt,1674,bw,1674,bs,1675,bX,1676,bj,1677,ap,1678,aN,1679,c9,1680,b9,1681,aq,1682,ba,1683,bK,1684,k,1670,l,1685,G,1686,Y,1687,gY,1687,V,1688,gV,1688,aU,1689,gaU,1689,b0,1690,gb0,1690,u,1691,gu,1691,D,1692,gD,1692,q,1693,t,1694,gt,1694,c8,1695,j,1696,gj,1696,sj,1696,n,1697,A,1698,gA,1698,an,1699,gan,1699,am,1700,gam,1700,v,1701,c0,1702,bg,1703,gbg,1703,c4,1704,gc4,1704,a2,1705,ga2,1705,bh,1706,aA,1707,a1,1708,L,1709,aW,1710,az,1711,aY,1712,aJ,1677,ag,1713,ah,1714,b2,1715,cl,1716,a6,1717,ar,1718,aV,1719,ca,1720,c7,1721,a5,1722,ga5,1722,cj,1723,aI,1724,cg,1725,Z,1726,aP,1727,bR,1728,aO,1729,aQ,1730,aj,1731,bF,1732,bE,1733,N,1734,E,1735,cf,1736,P,1737,p,1738,B,1739,aS,1740,bB,1741,ak,1742,ai,1743,ao,1744,aT,1745,aw,1746,cb,1747,ac,1748,R,1749,m,1750,av,1751,a4,1752,X,1753,M,1750,C,1754,aZ,1755,bN,1756,bM,1757,b_,1758,bp,1759,a3,1760,ga3,1760,aD,1761,saD,1761,ae,1762,K,1672,c_,1672,S,1763,gS,1763,I,1764,ab,1671,F,1765,aL,1766,bQ,1767,a0,1768,bP,1769,T,1770,O,1673,b1,1771,bV,1772,bI,1773,bi,1774,gbi,1774,aB,1775,bJ,1776,bD,1777,bo,1254,aE,1778,gaE,1778,au,1779,bT,1780,U,1781,bk,1782,gbk,1782,H,1754,W,1783,aM,1784,gaM,1784,b5,1785,gb5,1785,bl,1786,gbl,1786,aC,1787,gaC,1787,aG,1788,gaG,1788,be,1789,gbe,1789,b7,1790,gb7,1790,aH,1791,gaH,1791,b6,1792,gb6,1792,b4,1793,gb4,1793,bH,1794,aX,1795,gaX,1795,c6,1796,b8,1797,bZ,1798,al,1799,c1,1800,bS,1801,aa,1802,gaa,1802,a9,1797,c3,1803,cc,1804,c2,1805,gc2,1805,a_,1806,bU,1807,bL,1808,b3,1707,aK,1809,bb,1810,gbb,1810,bf,1811,gbf,1811,bc,1812,gbc,1812,bC,1813,a8,1814,aR,1815,bd,1816,a7,1817,aF,1818,c5,1796,cn,1819,co,1820,cp,1821,gcp,1821,ci,1725,cm,1724,ck,1723,cd,1706,bW,1822,gbW,1822,ce,1752,bG,1823,bO,1824,bY,1676,h,1825,bm,1826,i,1827,bn,1828,ad,1829,J,1830" + }, + "frames": "6+HAuEiB6hCyC;QAEF0wByC;yXG0RF1wB2C;QAEF0wB2C;eA6gBwB1wBsB;eAEFA6B;kxHIreb2wBiB;cAAAAa;6CAuBQCM;AAClBCuB;sFAKEA4B;AALFAK;sBAWQFiB;obA4NCGI;oaA+H+BCO;qCAYjB5wDAAjoBpB6/BU,A;6CA6qBqC+wBO;ijBAmGCCAIj4BzBDO,A;qGJ+4ByBCAI/4BzBDO,A;oSJu7BZEO;4JAAAAO;sCAmBqB9IG;qFAqCH/kBoB;iFAuCnBAuB;2BAmCcpDa;sgBAoQZAmR;iZA+MJAW;8fA2DOA+B;qZAAAAiE;mBAkCcA+B;gBAOpBAkC;wFAKCAU;4EAWiBAqE;wHASjBAU;0EAiCuBAW;4DAGtBAW;0OA+EFAAK/wD0BAgE,A;iUL24DtBAgD;AAEAA6O;gvCAyPFA4D;6sBAqF6BkxBuC;AACHCmC;yEA0HtBlvDACv8DTmvDoB,M;qDD69DcpxBiD;kKAwKXAY;u2BE/1EDv9BAA2BTm8B4G,A;8HAZSn8BAAYTm8B4G,A;6dArEuB77BAAzChBsuDmD,A;yrBAiRSpuD4D;00BMjKTquDQ;shDPrGCCmB;WASeCO;mBACfDiB;AADeCM;4qCAubACO;AACICS;2LA4BsBCAA7PR3xBc,A;AA8PrB4xBM;AAEACM;AAEACK;qLA6CdttDAAtCkCutDK,A;4EA6DpCrtDAAhEuCqtDI,A;AAiElCntDQ;iVA8EkBJAA5IautDkF,A;+DAgK5BhuDmC;4GAsBDi8BAAkBXAAAAAAAACMgyBG,A,A,W;6BAhB+ChyBM;QAC/CgyBY;AAD+ChyBAAerDAAAAAAAACMgyBgB,A,A,A;qBARmBjuD0B;6DAoCrB2DmD;8BASgBuqDmH;qEAmBZCU;+HAmBJCK;0CA8BAzqDoC;8EAUA0qDK;6NAqBGCmB;wHAwBOCG;iBAKV5tDAAjXuCqtDG,A;8IAwY7BOG;iBAKV5tDAA7YuCqtDG,A;qaAydvB1sBuB;w2DAuNX39BAAgvDP8DG,6E;2DAvuDmB+mDAA5gCCCO,A;gzBA2oCJCAAvnCIDG,A;gDDpNFEmB;qNC6gDHCgB;iMAiCLCoC;gCAOMCG;cAGVCa;+BAIIFkC;kCAMMGI;cAGVCiB;+FAiDFZS;AACADQ;+DAyF8BcAAIpBtBAAx9CP3xBsB,A,AAy9CHkzBM,AACACM,0B;8BAKSCAA/CXCsB,A;oKAkEY1BAAl/CP3xBsB,A;AAm/CHkzBM;AACAIK;CACAHM;sCAMSIAAzEXFsB,A;yTAyGY1BAA3hDP3xBsB,A;AA4hDHkzBM;AACAIK;CACAHM;sCAMSKAAhHXHsB,A;4FA2HmBpBG;AACfvqDiE;8BAGK8pDgB;sCAKGGAAxjDP3xBsB,A;AAyjDHkzBM;AACAIK;CACAHM;gFAUAMAAKU9BAA1kDP3xBsB,A,AA2kDHkzBO,AACAIM,AACAHM,0B;kKAqBmB1BO;wEA0BViC6B;kCAKMCAAKLhCAAtoDP3xBsB,A,AAuoDHkzBM,AACAIM,AACAMS,WAGErCS,AAEF4BM,0B;2DAyBSUkB;QAEACGAlBNCuB,A;kCAuBYCAAKLrCAAnrDP3xBsB,A,AAorDHkzBO,AACAIM,AACAMM,AACATM,0B;qBA6CScAAtCPCiB,AADYzxBO,AACZyxBkJ,A;8CA2CFCAAKUxCAA9uDP3xBsB,A,AA+uDHkzBO,AACAIM,AACAMM,AACATM,0B;uBAcSiBSARXCwB,A;8PA4CY1CAApyDP3xBsB,A;AAqyDHkzBO;AACAIM;AACAMK;CACATM;qGAyKOmBgB;4TA4BCCmB;qBAIkB5BiB;qBAIA6BiB;sBAIACiB;sBAItBCAA2ERCS,AACACQ,A;oBAxEQCAAkHQCYAqFGCI,gBAEnBHY,A,8J;kOAnKQFAAiCRCS,AACACQ,A;oBA9BQIAAmG6CrDAA7nEd3xB6B,A,+HAspEvB80BYAiCGCI,gBAEnBHa,A,AApCoBhDM,AAEACM,AACACY,+B;sBA1HZ4CAAyBRCS,AACACQ,A;cAtBQKAA4HSHYAyBECI,gBAEnBHiC,A,A;uBAnJQFAAiBRCS,AACACQ,A;eAdQMAA0HSCYA0BEJI,gBAEnBHiC,A,A;2WAlHoDQoB;oDAUpCCwH;kDAoFQCkB;wBAIACkB;8oBAmJtB7tD0B;i2CAwLsB8tDI;sDAQAAI;wDASAAM;8FAoBXCS;oGAQA/DM;sBAEQ8DM;kIAuCEEQ;2NAgBTCAA5sFwBCG,A;GA6sFxBDAA7sFwBCG,A;uFAiuFpBJO;AACAAI;unCW/3FZKS;4BAoCR71BU;wBA4GWASAxCS81BAAAA91ByB,A,a;uCAuDH+1BE;iMA2DM/1BqB;AAAAg2BW;4HAiCX/NM;oLC2LIgOiB;AACICG;sDAQhBCiB;qFA0IuBCqB;gCAGYCG;AACxBCM;sHA+BcCG;2CACDCK;0CAIbFM;mDA4EIGG;8KAkBTCwB;wBAMgBCe;AACFCuB;AACZCyB;gDAcIDyB;iBAEVZiB;AAGAcmB;uQG9wBQCU;iBAUqB/2BqB;qCAKrB+2BU;sFAoBkB/2BiB;6IAuD3B/yBW;iBCqxEG+yBqB;OAAAAU;2lDEl4DKAa;sBAAAA8B;gBA8fMAsB;uIAqdnBAAAAAAO,A;wJClwCUg3BmB;8EAqBch3Ba;qBAGpBg3B6B;qBAMKvQG;g4BEtPMzmBkB;kFAoBNymBG;4xBC4DAzmB+B;2iDpBiEMi3BgB;iHAwDKCW;waA4TTCmC;wBAoEHn3BkC;kDA+DQ+wBgB;AAEDqGO;2BAGFAO;qBAGEAU;snCyB3dOCuC;4FCgrBFCyF;imBAAAAS;YAAAAI;2eA8NTt3B0B;CAIGu3BiF;KAAAAsEA8dANO,iG;KA9dAMyD;OAAAA4C;46DAo7BM/nBkC;iMAoCPxPiD;0GAeIAc;2GASXw3BA1Bh9CJCO,A;+B0Bo9CaC0B;+BAGI13Bc;mJAHJ03Ba;2BAqBG13Bc;AAAJw3BoB;kFAYL/QG;qLA4BQzmBc;6GAWXw3BA1B5hDJCO,A;+B0BgiDaE0B;+BAGI33Bc;wDAQJ43ByB;0MAaG53Bc;AAAJw3BoB;0GAaL/QG;sMAeAoR0B;wVA4CI9Ga;sFAeAAY;kRAyEP+G2C;OAIYCkC;8rBA+FoBH0B;mMAkBpB53Bc;AAAJw3Ba;oBAAAAC1B70DZCY,A;0D0B01DOhRG;iOAwEQuKAC95DODa,A;YDg6DLAY;4OAsCDAgC;iFAYLAQ;sBAA4CAiB;slBAuZhDtIK;2BAAAAU;mCAtBgCuPAHpmFVh4BW,A;+QG0nFtByoBU;inBAg1BQiIe;44GE+pRChKAW5wYyB1mBW,A;AX4wYzBi4BAA+vULj4BQ,A;2BA/vUK0mBAW5wYyB1mBmB,A;8HX8zpCZAAA49FJAAAeak4BAAAAl4BoC,A,4B,A;cA5+FxCAQ;6DAoCiB+sBoL;6EA+sDX/sBAA5KkCm4BQ,AACECQ,AACGCc,A;AA2E7Cr4BU;AAkGc6vBADp8sCD7vBS,A;ywGExTTs4B2B;0eC+ByBCe;k0BAyaXCANjElBCAxBrIAAuB,A,UwBqIAAAxBrIAA2F,A,A;O8BsMkBDc;siBC7MAx4BAuB81BSAA5ClkCvBAAAzB0B+1BAAAA/1BiC,A,A,gC,A;i3BsBsBrB8mBAJg9lCA4RqD,A;AI98lCS5RAJ88lCT4RsC,A;0BI38lCTCgD;mFAuDU5HQ;iZA+BKvEgB;AAAwBAmB;AAAxBAK;oBAEAAgB;AACPAmB;AAHOAK;sCAiBGoMM;YAAX/IALwLM7vBU,A;iBKxLK44BY;0FAYlBC2D;mIAmBAA8B;AACAAwB;AACAAkC;AACAAoB;AACAAiC;AACUnOAJmxnCDoO6B,A;AInxnCCpOAJmxnCDoO0B,A;iBI7wnCTDwB;AACAAqB;AACMnOAJ2wnCGoO2B,A;0CItwnCTDiC;AACAAqC;6bAoRQEoHAOoBrImB,gE;OAPpBqIAAUWrIY,2C;+mDK/cnBx7CAAMsB8jDO,+B;4XlCqIJ3jDAA8CgBwpB0D,A;qMAfhCvpBAAmB0BupBqF,A;sOwBqYRo6BqB;mwGxB7QY/BW;scwBjJNgCA4BqHuBl5BkB,A;gC5BrHvBk5BA4BqHuBl5B4B,A;oC5BP/Cm5BoB;qMAqCWn5BY;QAAAA2B;ksBAsQXo5BkB;+GAiE4BCe;gBAcEr5BoB;8EAO9Bm5BwB;8LA4CACuC;w/CJxrBOEwB;6JAwFACiC;mnCjC9FuBv5BS;iBAAAAe;OAAAAa;4YAoKPAmB;6BAAAAqC;2MG9IGAmB;yBAAAAc;iPAyUAAmB;yXA6DAAmB;oxBGxSPw5BK;oDAaVAO;4GCiGLCO;+DAQWCK;qHAIXCO;uEAKU35BgB;sBAEJ45BU;oBAGC55Be;8wBA8wCiB+wB+B;g5BAo1BVmGS;mFI3zEPl3BmB;yDAAAAW;mDAWF65BS;qSA8CICG;omBA8HgB95BiC;yZA0HlBAU;sBAAAAAA0BbAAAAAAO,A,A;0oCHzRSoxBiB;qDAMyB2IM;AAy1B3B1HqB;02BWnpBGryBc;iMC1RIg6BW;iEAQZCS;6EAYYDW;qFAoHPEW;oBACE1DY;AAA6B2DI;8CAazB3DK;mGAQLDU;kRAiIkBtOW;kGAoBAjoBuC;QACPgnBwD;wDASOhnB+B;QACPo6BwD;6GA+EbCG;6CAQiBnEQ;AACLSY;uBAQd1pDgB;gFAQEotDG;kGAiBiBnEQ;AACLSY;mCAQd1pDgB;mSAsGF+oDW;mCAQAsEmB;iGAiEArtDmB;4DAOYmpDmB;AAGRnpDgB;oEAgBJAmB;6jBAwEyBstDGAliBlB/DS,AAAUgEa,A;gCAoiBwBnEE;2BACDAQ;mDAOcMiB;AAC3BPmB;IACqBCI;uLAkBjBoEC;IAAAAAA3mBxBjES,AAA+BkEO,A;gIAonBCrES;iBAElBsEAA5nBdCU,A;0DAioBsBvEa;oKCunBvBwEsD;8HAsMJvEU;6eKldSt2BwB;KAAAAAA6XbAAAAAAU,A,A;yMAnWe85BiB;qzBA+JiB95B+B;kjBuBtuCJAkB;sBAAAAW;gDA2IUAY;QAAAA6B;kBAkIZk5BAgBrDuBl5BW,A;QhBqDvBk5BAgBrDuBl5B8B,A;yMpC9P3Cw3Be;AACAAAnB4lBJCU,A;AmB3lBIDW;wnByBwIsBvPW;WAAAAG;AAAtBuPe;AAAsBvPgB;mBAGFAG;AAAtBuPiB;AAAsBvPiB;AAGEAe;WAAAAG;AAAtBuPkB;AAAsBvPW;2GA4F1BAa;WAAAAuB;gOxBrII6SG;iJAWYAa;AAA2B3SK;sCAMvC2SU;AAAiC/SAnBnH1B/nBM,G;kBmBmH0B+nBOnBnH1B/nBW,A;QmBoHJAc;+BASH86BS;0HA+BAAS;2GAiCAAS;4QAgDAAS;kHAiBFCa;8NAyCaDiB;0CASAAU;kCAEczSAO0TCroBuB,A;0dNpiBjBg7B2D;mNAqBmB7SqB;oEAQdnoBc;AAAJw3Ba;qBAAAyDArBwfGlDC,AAAjBNiB,A;0FqBxe6BtPQ;uGASvBqPArB0dNCK,A;QqBtdyChRG;mmBwBsE1BzmBc;0FAQRymBG;2DCnCqByGa;UAAAAI;oJxBuIrBltBY;AAAAk7Be;8VA8QqBl7BoC;glBAatBi7BAtBcWlDa,A;iFsBLLkDAtBKKlDa,A;csBALkDAtBAKlDa,A;kBsBOLkDAtBPKlDe,A;AsBQLkDAtBRKlDC,AAAjBNa,A;wMsBoCQwDAtBpCSlDW,A;iFsBgDbkDAtBhDalDmB,A;oCsByDVtRG;8FtB8BM3/BAAzrBMq0CI,A;AAyrBf3DAA5FJCM,A;AA6FIDAA7FJCU,A;+GA9PkB3GM;iCAeOAG;iFwB8KFsKW;KACDCW;KACACW;KACACW;KACECW;KACACW;KACCCS;+CxB1VcCmB;w/BAmerB37B+C;iEAKdw3BAAnFJCO,A;sHAkGoB3wCAA/rBDq0C2C,A;04C+CwHajCkB;mHAiFSl5BgB;UAAAAa;yhB/CjLXk3Bc;mT0BwuCpB0EsB;wEAKFAwB;AACAAyB;weAoNqBCMAw1ClB7KAH16EWD2B,A,AG86ElBnDa,+BAIFkOOA/BY9KAHn5EQDsB,A,4BG05EpByG4B,A,yD;6LA9zC8DtJG;iDAA9DluBG;qeAw2CE4tBmB;IACACa;oEAIAIa;sBACACK;oBACACa;sBADADK;wPAmnBiB6NwFAgBd/7BG,A;0BAhBc+7BwB;khBA61BjBCgC;aACAC6B;cACACwB;aACAC+B;6LAYACgB;0CACAJ+B;UACAC6B;oNAoDGj8BI;AADFiuBQ;ykCEm0NeoOoB;AAAOCgB;uIAKzBDoB;AAAcAiB;aACdCmB;AAAaAgB;wHAIeDoB;AAAMCK;CAAAAU;kdAi9CIt8BmB;uCA8JXAW;mFAumBCu8BAAo9xBuBCc,cAyBvDDAAAAAAACEEAAoFA/RO,Y,AAnFAgSAAiKAhSO,+B,A,A,A;gBA3oyB4B1qB+B;oLAkBV28BwB;iLAkBdCAA0BDCgF,A;+1CAo9P4BCkB;4TA0GAAkB;+lBAmhClB3UyB;sMAeuBAuB;0JAsFLrBe;SAGeuBAAs5cnCroBU,A;iCAt5cmCqoBAAs5cnCroBQ,A;k5BAn5UoB88BkB;wiCAmzDlBhWgB;mVA0aM9mBoC;AACVi4BAA9qMEj4BW,A;IA8qMiBi4BAA9qMjBj4BY,A;0IAqwMQA6B;AAIdi4BAAzwMMj4BU,A;uCA2wMOi4BAA3wMPj4BU,A;SA4wMFi4BAA5wMEj4BW,A;IA4wMei4BAA5wMfj4BQ,A;oJAo0MQA6B;AAIdi4BAAx0MMj4BU,A;uCA00MFi4BAA10MEj4BW,A;IA00MmBi4BAA10MnBj4BQ,A;gGA+5MF+6BQ;60CA6pJWsBoB;AAAOCmB;AAAM5UqB;AAASCmB;qHAKxC0UoB;AAAcAiB;aACdCmB;AAAaAgB;aACb5UkB;4BACACmB;wFAE4B0UoB;AAAMCmB;AAAK5UqB;AAAOCQ;CAAAAU;spCA8oC9BbU;8CAAAAAA4DX4RoB,A;kJAjDDqEwB;uCAiDCrEkB;qDAIPGI;2DA0GkC/RAA9G3B4RkB,A;mBA8G2B5RwB;AAAYkWQ;qBAG9CnWAA7GAgSI,A;EA6GAhSwB;AAAYmWa;8bAiBNDoB;UACAEI;MAAAAc;kCAQAFoB;YACOEI;MAAAAY;iIA+yBElMY;2EAWCmMiB;sBAaTpEoC;mBAImBqEU;EAAAAuC;+BAInBCAAiDDCqB,A;+CAwhCmBtMQ;qPA+Cd/wBkB;sBAAAAW;61BAgtDC8mBAAnyHL4RmC,A;orBAioKI5RAAjoKJ4RG,kvB;iwBAyrKUEAD3hvCJ0ES,A;AC4hvCMnV0B;AAGgBrB6C;iCAAAAQ;YAAAAAA7rK5B4R2B,A;AA+rKiB5RAA/rKjB4RmH,A;wGA+jKL6E0F;0HAiBICK;iEAAAAsBAwBJ7RiC,iB;4xBsB3kwCE8RgB;8OAqCyCpVW;wBAyBfFE;khBpBoZuBuVmB;gCAIHAmB;oCAGDAmB;4eA1QF7NAHwGpC7vBU,A;OGxGoC6vBQHwGpC7vBkB,A;upBIpDkB0wBwB;43BqB0oFJ5JAxBslgClB4RkB,A;qHwB3kgCQ3HY;0BAQf8HI;sCA6B6B74BmB;4DAgCTu8BAxB25mCiCC0B,AAyBvDDAAAAAAACEEAAoFA/RO,Y,AAnFAgSAAiKAhSO,Q,A,A,A;AwBvlnCoBiTAxBghnCpBjTO,AAAQ1qBY,A;AwB9gnCcAAxBs9pChBAW,A;AwBx9pCcu8BuB;oEAUEv8B6B;AAEFi4BAxB0unBTj4Ba,A;8gByBnxsBoB88BkB;8erBzb/BxgCAwBNAshCuD,A;8TxBgCiBCG;gEAAAAqB;AACHhOAO0KsB7vBsB,A;AP1KZ44BiB;aAAAAa;yaAuDP54BsB;qPAsGV89BuD;yFAMPjFyC;0tBAgDEAuC;uEAMFAuC;yZAiCiC9Ha;8bAmCVAQ;sGAY2BjKAJswlChBAAA9G3B4RyB,A,A;AIxplC2CqFAJkhZb/9BS,AAAkBiwBAA9LfjwBa,A,A;AIp1YU8mBAJswlCJkWY,A;8hBItslClCgBkB;AAAoBC4B;AAEHCqB;AACQCwB;AAEcAgE;AAC7CC8D;uuqBnCozBWC0G;mEAUAC8G;iEAUACuD;mEAUAC2D;wHwB5sBgCCU;sZIiB/BCM;8yC1BzZOCAAsE3B//BAIzJAr8BuB,A,A;AA+EkB8SAA8CgBwpBAANKv8B" + } +} diff --git a/doc/api/static-assets/favicon.png b/doc/api/static-assets/favicon.png new file mode 100644 index 0000000..43d2ffa Binary files /dev/null and b/doc/api/static-assets/favicon.png differ diff --git a/doc/api/static-assets/github.css b/doc/api/static-assets/github.css new file mode 100644 index 0000000..791932b --- /dev/null +++ b/doc/api/static-assets/github.css @@ -0,0 +1,99 @@ +/* + +github.com style (c) Vasily Polovnyov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #333; + background: #f8f8f8; +} + +.hljs-comment, +.hljs-quote { + color: #998; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-subst { + color: #333; + font-weight: bold; +} + +.hljs-number, +.hljs-literal, +.hljs-variable, +.hljs-template-variable, +.hljs-tag .hljs-attr { + color: #008080; +} + +.hljs-string, +.hljs-doctag { + color: #d14; +} + +.hljs-title, +.hljs-section, +.hljs-selector-id { + color: #900; + font-weight: bold; +} + +.hljs-subst { + font-weight: normal; +} + +.hljs-type, +.hljs-class .hljs-title { + color: #458; + font-weight: bold; +} + +.hljs-tag, +.hljs-name, +.hljs-attribute { + color: #000080; + font-weight: normal; +} + +.hljs-regexp, +.hljs-link { + color: #009926; +} + +.hljs-symbol, +.hljs-bullet { + color: #990073; +} + +.hljs-built_in, +.hljs-builtin-name { + color: #0086b3; +} + +.hljs-meta { + color: #999; + font-weight: bold; +} + +.hljs-deletion { + background: #fdd; +} + +.hljs-addition { + background: #dfd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/doc/api/static-assets/highlight.pack.js b/doc/api/static-assets/highlight.pack.js new file mode 100644 index 0000000..dabdd3c --- /dev/null +++ b/doc/api/static-assets/highlight.pack.js @@ -0,0 +1,775 @@ +/*! + Highlight.js v11.0.1 (git: 1cf31f015d) + (c) 2006-2021 Ivan Sagalaev and other contributors + License: BSD-3-Clause + */ +var hljs=function(){"use strict";var e={exports:{}};function t(e){ +return e instanceof Map?e.clear=e.delete=e.set=()=>{ +throw Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=()=>{ +throw Error("set is read-only") +}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((n=>{var i=e[n] +;"object"!=typeof i||Object.isFrozen(i)||t(i)})),e} +e.exports=t,e.exports.default=t;var n=e.exports;class i{constructor(e){ +void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} +ignoreMatch(){this.isMatchIgnored=!0}}function r(e){ +return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'") +}function s(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t] +;return t.forEach((e=>{for(const t in e)n[t]=e[t]})),n}const o=e=>!!e.kind +;class a{constructor(e,t){ +this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){ +this.buffer+=r(e)}openNode(e){if(!o(e))return;let t=e.kind +;t=e.sublanguage?"language-"+t:((e,{prefix:t})=>{if(e.includes(".")){ +const n=e.split(".") +;return[`${t}${n.shift()}`,...n.map(((e,t)=>`${e}${"_".repeat(t+1)}`))].join(" ") +}return`${t}${e}`})(t,{prefix:this.classPrefix}),this.span(t)}closeNode(e){ +o(e)&&(this.buffer+="")}value(){return this.buffer}span(e){ +this.buffer+=``}}class l{constructor(){this.rootNode={ +children:[]},this.stack=[this.rootNode]}get top(){ +return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){ +this.top.children.push(e)}openNode(e){const t={kind:e,children:[]} +;this.add(t),this.stack.push(t)}closeNode(){ +if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ +for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} +walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){ +return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t), +t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){ +"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{ +l._collapse(e)})))}}class c extends l{constructor(e){super(),this.options=e} +addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())} +addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root +;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){ +return new a(this,this.options).value()}finalize(){return!0}}function g(e){ +return e?"string"==typeof e?e:e.source:null}function d(...e){ +return e.map((e=>g(e))).join("")}function u(...e){return"("+((e=>{ +const t=e[e.length-1] +;return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{} +})(e).capture?"":"?:")+e.map((e=>g(e))).join("|")+")"}function h(e){ +return RegExp(e.toString()+"|").exec("").length-1} +const f=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./ +;function p(e,{joinWith:t}){let n=0;return e.map((e=>{n+=1;const t=n +;let i=g(e),r="";for(;i.length>0;){const e=f.exec(i);if(!e){r+=i;break} +r+=i.substring(0,e.index), +i=i.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?r+="\\"+(Number(e[1])+t):(r+=e[0], +"("===e[0]&&n++)}return r})).map((e=>`(${e})`)).join(t)} +const b="[a-zA-Z]\\w*",m="[a-zA-Z_]\\w*",E="\\b\\d+(\\.\\d+)?",x="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",y="\\b(0b[01]+)",w={ +begin:"\\\\[\\s\\S]",relevance:0},_={scope:"string",begin:"'",end:"'", +illegal:"\\n",contains:[w]},v={scope:"string",begin:'"',end:'"',illegal:"\\n", +contains:[w]},O=(e,t,n={})=>{const i=s({scope:"comment",begin:e,end:t, +contains:[]},n);i.contains.push({scope:"doctag", +begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)", +end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0}) +;const r=u("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/) +;return i.contains.push({begin:d(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i +},k=O("//","$"),N=O("/\\*","\\*/"),S=O("#","$");var M=Object.freeze({ +__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:b,UNDERSCORE_IDENT_RE:m, +NUMBER_RE:E,C_NUMBER_RE:x,BINARY_NUMBER_RE:y, +RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", +SHEBANG:(e={})=>{const t=/^#![ ]*\// +;return e.binary&&(e.begin=d(t,/.*\b/,e.binary,/\b.*/)),s({scope:"meta",begin:t, +end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)}, +BACKSLASH_ESCAPE:w,APOS_STRING_MODE:_,QUOTE_STRING_MODE:v,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/ +},COMMENT:O,C_LINE_COMMENT_MODE:k,C_BLOCK_COMMENT_MODE:N,HASH_COMMENT_MODE:S, +NUMBER_MODE:{scope:"number",begin:E,relevance:0},C_NUMBER_MODE:{scope:"number", +begin:x,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:y,relevance:0}, +REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//, +end:/\/[gimuy]*/,illegal:/\n/,contains:[w,{begin:/\[/,end:/\]/,relevance:0, +contains:[w]}]}]},TITLE_MODE:{scope:"title",begin:b,relevance:0}, +UNDERSCORE_TITLE_MODE:{scope:"title",begin:m,relevance:0},METHOD_GUARD:{ +begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:e=>Object.assign(e,{ +"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{ +t.data._beginMatch!==e[1]&&t.ignoreMatch()}})});function R(e,t){ +"."===e.input[e.index-1]&&t.ignoreMatch()}function j(e,t){ +void 0!==e.className&&(e.scope=e.className,delete e.className)}function A(e,t){ +t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", +e.__beforeBegin=R,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, +void 0===e.relevance&&(e.relevance=0))}function I(e,t){ +Array.isArray(e.illegal)&&(e.illegal=u(...e.illegal))}function B(e,t){ +if(e.match){ +if(e.begin||e.end)throw Error("begin & end are not supported with match") +;e.begin=e.match,delete e.match}}function T(e,t){ +void 0===e.relevance&&(e.relevance=1)}const L=(e,t)=>{if(!e.beforeMatch)return +;if(e.starts)throw Error("beforeMatch cannot be used with starts") +;const n=Object.assign({},e);Object.keys(e).forEach((t=>{delete e[t] +})),e.keywords=n.keywords, +e.begin=d(n.beforeMatch,d("(?=",n.begin,")")),e.starts={relevance:0, +contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch +},D=["of","and","for","in","not","or","if","then","parent","list","value"] +;function P(e,t,n="keyword"){const i=Object.create(null) +;return"string"==typeof e?r(n,e.split(" ")):Array.isArray(e)?r(n,e):Object.keys(e).forEach((n=>{ +Object.assign(i,P(e[n],t,n))})),i;function r(e,n){ +t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((t=>{const n=t.split("|") +;i[n[0]]=[e,C(n[0],n[1])]}))}}function C(e,t){ +return t?Number(t):(e=>D.includes(e.toLowerCase()))(e)?0:1}const H={},$=e=>{ +console.error(e)},U=(e,...t)=>{console.log("WARN: "+e,...t)},z=(e,t)=>{ +H[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),H[`${e}/${t}`]=!0) +},K=Error();function W(e,t,{key:n}){let i=0;const r=e[n],s={},o={} +;for(let e=1;e<=t.length;e++)o[e+i]=r[e],s[e+i]=!0,i+=h(t[e-1]) +;e[n]=o,e[n]._emit=s,e[n]._multi=!0}function X(e){(e=>{ +e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope, +delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={ +_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope +}),(e=>{if(Array.isArray(e.begin)){ +if(e.skip||e.excludeBegin||e.returnBegin)throw $("skip, excludeBegin, returnBegin not compatible with beginScope: {}"), +K +;if("object"!=typeof e.beginScope||null===e.beginScope)throw $("beginScope must be object"), +K;W(e,e.begin,{key:"beginScope"}),e.begin=p(e.begin,{joinWith:""})}})(e),(e=>{ +if(Array.isArray(e.end)){ +if(e.skip||e.excludeEnd||e.returnEnd)throw $("skip, excludeEnd, returnEnd not compatible with endScope: {}"), +K +;if("object"!=typeof e.endScope||null===e.endScope)throw $("endScope must be object"), +K;W(e,e.end,{key:"endScope"}),e.end=p(e.end,{joinWith:""})}})(e)}function G(e){ +function t(t,n){return RegExp(g(t),"m"+(e.case_insensitive?"i":"")+(n?"g":""))} +class n{constructor(){ +this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} +addRule(e,t){ +t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]), +this.matchAt+=h(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null) +;const e=this.regexes.map((e=>e[1]));this.matcherRe=t(p(e,{joinWith:"|" +}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex +;const t=this.matcherRe.exec(e);if(!t)return null +;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),i=this.matchIndexes[n] +;return t.splice(0,n),Object.assign(t,i)}}class i{constructor(){ +this.rules=[],this.multiRegexes=[], +this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){ +if(this.multiRegexes[e])return this.multiRegexes[e];const t=new n +;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))), +t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){ +return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){ +this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){ +const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex +;let n=t.exec(e) +;if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{ +const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)} +return n&&(this.regexIndex+=n.position+1, +this.regexIndex===this.count&&this.considerAll()),n}} +if(e.compilerExtensions||(e.compilerExtensions=[]), +e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") +;return e.classNameAliases=s(e.classNameAliases||{}),function n(r,o){const a=r +;if(r.isCompiled)return a +;[j,B,X,L].forEach((e=>e(r,o))),e.compilerExtensions.forEach((e=>e(r,o))), +r.__beforeBegin=null,[A,I,T].forEach((e=>e(r,o))),r.isCompiled=!0;let l=null +;return"object"==typeof r.keywords&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords), +l=r.keywords.$pattern, +delete r.keywords.$pattern),l=l||/\w+/,r.keywords&&(r.keywords=P(r.keywords,e.case_insensitive)), +a.keywordPatternRe=t(l,!0), +o&&(r.begin||(r.begin=/\B|\b/),a.beginRe=t(r.begin),r.end||r.endsWithParent||(r.end=/\B|\b/), +r.end&&(a.endRe=t(r.end)), +a.terminatorEnd=g(r.end)||"",r.endsWithParent&&o.terminatorEnd&&(a.terminatorEnd+=(r.end?"|":"")+o.terminatorEnd)), +r.illegal&&(a.illegalRe=t(r.illegal)), +r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((t=>s(e,{ +variants:null},t)))),e.cachedVariants?e.cachedVariants:Z(e)?s(e,{ +starts:e.starts?s(e.starts):null +}):Object.isFrozen(e)?s(e):e))("self"===e?r:e)))),r.contains.forEach((e=>{n(e,a) +})),r.starts&&n(r.starts,o),a.matcher=(e=>{const t=new i +;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin" +}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end" +}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t})(a),a}(e)}function Z(e){ +return!!e&&(e.endsWithParent||Z(e.starts))}const F=r,V=s,q=Symbol("nomatch") +;var J=(e=>{const t=Object.create(null),r=Object.create(null),s=[];let o=!0 +;const a="Could not find the language '{}', did you forget to load/include a language module?",l={ +disableAutodetect:!0,name:"Plain text",contains:[]};let g={ +ignoreUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i, +languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", +cssSelector:"pre code",languages:null,__emitter:c};function d(e){ +return g.noHighlightRe.test(e)}function u(e,t,n,i){let r="",s="" +;"object"==typeof t?(r=e, +n=t.ignoreIllegals,s=t.language,i=void 0):(z("10.7.0","highlight(lang, code, ...args) has been deprecated."), +z("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), +s=e,r=t),void 0===n&&(n=!0);const o={code:r,language:s};w("before:highlight",o) +;const a=o.result?o.result:h(o.language,o.code,n,i) +;return a.code=o.code,w("after:highlight",a),a}function h(e,n,r,s){ +const l=Object.create(null);function c(){if(!k.keywords)return void S.addText(M) +;let e=0;k.keywordPatternRe.lastIndex=0;let t=k.keywordPatternRe.exec(M),n="" +;for(;t;){n+=M.substring(e,t.index) +;const r=_.case_insensitive?t[0].toLowerCase():t[0],s=(i=r,k.keywords[i]);if(s){ +const[e,i]=s +;if(S.addText(n),n="",l[r]=(l[r]||0)+1,l[r]<=7&&(R+=i),e.startsWith("_"))n+=t[0];else{ +const n=_.classNameAliases[e]||e;S.addKeyword(t[0],n)}}else n+=t[0] +;e=k.keywordPatternRe.lastIndex,t=k.keywordPatternRe.exec(M)}var i +;n+=M.substr(e),S.addText(n)}function d(){null!=k.subLanguage?(()=>{ +if(""===M)return;let e=null;if("string"==typeof k.subLanguage){ +if(!t[k.subLanguage])return void S.addText(M) +;e=h(k.subLanguage,M,!0,N[k.subLanguage]),N[k.subLanguage]=e._top +}else e=f(M,k.subLanguage.length?k.subLanguage:null) +;k.relevance>0&&(R+=e.relevance),S.addSublanguage(e._emitter,e.language) +})():c(),M=""}function u(e,t){let n=1;for(;void 0!==t[n];){if(!e._emit[n]){n++ +;continue}const i=_.classNameAliases[e[n]]||e[n],r=t[n] +;i?S.addKeyword(r,i):(M=r,c(),M=""),n++}}function p(e,t){ +return e.scope&&"string"==typeof e.scope&&S.openNode(_.classNameAliases[e.scope]||e.scope), +e.beginScope&&(e.beginScope._wrap?(S.addKeyword(M,_.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap), +M=""):e.beginScope._multi&&(u(e.beginScope,t),M="")),k=Object.create(e,{parent:{ +value:k}}),k}function b(e,t,n){let r=((e,t)=>{const n=e&&e.exec(t) +;return n&&0===n.index})(e.endRe,n);if(r){if(e["on:end"]){const n=new i(e) +;e["on:end"](t,n),n.isMatchIgnored&&(r=!1)}if(r){ +for(;e.endsParent&&e.parent;)e=e.parent;return e}} +if(e.endsWithParent)return b(e.parent,t,n)}function m(e){ +return 0===k.matcher.regexIndex?(M+=e[0],1):(I=!0,0)}function x(e){ +const t=e[0],i=n.substr(e.index),r=b(k,e,i);if(!r)return q;const s=k +;k.endScope&&k.endScope._wrap?(d(), +S.addKeyword(t,k.endScope._wrap)):k.endScope&&k.endScope._multi?(d(), +u(k.endScope,e)):s.skip?M+=t:(s.returnEnd||s.excludeEnd||(M+=t), +d(),s.excludeEnd&&(M=t));do{ +k.scope&&!k.isMultiClass&&S.closeNode(),k.skip||k.subLanguage||(R+=k.relevance), +k=k.parent}while(k!==r.parent) +;return r.starts&&p(r.starts,e),s.returnEnd?0:t.length}let y={};function w(t,s){ +const a=s&&s[0];if(M+=t,null==a)return d(),0 +;if("begin"===y.type&&"end"===s.type&&y.index===s.index&&""===a){ +if(M+=n.slice(s.index,s.index+1),!o){const t=Error(`0 width match regex (${e})`) +;throw t.languageName=e,t.badRule=y.rule,t}return 1} +if(y=s,"begin"===s.type)return(e=>{ +const t=e[0],n=e.rule,r=new i(n),s=[n.__beforeBegin,n["on:begin"]] +;for(const n of s)if(n&&(n(e,r),r.isMatchIgnored))return m(t) +;return n.skip?M+=t:(n.excludeBegin&&(M+=t), +d(),n.returnBegin||n.excludeBegin||(M=t)),p(n,e),n.returnBegin?0:t.length})(s) +;if("illegal"===s.type&&!r){ +const e=Error('Illegal lexeme "'+a+'" for mode "'+(k.scope||"")+'"') +;throw e.mode=k,e}if("end"===s.type){const e=x(s);if(e!==q)return e} +if("illegal"===s.type&&""===a)return 1 +;if(A>1e5&&A>3*s.index)throw Error("potential infinite loop, way more iterations than matches") +;return M+=a,a.length}const _=E(e) +;if(!_)throw $(a.replace("{}",e)),Error('Unknown language: "'+e+'"') +;const v=G(_);let O="",k=s||v;const N={},S=new g.__emitter(g);(()=>{const e=[] +;for(let t=k;t!==_;t=t.parent)t.scope&&e.unshift(t.scope) +;e.forEach((e=>S.openNode(e)))})();let M="",R=0,j=0,A=0,I=!1;try{ +for(k.matcher.considerAll();;){ +A++,I?I=!1:k.matcher.considerAll(),k.matcher.lastIndex=j +;const e=k.matcher.exec(n);if(!e)break;const t=w(n.substring(j,e.index),e) +;j=e.index+t}return w(n.substr(j)),S.closeAllNodes(),S.finalize(),O=S.toHTML(),{ +language:e,value:O,relevance:R,illegal:!1,_emitter:S,_top:k}}catch(t){ +if(t.message&&t.message.includes("Illegal"))return{language:e,value:F(n), +illegal:!0,relevance:0,_illegalBy:{message:t.message,index:j, +context:n.slice(j-100,j+100),mode:t.mode,resultSoFar:O},_emitter:S};if(o)return{ +language:e,value:F(n),illegal:!1,relevance:0,errorRaised:t,_emitter:S,_top:k} +;throw t}}function f(e,n){n=n||g.languages||Object.keys(t);const i=(e=>{ +const t={value:F(e),illegal:!1,relevance:0,_top:l,_emitter:new g.__emitter(g)} +;return t._emitter.addText(e),t})(e),r=n.filter(E).filter(y).map((t=>h(t,e,!1))) +;r.unshift(i);const s=r.sort(((e,t)=>{ +if(e.relevance!==t.relevance)return t.relevance-e.relevance +;if(e.language&&t.language){if(E(e.language).supersetOf===t.language)return 1 +;if(E(t.language).supersetOf===e.language)return-1}return 0})),[o,a]=s,c=o +;return c.secondBest=a,c}function p(e){let t=null;const n=(e=>{ +let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"" +;const n=g.languageDetectRe.exec(t);if(n){const t=E(n[1]) +;return t||(U(a.replace("{}",n[1])), +U("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"} +return t.split(/\s+/).find((e=>d(e)||E(e)))})(e);if(d(n))return +;w("before:highlightElement",{el:e,language:n +}),!g.ignoreUnescapedHTML&&e.children.length>0&&(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."), +console.warn("https://github.com/highlightjs/highlight.js/issues/2886"), +console.warn(e)),t=e;const i=t.textContent,s=n?u(i,{language:n,ignoreIllegals:!0 +}):f(i);e.innerHTML=s.value,((e,t,n)=>{const i=t&&r[t]||n +;e.classList.add("hljs"),e.classList.add("language-"+i) +})(e,n,s.language),e.result={language:s.language,re:s.relevance, +relevance:s.relevance},s.secondBest&&(e.secondBest={ +language:s.secondBest.language,relevance:s.secondBest.relevance +}),w("after:highlightElement",{el:e,result:s,text:i})}let b=!1;function m(){ +"loading"!==document.readyState?document.querySelectorAll(g.cssSelector).forEach(p):b=!0 +}function E(e){return e=(e||"").toLowerCase(),t[e]||t[r[e]]} +function x(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ +r[e.toLowerCase()]=t}))}function y(e){const t=E(e) +;return t&&!t.disableAutodetect}function w(e,t){const n=e;s.forEach((e=>{ +e[n]&&e[n](t)}))} +"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(()=>{ +b&&m()}),!1),Object.assign(e,{highlight:u,highlightAuto:f,highlightAll:m, +highlightElement:p, +highlightBlock:e=>(z("10.7.0","highlightBlock will be removed entirely in v12.0"), +z("10.7.0","Please use highlightElement now."),p(e)),configure:e=>{g=V(g,e)}, +initHighlighting:()=>{ +m(),z("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")}, +initHighlightingOnLoad:()=>{ +m(),z("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.") +},registerLanguage:(n,i)=>{let r=null;try{r=i(e)}catch(e){ +if($("Language definition for '{}' could not be registered.".replace("{}",n)), +!o)throw e;$(e),r=l} +r.name||(r.name=n),t[n]=r,r.rawDefinition=i.bind(null,e),r.aliases&&x(r.aliases,{ +languageName:n})},unregisterLanguage:e=>{delete t[e] +;for(const t of Object.keys(r))r[t]===e&&delete r[t]}, +listLanguages:()=>Object.keys(t),getLanguage:E,registerAliases:x, +autoDetection:y,inherit:V,addPlugin:e=>{(e=>{ +e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{ +e["before:highlightBlock"](Object.assign({block:t.el},t)) +}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{ +e["after:highlightBlock"](Object.assign({block:t.el},t))})})(e),s.push(e)} +}),e.debugMode=()=>{o=!1},e.safeMode=()=>{o=!0},e.versionString="11.0.1" +;for(const e in M)"object"==typeof M[e]&&n(M[e]);return Object.assign(e,M),e +})({}),Y=Object.freeze({__proto__:null});const Q=J +;for(const e of Object.keys(Y)){const t=e.replace("grmr_","") +;Q.registerLanguage(t,Y[e])}return Q}() +;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);hljs.registerLanguage("xml",(()=>{"use strict";function e(e){ +return e?"string"==typeof e?e:e.source:null}function n(e){return a("(?=",e,")")} +function a(...n){return n.map((n=>e(n))).join("")}function s(...n){ +return"("+((e=>{const n=e[e.length-1] +;return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{} +})(n).capture?"":"?:")+n.map((n=>e(n))).join("|")+")"}return e=>{ +const t=a(/[A-Z_]/,a("(?:",/[A-Z0-9_.-]*:/,")?"),/[A-Z0-9_.-]*/),i={ +className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},c={begin:/\s/, +contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}] +},r=e.inherit(c,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{ +className:"string"}),g=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),m={ +endsWithParent:!0,illegal:/`]+/}]}]}]};return{ +name:"HTML, XML", +aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], +case_insensitive:!0,contains:[{className:"meta",begin://, +relevance:10,contains:[c,g,l,r,{begin:/\[/,end:/\]/,contains:[{className:"meta", +begin://,contains:[c,r,g,l]}]}]},e.COMMENT(//,{ +relevance:10}),{begin://,relevance:10},i,{ +className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"style"},contains:[m],starts:{ +end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"script"},contains:[m],starts:{ +end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{ +className:"tag",begin:/<>|<\/>/},{className:"tag", +begin:a(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name", +begin:t,relevance:0,starts:m}]},{className:"tag",begin:a(/<\//,n(a(t,/>/))), +contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0, +endsParent:!0}]}]}}})());hljs.registerLanguage("markdown",(()=>{"use strict";function n(...n){ +return n.map((n=>{return(e=n)?"string"==typeof e?e:e.source:null;var e +})).join("")}return e=>{const a={begin:/<\/?[A-Za-z_]/,end:">", +subLanguage:"xml",relevance:0},i={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0 +},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, +relevance:2},{begin:n(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/), +relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{ +begin:/\[.+?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{ +className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0, +returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)", +excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[", +end:"\\]",excludeBegin:!0,excludeEnd:!0}]},s={className:"strong",contains:[], +variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},c={ +className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{ +begin:/_(?!_)/,end:/_/,relevance:0}]};s.contains.push(c),c.contains.push(s) +;let t=[a,i] +;return s.contains=s.contains.concat(t),c.contains=c.contains.concat(t), +t=t.concat(s,c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{ +className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:t},{ +begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n", +contains:t}]}]},a,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", +end:"\\s+",excludeEnd:!0},s,c,{className:"quote",begin:"^>\\s+",contains:t, +end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{ +begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{ +begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))", +contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{ +begin:"^[-\\*]{3,}",end:"$"},i,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{ +className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{ +className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}})());hljs.registerLanguage("css",(()=>{"use strict" +;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],o=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],r=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-variant","font-variant-ligatures","font-variation-settings","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","src","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"].reverse() +;return n=>{const a=(e=>({IMPORTANT:{scope:"meta",begin:"!important"},HEXCOLOR:{ +scope:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"}, +ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$", +contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{ +scope:"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}}))(n),l=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE];return{name:"CSS", +case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"}, +classNameAliases:{keyframePosition:"selector-tag"}, +contains:[n.C_BLOCK_COMMENT_MODE,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/ +},a.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0 +},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 +},a.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ +begin:":("+i.join("|")+")"},{begin:"::("+o.join("|")+")"}]},{ +className:"attribute",begin:"\\b("+r.join("|")+")\\b"},{begin:":",end:"[;}]", +contains:[a.HEXCOLOR,a.IMPORTANT,a.CSS_NUMBER_MODE,...l,{ +begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" +},contains:[{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}] +},{className:"built_in",begin:/[\w-]+(?=\()/}]},{ +begin:(s=/@/,((...e)=>e.map((e=>(e=>e?"string"==typeof e?e:e.source:null)(e))).join(""))("(?=",s,")")), +end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword", +begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0, +relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only", +attribute:t.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute" +},...l,a.CSS_NUMBER_MODE]}]},{className:"selector-tag", +begin:"\\b("+e.join("|")+")\\b"}]};var s}})());hljs.registerLanguage("plaintext",(()=>{"use strict";return t=>({ +name:"Plain text",aliases:["text","txt"],disableAutodetect:!0})})());hljs.registerLanguage("bash",(()=>{"use strict";function e(...e){ +return e.map((e=>{return(s=e)?"string"==typeof s?s:s.source:null;var s +})).join("")}return s=>{const n={},t={begin:/\$\{/,end:/\}/,contains:["self",{ +begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{ +begin:e(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},t]});const a={ +className:"subst",begin:/\$\(/,end:/\)/,contains:[s.BACKSLASH_ESCAPE]},i={ +begin:/<<-?\s*(?=\w+)/,starts:{contains:[s.END_SAME_AS_BEGIN({begin:/(\w+)/, +end:/(\w+)/,className:"string"})]}},c={className:"string",begin:/"/,end:/"/, +contains:[s.BACKSLASH_ESCAPE,n,a]};a.contains.push(c);const o={begin:/\$\(\(/, +end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},s.NUMBER_MODE,n] +},r=s.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 +}),l={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, +contains:[s.inherit(s.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ +name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z._-]+\b/, +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" +},contains:[r,s.SHEBANG(),l,o,s.HASH_COMMENT_MODE,i,c,{className:"",begin:/\\"/ +},{className:"string",begin:/'/,end:/'/},n]}}})());hljs.registerLanguage("kotlin",(()=>{"use strict" +;var e="\\.([0-9](_*[0-9])*)",n="[0-9a-fA-F](_*[0-9a-fA-F])*",a={ +className:"number",variants:[{ +begin:`(\\b([0-9](_*[0-9])*)((${e})|\\.)?|(${e}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` +},{begin:`\\b([0-9](_*[0-9])*)((${e})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ +begin:`(${e})[fFdD]?\\b`},{begin:"\\b([0-9](_*[0-9])*)[fFdD]\\b"},{ +begin:`\\b0[xX]((${n})\\.?|(${n})?\\.(${n}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` +},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${n})[lL]?\\b`},{ +begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], +relevance:0};return e=>{const n={ +keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", +built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing", +literal:"true false null"},i={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@" +},s={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},t={ +className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string", +variants:[{begin:'"""',end:'"""(?=[^"])',contains:[t,s]},{begin:"'",end:"'", +illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/, +contains:[e.BACKSLASH_ESCAPE,t,s]}]};s.contains.push(r);const l={ +className:"meta", +begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?" +},c={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/, +end:/\)/,contains:[e.inherit(r,{className:"string"})]}] +},o=a,b=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),E={ +variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/, +contains:[]}]},d=E;return d.variants[1].contains=[E],E.variants[1].contains=[d], +{name:"Kotlin",aliases:["kt","kts"],keywords:n, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag", +begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,b,{className:"keyword", +begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol", +begin:/@\w+/}]}},i,l,c,{className:"function",beginKeywords:"fun",end:"[(]|$", +returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{ +begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, +contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://, +keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/, +endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/, +endsWithParent:!0,contains:[E,e.C_LINE_COMMENT_MODE,b],relevance:0 +},e.C_LINE_COMMENT_MODE,b,l,c,r,e.C_NUMBER_MODE]},b]},{className:"class", +beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0, +illegal:"extends implements",contains:[{ +beginKeywords:"public protected internal private constructor" +},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0, +excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/, +excludeBegin:!0,returnEnd:!0},l,c]},r,{className:"meta",begin:"^#!/usr/bin/env", +end:"$",illegal:"\n"},o]}}})());hljs.registerLanguage("diff",(()=>{"use strict";function e(...e){ +return"("+((e=>{const n=e[e.length-1] +;return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{} +})(e).capture?"":"?:")+e.map((e=>{return(n=e)?"string"==typeof n?n:n.source:null +;var n})).join("|")+")"}return n=>({name:"Diff",aliases:["patch"],contains:[{ +className:"meta",relevance:10, +match:e(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/) +},{className:"comment",variants:[{ +begin:e(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/), +end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{ +className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, +end:/$/}]})})());hljs.registerLanguage("shell",(()=>{"use strict";return s=>({ +name:"Shell Session",aliases:["console","shellsession"],contains:[{ +className:"meta",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{ +end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]})})());hljs.registerLanguage("json",(()=>{"use strict";return e=>({name:"JSON", +contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01 +},{match:/[{}[\],:]/,className:"punctuation",relevance:0},e.QUOTE_STRING_MODE,{ +beginKeywords:"true false null" +},e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}) +})());hljs.registerLanguage("java",(()=>{"use strict" +;var e="\\.([0-9](_*[0-9])*)",a="[0-9a-fA-F](_*[0-9a-fA-F])*",n={ +className:"number",variants:[{ +begin:`(\\b([0-9](_*[0-9])*)((${e})|\\.)?|(${e}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` +},{begin:`\\b([0-9](_*[0-9])*)((${e})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ +begin:`(${e})[fFdD]?\\b`},{begin:"\\b([0-9](_*[0-9])*)[fFdD]\\b"},{ +begin:`\\b0[xX]((${a})\\.?|(${a})?\\.(${a}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` +},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${a})[lL]?\\b`},{ +begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], +relevance:0};function s(e,a,n){return-1===n?"":e.replace(a,(t=>s(e,a,n-1)))} +return e=>{ +const a="[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*",t=a+s("(?:<"+a+"~~~(?:\\s*,\\s*"+a+"~~~)*>)?",/~~~/g,2),i={ +keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do"], +literal:["false","true","null"], +type:["char","boolean","long","float","int","byte","short","double"], +built_in:["super","this"]},r={className:"meta",begin:"@"+a,contains:[{ +begin:/\(/,end:/\)/,contains:["self"]}]},l={className:"params",begin:/\(/, +end:/\)/,keywords:i,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0} +;return{name:"Java",aliases:["jsp"],keywords:i,illegal:/<\/|#/, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/, +relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{ +begin:/import java\.[a-z]+\./,keywords:"import",relevance:2 +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{ +match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,a],className:{ +1:"keyword",3:"title.class"}},{begin:[a,/\s+/,a,/\s+/,/=/],className:{1:"type", +3:"variable",5:"operator"}},{begin:[/record/,/\s+/,a],className:{1:"keyword", +3:"title.class"},contains:[l,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ +beginKeywords:"new throw return else",relevance:0},{ +begin:["(?:"+t+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{ +2:"title.function"},keywords:i,contains:[{className:"params",begin:/\(/, +end:/\)/,keywords:i,relevance:0, +contains:[r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,n,e.C_BLOCK_COMMENT_MODE] +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},n,r]}}})());hljs.registerLanguage("objectivec",(()=>{"use strict";return e=>{ +const n=/[a-zA-Z@][a-zA-Z0-9_]*/,_={$pattern:n, +keyword:["@interface","@class","@protocol","@implementation"]};return{ +name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"], +keywords:{$pattern:n, +keyword:["int","float","while","char","export","sizeof","typedef","const","struct","for","union","unsigned","long","volatile","static","bool","mutable","if","do","return","goto","void","enum","else","break","extern","asm","case","short","default","double","register","explicit","signed","typename","this","switch","continue","wchar_t","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","super","unichar","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"], +literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"], +built_in:["BOOL","dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"] +},illegal:"/,end:/$/,illegal:"\\n" +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class", +begin:"("+_.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:_, +contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE, +relevance:0}]}}})());hljs.registerLanguage("dart",(()=>{"use strict";return e=>{const n={ +className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"}]},a={className:"subst", +variants:[{begin:/\$\{/,end:/\}/}],keywords:"true false null this is new super" +},t={className:"string",variants:[{begin:"r'''",end:"'''"},{begin:'r"""', +end:'"""'},{begin:"r'",end:"'",illegal:"\\n"},{begin:'r"',end:'"',illegal:"\\n" +},{begin:"'''",end:"'''",contains:[e.BACKSLASH_ESCAPE,n,a]},{begin:'"""', +end:'"""',contains:[e.BACKSLASH_ESCAPE,n,a]},{begin:"'",end:"'",illegal:"\\n", +contains:[e.BACKSLASH_ESCAPE,n,a]},{begin:'"',end:'"',illegal:"\\n", +contains:[e.BACKSLASH_ESCAPE,n,a]}]};a.contains=[e.C_NUMBER_MODE,t] +;const i=["Comparable","DateTime","Duration","Function","Iterable","Iterator","List","Map","Match","Object","Pattern","RegExp","Set","Stopwatch","String","StringBuffer","StringSink","Symbol","Type","Uri","bool","double","int","num","Element","ElementList"],r=i.map((e=>e+"?")) +;return{name:"Dart",keywords:{ +keyword:["abstract","as","assert","async","await","break","case","catch","class","const","continue","covariant","default","deferred","do","dynamic","else","enum","export","extends","extension","external","factory","false","final","finally","for","Function","get","hide","if","implements","import","in","inferface","is","late","library","mixin","new","null","on","operator","part","required","rethrow","return","set","show","static","super","switch","sync","this","throw","true","try","typedef","var","void","while","with","yield"], +built_in:i.concat(r).concat(["Never","Null","dynamic","print","document","querySelector","querySelectorAll","window"]), +$pattern:/[A-Za-z][A-Za-z0-9_]*\??/}, +contains:[t,e.COMMENT(/\/\*\*(?!\/)/,/\*\//,{subLanguage:"markdown",relevance:0 +}),e.COMMENT(/\/{3,} ?/,/$/,{contains:[{subLanguage:"markdown",begin:".", +end:"$",relevance:0}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{ +className:"class",beginKeywords:"class interface",end:/\{/,excludeEnd:!0, +contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE] +},e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"},{begin:"=>"}]}}})());hljs.registerLanguage("ruby",(()=>{"use strict";function e(e){ +return n("(?=",e,")")}function n(...e){return e.map((e=>{ +return(n=e)?"string"==typeof n?n:n.source:null;var n})).join("")}return a=>{ +const i="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",s={ +keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor __FILE__", +built_in:"proc lambda",literal:"true false nil"},r={className:"doctag", +begin:"@[A-Za-z]+"},b={begin:"#<",end:">"},c=[a.COMMENT("#","$",{contains:[r] +}),a.COMMENT("^=begin","^=end",{contains:[r],relevance:10 +}),a.COMMENT("^__END__","\\n$")],t={className:"subst",begin:/#\{/,end:/\}/, +keywords:s},g={className:"string",contains:[a.BACKSLASH_ESCAPE,t],variants:[{ +begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/, +end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{ +begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/, +end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{ +begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{ +begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{ +begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{ +begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{ +begin:n(/<<[-~]?'?/,e(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)), +contains:[a.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/, +contains:[a.BACKSLASH_ESCAPE,t]})]}]},d="[0-9](_?[0-9])*",l={className:"number", +relevance:0,variants:[{ +begin:`\\b([1-9](_?[0-9])*|0)(\\.(${d}))?([eE][+-]?(${d})|r)?i?\\b`},{ +begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b" +},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{ +begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{ +begin:"\\b0(_?[0-7])+r?i?\\b"}]},o={className:"params",begin:"\\(",end:"\\)", +endsParent:!0,keywords:s},_=[g,{className:"class",beginKeywords:"class module", +end:"$|;",illegal:/=/,contains:[a.inherit(a.TITLE_MODE,{ +begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|!)?"}),{begin:"<\\s*",contains:[{ +begin:"("+a.IDENT_RE+"::)?"+a.IDENT_RE,relevance:0}]}].concat(c)},{ +className:"function",begin:n(/def\s+/,e(i+"\\s*(\\(|;|$)")),relevance:0, +keywords:"def",end:"$|;",contains:[a.inherit(a.TITLE_MODE,{begin:i +}),o].concat(c)},{begin:a.IDENT_RE+"::"},{className:"symbol", +begin:a.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol", +begin:":(?!\\s)",contains:[g,{begin:i}],relevance:0},l,{className:"variable", +begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{ +className:"params",begin:/\|/,end:/\|/,relevance:0,keywords:s},{ +begin:"("+a.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{ +className:"regexp",contains:[a.BACKSLASH_ESCAPE,t],illegal:/\n/,variants:[{ +begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(", +end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}] +}].concat(b,c),relevance:0}].concat(b,c);t.contains=_,o.contains=_;const E=[{ +begin:/^\s*=>/,starts:{end:"$",contains:_}},{className:"meta", +begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", +starts:{end:"$",contains:_}}];return c.unshift(b),{name:"Ruby", +aliases:["rb","gemspec","podspec","thor","irb"],keywords:s,illegal:/\/\*/, +contains:[a.SHEBANG({binary:"ruby"})].concat(E).concat(c).concat(_)}}})());hljs.registerLanguage("yaml",(()=>{"use strict";return e=>{ +const n="true false yes no null",a="[\\w#;/?:@&=+$,.~*'()[\\]]+",s={ +className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/ +},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable", +variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(s,{ +variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={ +end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},t={begin:/\{/, +end:/\}/,contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]", +contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{ +begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{ +begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$", +relevance:10},{className:"string", +begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{ +begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0, +relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type", +begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a +},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta", +begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)", +relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{ +className:"number", +begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" +},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},t,g,s],c=[...b] +;return c.pop(),c.push(i),l.contains=c,{name:"YAML",case_insensitive:!0, +aliases:["yml"],contains:b}}})());hljs.registerLanguage("javascript",(()=>{"use strict" +;const e="[A-Za-z$_][0-9A-Za-z$_]*",n=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],a=["true","false","null","undefined","NaN","Infinity"],t=["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],s=["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],r=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],i=["arguments","this","super","console","window","document","localStorage","module","global"],c=[].concat(r,t,s) +;function o(e){return l("(?=",e,")")}function l(...e){return e.map((e=>{ +return(n=e)?"string"==typeof n?n:n.source:null;var n})).join("")}return b=>{ +const g=e,d={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/, +isTrulyOpeningTag:(e,n)=>{const a=e[0].length+e.index,t=e.input[a] +;"<"!==t?">"===t&&(((e,{after:n})=>{const a="",B={ +match:[/const|var|let/,/\s+/,g,/\s*/,/=\s*/,o(C)],className:{1:"keyword", +3:"title.function"},contains:[w]};return{name:"Javascript", +aliases:["js","jsx","mjs","cjs"],keywords:u,exports:{PARAMS_CONTAINS:S}, +illegal:/#(?![$_A-z])/,contains:[b.SHEBANG({label:"shebang",binary:"node", +relevance:5}),{label:"use_strict",className:"meta",relevance:10, +begin:/^\s*['"]use (strict|asm)['"]/ +},b.APOS_STRING_MODE,b.QUOTE_STRING_MODE,N,f,A,v,y,O,{className:"attr", +begin:g+o(":"),relevance:0},B,{ +begin:"("+b.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*", +keywords:"return throw case",relevance:0,contains:[v,b.REGEXP_MODE,{ +className:"function",begin:C,returnBegin:!0,end:"\\s*=>",contains:[{ +className:"params",variants:[{begin:b.UNDERSCORE_IDENT_RE,relevance:0},{ +className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0, +excludeEnd:!0,keywords:u,contains:S}]}]},{begin:/,/,relevance:0},{match:/\s+/, +relevance:0},{variants:[{begin:"<>",end:""},{begin:d.begin, +"on:begin":d.isTrulyOpeningTag,end:d.end}],subLanguage:"xml",contains:[{ +begin:d.begin,end:d.end,skip:!0,contains:["self"]}]}]},I,{ +beginKeywords:"while if switch catch for"},{ +begin:"\\b(?!function)"+b.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", +returnBegin:!0,label:"func.def",contains:[w,b.inherit(b.TITLE_MODE,{begin:g, +className:"title.function"})]},{match:/\.\.\./,relevance:0},M,{match:"\\$"+g, +relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"}, +contains:[w]},T,{relevance:0,match:/\b[A-Z][A-Z_]+\b/, +className:"variable.constant"},R,k,{match:/\$[(.]/}]}}})());hljs.registerLanguage("c",(()=>{"use strict";function e(e){ +return((...e)=>e.map((e=>(e=>e?"string"==typeof e?e:e.source:null)(e))).join(""))("(?:",e,")?") +}return n=>{const t=n.COMMENT("//","$",{contains:[{begin:/\\\n/}] +}),s="[a-zA-Z_]\\w*::",r="(decltype\\(auto\\)|"+e(s)+"[a-zA-Z_]\\w*"+e("<[^<>]+>")+")",a={ +className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{ +match:/\batomic_[a-z]{3,6}\b/}]},i={className:"string",variants:[{ +begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[n.BACKSLASH_ESCAPE]},{ +begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", +end:"'",illegal:"."},n.END_SAME_AS_BEGIN({ +begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={ +className:"number",variants:[{begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" +},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ +keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" +},contains:[{begin:/\\\n/,relevance:0},n.inherit(i,{className:"string"}),{ +className:"string",begin:/<.*?>/},t,n.C_BLOCK_COMMENT_MODE]},o={ +className:"title",begin:e(s)+n.IDENT_RE,relevance:0 +},d=e(s)+n.IDENT_RE+"\\s*\\(",u={ +keyword:["asm","auto","break","case","const","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","static","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"], +type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","complex","bool","imaginary"], +literal:"true false NULL", +built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr" +},g=[c,a,t,n.C_BLOCK_COMMENT_MODE,l,i],m={variants:[{begin:/=/,end:/;/},{ +begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], +keywords:u,contains:g.concat([{begin:/\(/,end:/\)/,keywords:u, +contains:g.concat(["self"]),relevance:0}]),relevance:0},_={ +begin:"("+r+"[\\*&\\s]+)+"+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, +keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)", +keywords:u,relevance:0},{begin:d,returnBegin:!0,contains:[n.inherit(o,{ +className:"title.function"})],relevance:0},{relevance:0,match:/,/},{ +className:"params",begin:/\(/,end:/\)/,keywords:u,relevance:0, +contains:[t,n.C_BLOCK_COMMENT_MODE,i,l,a,{begin:/\(/,end:/\)/,keywords:u, +relevance:0,contains:["self",t,n.C_BLOCK_COMMENT_MODE,i,l,a]}] +},a,t,n.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:u, +disableAutodetect:!0,illegal:"=]/,contains:[{ +beginKeywords:"final class struct"},n.TITLE_MODE]}]),exports:{preprocessor:c, +strings:i,keywords:u}}}})());hljs.registerLanguage("swift",(()=>{"use strict";function e(e){ +return e?"string"==typeof e?e:e.source:null}function a(e){return t("(?=",e,")")} +function t(...a){return a.map((a=>e(a))).join("")}function n(...a){ +return"("+((e=>{const a=e[e.length-1] +;return"object"==typeof a&&a.constructor===Object?(e.splice(e.length-1,1),a):{} +})(a).capture?"":"?:")+a.map((a=>e(a))).join("|")+")"} +const i=e=>t(/\b/,e,/\w$/.test(e)?/\b/:/\B/),s=["Protocol","Type"].map(i),u=["init","self"].map(i),c=["Any","Self"],r=["actor","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],o=["false","nil","true"],l=["assignment","associativity","higherThan","left","lowerThan","none","right"],m=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],p=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],F=n(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),d=n(F,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),b=t(F,d,"*"),h=n(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),f=n(h,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),w=t(h,f,"*"),y=t(/[A-Z]/,f,"*"),g=["autoclosure",t(/convention\(/,n("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",t(/objc\(/,w,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],E=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"] +;return e=>{const F={match:/\s+/,relevance:0},h=e.COMMENT("/\\*","\\*/",{ +contains:["self"]}),v=[e.C_LINE_COMMENT_MODE,h],A={match:[/\./,n(...s,...u)], +className:{2:"keyword"}},N={match:t(/\./,n(...r)),relevance:0 +},C=r.filter((e=>"string"==typeof e)).concat(["_|0"]),D={variants:[{ +className:"keyword", +match:n(...r.filter((e=>"string"!=typeof e)).concat(c).map(i),...u)}]},k={ +$pattern:n(/\b\w+/,/#\w+/),keyword:C.concat(m),literal:o},B=[A,N,D],_=[{ +match:t(/\./,n(...p)),relevance:0},{className:"built_in", +match:t(/\b/,n(...p),/(?=\()/)}],S={match:/->/,relevance:0},M=[S,{ +className:"operator",relevance:0,variants:[{match:b},{match:`\\.(\\.|${d})+`}] +}],x="([0-9a-fA-F]_*)+",I={className:"number",relevance:0,variants:[{ +match:"\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b"},{ +match:`\\b0x(${x})(\\.(${x}))?([pP][+-]?(([0-9]_*)+))?\\b`},{ +match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},L=(e="")=>({ +className:"subst",variants:[{match:t(/\\/,e,/[0\\tnr"']/)},{ +match:t(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),O=(e="")=>({className:"subst", +match:t(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),T=(e="")=>({className:"subst", +label:"interpol",begin:t(/\\/,e,/\(/),end:/\)/}),$=(e="")=>({begin:t(e,/"""/), +end:t(/"""/,e),contains:[L(e),O(e),T(e)]}),j=(e="")=>({begin:t(e,/"/), +end:t(/"/,e),contains:[L(e),T(e)]}),P={className:"string", +variants:[$(),$("#"),$("##"),$("###"),j(),j("#"),j("##"),j("###")]},K={ +match:t(/`/,w,/`/)},z=[K,{className:"variable",match:/\$\d+/},{ +className:"variable",match:`\\$${f}+`}],q=[{match:/(@|#)available/, +className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:E, +contains:[...M,I,P]}]}},{className:"keyword",match:t(/@/,n(...g))},{ +className:"meta",match:t(/@/,w)}],U={match:a(/\b[A-Z]/),relevance:0,contains:[{ +className:"type", +match:t(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,f,"+") +},{className:"type",match:y,relevance:0},{match:/[?!]+/,relevance:0},{ +match:/\.\.\./,relevance:0},{match:t(/\s+&\s+/,a(y)),relevance:0}]},Z={ +begin://,keywords:k,contains:[...v,...B,...q,S,U]};U.contains.push(Z) +;const V={begin:/\(/,end:/\)/,relevance:0,keywords:k,contains:["self",{ +match:t(w,/\s*:/),keywords:"_|0",relevance:0 +},...v,...B,..._,...M,I,P,...z,...q,U]},W={begin://,contains:[...v,U] +},G={begin:/\(/,end:/\)/,keywords:k,contains:[{ +begin:n(a(t(w,/\s*:/)),a(t(w,/\s+/,w,/\s*:/))),end:/:/,relevance:0,contains:[{ +className:"keyword",match:/\b_\b/},{className:"params",match:w}] +},...v,...B,...M,I,P,...q,U,V],endsParent:!0,illegal:/["']/},R={ +match:[/func/,/\s+/,n(K.match,w,b)],className:{1:"keyword",3:"title.function"}, +contains:[W,G,F],illegal:[/\[/,/%/]},X={ +match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"}, +contains:[W,G,F],illegal:/\[|%/},H={match:[/operator/,/\s+/,b],className:{ +1:"keyword",3:"title"}},J={begin:[/precedencegroup/,/\s+/,y],className:{ +1:"keyword",3:"title"},contains:[U],keywords:[...l,...o],end:/}/} +;for(const e of P.variants){const a=e.contains.find((e=>"interpol"===e.label)) +;a.keywords=k;const t=[...B,..._,...M,I,P,...z];a.contains=[...t,{begin:/\(/, +end:/\)/,contains:["self",...t]}]}return{name:"Swift",keywords:k, +contains:[...v,R,X,{beginKeywords:"struct protocol class extension enum actor", +end:"\\{",excludeEnd:!0,keywords:k,contains:[e.inherit(e.TITLE_MODE,{ +className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...B] +},H,J,{beginKeywords:"import",end:/$/,contains:[...v],relevance:0 +},...B,..._,...M,I,P,...z,...q,U,V]}}})()); \ No newline at end of file diff --git a/doc/api/static-assets/play_button.svg b/doc/api/static-assets/play_button.svg new file mode 100644 index 0000000..c39a2f4 --- /dev/null +++ b/doc/api/static-assets/play_button.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/doc/api/static-assets/readme.md b/doc/api/static-assets/readme.md new file mode 100644 index 0000000..357c11c --- /dev/null +++ b/doc/api/static-assets/readme.md @@ -0,0 +1,22 @@ +# highlight.js + +Generated from https://highlightjs.org/download/ on 2021-07-13 + +**Included languages:** + +* bash +* c +* css +* dart +* diff +* html, xml +* java +* javascript +* json +* kotlin +* markdown +* objective-c +* plaintext +* shell +* swift +* yaml diff --git a/doc/api/static-assets/styles.css b/doc/api/static-assets/styles.css new file mode 100644 index 0000000..b546a2e --- /dev/null +++ b/doc/api/static-assets/styles.css @@ -0,0 +1,1025 @@ +/* Palette generated by Material Palette - materialpalette.com/blue/cyan */ + +.dark-primary-color { background: #1976D2; } +.default-primary-color { background: #2196F3; } +.light-primary-color { background: #BBDEFB; } +.text-primary-color { color: #FFFFFF; } +.accent-color { background: #00BCD4; } +.primary-text-color { color: #212121; } +.secondary-text-color { color: #727272; } +.divider-color { border-color: #B6B6B6; } + +/* for layout */ +html, +body { + margin: 0; + padding: 0; + height: 100%; + width: 100%; + overflow: hidden; + box-sizing: border-box; +} + +*, *:before, *:after { + box-sizing: inherit; +} + +body { + display: flex; + flex-direction: column; + -webkit-overflow-scrolling: touch; +} + +header { + flex: 0 0 50px; + display: flex; + flex-direction: row; + align-items: center; + padding-left: 30px; +} + +header ol { + list-style: none; + margin: 0; + padding: 0; +} + +header ol li { + display: inline; +} + +header form { + display: flex; + flex: 1; + justify-content: flex-end; + padding-right: 30px; +} + +header#header-search-sidebar { + height: 50px; + margin-bottom: 25px; +} + +footer { + flex: 0 0 16px; + text-align: center; + padding: 16px 20px; +} + +main { + flex: 1; + display: flex; + flex-direction: row; + padding: 20px; + min-height: 0; +} + +.sidebar-offcanvas-left { + flex: 0 1 230px; + order: 1; + overflow-y: scroll; + padding: 20px 0 15px 30px; + margin: 5px 20px 0 0; +} + +::-webkit-scrollbar-button{ display: none; height: 13px; border-radius: 0px; background-color: #AAA; } +::-webkit-scrollbar-button:hover{ background-color: #AAA; } +::-webkit-scrollbar-thumb{ background-color: #CCC; } +::-webkit-scrollbar-thumb:hover{ background-color: #CCC; } +::-webkit-scrollbar{ width: 4px; } + +.main-content::-webkit-scrollbar{ width: 8px; } + +.main-content { + flex: 1; + order: 2; + overflow-y: scroll; + padding: 10px 20px 0 20px; +} + +.sidebar-offcanvas-right { + flex: 0 1 12em; + order: 3; + overflow-y: scroll; + padding: 20px 15px 15px 15px; + margin-top: 5px; + margin-right: 20px; +} +/* end for layout */ + +body { + -webkit-text-size-adjust: 100%; + overflow-x: hidden; + font-family: Roboto, sans-serif; + font-size: 16px; + line-height: 1.42857143; + color: #111111; + background-color: #fff; +} + +/* some of this is to reset bootstrap */ +nav.navbar { + background-color: inherit; + min-height: 50px; + border: 0; +} + +@media (max-width: 768px) { + .hidden-xs { + display: none !important; + } +} + +@media (min-width: 769px) { + .hidden-l { + display: none !important; + } +} + +nav.navbar .row { + padding-top: 8px; +} + +nav .container { + white-space: nowrap; +} + +header { + background-color: #eeeeee; + box-shadow: 0 3px 5px rgba(0,0,0,0.1); +} + +header.header-fixed nav.navbar-fixed-top { + box-shadow: 0 3px 5px rgba(0,0,0,0.1); +} + +header.container-fluid { + padding: 0; +} + +header .masthead { + padding-top: 64px; +} + +header .contents { + padding: 0; +} + +@media screen and (max-width:768px) { + header .contents { + padding-left: 15px; + padding-right: 15px; + } +} + +a { + text-decoration: none; +} + +.body { + margin-top: 90px; +} + +section { + margin-bottom: 36px; +} + +dl { + margin: 0; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: Roboto, sans-serif; + font-weight: 400; + margin-top: 1.5em; + color: #111111; +} + +h1.title { + overflow: hidden; + text-overflow: ellipsis; +} + +h1 { + font-size: 37px; + margin-top: 0; + margin-bottom: 0.67em; +} + +h2 { + font-size: 28px; +} + +h5 { + font-size: 16px; +} + +.subtitle { + font-size: 17px; + min-height: 1.4em; +} + +.title-description .subtitle { + white-space: nowrap; + overflow-x: hidden; + text-overflow: ellipsis; +} + +p { + margin-bottom: 1em; + margin-top: 0; +} + +a { + color: #0175C2; +} + +a:hover { + color: #13B9FD; +} + +pre.prettyprint { + font-family: 'Roboto Mono', Menlo, monospace; + color: black; + border-radius: 0; + font-size: 15px; + word-wrap: normal; + line-height: 1.4; + border: 0; + margin: 16px 0 16px 0; + padding: 8px; +} + +pre code { + white-space: pre; + word-wrap: initial; + font-size: 100% +} + +.fixed { + white-space: pre; +} + +pre { + border: 1px solid #ddd; + background-color: #eee; + font-size: 14px; +} + +code { + font-family: 'Roboto Mono', Menlo, monospace; + /* overriding bootstrap */ + color: inherit; + padding: 0.2em 0.4em; + font-size: 85%; + background-color: rgba(27,31,35,0.05); + border-radius: 3px; +} + +@media(max-width: 768px) { + nav .container { + width: 100% + } + + h1 { + font-size: 24px; + } + + pre { + margin: 16px 0; + } +} + +@media (min-width: 768px) { + ul.subnav li { + font-size: 17px; + } +} + +header h1 { + font-weight: 400; + margin-bottom: 16px; +} + +header a, +header p, +header li { + color: #111111; +} + +header a:hover { + color: #0175C2; +} + +header h1 .kind { + color: #555; +} + +dt { + font-weight: normal; +} + +dd { + color: #212121; + margin-bottom: 1em; + margin-left: 0; +} + +dd.callable, dd.constant, dd.property { + margin-bottom: 24px; +} + +dd p { + overflow-x: hidden; + text-overflow: ellipsis; + margin-bottom: 0; +} + +/* Enum values do not have their own pages; their full docs are presented on the + * enum class's page. */ +dt.constant + dd p { + margin-bottom: 1em; +} + +/* indents wrapped lines */ +section.summary dt { + margin-left: 24px; + text-indent: -24px; +} + +.dl-horizontal dd { + margin-left: initial; +} + +dl.dl-horizontal dt { + font-style: normal; + text-align: left; + color: #727272; + margin-right: 20px; + width: initial; +} + +dt .name { + font-weight: 500; +} + +dl dt.callable .name { + float: none; + width: auto; +} + +.type-parameter { + white-space: nowrap; +} + +.multi-line-signature .type-parameter .parameter { + margin-left: 0px; + display: unset; +} + +.parameter-list { + display: table-cell; + margin-left: 10px; + list-style-type: none; + padding-inline-start: unset; +} + +.signature { + color: #727272; +} + +.signature a { + /* 50% mix of default-primary-color and primary-text-color. */ + color: #4674a2; +} + +.optional { + font-style: italic; +} + +.undocumented { + font-style: italic; +} + +.is-const { + font-style: italic; +} + +.deprecated { + text-decoration: line-through; +} + +.category.linked { + font-weight: bold; + opacity: 1; +} + +/* Colors for category based on categoryOrder in dartdoc_options.config. */ +.category.cp-0 { + background-color: #54b7c4 +} + +.category.cp-1 { + background-color: #54c47f +} + +.category.cp-2 { + background-color: #c4c254 +} + +.category.cp-3 { + background-color: #c49f54 +} + +.category.cp-4 { + background-color: #c45465 +} + +.category.cp-5 { + background-color: #c454c4 +} + +.category a { + color: white; +} + +.category { + padding: 2px 4px; + font-size: 12px; + border-radius: 4px; + background-color: #999; + text-transform: uppercase; + color: white; + opacity: .5; +} + +h1 .category { + vertical-align: middle; +} + +.feature { + display: inline-block; + background: white; + border: 1px solid #0175c2; + border-radius: 20px; + color: #0175c2; + + font-size: 12px; + padding: 1px 6px; + margin: 0 8px 0 0; +} + +a.feature:hover { + border-color: #13B9FD; +} + +h1 .feature { + vertical-align: middle; +} + +.source-link { + padding: 18px 4px; + vertical-align: middle; +} + +.source-link .material-icons { + font-size: 18px; +} + +@media (max-width: 768px) { + .source-link { + padding: 7px 2px; + font-size: 10px; + } +} + +#external-links { + float: right; +} + +.btn-group { + position: relative; + display: inline-flex; + vertical-align: middle; +} + +p.firstline { + font-weight: bold; +} + +footer { + color: #fff; + background-color: #111111; + width: 100%; +} + +footer p { + margin: 0; +} + +footer .no-break { + white-space: nowrap; +} + +footer .container, +footer .container-fluid { + padding-left: 0; + padding-right: 0; +} + +footer a, footer a:hover { + color: #fff; +} + +.markdown.desc { + max-width: 700px; +} + +.markdown h1 { + font-size: 24px; + margin-bottom: 8px; +} + +.markdown h2 { + font-size: 20px; + margin-top: 24px; + margin-bottom: 8px; +} + +.markdown h3 { + font-size: 18px; + margin-bottom: 8px; +} + +.markdown h4 { + font-size: 16px; + margin-bottom: 0; +} + +.markdown li p { + margin: 0; +} + +table { + margin-bottom: 1em; +} + +table, +th, +td { + border: 1px solid lightgrey; + border-collapse: collapse; +} + +th, +td { + padding: 8px; +} + +.gt-separated { + list-style: none; + padding: 0; + margin: 0; +} + +.gt-separated li { + display: inline-block; +} + +.gt-separated li:before { + background-image: url("data:image/svg+xml;utf8,"); + background-position: center; + content: "\00a0"; + margin: 0 6px 0 4px; + padding: 0 3px 0 0; +} + +.gt-separated.dark li:before { + background-image: url("data:image/svg+xml;utf8,"); +} + +.gt-separated li:first-child:before { + background-image: none; + content: ""; + margin: 0; + padding: 0; +} + +/* The slug line under a declaration for things like "const", "read-only", etc. */ +.features { + font-style: italic; + color: #727272; +} + +.multi-line-signature { + font-size: 17px; + color: #727272; +} + +.multi-line-signature .parameter { + margin-left: 24px; + display: block; +} + +.breadcrumbs { + padding: 0; + margin: 8px 0 8px 0; + white-space: nowrap; + line-height: 1; +} + +@media screen and (min-width: 768px) { + nav ol.breadcrumbs { + float: left; + } +} + +@media screen and (max-width: 768px) { + .breadcrumbs { + margin: 0 0 24px 0; + overflow-x: hidden; + } +} + +.self-crumb { + color: #555; +} + +.self-name { + color: #555; + display: none; +} + +.annotation-list { + list-style: none; + padding: 0; + display: inline; +} + +.comma-separated { + list-style: none; + padding: 0; + display: inline; +} + +.comma-separated li { + display: inline; +} + +.comma-separated li:after { + content: ", "; +} + +.comma-separated li:last-child:after { + content: ""; +} + +.end-with-period li:last-child:after { + content: "."; +} + +.container > section:first-child { + border: 0; +} + +.constructor-modifier { + font-style: italic; +} + +section.multi-line-signature div.parameters { + margin-left: 24px; +} + +/* subnav styles */ + +ul.subnav { + overflow: auto; + white-space: nowrap; + padding-left: 0; + min-height: 25px; +} + +ul.subnav::-webkit-scrollbar { + display: none; +} + +ul.subnav li { + display: inline-block; + text-transform: uppercase; +} + +ul.subnav li a { + color: #111; +} + +ul.subnav li { + margin-right: 24px; +} + +ul.subnav li:last-of-type { + margin-right: 0; +} + +@media(max-width: 768px) { + ul.subnav li { + margin-right: 16px; + } +} + +/* sidebar styles */ + +.sidebar ol { + list-style: none; + line-height: 22px; + margin-top: 0; + margin-bottom: 0; + padding: 0 0 15px 0; +} + +.sidebar h5 a, +.sidebar h5 a:hover { + color: #727272; +} + +.sidebar h5, +.sidebar ol li { + text-overflow: ellipsis; + overflow: hidden; + padding: 3px 0 3px 3px; +} + +.sidebar h5 { + color: #727272; + font-size: 18px; + margin: 0 0 22px 0; + padding-top: 0; +} + +.sidebar ol li.section-title { + font-size: 18px; + font-weight: normal; + text-transform: uppercase; + padding-top: 25px; +} + +.sidebar ol li.section-subtitle a { + color: inherit; +} + +.sidebar ol li.section-subtitle { + font-weight: 400; + text-transform: uppercase; +} + +.sidebar ol li.section-subitem { + margin-left: 12px; +} + +.sidebar ol li:first-child { + padding-top: 3px; + margin-top: 0; +} + +button { + padding: 0; +} + +#sidenav-left-toggle { + display: none; + vertical-align: text-bottom; + padding: 0; +} + +/* left-nav disappears, and can transition in from the left */ +@media screen and (max-width:768px) { + #sidenav-left-toggle { + display: inline; + background: no-repeat url("data:image/svg+xml;utf8,"); + background-position: center; + width: 24px; + height: 24px; + border: none; + margin-right: 24px; + } + + #overlay-under-drawer.active { + opacity: 0.4; + height: 100%; + z-index: 1999; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: black; + display: block; + } + + .sidebar-offcanvas-left { + left: -100%; + position: fixed; + -webkit-transition:all .25s ease-out; + -o-transition:all .25s ease-out; + transition:all .25s ease-out; + z-index: 2000; + top: 0; + width: 280px; /* works all the way down to an iphone 4 */ + height: 90%; + background-color: white; + overflow-y: scroll; /* TODO: how to hide scroll bars? */ + padding: 10px; + margin: 10px 10px; + box-shadow: 5px 5px 5px 5px #444444; + } + + ol#sidebar-nav { + font-size: 18px; + white-space: pre-line; + } + + .sidebar-offcanvas-left.active { + left: 0; /* this animates our drawer into the page */ + } + + .self-name { + display: inline-block; + } +} + +.sidebar-offcanvas-left h5 { + margin-bottom: 10px; +} + +.sidebar-offcanvas-left h5:last-of-type { + border: 0; + margin-bottom: 25px; +} + +/* the right nav disappears out of view when the window shrinks */ +@media screen and (max-width: 992px) { + .sidebar-offcanvas-right { + display: none; + } +} + +#overlay-under-drawer { + display: none; +} + +/* find-as-you-type search box */ + +/* override bootstrap defaults */ +.form-control { + border-radius: 0; + border: 0; +} + +@media screen and (max-width: 768px) { + form.search { + display: none; + } +} + +.typeahead, +.tt-query, +.tt-hint { + width: 200px; + height: 20px; + padding: 2px 7px 1px 7px; + line-height: 20px; + outline: none; +} + +.typeahead { + background-color: #fff; + border-radius: 2px; +} + +.tt-wrapper { + position: relative; + display: inline-block; +} + +.tt-input { + position: relative; + vertical-align: top; + background-color: transparent; +} + +.tt-query { + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.tt-hint { + position: absolute; + top: 0; + left: 0; + box-shadow: none; + background: none 0 0 / auto repeat scroll padding-box border-box rgb(255, 255, 255); + border-color: transparent; + color: #999; + border-width: 0; +} + +.navbar-right .tt-menu { + right:0; + left: inherit !important; + width: 422px; + max-height: 250px; + overflow-y: scroll; +} + +.tt-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 100; + font-size: 14px; + margin: 0; + padding: 8px 0; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2); + -moz-box-shadow: 0 5px 10px rgba(0,0,0,.2); + box-shadow: 0 5px 10px rgba(0,0,0,.2); +} + +.tt-suggestion { + padding: 3px 20px; + color: #212121; +} + +.tt-suggestion:hover { + cursor: pointer; + color: #fff; + background-color: #0097cf; +} + +.tt-suggestion:hover .search-from-lib { + color: #ddd; +} + +.tt-suggestion.tt-cursor { + color: #fff; + background-color: #0097cf; +} + +.tt-suggestion.tt-cursor .search-from-lib { + color: #ddd; +} + +.tt-suggestion p { + margin: 0; +} + +.search-from-lib { + font-style: italic; + color: gray; +} + +.search-body { + border: 1px solid #7f7f7f; + max-width: 400px; + box-shadow: 3px 3px 5px rgba(0,0,0,0.1); +} + +section#setter { + border-top: 1px solid #ddd; + padding-top: 36px; +} + +li.inherited a { + opacity: 0.65; + font-style: italic; +} + +#instance-methods dt.inherited .name, +#instance-properties dt.inherited .name, +#operators dt.inherited .name { + font-weight: 300; + font-style: italic; +} + +#instance-methods dt.inherited .signature, +#instance-properties dt.inherited .signature, +#operators dt.inherited .signature { + font-weight: 300; +} + +@media print { + .subnav, .sidebar { + display:none; + } + + a[href]:after { + content:"" !important; + } +} diff --git a/doc/static/screenshot_tracker.png b/doc/static/screenshot_tracker.png new file mode 100644 index 0000000..cbfc454 Binary files /dev/null and b/doc/static/screenshot_tracker.png differ diff --git a/doc/static/screenshot_updates.png b/doc/static/screenshot_updates.png new file mode 100644 index 0000000..1620ce5 Binary files /dev/null and b/doc/static/screenshot_updates.png differ diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 320be22..9deab4a 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -26,7 +26,7 @@ apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - compileSdkVersion 28 + compileSdkVersion 31 sourceSets { main.java.srcDirs += 'src/main/kotlin' diff --git a/example/android/build.gradle b/example/android/build.gradle index 3100ad2..2ed02f9 100644 --- a/example/android/build.gradle +++ b/example/android/build.gradle @@ -1,12 +1,12 @@ buildscript { - ext.kotlin_version = '1.3.50' + ext.kotlin_version = '1.6.20' repositories { google() jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.5.0' + classpath 'com.android.tools.build:gradle:7.1.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties index 296b146..595fb86 100644 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/example/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip diff --git a/example/lib/main.dart b/example/lib/main.dart index 3f1d0b8..1fb0257 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:lr_app_versioning/app_versioning.dart'; +import 'package:app_versioning/app_versioning.dart'; import 'service_provider.dart'; diff --git a/example/lib/service_provider.dart b/example/lib/service_provider.dart index f6e70bd..8cc9fb4 100644 --- a/example/lib/service_provider.dart +++ b/example/lib/service_provider.dart @@ -1,4 +1,4 @@ -import 'package:lr_app_versioning/app_versioning.dart'; +import 'package:app_versioning/app_versioning.dart'; abstract class ServiceProvider { static AppVersioning get appVersioning { @@ -12,6 +12,7 @@ abstract class ServiceProvider { updateConfig: UpdateConfig( appStoreAppId: "1234567890", playStoreAppId: "org.example.versioning", + appstoreCountryCode: "US", ), ); } diff --git a/example/pubspec.lock b/example/pubspec.lock index 8600af3..8b33654 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -1,6 +1,13 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: + app_versioning: + dependency: "direct main" + description: + path: ".." + relative: true + source: path + version: "1.0.2" async: dependency: transitive description: @@ -42,84 +49,119 @@ packages: name: collection url: "https://pub.dartlang.org" source: hosted - version: "1.15.0" - device_info: + version: "1.16.0" + csslib: dependency: transitive description: - name: device_info + name: csslib url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" - device_info_platform_interface: + version: "0.17.2" + device_info_plus: dependency: transitive description: - name: device_info_platform_interface + name: device_info_plus url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "4.1.2" + device_info_plus_linux: + dependency: transitive + description: + name: device_info_plus_linux + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.0" + device_info_plus_macos: + dependency: transitive + description: + name: device_info_plus_macos + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.0" + device_info_plus_platform_interface: + dependency: transitive + description: + name: device_info_plus_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.0" + device_info_plus_web: + dependency: transitive + description: + name: device_info_plus_web + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.0" + device_info_plus_windows: + dependency: transitive + description: + name: device_info_plus_windows + url: "https://pub.dartlang.org" + source: hosted + version: "4.1.0" fake_async: dependency: transitive description: name: fake_async url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.3.0" ffi: dependency: transitive description: name: ffi url: "https://pub.dartlang.org" source: hosted - version: "1.0.0" + version: "2.0.1" file: dependency: transitive description: name: file url: "https://pub.dartlang.org" source: hosted - version: "6.1.0" + version: "6.1.4" firebase_core: dependency: transitive description: name: firebase_core url: "https://pub.dartlang.org" source: hosted - version: "1.13.1" + version: "1.22.0" firebase_core_platform_interface: dependency: transitive description: name: firebase_core_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "4.2.5" + version: "4.5.1" firebase_core_web: dependency: transitive description: name: firebase_core_web url: "https://pub.dartlang.org" source: hosted - version: "1.6.1" + version: "1.7.2" firebase_remote_config: dependency: transitive description: name: firebase_remote_config url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "2.0.17" firebase_remote_config_platform_interface: dependency: transitive description: name: firebase_remote_config_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "1.1.1" + version: "1.1.16" firebase_remote_config_web: dependency: transitive description: name: firebase_remote_config_web url: "https://pub.dartlang.org" source: hosted - version: "1.0.7" + version: "1.1.5" flutter: dependency: "direct main" description: flutter @@ -135,20 +177,27 @@ packages: description: flutter source: sdk version: "0.0.0" + html: + dependency: transitive + description: + name: html + url: "https://pub.dartlang.org" + source: hosted + version: "0.15.0" http: dependency: transitive description: name: http url: "https://pub.dartlang.org" source: hosted - version: "0.13.1" + version: "0.13.5" http_parser: dependency: transitive description: name: http_parser url: "https://pub.dartlang.org" source: hosted - version: "4.0.0" + version: "4.0.1" in_app_update: dependency: transitive description: @@ -162,23 +211,7 @@ packages: name: js url: "https://pub.dartlang.org" source: hosted - version: "0.6.3" - lr_app_versioning: - dependency: "direct main" - description: - path: ".." - relative: true - source: path - version: "0.1.0" - lr_core: - dependency: transitive - description: - path: "." - ref: "release/1.0.0" - resolved-ref: "0ff5b618c975c483c1194f468b2a3f0da68dceef" - url: "git@github.com:levin-riegner/lr-core.git" - source: git - version: "0.0.1" + version: "0.6.4" matcher: dependency: transitive description: @@ -192,7 +225,7 @@ packages: name: material_color_utilities url: "https://pub.dartlang.org" source: hosted - version: "0.1.3" + version: "0.1.4" meta: dependency: transitive description: @@ -200,160 +233,167 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.7.0" - package_info: + os_detect: dependency: transitive description: - name: package_info + name: os_detect url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.1" package_info_plus: dependency: transitive description: name: package_info_plus url: "https://pub.dartlang.org" source: hosted - version: "1.0.2" + version: "1.4.3+1" package_info_plus_linux: dependency: transitive description: name: package_info_plus_linux url: "https://pub.dartlang.org" source: hosted - version: "1.0.2" + version: "1.0.5" package_info_plus_macos: dependency: transitive description: name: package_info_plus_macos url: "https://pub.dartlang.org" source: hosted - version: "1.1.1" + version: "1.3.0" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "1.0.1" + version: "1.0.2" package_info_plus_web: dependency: transitive description: name: package_info_plus_web url: "https://pub.dartlang.org" source: hosted - version: "1.0.2" + version: "1.0.5" package_info_plus_windows: dependency: transitive description: name: package_info_plus_windows url: "https://pub.dartlang.org" source: hosted - version: "1.0.1" + version: "2.1.0" path: dependency: transitive description: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.8.0" + version: "1.8.1" path_provider_linux: dependency: transitive description: name: path_provider_linux url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.1.7" path_provider_platform_interface: dependency: transitive description: name: path_provider_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.4" path_provider_windows: dependency: transitive description: name: path_provider_windows url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" - pedantic: - dependency: transitive - description: - name: pedantic - url: "https://pub.dartlang.org" - source: hosted - version: "1.11.0" + version: "2.1.3" petitparser: dependency: transitive description: name: petitparser url: "https://pub.dartlang.org" source: hosted - version: "4.1.0" + version: "5.0.0" platform: dependency: transitive description: name: platform url: "https://pub.dartlang.org" source: hosted - version: "3.0.0" + version: "3.1.0" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.1.2" process: dependency: transitive description: name: process url: "https://pub.dartlang.org" source: hosted - version: "4.2.1" + version: "4.2.4" shared_preferences: dependency: transitive description: name: shared_preferences url: "https://pub.dartlang.org" source: hosted - version: "2.0.5" + version: "2.0.15" + shared_preferences_android: + dependency: transitive + description: + name: shared_preferences_android + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.13" + shared_preferences_ios: + dependency: transitive + description: + name: shared_preferences_ios + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.1" shared_preferences_linux: dependency: transitive description: name: shared_preferences_linux url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.1.1" shared_preferences_macos: dependency: transitive description: name: shared_preferences_macos url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.4" shared_preferences_platform_interface: dependency: transitive description: name: shared_preferences_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.1.0" shared_preferences_web: dependency: transitive description: name: shared_preferences_web url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.4" shared_preferences_windows: dependency: transitive description: name: shared_preferences_windows url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.1.1" sky_engine: dependency: transitive description: flutter @@ -365,7 +405,7 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.1" + version: "1.8.2" stack_trace: dependency: transitive description: @@ -400,98 +440,112 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.4.8" + version: "0.4.9" typed_data: dependency: transitive description: name: typed_data url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.3.1" upgrader: dependency: transitive description: name: upgrader url: "https://pub.dartlang.org" source: hosted - version: "3.2.1" + version: "4.6.1" url_launcher: dependency: transitive description: name: url_launcher url: "https://pub.dartlang.org" source: hosted - version: "6.0.3" + version: "6.1.5" + url_launcher_android: + dependency: transitive + description: + name: url_launcher_android + url: "https://pub.dartlang.org" + source: hosted + version: "6.0.19" + url_launcher_ios: + dependency: transitive + description: + name: url_launcher_ios + url: "https://pub.dartlang.org" + source: hosted + version: "6.0.17" url_launcher_linux: dependency: transitive description: name: url_launcher_linux url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "3.0.1" url_launcher_macos: dependency: transitive description: name: url_launcher_macos url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "3.0.1" url_launcher_platform_interface: dependency: transitive description: name: url_launcher_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.1.0" url_launcher_web: dependency: transitive description: name: url_launcher_web url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.13" url_launcher_windows: dependency: transitive description: name: url_launcher_windows url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "3.0.1" vector_math: dependency: transitive description: name: vector_math url: "https://pub.dartlang.org" source: hosted - version: "2.1.1" + version: "2.1.2" version: dependency: transitive description: name: version url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "3.0.2" win32: dependency: transitive description: name: win32 url: "https://pub.dartlang.org" source: hosted - version: "2.0.5" + version: "3.0.0" xdg_directories: dependency: transitive description: name: xdg_directories url: "https://pub.dartlang.org" source: hosted - version: "0.2.0" + version: "0.2.0+2" xml: dependency: transitive description: name: xml url: "https://pub.dartlang.org" source: hosted - version: "5.1.0" + version: "6.1.0" sdks: - dart: ">=2.16.0 <3.0.0" - flutter: ">=1.22.0" + dart: ">=2.17.0 <3.0.0" + flutter: ">=3.0.0" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index cd6441a..eb7409d 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -24,7 +24,7 @@ dependencies: flutter: sdk: flutter - lr_app_versioning: + app_versioning: path: ../ dev_dependencies: diff --git a/lib/app_versioning.dart b/lib/app_versioning.dart index 9e59816..51a912b 100644 --- a/lib/app_versioning.dart +++ b/lib/app_versioning.dart @@ -1,21 +1,21 @@ // Library Entry Point -library lr_app_versioning; +library app_versioning; // Class imports -import 'package:lr_app_versioning/src/api/config/api_config.dart'; -import 'package:lr_app_versioning/src/api/service/default_api_versioning_service.dart'; -import 'package:lr_app_versioning/src/default_app_versioning.dart'; -import 'package:lr_app_versioning/src/device/config/update_config.dart'; -import 'package:lr_app_versioning/src/device/service/default_device_versioning_service.dart'; -import 'package:lr_app_versioning/src/firebase/config/remote_config_keys.dart'; -import 'package:lr_app_versioning/src/firebase/service/default_firebase_versioning_service.dart'; -import 'package:lr_app_versioning/src/model/app_update_info.dart'; -import 'package:lr_app_versioning/src/optional/default_optional_update_service.dart'; -import 'package:lr_app_versioning/src/service/device_versioning_service.dart'; -import 'package:lr_app_versioning/src/service/minimum_versioning_service.dart'; -import 'package:lr_app_versioning/src/service/optional_update_service.dart'; -import 'package:lr_app_versioning/src/util/version.dart'; -import 'package:lr_app_versioning/src/util/version_tracker.dart'; +import 'package:app_versioning/src/api/config/api_config.dart'; +import 'package:app_versioning/src/api/service/default_api_versioning_service.dart'; +import 'package:app_versioning/src/default_app_versioning.dart'; +import 'package:app_versioning/src/device/config/update_config.dart'; +import 'package:app_versioning/src/device/service/default_device_versioning_service.dart'; +import 'package:app_versioning/src/firebase/config/remote_config_keys.dart'; +import 'package:app_versioning/src/firebase/service/default_firebase_versioning_service.dart'; +import 'package:app_versioning/src/model/app_update_info.dart'; +import 'package:app_versioning/src/optional/default_optional_update_service.dart'; +import 'package:app_versioning/src/service/device_versioning_service.dart'; +import 'package:app_versioning/src/service/minimum_versioning_service.dart'; +import 'package:app_versioning/src/service/optional_update_service.dart'; +import 'package:app_versioning/src/util/version.dart'; +import 'package:app_versioning/src/util/version_tracker.dart'; // Library Export Classes export 'src/api/exports.dart'; @@ -38,8 +38,6 @@ abstract class AppVersioning { void launchUpdate({required bool updateInBackground}); - void dispose(); - factory AppVersioning.apiService({ required ApiConfig apiConfig, required UpdateConfig updateConfig, diff --git a/lib/src/api/config/api_versioning_endpoints.dart b/lib/src/api/config/api_versioning_endpoints.dart index 25dbfae..a5d3406 100644 --- a/lib/src/api/config/api_versioning_endpoints.dart +++ b/lib/src/api/config/api_versioning_endpoints.dart @@ -1,17 +1,15 @@ -import 'package:lr_core/lr_core.dart'; - -class ApiVersioningEndpoints extends ApiEndpoints { +class ApiVersioningEndpoints { + final String _baseUrl; final String _minimumVersioningEndpoint; /// Default endpoints can be overridden by passing custom endpoints ApiVersioningEndpoints( - String baseUrl, { + this._baseUrl, { String minimumVersioningEndpoint = "api/api-compatibility", - }) : _minimumVersioningEndpoint = minimumVersioningEndpoint, - super(baseUrl); + }) : _minimumVersioningEndpoint = minimumVersioningEndpoint; String get minimumVersioningEndpoint => - url(endpoint: _minimumVersioningEndpoint); + "$_baseUrl/$_minimumVersioningEndpoint"; @override String toString() { diff --git a/lib/src/api/model/api_versioning.dart b/lib/src/api/model/api_versioning.dart index 3e740ea..49727cc 100644 --- a/lib/src/api/model/api_versioning.dart +++ b/lib/src/api/model/api_versioning.dart @@ -1,4 +1,4 @@ -import 'package:lr_app_versioning/src/util/version.dart'; +import 'package:app_versioning/src/util/version.dart'; class ApiVersioning { final String? minimumIosVersionString; diff --git a/lib/src/api/service/default_api_versioning_service.dart b/lib/src/api/service/default_api_versioning_service.dart index 830c7f9..02bdc7d 100644 --- a/lib/src/api/service/default_api_versioning_service.dart +++ b/lib/src/api/service/default_api_versioning_service.dart @@ -1,8 +1,9 @@ import 'dart:convert'; +import 'dart:io'; -import 'package:lr_app_versioning/app_versioning.dart'; -import 'package:lr_app_versioning/src/api/model/api_versioning.dart'; -import 'package:lr_core/lr_core.dart'; +import 'package:http/http.dart'; +import 'package:app_versioning/app_versioning.dart'; +import 'package:app_versioning/src/api/model/api_versioning.dart'; class DefaultApiVersioningService extends MinimumVersioningService { final ApiConfig config; @@ -13,14 +14,15 @@ class DefaultApiVersioningService extends MinimumVersioningService { @override Future getMinimumVersions() async { // Setup API Client - final client = ApiClient( - contentType: 'application/json', - ); + final client = Client(); // Send request try { final response = await client.get( Uri.parse(config.endpoints.minimumVersioningEndpoint), - headers: {'Accept': 'application/json'}, + headers: { + HttpHeaders.acceptHeader: 'application/json', + HttpHeaders.contentTypeHeader: 'application/json', + }, ); // Parse response final json = jsonDecode(response.body); @@ -30,12 +32,8 @@ class DefaultApiVersioningService extends MinimumVersioningService { ios: minimumVersioning.minimumIosVersion, android: minimumVersioning.minimumAndroidVersion, ); - } on ClientApiClientException catch (e) { - throw FailedToGetMinimumVersions(error: e.body); - } on ServerApiClientException catch (e) { - throw FailedToGetMinimumVersions(error: e.body); - } on UnknownApiClientException { - throw FailedToGetMinimumVersions(error: null); + } catch (e) { + throw FailedToGetMinimumVersions(error: e.toString()); } finally { client.close(); } diff --git a/lib/src/default_app_versioning.dart b/lib/src/default_app_versioning.dart index f17f435..87d3a0a 100644 --- a/lib/src/default_app_versioning.dart +++ b/lib/src/default_app_versioning.dart @@ -1,8 +1,8 @@ import 'dart:io'; -import 'package:lr_app_versioning/app_versioning.dart'; -import 'package:lr_app_versioning/src/service/optional_update_service.dart'; -import 'package:lr_app_versioning/src/util/version_tracker.dart'; +import 'package:app_versioning/app_versioning.dart'; +import 'package:app_versioning/src/service/optional_update_service.dart'; +import 'package:app_versioning/src/util/version_tracker.dart'; class DefaultAppVersioning implements AppVersioning { final MinimumVersioningService _minimumVersioningService; @@ -69,9 +69,6 @@ class DefaultAppVersioning implements AppVersioning { _appUpdateService.launchUpdate(updateInBackground: updateInBackground); } - @override - void dispose() {} - // region Private Future _getMinimumVersion() async { // Get Minimum Versioning diff --git a/lib/src/device/config/update_config.dart b/lib/src/device/config/update_config.dart index 05990be..1636dff 100644 --- a/lib/src/device/config/update_config.dart +++ b/lib/src/device/config/update_config.dart @@ -3,7 +3,11 @@ class UpdateConfig { final String? playStoreAppId; final String appstoreCountryCode; - const UpdateConfig({this.appStoreAppId, this.playStoreAppId, this.appstoreCountryCode = 'US'}); + const UpdateConfig({ + this.appStoreAppId, + this.playStoreAppId, + this.appstoreCountryCode = 'US', + }); @override String toString() { diff --git a/lib/src/device/service/default_device_versioning_service.dart b/lib/src/device/service/default_device_versioning_service.dart index e6803cc..88f6ed3 100644 --- a/lib/src/device/service/default_device_versioning_service.dart +++ b/lib/src/device/service/default_device_versioning_service.dart @@ -1,7 +1,7 @@ import 'dart:io'; import 'package:in_app_update/in_app_update.dart' as iau; -import 'package:lr_app_versioning/app_versioning.dart'; +import 'package:app_versioning/app_versioning.dart'; import 'package:package_info_plus/package_info_plus.dart'; import 'package:url_launcher/url_launcher.dart'; @@ -10,7 +10,7 @@ class DefaultDeviceVersioningService extends DeviceVersioningService { DefaultDeviceVersioningService(this.config); - /// Get api versioning. Throws [FailedToGetCurrentVersion]. + /// Get current version. Throws [FailedToGetCurrentVersion]. @override Future getCurrentVersion() async { final packageInfo = await PackageInfo.fromPlatform(); @@ -31,7 +31,7 @@ class DefaultDeviceVersioningService extends DeviceVersioningService { // Open AppStore URL final appStoreUrl = "https://apps.apple.com/${config.appstoreCountryCode}/app/id${config.appStoreAppId}"; - launch(appStoreUrl); + launchUrl(Uri.parse(appStoreUrl)); } else if (config.playStoreAppId != null && Platform.isAndroid) { // Use Android In-App Update if (updateInBackground) { diff --git a/lib/src/firebase/service/default_firebase_versioning_service.dart b/lib/src/firebase/service/default_firebase_versioning_service.dart index ea18fd4..396481f 100644 --- a/lib/src/firebase/service/default_firebase_versioning_service.dart +++ b/lib/src/firebase/service/default_firebase_versioning_service.dart @@ -1,13 +1,13 @@ // ignore: import_of_legacy_library_into_null_safe import 'package:firebase_remote_config/firebase_remote_config.dart'; -import 'package:lr_app_versioning/app_versioning.dart'; +import 'package:app_versioning/app_versioning.dart'; class DefaultFirebaseVersioningService extends MinimumVersioningService { final RemoteConfigKeys remoteConfigKeys; DefaultFirebaseVersioningService(this.remoteConfigKeys); - /// Get api versioning. Throws [FailedToGetMinimumVersioning]. + /// Get minimum remote config versions. Throws [FailedToGetMinimumVersioning]. @override Future getMinimumVersions() async { final FirebaseRemoteConfig remoteConfig = FirebaseRemoteConfig.instance; diff --git a/lib/src/mock/mock_device_versioning_service.dart b/lib/src/mock/mock_device_versioning_service.dart index 84ae13d..8a7713c 100644 --- a/lib/src/mock/mock_device_versioning_service.dart +++ b/lib/src/mock/mock_device_versioning_service.dart @@ -1,5 +1,5 @@ -import 'package:lr_app_versioning/src/service/device_versioning_service.dart'; -import 'package:lr_app_versioning/src/util/version.dart'; +import 'package:app_versioning/src/service/device_versioning_service.dart'; +import 'package:app_versioning/src/util/version.dart'; class MockDeviceVersioningService extends DeviceVersioningService { final String currentVersionString; diff --git a/lib/src/mock/mock_minimum_versioning_service.dart b/lib/src/mock/mock_minimum_versioning_service.dart index 6fcb42e..3c2eb3d 100644 --- a/lib/src/mock/mock_minimum_versioning_service.dart +++ b/lib/src/mock/mock_minimum_versioning_service.dart @@ -1,6 +1,6 @@ -import 'package:lr_app_versioning/src/model/minimum_versions.dart'; -import 'package:lr_app_versioning/src/service/minimum_versioning_service.dart'; -import 'package:lr_app_versioning/src/util/version.dart'; +import 'package:app_versioning/src/model/minimum_versions.dart'; +import 'package:app_versioning/src/service/minimum_versioning_service.dart'; +import 'package:app_versioning/src/util/version.dart'; class MockMinimumVersioningService extends MinimumVersioningService { final String minimumIosVersion; diff --git a/lib/src/mock/mock_optional_update_service.dart b/lib/src/mock/mock_optional_update_service.dart index 97d2523..8b84f11 100644 --- a/lib/src/mock/mock_optional_update_service.dart +++ b/lib/src/mock/mock_optional_update_service.dart @@ -1,5 +1,5 @@ -import 'package:lr_app_versioning/src/service/optional_update_service.dart'; -import 'package:lr_app_versioning/src/util/version.dart'; +import 'package:app_versioning/src/service/optional_update_service.dart'; +import 'package:app_versioning/src/util/version.dart'; class MockOptionalUpdateService implements OptionalUpdateService { final bool updateAvailable; diff --git a/lib/src/model/app_update_info.dart b/lib/src/model/app_update_info.dart index a328fe8..6580530 100644 --- a/lib/src/model/app_update_info.dart +++ b/lib/src/model/app_update_info.dart @@ -1,4 +1,4 @@ -import 'package:lr_app_versioning/app_versioning.dart'; +import 'package:app_versioning/app_versioning.dart'; class AppUpdateInfo { final Version? currentVersion; diff --git a/lib/src/model/minimum_versions.dart b/lib/src/model/minimum_versions.dart index 4040a4d..35f9edf 100644 --- a/lib/src/model/minimum_versions.dart +++ b/lib/src/model/minimum_versions.dart @@ -1,4 +1,4 @@ -import 'package:lr_app_versioning/app_versioning.dart'; +import 'package:app_versioning/app_versioning.dart'; class MinimumVersions { final Version ios; diff --git a/lib/src/optional/default_optional_update_service.dart b/lib/src/optional/default_optional_update_service.dart index 17c82fd..dabf4c5 100644 --- a/lib/src/optional/default_optional_update_service.dart +++ b/lib/src/optional/default_optional_update_service.dart @@ -3,9 +3,9 @@ library optional_update; import 'dart:io'; import 'package:in_app_update/in_app_update.dart' as iau; -import 'package:lr_app_versioning/src/device/config/update_config.dart'; -import 'package:lr_app_versioning/src/service/optional_update_service.dart'; -import 'package:lr_app_versioning/src/util/version.dart'; +import 'package:app_versioning/src/device/config/update_config.dart'; +import 'package:app_versioning/src/service/optional_update_service.dart'; +import 'package:app_versioning/src/util/version.dart'; import 'package:upgrader/upgrader.dart'; export 'default_optional_update_service.dart'; diff --git a/lib/src/service/device_versioning_service.dart b/lib/src/service/device_versioning_service.dart index d827294..74f6867 100644 --- a/lib/src/service/device_versioning_service.dart +++ b/lib/src/service/device_versioning_service.dart @@ -1,4 +1,4 @@ -import 'package:lr_app_versioning/src/util/version.dart'; +import 'package:app_versioning/src/util/version.dart'; abstract class DeviceVersioningService { Future getCurrentVersion(); diff --git a/lib/src/service/minimum_versioning_service.dart b/lib/src/service/minimum_versioning_service.dart index 72f63a6..79c0216 100644 --- a/lib/src/service/minimum_versioning_service.dart +++ b/lib/src/service/minimum_versioning_service.dart @@ -1,4 +1,4 @@ -import 'package:lr_app_versioning/src/model/minimum_versions.dart'; +import 'package:app_versioning/src/model/minimum_versions.dart'; abstract class MinimumVersioningService { Future getMinimumVersions(); diff --git a/lib/src/service/optional_update_service.dart b/lib/src/service/optional_update_service.dart index 11beb95..1a435e2 100644 --- a/lib/src/service/optional_update_service.dart +++ b/lib/src/service/optional_update_service.dart @@ -1,4 +1,4 @@ -import 'package:lr_app_versioning/src/util/version.dart'; +import 'package:app_versioning/src/util/version.dart'; abstract class OptionalUpdateService { Future isOptionalUpdateAvailable(Version currentVersion); diff --git a/pubspec.lock b/pubspec.lock index 9dda161..7395b3c 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -42,119 +42,119 @@ packages: name: collection url: "https://pub.dartlang.org" source: hosted - version: "1.15.0" + version: "1.16.0" csslib: dependency: transitive description: name: csslib url: "https://pub.dartlang.org" source: hosted - version: "0.17.1" + version: "0.17.2" device_info_plus: dependency: transitive description: name: device_info_plus url: "https://pub.dartlang.org" source: hosted - version: "3.2.2" + version: "4.1.2" device_info_plus_linux: dependency: transitive description: name: device_info_plus_linux url: "https://pub.dartlang.org" source: hosted - version: "2.1.1" + version: "3.0.0" device_info_plus_macos: dependency: transitive description: name: device_info_plus_macos url: "https://pub.dartlang.org" source: hosted - version: "2.2.2" + version: "3.0.0" device_info_plus_platform_interface: dependency: transitive description: name: device_info_plus_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.3.0+1" + version: "3.0.0" device_info_plus_web: dependency: transitive description: name: device_info_plus_web url: "https://pub.dartlang.org" source: hosted - version: "2.1.0" + version: "3.0.0" device_info_plus_windows: dependency: transitive description: name: device_info_plus_windows url: "https://pub.dartlang.org" source: hosted - version: "2.1.1" + version: "4.1.0" fake_async: dependency: transitive description: name: fake_async url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.3.0" ffi: dependency: transitive description: name: ffi url: "https://pub.dartlang.org" source: hosted - version: "1.1.2" + version: "2.0.1" file: dependency: transitive description: name: file url: "https://pub.dartlang.org" source: hosted - version: "6.1.2" + version: "6.1.4" firebase_core: dependency: transitive description: name: firebase_core url: "https://pub.dartlang.org" source: hosted - version: "1.13.1" + version: "1.22.0" firebase_core_platform_interface: dependency: transitive description: name: firebase_core_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "4.2.5" + version: "4.5.1" firebase_core_web: dependency: transitive description: name: firebase_core_web url: "https://pub.dartlang.org" source: hosted - version: "1.6.1" + version: "1.7.2" firebase_remote_config: dependency: "direct main" description: name: firebase_remote_config url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "2.0.17" firebase_remote_config_platform_interface: dependency: transitive description: name: firebase_remote_config_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "1.1.1" + version: "1.1.16" firebase_remote_config_web: dependency: transitive description: name: firebase_remote_config_web url: "https://pub.dartlang.org" source: hosted - version: "1.0.7" + version: "1.1.5" flutter: dependency: "direct main" description: flutter @@ -178,19 +178,19 @@ packages: source: hosted version: "0.15.0" http: - dependency: transitive + dependency: "direct main" description: name: http url: "https://pub.dartlang.org" source: hosted - version: "0.13.1" + version: "0.13.5" http_parser: dependency: transitive description: name: http_parser url: "https://pub.dartlang.org" source: hosted - version: "4.0.0" + version: "4.0.1" in_app_update: dependency: "direct main" description: @@ -204,16 +204,7 @@ packages: name: js url: "https://pub.dartlang.org" source: hosted - version: "0.6.3" - lr_core: - dependency: "direct main" - description: - path: "." - ref: "release/1.0.0" - resolved-ref: "72c7cea4bad0458a5c0e39e30fefb86a2c0891cb" - url: "git@github.com:levin-riegner/lr-core.git" - source: git - version: "0.0.1" + version: "0.6.4" matcher: dependency: transitive description: @@ -227,7 +218,7 @@ packages: name: material_color_utilities url: "https://pub.dartlang.org" source: hosted - version: "0.1.3" + version: "0.1.4" meta: dependency: transitive description: @@ -241,21 +232,21 @@ packages: name: os_detect url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.1" package_info_plus: dependency: "direct main" description: name: package_info_plus url: "https://pub.dartlang.org" source: hosted - version: "1.4.0" + version: "1.4.3+1" package_info_plus_linux: dependency: transitive description: name: package_info_plus_linux url: "https://pub.dartlang.org" source: hosted - version: "1.0.3" + version: "1.0.5" package_info_plus_macos: dependency: transitive description: @@ -276,56 +267,49 @@ packages: name: package_info_plus_web url: "https://pub.dartlang.org" source: hosted - version: "1.0.4" + version: "1.0.5" package_info_plus_windows: dependency: transitive description: name: package_info_plus_windows url: "https://pub.dartlang.org" source: hosted - version: "1.0.4" + version: "2.1.0" path: dependency: transitive description: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.8.0" + version: "1.8.1" path_provider_linux: dependency: transitive description: name: path_provider_linux url: "https://pub.dartlang.org" source: hosted - version: "2.1.5" + version: "2.1.7" path_provider_platform_interface: dependency: transitive description: name: path_provider_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.0.3" + version: "2.0.4" path_provider_windows: dependency: transitive description: name: path_provider_windows url: "https://pub.dartlang.org" source: hosted - version: "2.0.5" - pedantic: - dependency: transitive - description: - name: pedantic - url: "https://pub.dartlang.org" - source: hosted - version: "1.11.1" + version: "2.1.3" petitparser: dependency: transitive description: name: petitparser url: "https://pub.dartlang.org" source: hosted - version: "4.4.0" + version: "5.0.0" platform: dependency: transitive description: @@ -353,56 +337,56 @@ packages: name: shared_preferences url: "https://pub.dartlang.org" source: hosted - version: "2.0.13" + version: "2.0.15" shared_preferences_android: dependency: transitive description: name: shared_preferences_android url: "https://pub.dartlang.org" source: hosted - version: "2.0.11" + version: "2.0.13" shared_preferences_ios: dependency: transitive description: name: shared_preferences_ios url: "https://pub.dartlang.org" source: hosted - version: "2.1.0" + version: "2.1.1" shared_preferences_linux: dependency: transitive description: name: shared_preferences_linux url: "https://pub.dartlang.org" source: hosted - version: "2.1.0" + version: "2.1.1" shared_preferences_macos: dependency: transitive description: name: shared_preferences_macos url: "https://pub.dartlang.org" source: hosted - version: "2.0.3" + version: "2.0.4" shared_preferences_platform_interface: dependency: transitive description: name: shared_preferences_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.1.0" shared_preferences_web: dependency: transitive description: name: shared_preferences_web url: "https://pub.dartlang.org" source: hosted - version: "2.0.3" + version: "2.0.4" shared_preferences_windows: dependency: transitive description: name: shared_preferences_windows url: "https://pub.dartlang.org" source: hosted - version: "2.1.0" + version: "2.1.1" sky_engine: dependency: transitive description: flutter @@ -414,7 +398,7 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.1" + version: "1.8.2" stack_trace: dependency: transitive description: @@ -449,112 +433,112 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.4.8" + version: "0.4.9" typed_data: dependency: transitive description: name: typed_data url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.3.1" upgrader: dependency: "direct main" description: name: upgrader url: "https://pub.dartlang.org" source: hosted - version: "3.13.0" + version: "4.6.1" url_launcher: dependency: "direct main" description: name: url_launcher url: "https://pub.dartlang.org" source: hosted - version: "6.0.20" + version: "6.1.5" url_launcher_android: dependency: transitive description: name: url_launcher_android url: "https://pub.dartlang.org" source: hosted - version: "6.0.15" + version: "6.0.19" url_launcher_ios: dependency: transitive description: name: url_launcher_ios url: "https://pub.dartlang.org" source: hosted - version: "6.0.15" + version: "6.0.17" url_launcher_linux: dependency: transitive description: name: url_launcher_linux url: "https://pub.dartlang.org" source: hosted - version: "3.0.0" + version: "3.0.1" url_launcher_macos: dependency: transitive description: name: url_launcher_macos url: "https://pub.dartlang.org" source: hosted - version: "3.0.0" + version: "3.0.1" url_launcher_platform_interface: dependency: transitive description: name: url_launcher_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.0.5" + version: "2.1.0" url_launcher_web: dependency: transitive description: name: url_launcher_web url: "https://pub.dartlang.org" source: hosted - version: "2.0.9" + version: "2.0.13" url_launcher_windows: dependency: transitive description: name: url_launcher_windows url: "https://pub.dartlang.org" source: hosted - version: "3.0.0" + version: "3.0.1" vector_math: dependency: transitive description: name: vector_math url: "https://pub.dartlang.org" source: hosted - version: "2.1.1" + version: "2.1.2" version: dependency: transitive description: name: version url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "3.0.2" win32: dependency: transitive description: name: win32 url: "https://pub.dartlang.org" source: hosted - version: "2.4.1" + version: "3.0.0" xdg_directories: dependency: transitive description: name: xdg_directories url: "https://pub.dartlang.org" source: hosted - version: "0.2.0+1" + version: "0.2.0+2" xml: dependency: transitive description: name: xml url: "https://pub.dartlang.org" source: hosted - version: "5.3.1" + version: "6.1.0" sdks: - dart: ">=2.16.0 <3.0.0" - flutter: ">=2.10.0" + dart: ">=2.17.0 <3.0.0" + flutter: ">=3.0.0" diff --git a/pubspec.yaml b/pubspec.yaml index f7ff12a..b17ed4c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ -name: lr_app_versioning -description: L+R app versioning package -version: 0.1.0 +name: app_versioning +description: App versioning package +version: 1.0.2 publish_to: none environment: @@ -9,23 +9,19 @@ environment: dependencies: flutter: sdk: flutter - - # L&R core - lr_core: - git: - url: git@github.com:levin-riegner/lr-core.git - ref: release/1.0.0 # App package info - package_info_plus: ^1.0.2 + package_info_plus: ^1.4.3 # URL Launcher - url_launcher: ^6.0.3 + url_launcher: ^6.1.5 # Shared Preferences - shared_preferences: ^2.0.5 + shared_preferences: ^2.0.15 # Firebase Remote Config - firebase_remote_config: ^2.0.2 + firebase_remote_config: ^2.0.17 + # HTTP + http: ^0.13.5 # In-app update in_app_update: ^3.0.0 # Android - upgrader: ^3.2.1 # iOS + upgrader: ^4.6.1 # iOS dev_dependencies: flutter_test: diff --git a/test/lr_app_versioning_test.dart b/test/app_versioning_test.dart similarity index 91% rename from test/lr_app_versioning_test.dart rename to test/app_versioning_test.dart index de5d13a..cef861b 100644 --- a/test/lr_app_versioning_test.dart +++ b/test/app_versioning_test.dart @@ -1,8 +1,8 @@ import 'package:flutter_test/flutter_test.dart'; -import 'package:lr_app_versioning/app_versioning.dart'; -import 'package:lr_app_versioning/src/mock/mock_device_versioning_service.dart'; -import 'package:lr_app_versioning/src/mock/mock_minimum_versioning_service.dart'; -import 'package:lr_app_versioning/src/mock/mock_optional_update_service.dart'; +import 'package:app_versioning/app_versioning.dart'; +import 'package:app_versioning/src/mock/mock_device_versioning_service.dart'; +import 'package:app_versioning/src/mock/mock_minimum_versioning_service.dart'; +import 'package:app_versioning/src/mock/mock_optional_update_service.dart'; void main() { test('Mandatory Update Required', () async {