Socket
Socket
Sign inDemoInstall

deso-protocol

Package Overview
Dependencies
Maintainers
3
Versions
225
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

deso-protocol - npm Package Compare versions

Comparing version 2.0.0-beta.0 to 2.0.0-beta.1

2

package.json
{
"name": "deso-protocol",
"version": "2.0.0-beta.0",
"version": "2.0.0-beta.1",
"license": "MIT",

@@ -5,0 +5,0 @@ "description": "Client side typescript/javascript SDK for building web3 applications for the DeSo blockchain.",

@@ -13,3 +13,3 @@ # deso-protocol

```ts
````ts
import { configure } from 'deso-protocol';

@@ -56,4 +56,31 @@

MinFeeRateNanosPerKB: 1000,
// THE FOLLOWING CONFIGURATIONS ARE ONLY NEEDED IN A REACT NATIVE CONTEXT
/**
* An optional storage provider. If not provided, we will assume localStorage
* is available. In react native this will typically be an async storage
* class.
*/
storageProvider?: Storage | AsyncStorage;
/**
* An optional function that is provided the identity url that needs to be
* opened. This can be used to customize how the identity url is opened. For
* example, if you are using react native, you might want to use the WebBrowser
* API to open the url in a system browser window.
* @example
* ```ts
* identityPresenter: async (url) => {
* const result = await WebBrowser.openAuthSessionAsync(url);
* if (result.type === 'success') {
* identity.handleRedirectURI(result.url);
* }
* },
* ```
*/
identityPresenter?: (url: string) => void;
})
```
````

@@ -202,2 +229,89 @@ ## Usage

## React Native (beta)
React native support is a work in progress, but there is a beta version
available if you'd like to test to it out. You will need to run react native
version `0.71.7` or later to ensure `BigInt` support is available.
### Installation
```sh
npm i deso-protocol@beta
```
There a few peer dependencies that are required for everything to work smoothly.
```sh
npm i react-native-get-random-values react-native-webview react-native-webview-crypto text-encoding @react-native-async-storage/async-storage @ethersproject/shims
```
NOTE: you may need to install native modules for the target platform. For iOS you can do this via cocoapods:
```sh
cd ios && pod install && cd -
```
You will need to add these shims to your application:
```ts
// NOTE: shims must be imported into index.js before anything else and the order
// is important!
import 'react-native-get-random-values';
// The deso-protocol lib depends on the ethers library. See the following for more info:
// https://docs.ethers.org/v5/cookbook/react-native/
import '@ethersproject/shims';
// deso-protocol needs TextEncoder/Decoder and expects it in the global scope
import { TextDecoder, TextEncoder } from 'text-encoding';
if (typeof global.TextEncoder === 'undefined') {
global.TextEncoder = TextEncoder;
}
if (typeof global.TextDecoder === 'undefined') {
global.TextDecoder = TextDecoder;
}
```
`deso-protocol` requires the web crypto APIs, which are provided via
the
[react-native-webview-crypto](https://github.com/webview-crypto/react-native-webview-crypto)
package. TL;DR you need to render a hidden webview at the top level of your app
to proxy crypto method calls to, so please pay special attention to their [usage
documentation](https://github.com/webview-crypto/react-native-webview-crypto#usage).
And finally you will need to configure `deso-protocol` with a `redirectURI`, `identityPresenter`, and `storageProvider`.
If you are using [Expo](https://expo.dev) it is very easy to set things up.
```ts
import { configure } from 'deso-protocol';
import AsyncStorage from '@react-native-async-storage/async-storage';
import * as AuthSession from 'expo-auth-session';
import * as WebBrowser from 'expo-web-browser';
configure({
// This is the deep link back into your application. NOTE: You will need to
// set a scheme value in your app.json
redirectURI: AuthSession.makeRedirectUri(),
// This will open the identity login page in the system browser, and once the
// browser flow is complete the result object will have the payload passed
// back from identity in the query parameters.
identityPresenter: async (url) => {
const result = await WebBrowser.openAuthSessionAsync(url);
if (result.type === 'success') {
identity.handleRedirectURI(result.url);
}
},
// This will be the persistent storage used to keep people logged in.
// For this example we're using @react-native-async-storage/async-storage
// but there are several other options that could work https://reactnative.directory/?search=storage
storageProvider: AsyncStorage,
// ...rest of configs
});
```
## Contributing

@@ -204,0 +318,0 @@

@@ -50,3 +50,3 @@ import { type AccessGroupEntryResponse, type DecryptedMessageEntryResponse, type NewMessageEntryResponse, type SubmitTransactionResponse, type TransactionSpendingLimitResponse } from '../backend-types';

*/
configure({ identityURI, network, nodeURI, spendingLimitOptions, redirectURI, jwtAlgorithm, appName, storageProvider, identityPresenter, identityRedirectResolver, }: IdentityConfiguration): void;
configure({ identityURI, network, nodeURI, spendingLimitOptions, redirectURI, jwtAlgorithm, appName, storageProvider, identityPresenter, }: IdentityConfiguration): void;
/**

@@ -398,3 +398,9 @@ * Allows listening to changes to identity state. The subscriber will be

ethereumAddressToDesoAddress(address: string): Promise<string>;
/**
* Method to handle the redirect URI from the identity service. Typically this
* would be useful in a mobile context where the user is redirected back to
* the app after completing the identity flow.
*/
handleRedirectURI(redirectURI: string): void;
}
export declare const identity: Identity;

@@ -119,4 +119,7 @@ import { AccessGroupLimitMapItem, AccessGroupMemberLimitMapItem, AssociationLimitMapItem, TransactionSpendingLimitResponse, TransactionType } from '../backend-types';

* ```ts
* identityPresenter: (url) => {
* WebBrowser.openBrowserAsync(url);
* identityPresenter: async (url) => {
* const result = await WebBrowser.openAuthSessionAsync(url);
* if (result.type === 'success') {
* identity.handleRedirectURI(result.url);
* }
* },

@@ -126,22 +129,2 @@ * ```

identityPresenter?: (url: string) => void;
/**
* A function that returns a promise that resolves to a
* redirect url. This would be used in the context of react native application
* that needs to propagate the redirect url to the identity library.
* NOTE: This is required if you are using a custom identityPresenter.
* @example
* ```ts
* identityRedirectResolver: () => {
* return new Promise((resolve) => {
* // This is an example of how you might use the Linking API in react native,
* // assuming you've opened a browser window to the identity domain.
* Linking.addEventListener('url', ({ url }) => {
* WebBrowser.dismissBrowser();
* resolve(url);
* });
* });
* },
* ```
*/
identityRedirectResolver?: () => Promise<string>;
}

@@ -148,0 +131,0 @@ export interface APIProvider {

@@ -73,2 +73,2 @@ export var NOTIFICATION_EVENTS;

})(NOTIFICATION_EVENTS || (NOTIFICATION_EVENTS = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWRlbnRpdHkvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOFFBLE1BQU0sQ0FBTixJQUFZLG1CQW9GWDtBQXBGRCxXQUFZLG1CQUFtQjtJQUM3Qjs7T0FFRztJQUNILDhDQUF1QixDQUFBO0lBRXZCOzs7O09BSUc7SUFDSCxrRkFBMkQsQ0FBQTtJQUUzRDs7OztPQUlHO0lBQ0gsOEVBQXVELENBQUE7SUFFdkQ7O09BRUc7SUFDSCxnRkFBeUQsQ0FBQTtJQUV6RDs7T0FFRztJQUNILDhFQUF1RCxDQUFBO0lBRXZEOzs7T0FHRztJQUNILDBFQUFtRCxDQUFBO0lBRW5EOztPQUVHO0lBQ0gsa0RBQTJCLENBQUE7SUFFM0I7OztPQUdHO0lBQ0gsOENBQXVCLENBQUE7SUFFdkI7O09BRUc7SUFDSCxvREFBNkIsQ0FBQTtJQUU3Qjs7O09BR0c7SUFDSCxnREFBeUIsQ0FBQTtJQUV6Qjs7T0FFRztJQUNILGtFQUEyQyxDQUFBO0lBRTNDOzs7T0FHRztJQUNILDhEQUF1QyxDQUFBO0lBRXZDOztPQUVHO0lBQ0gsOEVBQXVELENBQUE7SUFFdkQ7OztPQUdHO0lBQ0gsMEVBQW1ELENBQUE7SUFFbkQ7O09BRUc7SUFDSCxnRUFBeUMsQ0FBQTtBQUMzQyxDQUFDLEVBcEZXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFvRjlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWNjZXNzR3JvdXBMaW1pdE1hcEl0ZW0sXG4gIEFjY2Vzc0dyb3VwTWVtYmVyTGltaXRNYXBJdGVtLFxuICBBc3NvY2lhdGlvbkxpbWl0TWFwSXRlbSxcbiAgVHJhbnNhY3Rpb25TcGVuZGluZ0xpbWl0UmVzcG9uc2UsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnLi4vYmFja2VuZC10eXBlcyc7XG5leHBvcnQgdHlwZSBOZXR3b3JrID0gJ21haW5uZXQnIHwgJ3Rlc3RuZXQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aXR5UmVzcG9uc2Uge1xuICBzZXJ2aWNlOiAnaWRlbnRpdHknO1xuICBtZXRob2Q6ICdkZXJpdmUnIHwgJ2xvZ2luJyB8ICdpbml0aWFsaXplJztcbiAgcGF5bG9hZD86IGFueTtcbiAgaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpdHlEZXJpdmVQYXlsb2FkIHtcbiAgZGVyaXZlZFNlZWRIZXg/OiBzdHJpbmc7XG4gIGRlcml2ZWRQdWJsaWNLZXlCYXNlNThDaGVjazogc3RyaW5nO1xuICBwdWJsaWNLZXlCYXNlNThDaGVjazogc3RyaW5nO1xuICBidGNEZXBvc2l0QWRkcmVzczogc3RyaW5nO1xuICBldGhEZXBvc2l0QWRkcmVzczogc3RyaW5nO1xuICBleHBpcmF0aW9uQmxvY2s6IG51bWJlcjtcbiAgbmV0d29yazogTmV0d29yaztcbiAgYWNjZXNzU2lnbmF0dXJlOiBzdHJpbmc7XG4gIGp3dDogc3RyaW5nO1xuICBkZXJpdmVkSnd0OiBzdHJpbmc7XG4gIG1lc3NhZ2luZ1B1YmxpY0tleUJhc2U1OENoZWNrOiBzdHJpbmc7XG4gIG1lc3NhZ2luZ1ByaXZhdGVLZXk6IHN0cmluZztcbiAgbWVzc2FnaW5nS2V5TmFtZTogc3RyaW5nO1xuICBtZXNzYWdpbmdLZXlTaWduYXR1cmU6IHN0cmluZztcbiAgdHJhbnNhY3Rpb25TcGVuZGluZ0xpbWl0SGV4OiBzdHJpbmc7XG4gIHNpZ25lZFVwOiBib29sZWFuO1xuICBwdWJsaWNLZXlBZGRlZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvblNwZW5kaW5nTGltaXRSZXNwb25zZU9wdGlvbnMge1xuICBHbG9iYWxERVNPTGltaXQ/OiBudW1iZXI7XG4gIFRyYW5zYWN0aW9uQ291bnRMaW1pdE1hcD86IFBhcnRpYWw8XG4gICAgUmVjb3JkPFRyYW5zYWN0aW9uVHlwZSwgbnVtYmVyIHwgJ1VOTElNSVRFRCc+XG4gID47XG4gIENyZWF0b3JDb2luT3BlcmF0aW9uTGltaXRNYXA/OiB7XG4gICAgW2tleTogc3RyaW5nXTogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfCAnVU5MSU1JVEVEJyB9O1xuICB9O1xuICBEQU9Db2luT3BlcmF0aW9uTGltaXRNYXA/OiB7XG4gICAgW2tleTogc3RyaW5nXTogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfCAnVU5MSU1JVEVEJyB9O1xuICB9O1xuICBORlRPcGVyYXRpb25MaW1pdE1hcD86IHtcbiAgICBba2V5OiBzdHJpbmddOiB7IFtrZXk6IG51bWJlcl06IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIHwgJ1VOTElNSVRFRCcgfSB9O1xuICB9O1xuICBEQU9Db2luTGltaXRPcmRlckxpbWl0TWFwPzoge1xuICAgIFtrZXk6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIHwgJ1VOTElNSVRFRCcgfTtcbiAgfTtcbiAgQXNzb2NpYXRpb25MaW1pdE1hcD86IChPbWl0PEFzc29jaWF0aW9uTGltaXRNYXBJdGVtLCAnT3BDb3VudCc+ICYge1xuICAgIE9wQ291bnQ6IG51bWJlciB8ICdVTkxJTUlURUQnO1xuICB9KVtdO1xuICBBY2Nlc3NHcm91cExpbWl0TWFwPzogKE9taXQ8QWNjZXNzR3JvdXBMaW1pdE1hcEl0ZW0sICdPcENvdW50Jz4gJiB7XG4gICAgT3BDb3VudDogbnVtYmVyIHwgJ1VOTElNSVRFRCc7XG4gIH0pW107XG4gIEFjY2Vzc0dyb3VwTWVtYmVyTGltaXRNYXA/OiAoT21pdDxcbiAgICBBY2Nlc3NHcm91cE1lbWJlckxpbWl0TWFwSXRlbSxcbiAgICAnT3BDb3VudCdcbiAgPiAmIHsgT3BDb3VudDogbnVtYmVyIHwgJ1VOTElNSVRFRCcgfSlbXTtcbiAgSXNVbmxpbWl0ZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBqd3RBbGdvcml0aG0gPSAnRVMyNTZLJyB8ICdFUzI1Nic7XG5leHBvcnQgaW50ZXJmYWNlIElkZW50aXR5Q29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgaWRlbnRpdHkgZG9tYWluLiBEZWZhdWx0cyB0byBodHRwczovL2lkZW50aXR5LmRlc28ub3JnXG4gICAqL1xuICBpZGVudGl0eVVSST86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgbmV0d29yay4gSWYgbm90IHByb3ZpZGVkLCB3ZSB3aWxsIGFzc3VtZSBtYWlubmV0LlxuICAgKi9cbiAgbmV0d29yaz86IE5ldHdvcms7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNvIG5vZGUgdXNlZCBmb3IgYW55IGFwaSBjYWxscyAoZ2V0IGJhbGFuY2UsIGRlcml2ZWQga2V5IGF1dGhvcml6YXRpb24sIGV0YylcbiAgICovXG4gIG5vZGVVUkk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHJlZGlyZWN0IFVSSS4gSWYgcHJvdmlkZWQsIHdlIGRvIGEgaGFyZCByZWRpcmVjdCB0byB0aGUgaWRlbnRpdHlcbiAgICogZG9tYWluIGFuZCBwYXNzIGRhdGEgdmlhIHF1ZXJ5IHBhcmFtcyBiYWNrIHRvIHRoZSBwcm92aWRlZCB1cmkuXG4gICAqL1xuICByZWRpcmVjdFVSST86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgcGVybWlzc2lvbnMgYW5kIHNwZW5kaW5nIGxpbWl0cyB0aGF0IHdpbGwgYmUgcHJlc2VudGVkIHRvIHRoZSB1c2VyXG4gICAqIGR1cmluZyBsb2dpbi4gSWYgbm90IHByb3ZpZGVkLCB3ZSB3aWxsIGFzc3VtZSBubyBwZXJtaXNzaW9ucy5cbiAgICovXG4gIHNwZW5kaW5nTGltaXRPcHRpb25zPzogVHJhbnNhY3Rpb25TcGVuZGluZ0xpbWl0UmVzcG9uc2VPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYXBwIHVzZWQgdG8gYXV0aG9yaXplIGRlcml2ZWQga2V5cy4gRGVmYXVsdHMgdG8gdW5rbm93bi5cbiAgICovXG4gIGFwcE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNpbmNlIG91ciBrZXlzIGFyZSBnZW5lcmF0ZWQgdXNpbmcgdGhlIHNlY3AyNTZrMSBjdXJ2ZSwgdGhlIGNvcnJlY3RcbiAgICogSldUIGFsZ29yaXRobSBoZWFkZXIgKnNob3VsZCogYmUgRVMyNTZLLlxuICAgKiBTZWU6IGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM4ODEyLmh0bWwjbmFtZS1qb3NlLWFsZ29yaXRobXMtcmVnaXN0cmF0aW9cbiAgICpcbiAgICogSE9XRVZFUiwgdGhlIGJhY2tlbmQgand0IGxpYiB1c2VkIGJ5IGRlc28gZm91bmRhdGlvbiAtXG4gICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9nb2xhbmctand0L2p3dCAtIChhcyB3ZWxsIGFzIG1hbnkgb3RoZXIgand0IGxpYnJhcmllcylcbiAgICogZG8gbm90IHN1cHBvcnQgRVMyNTZLLiBTbyBpbnN0ZWFkLCB3ZSBkZWZhdWx0IHRvIHRoZSBtb3JlIHdpZGVseSBzdXBwb3J0ZWQgRVMyNTYgYWxnbyxcbiAgICogd2hpY2ggY2FuIHN0aWxsIHdvcmsgZm9yIHZlcmlmeWluZyBvdXIgc2lnbmF0dXJlcy4gQnV0IGlmIGEgY29uc3VtZXIgb2YgdGhpcyBsaWIgaXMgdXNpbmcgYVxuICAgKiBqd3QgbGliIHRoYXQgc3VwcG9ydHMgRVMyNTZLIHRoZXkgY2FuIHNwZWNpZnkgdGhhdCBoZXJlLlxuICAgKiBTZWUgdGhpcyBnaXRodWIgaXNzdWVcbiAgICogZm9yIG1vcmUgY29udGV4dDogaHR0cHM6Ly9naXRodWIuY29tL2F1dGgwL25vZGUtanNvbndlYnRva2VuL2lzc3Vlcy84NjJcbiAgICogSWYgRVMyNTZLIGlzIGV2ZXIgc3VwcG9ydGVkIGJ5IHRoZSBiYWNrZW5kIGp3dCBsaWIsIHdlIHNob3VsZCBjaGFuZ2UgdGhpcy5cbiAgICovXG4gIGp3dEFsZ29yaXRobT86IGp3dEFsZ29yaXRobTtcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgc3RvcmFnZSBwcm92aWRlci4gSWYgbm90IHByb3ZpZGVkLCB3ZSB3aWxsIGFzc3VtZSBsb2NhbFN0b3JhZ2VcbiAgICogaXMgYXZhaWxhYmxlLlxuICAgKi9cbiAgc3RvcmFnZVByb3ZpZGVyPzogU3RvcmFnZSB8IEFzeW5jU3RvcmFnZTtcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgZnVuY3Rpb24gdGhhdCBpcyBwcm92aWRlZCB0aGUgaWRlbnRpdHkgdXJsIHRoYXQgbmVlZHMgdG8gYmVcbiAgICogb3BlbmVkLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGN1c3RvbWl6ZSBob3cgdGhlIGlkZW50aXR5IHVybCBpcyBvcGVuZWQuIEZvclxuICAgKiBleGFtcGxlLCBpZiB5b3UgYXJlIHVzaW5nIHJlYWN0IG5hdGl2ZSwgeW91IG1pZ2h0IHdhbnQgdG8gdXNlIHRoZSBMaW5raW5nXG4gICAqIEFQSSB0byBvcGVuIHRoZSB1cmwgaW4gYSBzeXN0ZW0gYnJvd3NlciB3aW5kb3cuXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHRzXG4gICAqIGlkZW50aXR5UHJlc2VudGVyOiAodXJsKSA9PiB7XG4gICAqICAgV2ViQnJvd3Nlci5vcGVuQnJvd3NlckFzeW5jKHVybCk7XG4gICAqIH0sXG4gICAqIGBgYFxuICAgKi9cbiAgaWRlbnRpdHlQcmVzZW50ZXI/OiAodXJsOiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGFcbiAgICogcmVkaXJlY3QgdXJsLiBUaGlzIHdvdWxkIGJlIHVzZWQgaW4gdGhlIGNvbnRleHQgb2YgcmVhY3QgbmF0aXZlIGFwcGxpY2F0aW9uXG4gICAqIHRoYXQgbmVlZHMgdG8gcHJvcGFnYXRlIHRoZSByZWRpcmVjdCB1cmwgdG8gdGhlIGlkZW50aXR5IGxpYnJhcnkuXG4gICAqIE5PVEU6IFRoaXMgaXMgcmVxdWlyZWQgaWYgeW91IGFyZSB1c2luZyBhIGN1c3RvbSBpZGVudGl0eVByZXNlbnRlci5cbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHNcbiAgICogICBpZGVudGl0eVJlZGlyZWN0UmVzb2x2ZXI6ICgpID0+IHtcbiAgICogICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgKiAgICAgICAvLyBUaGlzIGlzIGFuIGV4YW1wbGUgb2YgaG93IHlvdSBtaWdodCB1c2UgdGhlIExpbmtpbmcgQVBJIGluIHJlYWN0IG5hdGl2ZSxcbiAgICogICAgICAgLy8gYXNzdW1pbmcgeW91J3ZlIG9wZW5lZCBhIGJyb3dzZXIgd2luZG93IHRvIHRoZSBpZGVudGl0eSBkb21haW4uXG4gICAqICAgICAgIExpbmtpbmcuYWRkRXZlbnRMaXN0ZW5lcigndXJsJywgKHsgdXJsIH0pID0+IHtcbiAgICogICAgICAgICBXZWJCcm93c2VyLmRpc21pc3NCcm93c2VyKCk7XG4gICAqICAgICAgICAgcmVzb2x2ZSh1cmwpO1xuICAgKiAgICAgICB9KTtcbiAgICogICAgIH0pO1xuICAgKiAgIH0sXG4gICAqIGBgYFxuICAgKi9cbiAgaWRlbnRpdHlSZWRpcmVjdFJlc29sdmVyPzogKCkgPT4gUHJvbWlzZTxzdHJpbmc+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFQSVByb3ZpZGVyIHtcbiAgcG9zdDogKHVybDogc3RyaW5nLCBkYXRhOiBhbnkpID0+IFByb21pc2U8YW55PjtcbiAgZ2V0OiAodXJsOiBzdHJpbmcpID0+IFByb21pc2U8YW55Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaW5kb3dQcm92aWRlciB7XG4gIGxvY2F0aW9uOiB7IHNlYXJjaDogc3RyaW5nOyBwYXRobmFtZTogc3RyaW5nOyBocmVmOiBzdHJpbmcgfTtcbiAgaGlzdG9yeTogeyByZXBsYWNlU3RhdGU6IChzdGF0ZTogYW55LCB0aXRsZTogc3RyaW5nLCB1cmw6IHN0cmluZykgPT4gdm9pZCB9O1xuICBsb2NhbFN0b3JhZ2U6IHtcbiAgICBnZXRJdGVtOiAoa2V5OiBzdHJpbmcpID0+IHN0cmluZyB8IG51bGw7XG4gICAgc2V0SXRlbTogKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICAgIHJlbW92ZUl0ZW06IChrZXk6IHN0cmluZykgPT4gdm9pZDtcbiAgfTtcbiAgb3BlbjogKFxuICAgIHVybDogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgb3B0aW9uczogc3RyaW5nXG4gICkgPT4gV2luZG93IHwgbnVsbDtcbiAgYWRkRXZlbnRMaXN0ZW5lcjogKGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiAoZXZlbnQ6IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgcmVtb3ZlRXZlbnRMaXN0ZW5lcjogKGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiAoZXZlbnQ6IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2dpbk9wdGlvbnMge1xuICBnZXRGcmVlRGVzbzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgUHJpbWFyeURlcml2ZWRLZXlJbmZvID0gSWRlbnRpdHlEZXJpdmVQYXlsb2FkICYge1xuICB0cmFuc2FjdGlvblNwZW5kaW5nTGltaXRzOiBUcmFuc2FjdGlvblNwZW5kaW5nTGltaXRSZXNwb25zZTtcbiAgSXNWYWxpZD86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBTdG9yZWRVc2VyID0ge1xuICBwdWJsaWNLZXk6IHN0cmluZztcbiAgcHJpbWFyeURlcml2ZWRLZXk6IFByaW1hcnlEZXJpdmVkS2V5SW5mbztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpdHlVc2VyIHtcbiAgYWNjZXNzTGV2ZWw6IG51bWJlcjtcbiAgYWNjZXNzTGV2ZWxIbWFjOiBzdHJpbmc7XG4gIGJ0Y0RlcG9zaXRBZGRyZXNzOiBzdHJpbmc7XG4gIGVuY3J5cHRlZFNlZWRIZXg6IHN0cmluZztcbiAgZXRoRGVwb3NpdEFkZHJlc3M6IHN0cmluZztcbiAgZGVyaXZlZFB1YmxpY0tleUJhc2U1OENoZWNrPzogc3RyaW5nO1xuICBoYXNFeHRyYVRleHQ6IGJvb2xlYW47XG4gIG5ldHdvcms6IHN0cmluZztcbiAgdmVyc2lvbjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aXR5TG9naW5QYXlsb2FkIHtcbiAgdXNlcnM6IFJlY29yZDxzdHJpbmcsIElkZW50aXR5VXNlcj47XG4gIHB1YmxpY0tleUFkZGVkOiBzdHJpbmc7XG4gIHBob25lTnVtYmVyU3VjY2VzczogYm9vbGVhbjtcbiAgc2lnbmVkVXA6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpdHlTdGF0ZSB7XG4gIGN1cnJlbnRVc2VyOiBTdG9yZWRVc2VyIHwgbnVsbDtcbiAgYWx0ZXJuYXRlVXNlcnM6IFJlY29yZDxzdHJpbmcsIFN0b3JlZFVzZXI+IHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWZlcnJlZCB7XG4gIHJlc29sdmU6IChhcmdzOiBhbnkpID0+IHZvaWQ7XG4gIHJlamVjdDogKGFyZ3M6IGFueSkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLZXlQYWlyIHtcbiAgc2VlZEhleDogc3RyaW5nO1xuICBwcml2YXRlOiBVaW50OEFycmF5O1xuICBwdWJsaWM6IFVpbnQ4QXJyYXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaWJlck5vdGlmaWNhdGlvbiB7XG4gIGV2ZW50OiBOT1RJRklDQVRJT05fRVZFTlRTO1xuICBjdXJyZW50VXNlcjogU3RvcmVkVXNlciB8IG51bGw7XG4gIGFsdGVybmF0ZVVzZXJzOiBSZWNvcmQ8c3RyaW5nLCBTdG9yZWRVc2VyPiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXRoZXJzY2FuVHJhbnNhY3Rpb25zQnlBZGRyZXNzUmVzcG9uc2Uge1xuICBzdGF0dXM6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xuICByZXN1bHQ6IEV0aGVyc2NhblRyYW5zYWN0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXRoZXJzY2FuVHJhbnNhY3Rpb24ge1xuICBibG9ja051bWJlcjogc3RyaW5nO1xuICB0aW1lc3RhbXA6IHN0cmluZztcbiAgaGFzaDogc3RyaW5nO1xuICBub25jZTogc3RyaW5nO1xuICBibG9ja0hhc2g6IHN0cmluZztcbiAgdHJhbnNhY3Rpb25JbmRleDogc3RyaW5nO1xuICBmcm9tOiBzdHJpbmc7XG4gIHRvOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGdhczogc3RyaW5nO1xuICBnYXNQcmljZTogc3RyaW5nO1xuICBpc0Vycm9yOiBzdHJpbmc7XG4gIHR4cmVjZWlwdF9zdGF0dXM6IHN0cmluZztcbiAgaW5wdXQ6IHN0cmluZztcbiAgY29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gIGN1bXVsYXRpdmVHYXNVc2VkOiBzdHJpbmc7XG4gIGdhc1VzZWQ6IHN0cmluZztcbiAgY29uZmlybWF0aW9uczogc3RyaW5nO1xuICBtZXRob2RJZDogc3RyaW5nO1xuICBmdW5jdGlvbk5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY2Nlc3NHcm91cFByaXZhdGVJbmZvIHtcbiAgQWNjZXNzR3JvdXBQdWJsaWNLZXlCYXNlNThDaGVjazogc3RyaW5nO1xuICBBY2Nlc3NHcm91cFByaXZhdGVLZXlIZXg6IHN0cmluZztcbiAgQWNjZXNzR3JvdXBLZXlOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIE5PVElGSUNBVElPTl9FVkVOVFMge1xuICAvKipcbiAgICogVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSBjb25zdW1pbmcgYXBwIGluaXRpYWxseSBzdWJzY3JpYmVzIHRvIGlkZW50aXR5LlxuICAgKi9cbiAgU1VCU0NSSUJFID0gJ1NVQlNDUklCRScsXG5cbiAgLyoqXG4gICAqIFRoaXMgaXMgYW4gaW50ZXJtZWRpYXRlIGV2ZW50IGZpcmVkIEFGVEVSIHRoZSB1c2VyIGNvbXBsZXRlcyBhbiBpZGVudGl0eSBmbG93XG4gICAqIHRoYXQgcmVxdWlyZXMgYSBkZXJpdmVkIGtleSBhdXRob3JpemF0aW9uLiBUaGlzIGV2ZW50IGlzIGZpcmVkIEJFRk9SRSB0aGVcbiAgICogcmVxdWVzdCB0byBhdXRob3JpemUgdGhlIGRlcml2ZWQga2V5IGlzIG1hZGUuXG4gICAqL1xuICBBVVRIT1JJWkVfREVSSVZFRF9LRVlfU1RBUlQgPSAnQVVUSE9SSVpFX0RFUklWRURfS0VZX1NUQVJUJyxcblxuICAvKipcbiAgICogVGhpcyBpcyBhbiBpbnRlcm1lZGlhdGUgZXZlbnQgZmlyZWQgQUZURVIgdGhlIHVzZXIgY29tcGxldGVzIGFuIGlkZW50aXR5XG4gICAqIGZsb3cgdGhhdCByZXF1aXJlcyBhIGRlcml2ZWQga2V5IGF1dGhvcml6YXRpb24uIFRoaXMgZXZlbnQgaXMgZmlyZWQgQUZURVJcbiAgICogdGhlIHJlcXVlc3QgdG8gYXV0aG9yaXplIHRoZSBkZXJpdmVkIGtleSBpcyBtYWRlLlxuICAgKi9cbiAgQVVUSE9SSVpFX0RFUklWRURfS0VZX0VORCA9ICdBVVRIT1JJWkVfREVSSVZFRF9LRVlfRU5EJyxcblxuICAvKipcbiAgICogVGhpcyBldmVudCBpcyBmaXJlZCBpZiB0aGUgcmVxdWVzdCB0byBhdXRob3JpemUgYSBkZXJpdmVkIGtleSBmYWlscy5cbiAgICovXG4gIEFVVEhPUklaRV9ERVJJVkVEX0tFWV9GQUlMID0gJ0FVVEhPUklaRV9ERVJJVkVEX0tFWV9GQUlMJyxcblxuICAvKipcbiAgICogVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIG9wZW5zIHRoZSBwZXJtaXNzaW9ucyBhcHByb3ZhbCBwb3B1cC5cbiAgICovXG4gIFJFUVVFU1RfUEVSTUlTU0lPTlNfU1RBUlQgPSAnUkVRVUVTVF9QRVJNSVNTSU9OU19TVEFSVCcsXG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBjb21wbGV0ZXMgYXBwcm92aW5nIHBlcm1pc3Npb25zLCBhbmRcbiAgICogY29tZXMgQUZURVIgdGhlIGludGVybWVkaWF0ZSBBVVRIT1JJWkVfREVSSVZFRF9LRVkgZXZlbnRzLlxuICAgKi9cbiAgUkVRVUVTVF9QRVJNSVNTSU9OU19FTkQgPSAnUkVRVUVTVF9QRVJNSVNTSU9OU19FTkQnLFxuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIHVzZXIgb3BlbnMgdGhlIGxvZ2luIHBvcHVwLlxuICAgKi9cbiAgTE9HSU5fU1RBUlQgPSAnTE9HSU5fU1RBUlQnLFxuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIHVzZXIgY29tcGxldGVzIGxvZ2dpbmcgaW4sIGFuZFxuICAgKiBjb21lcyBBRlRFUiB0aGUgaW50ZXJtZWRpYXRlIEFVVEhPUklaRV9ERVJJVkVEX0tFWSBldmVudHMuXG4gICAqL1xuICBMT0dJTl9FTkQgPSAnTE9HSU5fRU5EJyxcblxuICAvKipcbiAgICogVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIG9wZW5zIHRoZSBsb2dvdXQgcG9wdXAuXG4gICAqL1xuICBMT0dPVVRfU1RBUlQgPSAnTE9HT1VUX1NUQVJUJyxcblxuICAvKipcbiAgICogVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIGNvbXBsZXRlcyBsb2dnaW5nIG91dCwgYW5kXG4gICAqIGNvbWVzIEFGVEVSIHRoZSBpbnRlcm1lZGlhdGUgQVVUSE9SSVpFX0RFUklWRURfS0VZIGV2ZW50cy5cbiAgICovXG4gIExPR09VVF9FTkQgPSAnTE9HT1VUX0VORCcsXG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBvcGVucyB0aGUgZ2V0IGRlc28gcG9wdXAuXG4gICAqL1xuICBHRVRfRlJFRV9ERVNPX1NUQVJUID0gJ0dFVF9GUkVFX0RFU09fU1RBUlQnLFxuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIHVzZXIgY29tcGxldGVzIHRoZSBnZXQgZGVzbyBmbG93LCBhbmQgY29tZXNcbiAgICogQUZURVIgdGhlIGludGVybWVkaWF0ZSBBVVRIT1JJWkVfREVSSVZFRF9LRVkgZXZlbnRzLlxuICAgKi9cbiAgR0VUX0ZSRUVfREVTT19FTkQgPSAnR0VUX0ZSRUVfREVTT19FTkQnLFxuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIHVzZXIgb3BlbnMgdGhlIHZlcmlmeSBwaG9uZSBudW1iZXIgcG9wdXAuXG4gICAqL1xuICBWRVJJRllfUEhPTkVfTlVNQkVSX1NUQVJUID0gJ1ZFUklGWV9QSE9ORV9OVU1CRVJfU1RBUlQnLFxuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIHVzZXIgY29tcGxldGVzIHRoZSB2ZXJpZnkgcGhvbmUgbnVtYmVyIGZsb3csXG4gICAqIGFuZCBjb21lcyBBRlRFUiB0aGUgaW50ZXJtZWRpYXRlIEFVVEhPUklaRV9ERVJJVkVEX0tFWSBldmVudHMuXG4gICAqL1xuICBWRVJJRllfUEhPTkVfTlVNQkVSX0VORCA9ICdWRVJJRllfUEhPTkVfTlVNQkVSX0VORCcsXG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgY29uc3VtaW5nIGFwcCBzd2l0Y2hlcyB0aGUgYWN0aXZlIHVzZXIuXG4gICAqL1xuICBDSEFOR0VfQUNUSVZFX1VTRVIgPSAnQ0hBTkdFX0FDVElWRV9VU0VSJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBc3luY1N0b3JhZ2Uge1xuICBnZXRJdGVtOiAoa2V5OiBzdHJpbmcpID0+IFByb21pc2U8c3RyaW5nIHwgbnVsbD47XG4gIHNldEl0ZW06IChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcmVtb3ZlSXRlbTogKGtleTogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBjbGVhcjogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWRlbnRpdHkvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNFBBLE1BQU0sQ0FBTixJQUFZLG1CQW9GWDtBQXBGRCxXQUFZLG1CQUFtQjtJQUM3Qjs7T0FFRztJQUNILDhDQUF1QixDQUFBO0lBRXZCOzs7O09BSUc7SUFDSCxrRkFBMkQsQ0FBQTtJQUUzRDs7OztPQUlHO0lBQ0gsOEVBQXVELENBQUE7SUFFdkQ7O09BRUc7SUFDSCxnRkFBeUQsQ0FBQTtJQUV6RDs7T0FFRztJQUNILDhFQUF1RCxDQUFBO0lBRXZEOzs7T0FHRztJQUNILDBFQUFtRCxDQUFBO0lBRW5EOztPQUVHO0lBQ0gsa0RBQTJCLENBQUE7SUFFM0I7OztPQUdHO0lBQ0gsOENBQXVCLENBQUE7SUFFdkI7O09BRUc7SUFDSCxvREFBNkIsQ0FBQTtJQUU3Qjs7O09BR0c7SUFDSCxnREFBeUIsQ0FBQTtJQUV6Qjs7T0FFRztJQUNILGtFQUEyQyxDQUFBO0lBRTNDOzs7T0FHRztJQUNILDhEQUF1QyxDQUFBO0lBRXZDOztPQUVHO0lBQ0gsOEVBQXVELENBQUE7SUFFdkQ7OztPQUdHO0lBQ0gsMEVBQW1ELENBQUE7SUFFbkQ7O09BRUc7SUFDSCxnRUFBeUMsQ0FBQTtBQUMzQyxDQUFDLEVBcEZXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFvRjlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWNjZXNzR3JvdXBMaW1pdE1hcEl0ZW0sXG4gIEFjY2Vzc0dyb3VwTWVtYmVyTGltaXRNYXBJdGVtLFxuICBBc3NvY2lhdGlvbkxpbWl0TWFwSXRlbSxcbiAgVHJhbnNhY3Rpb25TcGVuZGluZ0xpbWl0UmVzcG9uc2UsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnLi4vYmFja2VuZC10eXBlcyc7XG5leHBvcnQgdHlwZSBOZXR3b3JrID0gJ21haW5uZXQnIHwgJ3Rlc3RuZXQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aXR5UmVzcG9uc2Uge1xuICBzZXJ2aWNlOiAnaWRlbnRpdHknO1xuICBtZXRob2Q6ICdkZXJpdmUnIHwgJ2xvZ2luJyB8ICdpbml0aWFsaXplJztcbiAgcGF5bG9hZD86IGFueTtcbiAgaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpdHlEZXJpdmVQYXlsb2FkIHtcbiAgZGVyaXZlZFNlZWRIZXg/OiBzdHJpbmc7XG4gIGRlcml2ZWRQdWJsaWNLZXlCYXNlNThDaGVjazogc3RyaW5nO1xuICBwdWJsaWNLZXlCYXNlNThDaGVjazogc3RyaW5nO1xuICBidGNEZXBvc2l0QWRkcmVzczogc3RyaW5nO1xuICBldGhEZXBvc2l0QWRkcmVzczogc3RyaW5nO1xuICBleHBpcmF0aW9uQmxvY2s6IG51bWJlcjtcbiAgbmV0d29yazogTmV0d29yaztcbiAgYWNjZXNzU2lnbmF0dXJlOiBzdHJpbmc7XG4gIGp3dDogc3RyaW5nO1xuICBkZXJpdmVkSnd0OiBzdHJpbmc7XG4gIG1lc3NhZ2luZ1B1YmxpY0tleUJhc2U1OENoZWNrOiBzdHJpbmc7XG4gIG1lc3NhZ2luZ1ByaXZhdGVLZXk6IHN0cmluZztcbiAgbWVzc2FnaW5nS2V5TmFtZTogc3RyaW5nO1xuICBtZXNzYWdpbmdLZXlTaWduYXR1cmU6IHN0cmluZztcbiAgdHJhbnNhY3Rpb25TcGVuZGluZ0xpbWl0SGV4OiBzdHJpbmc7XG4gIHNpZ25lZFVwOiBib29sZWFuO1xuICBwdWJsaWNLZXlBZGRlZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvblNwZW5kaW5nTGltaXRSZXNwb25zZU9wdGlvbnMge1xuICBHbG9iYWxERVNPTGltaXQ/OiBudW1iZXI7XG4gIFRyYW5zYWN0aW9uQ291bnRMaW1pdE1hcD86IFBhcnRpYWw8XG4gICAgUmVjb3JkPFRyYW5zYWN0aW9uVHlwZSwgbnVtYmVyIHwgJ1VOTElNSVRFRCc+XG4gID47XG4gIENyZWF0b3JDb2luT3BlcmF0aW9uTGltaXRNYXA/OiB7XG4gICAgW2tleTogc3RyaW5nXTogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfCAnVU5MSU1JVEVEJyB9O1xuICB9O1xuICBEQU9Db2luT3BlcmF0aW9uTGltaXRNYXA/OiB7XG4gICAgW2tleTogc3RyaW5nXTogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfCAnVU5MSU1JVEVEJyB9O1xuICB9O1xuICBORlRPcGVyYXRpb25MaW1pdE1hcD86IHtcbiAgICBba2V5OiBzdHJpbmddOiB7IFtrZXk6IG51bWJlcl06IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIHwgJ1VOTElNSVRFRCcgfSB9O1xuICB9O1xuICBEQU9Db2luTGltaXRPcmRlckxpbWl0TWFwPzoge1xuICAgIFtrZXk6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIHwgJ1VOTElNSVRFRCcgfTtcbiAgfTtcbiAgQXNzb2NpYXRpb25MaW1pdE1hcD86IChPbWl0PEFzc29jaWF0aW9uTGltaXRNYXBJdGVtLCAnT3BDb3VudCc+ICYge1xuICAgIE9wQ291bnQ6IG51bWJlciB8ICdVTkxJTUlURUQnO1xuICB9KVtdO1xuICBBY2Nlc3NHcm91cExpbWl0TWFwPzogKE9taXQ8QWNjZXNzR3JvdXBMaW1pdE1hcEl0ZW0sICdPcENvdW50Jz4gJiB7XG4gICAgT3BDb3VudDogbnVtYmVyIHwgJ1VOTElNSVRFRCc7XG4gIH0pW107XG4gIEFjY2Vzc0dyb3VwTWVtYmVyTGltaXRNYXA/OiAoT21pdDxcbiAgICBBY2Nlc3NHcm91cE1lbWJlckxpbWl0TWFwSXRlbSxcbiAgICAnT3BDb3VudCdcbiAgPiAmIHsgT3BDb3VudDogbnVtYmVyIHwgJ1VOTElNSVRFRCcgfSlbXTtcbiAgSXNVbmxpbWl0ZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBqd3RBbGdvcml0aG0gPSAnRVMyNTZLJyB8ICdFUzI1Nic7XG5leHBvcnQgaW50ZXJmYWNlIElkZW50aXR5Q29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgaWRlbnRpdHkgZG9tYWluLiBEZWZhdWx0cyB0byBodHRwczovL2lkZW50aXR5LmRlc28ub3JnXG4gICAqL1xuICBpZGVudGl0eVVSST86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgbmV0d29yay4gSWYgbm90IHByb3ZpZGVkLCB3ZSB3aWxsIGFzc3VtZSBtYWlubmV0LlxuICAgKi9cbiAgbmV0d29yaz86IE5ldHdvcms7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNvIG5vZGUgdXNlZCBmb3IgYW55IGFwaSBjYWxscyAoZ2V0IGJhbGFuY2UsIGRlcml2ZWQga2V5IGF1dGhvcml6YXRpb24sIGV0YylcbiAgICovXG4gIG5vZGVVUkk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHJlZGlyZWN0IFVSSS4gSWYgcHJvdmlkZWQsIHdlIGRvIGEgaGFyZCByZWRpcmVjdCB0byB0aGUgaWRlbnRpdHlcbiAgICogZG9tYWluIGFuZCBwYXNzIGRhdGEgdmlhIHF1ZXJ5IHBhcmFtcyBiYWNrIHRvIHRoZSBwcm92aWRlZCB1cmkuXG4gICAqL1xuICByZWRpcmVjdFVSST86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgcGVybWlzc2lvbnMgYW5kIHNwZW5kaW5nIGxpbWl0cyB0aGF0IHdpbGwgYmUgcHJlc2VudGVkIHRvIHRoZSB1c2VyXG4gICAqIGR1cmluZyBsb2dpbi4gSWYgbm90IHByb3ZpZGVkLCB3ZSB3aWxsIGFzc3VtZSBubyBwZXJtaXNzaW9ucy5cbiAgICovXG4gIHNwZW5kaW5nTGltaXRPcHRpb25zPzogVHJhbnNhY3Rpb25TcGVuZGluZ0xpbWl0UmVzcG9uc2VPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYXBwIHVzZWQgdG8gYXV0aG9yaXplIGRlcml2ZWQga2V5cy4gRGVmYXVsdHMgdG8gdW5rbm93bi5cbiAgICovXG4gIGFwcE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNpbmNlIG91ciBrZXlzIGFyZSBnZW5lcmF0ZWQgdXNpbmcgdGhlIHNlY3AyNTZrMSBjdXJ2ZSwgdGhlIGNvcnJlY3RcbiAgICogSldUIGFsZ29yaXRobSBoZWFkZXIgKnNob3VsZCogYmUgRVMyNTZLLlxuICAgKiBTZWU6IGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM4ODEyLmh0bWwjbmFtZS1qb3NlLWFsZ29yaXRobXMtcmVnaXN0cmF0aW9cbiAgICpcbiAgICogSE9XRVZFUiwgdGhlIGJhY2tlbmQgand0IGxpYiB1c2VkIGJ5IGRlc28gZm91bmRhdGlvbiAtXG4gICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9nb2xhbmctand0L2p3dCAtIChhcyB3ZWxsIGFzIG1hbnkgb3RoZXIgand0IGxpYnJhcmllcylcbiAgICogZG8gbm90IHN1cHBvcnQgRVMyNTZLLiBTbyBpbnN0ZWFkLCB3ZSBkZWZhdWx0IHRvIHRoZSBtb3JlIHdpZGVseSBzdXBwb3J0ZWQgRVMyNTYgYWxnbyxcbiAgICogd2hpY2ggY2FuIHN0aWxsIHdvcmsgZm9yIHZlcmlmeWluZyBvdXIgc2lnbmF0dXJlcy4gQnV0IGlmIGEgY29uc3VtZXIgb2YgdGhpcyBsaWIgaXMgdXNpbmcgYVxuICAgKiBqd3QgbGliIHRoYXQgc3VwcG9ydHMgRVMyNTZLIHRoZXkgY2FuIHNwZWNpZnkgdGhhdCBoZXJlLlxuICAgKiBTZWUgdGhpcyBnaXRodWIgaXNzdWVcbiAgICogZm9yIG1vcmUgY29udGV4dDogaHR0cHM6Ly9naXRodWIuY29tL2F1dGgwL25vZGUtanNvbndlYnRva2VuL2lzc3Vlcy84NjJcbiAgICogSWYgRVMyNTZLIGlzIGV2ZXIgc3VwcG9ydGVkIGJ5IHRoZSBiYWNrZW5kIGp3dCBsaWIsIHdlIHNob3VsZCBjaGFuZ2UgdGhpcy5cbiAgICovXG4gIGp3dEFsZ29yaXRobT86IGp3dEFsZ29yaXRobTtcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgc3RvcmFnZSBwcm92aWRlci4gSWYgbm90IHByb3ZpZGVkLCB3ZSB3aWxsIGFzc3VtZSBsb2NhbFN0b3JhZ2VcbiAgICogaXMgYXZhaWxhYmxlLlxuICAgKi9cbiAgc3RvcmFnZVByb3ZpZGVyPzogU3RvcmFnZSB8IEFzeW5jU3RvcmFnZTtcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgZnVuY3Rpb24gdGhhdCBpcyBwcm92aWRlZCB0aGUgaWRlbnRpdHkgdXJsIHRoYXQgbmVlZHMgdG8gYmVcbiAgICogb3BlbmVkLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGN1c3RvbWl6ZSBob3cgdGhlIGlkZW50aXR5IHVybCBpcyBvcGVuZWQuIEZvclxuICAgKiBleGFtcGxlLCBpZiB5b3UgYXJlIHVzaW5nIHJlYWN0IG5hdGl2ZSwgeW91IG1pZ2h0IHdhbnQgdG8gdXNlIHRoZSBMaW5raW5nXG4gICAqIEFQSSB0byBvcGVuIHRoZSB1cmwgaW4gYSBzeXN0ZW0gYnJvd3NlciB3aW5kb3cuXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHRzXG4gICAqIGlkZW50aXR5UHJlc2VudGVyOiBhc3luYyAodXJsKSA9PiB7XG4gICAqICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgV2ViQnJvd3Nlci5vcGVuQXV0aFNlc3Npb25Bc3luYyh1cmwpO1xuICAgKiAgIGlmIChyZXN1bHQudHlwZSA9PT0gJ3N1Y2Nlc3MnKSB7XG4gICAqICAgICBpZGVudGl0eS5oYW5kbGVSZWRpcmVjdFVSSShyZXN1bHQudXJsKTtcbiAgICogICB9XG4gICAqIH0sXG4gICAqIGBgYFxuICAgKi9cbiAgaWRlbnRpdHlQcmVzZW50ZXI/OiAodXJsOiBzdHJpbmcpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVBJUHJvdmlkZXIge1xuICBwb3N0OiAodXJsOiBzdHJpbmcsIGRhdGE6IGFueSkgPT4gUHJvbWlzZTxhbnk+O1xuICBnZXQ6ICh1cmw6IHN0cmluZykgPT4gUHJvbWlzZTxhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdpbmRvd1Byb3ZpZGVyIHtcbiAgbG9jYXRpb246IHsgc2VhcmNoOiBzdHJpbmc7IHBhdGhuYW1lOiBzdHJpbmc7IGhyZWY6IHN0cmluZyB9O1xuICBoaXN0b3J5OiB7IHJlcGxhY2VTdGF0ZTogKHN0YXRlOiBhbnksIHRpdGxlOiBzdHJpbmcsIHVybDogc3RyaW5nKSA9PiB2b2lkIH07XG4gIGxvY2FsU3RvcmFnZToge1xuICAgIGdldEl0ZW06IChrZXk6IHN0cmluZykgPT4gc3RyaW5nIHwgbnVsbDtcbiAgICBzZXRJdGVtOiAoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgcmVtb3ZlSXRlbTogKGtleTogc3RyaW5nKSA9PiB2b2lkO1xuICB9O1xuICBvcGVuOiAoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBvcHRpb25zOiBzdHJpbmdcbiAgKSA9PiBXaW5kb3cgfCBudWxsO1xuICBhZGRFdmVudExpc3RlbmVyOiAoZXZlbnQ6IHN0cmluZywgY2FsbGJhY2s6IChldmVudDogYW55KSA9PiB2b2lkKSA9PiB2b2lkO1xuICByZW1vdmVFdmVudExpc3RlbmVyOiAoZXZlbnQ6IHN0cmluZywgY2FsbGJhY2s6IChldmVudDogYW55KSA9PiB2b2lkKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2luT3B0aW9ucyB7XG4gIGdldEZyZWVEZXNvOiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBQcmltYXJ5RGVyaXZlZEtleUluZm8gPSBJZGVudGl0eURlcml2ZVBheWxvYWQgJiB7XG4gIHRyYW5zYWN0aW9uU3BlbmRpbmdMaW1pdHM6IFRyYW5zYWN0aW9uU3BlbmRpbmdMaW1pdFJlc3BvbnNlO1xuICBJc1ZhbGlkPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIFN0b3JlZFVzZXIgPSB7XG4gIHB1YmxpY0tleTogc3RyaW5nO1xuICBwcmltYXJ5RGVyaXZlZEtleTogUHJpbWFyeURlcml2ZWRLZXlJbmZvO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0eVVzZXIge1xuICBhY2Nlc3NMZXZlbDogbnVtYmVyO1xuICBhY2Nlc3NMZXZlbEhtYWM6IHN0cmluZztcbiAgYnRjRGVwb3NpdEFkZHJlc3M6IHN0cmluZztcbiAgZW5jcnlwdGVkU2VlZEhleDogc3RyaW5nO1xuICBldGhEZXBvc2l0QWRkcmVzczogc3RyaW5nO1xuICBkZXJpdmVkUHVibGljS2V5QmFzZTU4Q2hlY2s/OiBzdHJpbmc7XG4gIGhhc0V4dHJhVGV4dDogYm9vbGVhbjtcbiAgbmV0d29yazogc3RyaW5nO1xuICB2ZXJzaW9uOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpdHlMb2dpblBheWxvYWQge1xuICB1c2VyczogUmVjb3JkPHN0cmluZywgSWRlbnRpdHlVc2VyPjtcbiAgcHVibGljS2V5QWRkZWQ6IHN0cmluZztcbiAgcGhvbmVOdW1iZXJTdWNjZXNzOiBib29sZWFuO1xuICBzaWduZWRVcDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0eVN0YXRlIHtcbiAgY3VycmVudFVzZXI6IFN0b3JlZFVzZXIgfCBudWxsO1xuICBhbHRlcm5hdGVVc2VyczogUmVjb3JkPHN0cmluZywgU3RvcmVkVXNlcj4gfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlZmVycmVkIHtcbiAgcmVzb2x2ZTogKGFyZ3M6IGFueSkgPT4gdm9pZDtcbiAgcmVqZWN0OiAoYXJnczogYW55KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtleVBhaXIge1xuICBzZWVkSGV4OiBzdHJpbmc7XG4gIHByaXZhdGU6IFVpbnQ4QXJyYXk7XG4gIHB1YmxpYzogVWludDhBcnJheTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWJzY3JpYmVyTm90aWZpY2F0aW9uIHtcbiAgZXZlbnQ6IE5PVElGSUNBVElPTl9FVkVOVFM7XG4gIGN1cnJlbnRVc2VyOiBTdG9yZWRVc2VyIHwgbnVsbDtcbiAgYWx0ZXJuYXRlVXNlcnM6IFJlY29yZDxzdHJpbmcsIFN0b3JlZFVzZXI+IHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdGhlcnNjYW5UcmFuc2FjdGlvbnNCeUFkZHJlc3NSZXNwb25zZSB7XG4gIHN0YXR1czogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHJlc3VsdDogRXRoZXJzY2FuVHJhbnNhY3Rpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdGhlcnNjYW5UcmFuc2FjdGlvbiB7XG4gIGJsb2NrTnVtYmVyOiBzdHJpbmc7XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xuICBoYXNoOiBzdHJpbmc7XG4gIG5vbmNlOiBzdHJpbmc7XG4gIGJsb2NrSGFzaDogc3RyaW5nO1xuICB0cmFuc2FjdGlvbkluZGV4OiBzdHJpbmc7XG4gIGZyb206IHN0cmluZztcbiAgdG86IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbiAgZ2FzOiBzdHJpbmc7XG4gIGdhc1ByaWNlOiBzdHJpbmc7XG4gIGlzRXJyb3I6IHN0cmluZztcbiAgdHhyZWNlaXB0X3N0YXR1czogc3RyaW5nO1xuICBpbnB1dDogc3RyaW5nO1xuICBjb250cmFjdEFkZHJlc3M6IHN0cmluZztcbiAgY3VtdWxhdGl2ZUdhc1VzZWQ6IHN0cmluZztcbiAgZ2FzVXNlZDogc3RyaW5nO1xuICBjb25maXJtYXRpb25zOiBzdHJpbmc7XG4gIG1ldGhvZElkOiBzdHJpbmc7XG4gIGZ1bmN0aW9uTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjY2Vzc0dyb3VwUHJpdmF0ZUluZm8ge1xuICBBY2Nlc3NHcm91cFB1YmxpY0tleUJhc2U1OENoZWNrOiBzdHJpbmc7XG4gIEFjY2Vzc0dyb3VwUHJpdmF0ZUtleUhleDogc3RyaW5nO1xuICBBY2Nlc3NHcm91cEtleU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gTk9USUZJQ0FUSU9OX0VWRU5UUyB7XG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIGNvbnN1bWluZyBhcHAgaW5pdGlhbGx5IHN1YnNjcmliZXMgdG8gaWRlbnRpdHkuXG4gICAqL1xuICBTVUJTQ1JJQkUgPSAnU1VCU0NSSUJFJyxcblxuICAvKipcbiAgICogVGhpcyBpcyBhbiBpbnRlcm1lZGlhdGUgZXZlbnQgZmlyZWQgQUZURVIgdGhlIHVzZXIgY29tcGxldGVzIGFuIGlkZW50aXR5IGZsb3dcbiAgICogdGhhdCByZXF1aXJlcyBhIGRlcml2ZWQga2V5IGF1dGhvcml6YXRpb24uIFRoaXMgZXZlbnQgaXMgZmlyZWQgQkVGT1JFIHRoZVxuICAgKiByZXF1ZXN0IHRvIGF1dGhvcml6ZSB0aGUgZGVyaXZlZCBrZXkgaXMgbWFkZS5cbiAgICovXG4gIEFVVEhPUklaRV9ERVJJVkVEX0tFWV9TVEFSVCA9ICdBVVRIT1JJWkVfREVSSVZFRF9LRVlfU1RBUlQnLFxuXG4gIC8qKlxuICAgKiBUaGlzIGlzIGFuIGludGVybWVkaWF0ZSBldmVudCBmaXJlZCBBRlRFUiB0aGUgdXNlciBjb21wbGV0ZXMgYW4gaWRlbnRpdHlcbiAgICogZmxvdyB0aGF0IHJlcXVpcmVzIGEgZGVyaXZlZCBrZXkgYXV0aG9yaXphdGlvbi4gVGhpcyBldmVudCBpcyBmaXJlZCBBRlRFUlxuICAgKiB0aGUgcmVxdWVzdCB0byBhdXRob3JpemUgdGhlIGRlcml2ZWQga2V5IGlzIG1hZGUuXG4gICAqL1xuICBBVVRIT1JJWkVfREVSSVZFRF9LRVlfRU5EID0gJ0FVVEhPUklaRV9ERVJJVkVEX0tFWV9FTkQnLFxuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGlzIGZpcmVkIGlmIHRoZSByZXF1ZXN0IHRvIGF1dGhvcml6ZSBhIGRlcml2ZWQga2V5IGZhaWxzLlxuICAgKi9cbiAgQVVUSE9SSVpFX0RFUklWRURfS0VZX0ZBSUwgPSAnQVVUSE9SSVpFX0RFUklWRURfS0VZX0ZBSUwnLFxuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIHVzZXIgb3BlbnMgdGhlIHBlcm1pc3Npb25zIGFwcHJvdmFsIHBvcHVwLlxuICAgKi9cbiAgUkVRVUVTVF9QRVJNSVNTSU9OU19TVEFSVCA9ICdSRVFVRVNUX1BFUk1JU1NJT05TX1NUQVJUJyxcblxuICAvKipcbiAgICogVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIGNvbXBsZXRlcyBhcHByb3ZpbmcgcGVybWlzc2lvbnMsIGFuZFxuICAgKiBjb21lcyBBRlRFUiB0aGUgaW50ZXJtZWRpYXRlIEFVVEhPUklaRV9ERVJJVkVEX0tFWSBldmVudHMuXG4gICAqL1xuICBSRVFVRVNUX1BFUk1JU1NJT05TX0VORCA9ICdSRVFVRVNUX1BFUk1JU1NJT05TX0VORCcsXG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBvcGVucyB0aGUgbG9naW4gcG9wdXAuXG4gICAqL1xuICBMT0dJTl9TVEFSVCA9ICdMT0dJTl9TVEFSVCcsXG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBjb21wbGV0ZXMgbG9nZ2luZyBpbiwgYW5kXG4gICAqIGNvbWVzIEFGVEVSIHRoZSBpbnRlcm1lZGlhdGUgQVVUSE9SSVpFX0RFUklWRURfS0VZIGV2ZW50cy5cbiAgICovXG4gIExPR0lOX0VORCA9ICdMT0dJTl9FTkQnLFxuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIHVzZXIgb3BlbnMgdGhlIGxvZ291dCBwb3B1cC5cbiAgICovXG4gIExPR09VVF9TVEFSVCA9ICdMT0dPVVRfU1RBUlQnLFxuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIHVzZXIgY29tcGxldGVzIGxvZ2dpbmcgb3V0LCBhbmRcbiAgICogY29tZXMgQUZURVIgdGhlIGludGVybWVkaWF0ZSBBVVRIT1JJWkVfREVSSVZFRF9LRVkgZXZlbnRzLlxuICAgKi9cbiAgTE9HT1VUX0VORCA9ICdMT0dPVVRfRU5EJyxcblxuICAvKipcbiAgICogVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIG9wZW5zIHRoZSBnZXQgZGVzbyBwb3B1cC5cbiAgICovXG4gIEdFVF9GUkVFX0RFU09fU1RBUlQgPSAnR0VUX0ZSRUVfREVTT19TVEFSVCcsXG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBjb21wbGV0ZXMgdGhlIGdldCBkZXNvIGZsb3csIGFuZCBjb21lc1xuICAgKiBBRlRFUiB0aGUgaW50ZXJtZWRpYXRlIEFVVEhPUklaRV9ERVJJVkVEX0tFWSBldmVudHMuXG4gICAqL1xuICBHRVRfRlJFRV9ERVNPX0VORCA9ICdHRVRfRlJFRV9ERVNPX0VORCcsXG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBvcGVucyB0aGUgdmVyaWZ5IHBob25lIG51bWJlciBwb3B1cC5cbiAgICovXG4gIFZFUklGWV9QSE9ORV9OVU1CRVJfU1RBUlQgPSAnVkVSSUZZX1BIT05FX05VTUJFUl9TVEFSVCcsXG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBjb21wbGV0ZXMgdGhlIHZlcmlmeSBwaG9uZSBudW1iZXIgZmxvdyxcbiAgICogYW5kIGNvbWVzIEFGVEVSIHRoZSBpbnRlcm1lZGlhdGUgQVVUSE9SSVpFX0RFUklWRURfS0VZIGV2ZW50cy5cbiAgICovXG4gIFZFUklGWV9QSE9ORV9OVU1CRVJfRU5EID0gJ1ZFUklGWV9QSE9ORV9OVU1CRVJfRU5EJyxcblxuICAvKipcbiAgICogVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSBjb25zdW1pbmcgYXBwIHN3aXRjaGVzIHRoZSBhY3RpdmUgdXNlci5cbiAgICovXG4gIENIQU5HRV9BQ1RJVkVfVVNFUiA9ICdDSEFOR0VfQUNUSVZFX1VTRVInLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFzeW5jU3RvcmFnZSB7XG4gIGdldEl0ZW06IChrZXk6IHN0cmluZykgPT4gUHJvbWlzZTxzdHJpbmcgfCBudWxsPjtcbiAgc2V0SXRlbTogKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xuICByZW1vdmVJdGVtOiAoa2V5OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XG4gIGNsZWFyOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xufVxuIl19

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc