@awesome-cordova-plugins/onesignal 5.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +92 -0
- package/index.d.ts +724 -0
- package/index.js +123 -0
- package/ngx/bundle.js +119 -0
- package/ngx/index.d.ts +722 -0
- package/ngx/index.js +114 -0
- package/ngx/index.metadata.json +1 -0
- package/ngx/package.json +1 -0
- package/package.json +1 -0
package/ngx/index.js
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { AwesomeCordovaNativePlugin, cordova } from '@awesome-cordova-plugins/core';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
/**
|
|
6
|
+
* **ANDROID** - Privacy setting for how the notification should be shown on the lockscreen of Android 5+ devices.
|
|
7
|
+
*/
|
|
8
|
+
export var OSLockScreenVisibility;
|
|
9
|
+
(function (OSLockScreenVisibility) {
|
|
10
|
+
/**
|
|
11
|
+
* Fully visible (default)
|
|
12
|
+
*/
|
|
13
|
+
OSLockScreenVisibility[OSLockScreenVisibility["Public"] = 1] = "Public";
|
|
14
|
+
/**
|
|
15
|
+
* Contents are hidden
|
|
16
|
+
*/
|
|
17
|
+
OSLockScreenVisibility[OSLockScreenVisibility["Private"] = 0] = "Private";
|
|
18
|
+
/**
|
|
19
|
+
* Not shown
|
|
20
|
+
*/
|
|
21
|
+
OSLockScreenVisibility[OSLockScreenVisibility["Secret"] = -1] = "Secret";
|
|
22
|
+
})(OSLockScreenVisibility || (OSLockScreenVisibility = {}));
|
|
23
|
+
/**
|
|
24
|
+
* How the notification was displayed to the user. Part of OSNotification. See inFocusDisplaying for more information on how this is used.
|
|
25
|
+
*/
|
|
26
|
+
export var OSDisplayType;
|
|
27
|
+
(function (OSDisplayType) {
|
|
28
|
+
/**
|
|
29
|
+
* notification is silent, or inFocusDisplaying is disabled.
|
|
30
|
+
*/
|
|
31
|
+
OSDisplayType[OSDisplayType["None"] = 0] = "None";
|
|
32
|
+
/**
|
|
33
|
+
* (**DEFAULT**) - native alert dialog display.
|
|
34
|
+
*/
|
|
35
|
+
OSDisplayType[OSDisplayType["InAppAlert"] = 1] = "InAppAlert";
|
|
36
|
+
/**
|
|
37
|
+
* native notification display.
|
|
38
|
+
*/
|
|
39
|
+
OSDisplayType[OSDisplayType["Notification"] = 2] = "Notification";
|
|
40
|
+
})(OSDisplayType || (OSDisplayType = {}));
|
|
41
|
+
export var OSActionType;
|
|
42
|
+
(function (OSActionType) {
|
|
43
|
+
OSActionType[OSActionType["Opened"] = 0] = "Opened";
|
|
44
|
+
OSActionType[OSActionType["ActionTake"] = 1] = "ActionTake";
|
|
45
|
+
})(OSActionType || (OSActionType = {}));
|
|
46
|
+
var OneSignal = /** @class */ (function (_super) {
|
|
47
|
+
__extends(OneSignal, _super);
|
|
48
|
+
function OneSignal() {
|
|
49
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
50
|
+
/**
|
|
51
|
+
* constants to use in inFocusDisplaying()
|
|
52
|
+
* @hidden
|
|
53
|
+
*/
|
|
54
|
+
_this.OSInFocusDisplayOption = {
|
|
55
|
+
None: 0,
|
|
56
|
+
InAppAlert: 1,
|
|
57
|
+
Notification: 2,
|
|
58
|
+
};
|
|
59
|
+
return _this;
|
|
60
|
+
}
|
|
61
|
+
OneSignal.prototype.startInit = function (appId, googleProjectNumber) { return cordova(this, "startInit", { "sync": true }, arguments); };
|
|
62
|
+
OneSignal.prototype.handleNotificationReceived = function () { return cordova(this, "handleNotificationReceived", { "observable": true }, arguments); };
|
|
63
|
+
OneSignal.prototype.handleNotificationOpened = function () { return cordova(this, "handleNotificationOpened", { "observable": true }, arguments); };
|
|
64
|
+
OneSignal.prototype.handleInAppMessageClicked = function () { return cordova(this, "handleInAppMessageClicked", { "observable": true }, arguments); };
|
|
65
|
+
OneSignal.prototype.iOSSettings = function (settings) { return cordova(this, "iOSSettings", { "sync": true, "platforms": ["iOS"] }, arguments); };
|
|
66
|
+
OneSignal.prototype.endInit = function () { return cordova(this, "endInit", { "sync": true }, arguments); };
|
|
67
|
+
OneSignal.prototype.promptForPushNotificationsWithUserResponse = function () { return cordova(this, "promptForPushNotificationsWithUserResponse", { "platforms": ["iOS"] }, arguments); };
|
|
68
|
+
OneSignal.prototype.getTags = function () { return cordova(this, "getTags", {}, arguments); };
|
|
69
|
+
OneSignal.prototype.getIds = function () { return cordova(this, "getIds", {}, arguments); };
|
|
70
|
+
OneSignal.prototype.sendTag = function (key, value) { return cordova(this, "sendTag", { "sync": true }, arguments); };
|
|
71
|
+
OneSignal.prototype.sendTags = function (json) { return cordova(this, "sendTags", { "sync": true }, arguments); };
|
|
72
|
+
OneSignal.prototype.deleteTag = function (key) { return cordova(this, "deleteTag", { "sync": true }, arguments); };
|
|
73
|
+
OneSignal.prototype.deleteTags = function (keys) { return cordova(this, "deleteTags", { "sync": true }, arguments); };
|
|
74
|
+
OneSignal.prototype.registerForPushNotifications = function () { return cordova(this, "registerForPushNotifications", { "sync": true }, arguments); };
|
|
75
|
+
OneSignal.prototype.enableVibrate = function (enable) { return cordova(this, "enableVibrate", { "sync": true }, arguments); };
|
|
76
|
+
OneSignal.prototype.enableSound = function (enable) { return cordova(this, "enableSound", { "sync": true }, arguments); };
|
|
77
|
+
OneSignal.prototype.inFocusDisplaying = function (displayOption) { return cordova(this, "inFocusDisplaying", { "sync": true }, arguments); };
|
|
78
|
+
OneSignal.prototype.setSubscription = function (enable) { return cordova(this, "setSubscription", { "sync": true }, arguments); };
|
|
79
|
+
OneSignal.prototype.getPermissionSubscriptionState = function () { return cordova(this, "getPermissionSubscriptionState", {}, arguments); };
|
|
80
|
+
OneSignal.prototype.postNotification = function (notificationObj) { return cordova(this, "postNotification", {}, arguments); };
|
|
81
|
+
OneSignal.prototype.cancelNotification = function (notificationId) { return cordova(this, "cancelNotification", { "sync": true }, arguments); };
|
|
82
|
+
OneSignal.prototype.promptLocation = function () { return cordova(this, "promptLocation", { "sync": true }, arguments); };
|
|
83
|
+
OneSignal.prototype.syncHashedEmail = function (email) { return cordova(this, "syncHashedEmail", { "sync": true }, arguments); };
|
|
84
|
+
OneSignal.prototype.setLogLevel = function (logLevel) { return cordova(this, "setLogLevel", { "sync": true }, arguments); };
|
|
85
|
+
OneSignal.prototype.setLocationShared = function (shared) { return cordova(this, "setLocationShared", { "sync": true }, arguments); };
|
|
86
|
+
OneSignal.prototype.addPermissionObserver = function () { return cordova(this, "addPermissionObserver", { "observable": true }, arguments); };
|
|
87
|
+
OneSignal.prototype.addSubscriptionObserver = function () { return cordova(this, "addSubscriptionObserver", { "observable": true }, arguments); };
|
|
88
|
+
OneSignal.prototype.setEmail = function (email, emailAuthToken) { return cordova(this, "setEmail", {}, arguments); };
|
|
89
|
+
OneSignal.prototype.logoutEmail = function () { return cordova(this, "logoutEmail", {}, arguments); };
|
|
90
|
+
OneSignal.prototype.addEmailSubscriptionObserver = function () { return cordova(this, "addEmailSubscriptionObserver", { "observable": true }, arguments); };
|
|
91
|
+
OneSignal.prototype.clearOneSignalNotifications = function () { return cordova(this, "clearOneSignalNotifications", { "sync": true }, arguments); };
|
|
92
|
+
OneSignal.prototype.setRequiresUserPrivacyConsent = function (required) { return cordova(this, "setRequiresUserPrivacyConsent", {}, arguments); };
|
|
93
|
+
OneSignal.prototype.provideUserConsent = function (granted) { return cordova(this, "provideUserConsent", {}, arguments); };
|
|
94
|
+
OneSignal.prototype.userProvidedPrivacyConsent = function (callback) { return cordova(this, "userProvidedPrivacyConsent", {}, arguments); };
|
|
95
|
+
OneSignal.prototype.setExternalUserId = function (externalId) { return cordova(this, "setExternalUserId", {}, arguments); };
|
|
96
|
+
OneSignal.prototype.removeExternalUserId = function () { return cordova(this, "removeExternalUserId", {}, arguments); };
|
|
97
|
+
OneSignal.prototype.addTrigger = function (key, value) { return cordova(this, "addTrigger", { "sync": true }, arguments); };
|
|
98
|
+
OneSignal.prototype.addTriggers = function (triggers) { return cordova(this, "addTriggers", { "sync": true }, arguments); };
|
|
99
|
+
OneSignal.prototype.removeTriggerForKey = function (key) { return cordova(this, "removeTriggerForKey", { "sync": true }, arguments); };
|
|
100
|
+
OneSignal.prototype.removeTriggersForKeys = function (keys) { return cordova(this, "removeTriggersForKeys", { "sync": true }, arguments); };
|
|
101
|
+
OneSignal.prototype.getTriggerValueForKey = function (key) { return cordova(this, "getTriggerValueForKey", {}, arguments); };
|
|
102
|
+
OneSignal.prototype.pauseInAppMessages = function (pause) { return cordova(this, "pauseInAppMessages", { "sync": true }, arguments); };
|
|
103
|
+
OneSignal.pluginName = "OneSignal";
|
|
104
|
+
OneSignal.plugin = "onesignal-cordova-plugin";
|
|
105
|
+
OneSignal.pluginRef = "plugins.OneSignal";
|
|
106
|
+
OneSignal.repo = "https://github.com/OneSignal/OneSignal-Cordova-SDK";
|
|
107
|
+
OneSignal.platforms = ["Amazon Fire OS", "Android", "iOS", "Windows"];
|
|
108
|
+
OneSignal.decorators = [
|
|
109
|
+
{ type: Injectable }
|
|
110
|
+
];
|
|
111
|
+
return OneSignal;
|
|
112
|
+
}(AwesomeCordovaNativePlugin));
|
|
113
|
+
export { OneSignal };
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvQGF3ZXNvbWUtY29yZG92YS1wbHVnaW5zL3BsdWdpbnMvb25lc2lnbmFsL25neC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLHVDQUErQyxNQUFNLCtCQUErQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUEwRmxDOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksc0JBYVg7QUFiRCxXQUFZLHNCQUFzQjtJQUNoQzs7T0FFRztJQUNILHVFQUFVLENBQUE7SUFDVjs7T0FFRztJQUNILHlFQUFXLENBQUE7SUFDWDs7T0FFRztJQUNILHdFQUFXLENBQUE7QUFDYixDQUFDLEVBYlcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQWFqQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksYUFhWDtBQWJELFdBQVksYUFBYTtJQUN2Qjs7T0FFRztJQUNILGlEQUFRLENBQUE7SUFDUjs7T0FFRztJQUNILDZEQUFjLENBQUE7SUFDZDs7T0FFRztJQUNILGlFQUFnQixDQUFBO0FBQ2xCLENBQUMsRUFiVyxhQUFhLEtBQWIsYUFBYSxRQWF4QjtBQThLRCxNQUFNLENBQU4sSUFBWSxZQUdYO0FBSEQsV0FBWSxZQUFZO0lBQ3RCLG1EQUFVLENBQUE7SUFDViwyREFBYyxDQUFBO0FBQ2hCLENBQUMsRUFIVyxZQUFZLEtBQVosWUFBWSxRQUd2Qjs7SUF5SThCLDZCQUEwQjs7O1FBQ3ZEOzs7V0FHRztRQUNILDRCQUFzQixHQUFHO1lBQ3ZCLElBQUksRUFBRSxDQUFDO1lBQ1AsVUFBVSxFQUFFLENBQUM7WUFDYixZQUFZLEVBQUUsQ0FBQztTQUNoQixDQUFDOzs7SUFVRiw2QkFBUyxhQUFDLEtBQWEsRUFBRSxtQkFBNEI7SUFZckQsOENBQTBCO0lBYzFCLDRDQUF3QjtJQVl4Qiw2Q0FBeUI7SUFtQnpCLCtCQUFXLGFBQUMsUUFBc0Y7SUFVbEcsMkJBQU87SUFXUCw4REFBMEM7SUFZMUMsMkJBQU87SUFlUCwwQkFBTTtJQVlOLDJCQUFPLGFBQUMsR0FBVyxFQUFFLEtBQWE7SUFTbEMsNEJBQVEsYUFBQyxJQUFTO0lBUWxCLDZCQUFTLGFBQUMsR0FBVztJQVFyQiw4QkFBVSxhQUFDLElBQWM7SUFPekIsZ0RBQTRCO0lBWTVCLGlDQUFhLGFBQUMsTUFBZTtJQVk3QiwrQkFBVyxhQUFDLE1BQWU7SUFVM0IscUNBQWlCLGFBQUMsYUFBNEI7SUFXOUMsbUNBQWUsYUFBQyxNQUFlO0lBUS9CLGtEQUE4QjtJQVU5QixvQ0FBZ0IsYUFBQyxlQUErQjtJQVNoRCxzQ0FBa0IsYUFBQyxjQUFzQjtJQU16QyxrQ0FBYztJQU9kLG1DQUFlLGFBQUMsS0FBYTtJQVc3QiwrQkFBVyxhQUFDLFFBQW1EO0lBTy9ELHFDQUFpQixhQUFDLE1BQWU7SUFhakMseUNBQXFCO0lBZ0JyQiwyQ0FBdUI7SUFRdkIsNEJBQVEsYUFBQyxLQUFhLEVBQUUsY0FBdUI7SUFRL0MsK0JBQVc7SUFnQlgsZ0RBQTRCO0lBUTVCLCtDQUEyQjtJQVEzQixpREFBNkIsYUFBQyxRQUFpQjtJQVEvQyxzQ0FBa0IsYUFBQyxPQUFnQjtJQU9uQyw4Q0FBMEIsYUFBQyxRQUFrQjtJQVE3QyxxQ0FBaUIsYUFBQyxVQUFrQjtJQU1wQyx3Q0FBb0I7SUFXcEIsOEJBQVUsYUFBQyxHQUFXLEVBQUUsS0FBK0I7SUFVdkQsK0JBQVcsYUFBQyxRQUFnQjtJQVU1Qix1Q0FBbUIsYUFBQyxHQUFXO0lBVS9CLHlDQUFxQixhQUFDLElBQWM7SUFTcEMseUNBQXFCLGFBQUMsR0FBVztJQWFqQyxzQ0FBa0IsYUFBQyxLQUFjOzs7Ozs7O2dCQXpibEMsVUFBVTs7b0JBdmJYO0VBd2IrQiwwQkFBMEI7U0FBNUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmRvdmEsIEF3ZXNvbWVDb3Jkb3ZhTmF0aXZlUGx1Z2luLCBQbHVnaW4gfSBmcm9tICdAYXdlc29tZS1jb3Jkb3ZhLXBsdWdpbnMvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT1NOb3RpZmljYXRpb24ge1xuICAvKipcbiAgICogV2FzIGFwcCBpbiBmb2N1cy5cbiAgICovXG4gIGlzQXBwSW5Gb2N1cz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXYXMgbm90aWZpY2F0aW9uIHNob3duIHRvIHRoZSB1c2VyLiBXaWxsIGJlIGZhbHNlIGZvciBzaWxlbnQgbm90aWZpY2F0aW9ucy5cbiAgICovXG4gIHNob3duPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqICoqQU5EUk9JRCoqIC0gQW5kcm9pZCBOb3RpZmljYXRpb24gYXNzaWduZWQgdG8gdGhlIG5vdGlmaWNhdGlvbi4gQ2FuIGJlIHVzZWQgdG8gY2FuY2VsIG9yIHJlcGxhY2UgdGhlIG5vdGlmaWNhdGlvbi5cbiAgICovXG4gIGFuZHJvaWROb3RpZmljYXRpb25JZD86IG51bWJlcjtcbiAgLyoqXG4gICAqIFBheWxvYWQgcmVjZWl2ZWQgZnJvbSBPbmVTaWduYWwuXG4gICAqL1xuICBwYXlsb2FkPzogT1NOb3RpZmljYXRpb25QYXlsb2FkO1xuICAvKipcbiAgICogSG93IHRoZSBub3RpZmljYXRpb24gd2FzIGRpc3BsYXllZCB0byB0aGUgdXNlci4gQ2FuIGJlIHNldCB0byBgTm90aWZpY2F0aW9uYCwgYEluQXBwQWxlcnRgLCBvciBgTm9uZWAgaWYgaXQgd2FzIG5vdCBkaXNwbGF5ZWQuXG4gICAqL1xuICBkaXNwbGF5VHlwZT86IE9TRGlzcGxheVR5cGU7XG4gIC8qKlxuICAgKiAqKkFORFJPSUQqKiAtIE5vdGlmaWNhdGlvbiBpcyBhIHN1bW1hcnkgbm90aWZpY2F0aW9uIGZvciBhIGdyb3VwIHRoaXMgd2lsbCBjb250YWluIGFsbCBub3RpZmljYXRpb24gcGF5bG9hZHMgaXQgd2FzIGNyZWF0ZWQgZnJvbS5cbiAgICovXG4gIGdyb3VwZWROb3RpZmljYXRpb25zPzogT1NOb3RpZmljYXRpb25QYXlsb2FkW107XG4gIGFwcF9pZD86IHN0cmluZztcbiAgY29udGVudHM/OiBhbnk7XG4gIGhlYWRpbmdzPzogYW55O1xuICBpc0lvcz86IGJvb2xlYW47XG4gIGlzQW5kcm9pZD86IGJvb2xlYW47XG4gIGlzV1A/OiBib29sZWFuO1xuICBpc1dQX1dOUz86IGJvb2xlYW47XG4gIGlzQWRtPzogYm9vbGVhbjtcbiAgaXNDaHJvbWU/OiBib29sZWFuO1xuICBpc0Nocm9tZVdlYj86IGJvb2xlYW47XG4gIGlzU2FmYXJpPzogYm9vbGVhbjtcbiAgaXNBbnlXZWI/OiBib29sZWFuO1xuICBpbmNsdWRlZF9zZWdtZW50cz86IHN0cmluZ1tdO1xuICBleGNsdWRlZF9zZWdtZW50cz86IHN0cmluZ1tdO1xuICBpbmNsdWRlX3BsYXllcl9pZHM/OiBzdHJpbmdbXTtcbiAgaW5jbHVkZV9pb3NfdG9rZW5zPzogc3RyaW5nW107XG4gIGluY2x1ZGVfYW5kcm9pZF9yZWdfaWRzPzogc3RyaW5nW107XG4gIGluY2x1ZGVfd3BfdXJpcz86IHN0cmluZ1tdO1xuICBpbmNsdWRlX3dwX3duc191cmlzPzogc3RyaW5nW107XG4gIGluY2x1ZGVfYW1hem9uX3JlZ19pZHM/OiBzdHJpbmdbXTtcbiAgaW5jbHVkZV9jaHJvbWVfcmVnX2lkcz86IHN0cmluZ1tdO1xuICBpbmNsdWRlX2Nocm9tZV93ZWJfcmVnX2lkcz86IHN0cmluZ1tdO1xuICBhcHBfaWRzPzogc3RyaW5nW107XG4gIHRhZ3M/OiBhbnlbXTtcbiAgaW9zX2JhZGdlVHlwZT86IHN0cmluZztcbiAgaW9zX2JhZGdlQ291bnQ/OiBudW1iZXI7XG4gIGlvc19zb3VuZD86IHN0cmluZztcbiAgYW5kcm9pZF9zb3VuZD86IHN0cmluZztcbiAgYWRtX3NvdW5kPzogc3RyaW5nO1xuICB3cF9zb3VuZD86IHN0cmluZztcbiAgd3Bfd25zX3NvdW5kPzogc3RyaW5nO1xuICBkYXRhPzogYW55O1xuICBidXR0b25zPzogYW55O1xuICBjb2xsYXBzZV9pZD86IHN0cmluZztcbiAgc21hbGxfaWNvbj86IHN0cmluZztcbiAgbGFyZ2VfaWNvbj86IHN0cmluZztcbiAgYmlnX3BpY3R1cmU/OiBzdHJpbmc7XG4gIGFkbV9zbWFsbF9pY29uPzogc3RyaW5nO1xuICBhZG1fbGFyZ2VfaWNvbj86IHN0cmluZztcbiAgYWRtX2JpZ19waWN0dXJlPzogc3RyaW5nO1xuICBjaHJvbWVfaWNvbj86IHN0cmluZztcbiAgY2hyb21lX2JpZ19waWN0dXJlPzogc3RyaW5nO1xuICBjaHJvbWVfd2ViX2ljb24/OiBzdHJpbmc7XG4gIGZpcmVmb3hfaWNvbj86IHN0cmluZztcbiAgdXJsPzogc3RyaW5nO1xuICBzZW5kX2FmdGVyPzogc3RyaW5nO1xuICBkZWxheWVkX29wdGlvbj86IHN0cmluZztcbiAgZGVsaXZlcnlfdGltZV9vZl9kYXk/OiBzdHJpbmc7XG4gIGFuZHJvaWRfbGVkX2NvbG9yPzogc3RyaW5nO1xuICBhbmRyb2lkX2FjY2VudF9jb2xvcj86IHN0cmluZztcbiAgYW5kcm9pZF92aXNpYmlsaXR5PzogbnVtYmVyO1xuICBjb250ZW50X2F2YWlsYWJsZT86IGJvb2xlYW47XG4gIGFtYXpvbl9iYWNrZ3JvdW5kX2RhdGE/OiBib29sZWFuO1xuICB0ZW1wbGF0ZV9pZD86IHN0cmluZztcbiAgYW5kcm9pZF9ncm91cD86IHN0cmluZztcbiAgYW5kcm9pZF9ncm91cF9tZXNzYWdlPzogYW55O1xuICBhZG1fZ3JvdXA/OiBzdHJpbmc7XG4gIGFkbV9ncm91cF9tZXNzYWdlPzogYW55O1xuICB0dGw/OiBudW1iZXI7XG4gIHByaW9yaXR5PzogbnVtYmVyO1xuICBpb3NfY2F0ZWdvcnk/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogKipBTkRST0lEKiogLSBQcml2YWN5IHNldHRpbmcgZm9yIGhvdyB0aGUgbm90aWZpY2F0aW9uIHNob3VsZCBiZSBzaG93biBvbiB0aGUgbG9ja3NjcmVlbiBvZiBBbmRyb2lkIDUrIGRldmljZXMuXG4gKi9cbmV4cG9ydCBlbnVtIE9TTG9ja1NjcmVlblZpc2liaWxpdHkge1xuICAvKipcbiAgICogRnVsbHkgdmlzaWJsZSAoZGVmYXVsdClcbiAgICovXG4gIFB1YmxpYyA9IDEsXG4gIC8qKlxuICAgKiBDb250ZW50cyBhcmUgaGlkZGVuXG4gICAqL1xuICBQcml2YXRlID0gMCxcbiAgLyoqXG4gICAqIE5vdCBzaG93blxuICAgKi9cbiAgU2VjcmV0ID0gLTEsXG59XG5cbi8qKlxuICogSG93IHRoZSBub3RpZmljYXRpb24gd2FzIGRpc3BsYXllZCB0byB0aGUgdXNlci4gUGFydCBvZiBPU05vdGlmaWNhdGlvbi4gU2VlIGluRm9jdXNEaXNwbGF5aW5nIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGhvdyB0aGlzIGlzIHVzZWQuXG4gKi9cbmV4cG9ydCBlbnVtIE9TRGlzcGxheVR5cGUge1xuICAvKipcbiAgICogbm90aWZpY2F0aW9uIGlzIHNpbGVudCwgb3IgaW5Gb2N1c0Rpc3BsYXlpbmcgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBOb25lID0gMCxcbiAgLyoqXG4gICAqICgqKkRFRkFVTFQqKikgLSBuYXRpdmUgYWxlcnQgZGlhbG9nIGRpc3BsYXkuXG4gICAqL1xuICBJbkFwcEFsZXJ0ID0gMSxcbiAgLyoqXG4gICAqIG5hdGl2ZSBub3RpZmljYXRpb24gZGlzcGxheS5cbiAgICovXG4gIE5vdGlmaWNhdGlvbiA9IDIsXG59XG5cbi8qKlxuICogQ29udGVudHMgYW5kIHNldHRpbmdzIG9mIHRoZSBub3RpZmljYXRpb24gdGhlIHVzZXIgcmVjZWl2ZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT1NOb3RpZmljYXRpb25QYXlsb2FkIHtcbiAgLyoqXG4gICAqIE9uZVNpZ25hbCBub3RpZmljYXRpb24gVVVJRC5cbiAgICovXG4gIG5vdGlmaWNhdGlvbklEOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaXRsZSBvZiB0aGUgbm90aWZpY2F0aW9uLlxuICAgKi9cbiAgdGl0bGU6IHN0cmluZztcbiAgLyoqXG4gICAqIEJvZHkgb2YgdGhlIG5vdGlmaWNhdGlvbi5cbiAgICovXG4gIGJvZHk6IHN0cmluZztcbiAgLyoqXG4gICAqIEN1c3RvbSBhZGRpdGlvbmFsIGRhdGEgdGhhdCB3YXMgc2VudCB3aXRoIHRoZSBub3RpZmljYXRpb24uIFNldCBvbiB0aGUgZGFzaGJvYXJkIHVuZGVyIE9wdGlvbnMgPiBBZGRpdGlvbmFsIERhdGFcbiAgICogb3Igd2l0aCB0aGUgJ2RhdGEnIGZpZWxkIG9uIHRoZSBSRVNUIEFQSS5cbiAgICovXG4gIGFkZGl0aW9uYWxEYXRhPzogYW55O1xuICAvKipcbiAgICogKipBTkRST0lEKiogLSBTbWFsbCBpY29uIHJlc291cmNlIG5hbWUgc2V0IG9uIHRoZSBub3RpZmljYXRpb24uXG4gICAqL1xuICBzbWFsbEljb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAqKkFORFJPSUQqKiAtIExhcmdlIGljb24gc2V0IG9uIHRoZSBub3RpZmljYXRpb24uXG4gICAqL1xuICBsYXJnZUljb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAqKkFORFJPSUQqKiAtIEJpZyBwaWN0dXJlIGltYWdlIHNldCBvbiB0aGUgbm90aWZpY2F0aW9uLlxuICAgKi9cbiAgYmlnUGljdHVyZT86IHN0cmluZztcbiAgLyoqXG4gICAqICoqQU5EUk9JRCoqIC0gQWNjZW50IGNvbG9yIHNob3duIGFyb3VuZCBzbWFsbCBub3RpZmljYXRpb24gaWNvbiBvbiBBbmRyb2lkIDUrIGRldmljZXMuIEFSR0IgZm9ybWF0LlxuICAgKi9cbiAgc21hbGxJY29uQWNjZW50Q29sb3I/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVUkwgdG8gb3BlbiB3aGVuIG9wZW5pbmcgdGhlIG5vdGlmaWNhdGlvbi5cbiAgICovXG4gIGxhdW5jaFVSTD86IHN0cmluZztcbiAgLyoqXG4gICAqIFNvdW5kIHJlc291cmNlIHRvIHBsYXkgd2hlbiB0aGUgbm90aWZpY2F0aW9uIGlzIHNob3duLlxuICAgKi9cbiAgc291bmQ6IHN0cmluZztcbiAgLyoqXG4gICAqICoqQU5EUk9JRCoqIC0gRGV2aWNlcyB0aGF0IGhhdmUgYSBub3RpZmljYXRpb24gTEVEIHdpbGwgYmxpbmsgaW4gdGhpcyBjb2xvci4gQVJHQiBmb3JtYXQuXG4gICAqL1xuICBsZWRDb2xvcj86IHN0cmluZztcbiAgbG9ja1NjcmVlblZpc2liaWxpdHk/OiBPU0xvY2tTY3JlZW5WaXNpYmlsaXR5O1xuICAvKipcbiAgICogKipBTkRST0lEKiogLSBOb3RpZmljYXRpb25zIHdpdGggdGhpcyBzYW1lIGtleSB3aWxsIGJlIGdyb3VwZWQgdG9nZXRoZXIgYXMgYSBzaW5nbGUgc3VtbWFyeSBub3RpZmljYXRpb24uXG4gICAqL1xuICBncm91cEtleT86IHN0cmluZztcbiAgLyoqXG4gICAqICoqQU5EUk9JRCoqIC0gU3VtbWFyeSB0ZXh0IGRpc3BsYXllZCBpbiB0aGUgc3VtbWFyeSBub3RpZmljYXRpb24uXG4gICAqL1xuICBncm91cE1lc3NhZ2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBMaXN0IG9mIGFjdGlvbiBidXR0b25zIG9uIHRoZSBub3RpZmljYXRpb24uXG4gICAqL1xuICBhY3Rpb25CdXR0b25zOiBPU0FjdGlvbkJ1dHRvbltdO1xuICAvKipcbiAgICogKipBTkRST0lEKiogLSBUaGUgR29vZ2xlIHByb2plY3QgbnVtYmVyIHRoZSBub3RpZmljYXRpb24gd2FzIHNlbnQgdW5kZXIuXG4gICAqL1xuICBmcm9tUHJvamVjdE51bWJlcj86IHN0cmluZztcbiAgLyoqXG4gICAqICoqQU5EUk9JRCoqIC0gSWYgYSBiYWNrZ3JvdW5kIGltYWdlIHdhcyBzZXQgdGhpcyBvYmplY3Qgd2lsbCBiZSBhdmFpbGFibGUuXG4gICAqL1xuICBiYWNrZ3JvdW5kSW1hZ2VMYXlvdXQ/OiBPU0JhY2tncm91bmRJbWFnZUxheW91dDtcbiAgcHJpb3JpdHk/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBMaXN0IG9mIGFjdGlvbiBidXR0b25zIG9uIHRoZSBub3RpZmljYXRpb24uXG4gICAqL1xuICByYXdQYXlsb2FkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogTGlzdCBvZiBhY3Rpb24gYnV0dG9ucyBvbiB0aGUgbm90aWZpY2F0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9TQWN0aW9uQnV0dG9uIHtcbiAgLyoqXG4gICAqIElkIGFzc2lnbmVkIHRvIHRoZSBidXR0b24uXG4gICAqL1xuICBpZDogc3RyaW5nO1xuICAvKipcbiAgICogVGV4dCBzaG93IG9uIHRoZSBidXR0b24gdG8gdGhlIHVzZXIuXG4gICAqL1xuICB0ZXh0OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAqKkFORFJPSUQqKiAtIEljb24gc2hvd24gb24gdGhlIGJ1dHRvbi5cbiAgICovXG4gIGljb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBPU1Blcm1pc3Npb25TdGF0ZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9TUGVybWlzc2lvblN0YXRlIHtcbiAgLyoqXG4gICAqIFVzZXIgd2FzIHByb21wdGVkLlxuICAgKi9cbiAgaGFzUHJvbXB0ZWQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQZXJtaXNzaW9ucyBTdGF0dXMgKGlPUyBPbmx5KVxuICAgKi9cbiAgc3RhdHVzOiBhbnk7XG4gIC8qKlxuICAgKiBQZXJtaXNzaW9ucyBTdGF0ZSAoQW5kcm9pZCBPbmx5KVxuICAgKi9cbiAgc3RhdGU6IGFueTtcbn1cblxuLyoqXG4gKiBPU1N1YnNjcmlwdGlvblN0YXRlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT1NTdWJzY3JpcHRpb25TdGF0ZSB7XG4gIHN1YnNjcmliZWQ6IGJvb2xlYW47XG4gIHVzZXJTdWJzY3JpcHRpb25TZXR0aW5nOiBhbnk7XG4gIHVzZXJJZDogYW55O1xuICBwdXNoVG9rZW46IGFueTtcbn1cblxuLyoqXG4gKiBTdWJzY3JpcHRpb24gYW5kIHBlcm1pc3Npb25zIHN0YXR1c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE9TUGVybWlzc2lvblN1YnNjcmlwdGlvblN0YXRlIHtcbiAgLyoqXG4gICAqIElkIGFzc2lnbmVkIHRvIHRoZSBidXR0b24uXG4gICAqL1xuICBwZXJtaXNzaW9uU3RhdHVzOiBPU1Blcm1pc3Npb25TdGF0ZTtcbiAgLyoqXG4gICAqIFRleHQgc2hvdyBvbiB0aGUgYnV0dG9uIHRvIHRoZSB1c2VyLlxuICAgKi9cbiAgc3Vic2NyaXB0aW9uU3RhdHVzOiBPU1N1YnNjcmlwdGlvblN0YXRlO1xufVxuXG4vKipcbiAqICoqQU5EUk9JRCoqIC0gSWYgYSBiYWNrZ3JvdW5kIGltYWdlIHdhcyBzZXQsIHRoaXMgb2JqZWN0IHdpbGwgYmUgYXZhaWxhYmxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9TQmFja2dyb3VuZEltYWdlTGF5b3V0IHtcbiAgLyoqXG4gICAqIEltYWdlIFVSTCBvciBuYW1lIHVzZWQgYXMgdGhlIGJhY2tncm91bmQgaW1hZ2UuXG4gICAqL1xuICBpbWFnZTogc3RyaW5nO1xuICAvKipcbiAgICogVGV4dCBjb2xvciBvZiB0aGUgdGl0bGUgb24gdGhlIG5vdGlmaWNhdGlvbi4gQVJHQiBGb3JtYXQuXG4gICAqL1xuICB0aXRsZVRleHRDb2xvcjogc3RyaW5nO1xuICAvKipcbiAgICogVGV4dCBjb2xvciBvZiB0aGUgYm9keSBvbiB0aGUgbm90aWZpY2F0aW9uLiBBUkdCIEZvcm1hdC5cbiAgICovXG4gIGJvZHlUZXh0Q29sb3I6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgaW5mb3JtYXRpb24gcmV0dXJuZWQgZnJvbSBhIG5vdGlmaWNhdGlvbiB0aGUgdXNlciByZWNlaXZlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPU05vdGlmaWNhdGlvbk9wZW5lZFJlc3VsdCB7XG4gIGFjdGlvbjoge1xuICAgIC8qKlxuICAgICAqIFdhcyB0aGUgbm90aWZpY2F0aW9uIG9wZW5lZCBub3JtYWxseSAoYE9wZW5lZGApIG9yIHdhcyBhIGJ1dHRvbiBwcmVzc2VkIG9uIHRoZSBub3RpZmljYXRpb24gKGBBY3Rpb25UYWtlbmApLlxuICAgICAqL1xuICAgIHR5cGU6IE9TQWN0aW9uVHlwZTtcbiAgICAvKipcbiAgICAgKiBJZiBgdHlwZWAgPT0gYEFjdGlvblRha2VuYCB0aGVuIHRoaXMgd2lsbCBjb250YWluIHRoZSBpZCBvZiB0aGUgYnV0dG9uIHByZXNzZWQuXG4gICAgICovXG4gICAgYWN0aW9uSUQ/OiBzdHJpbmc7XG4gIH07XG4gIG5vdGlmaWNhdGlvbjogT1NOb3RpZmljYXRpb247XG59XG5cbmV4cG9ydCBlbnVtIE9TQWN0aW9uVHlwZSB7XG4gIE9wZW5lZCA9IDAsXG4gIEFjdGlvblRha2UgPSAxLFxufVxuXG4vKipcbiAqIERldGFpbHMgYWJvdXQgdGhlIEluLUFwcCBNZXNzYWdlIGFjdGlvbiBlbGVtZW50IChidXR0b24gb3IgaW1hZ2UpIHRoYXQgd2FzIHRhcHBlZCBvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPU0luQXBwTWVzc2FnZUFjdGlvbiB7XG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBjbGljayBuYW1lIGRlZmluZWQgZm9yIHRoZSBhY3Rpb24gZWxlbWVudC4gbnVsbCBvciBuaWwgKGlPUykgaWYgbm90IHNldC5cbiAgICovXG4gIGNsaWNrX25hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIFVSTCB0aGF0IG9wZW5zIHdoZW4gdGhlIGFjdGlvbiB0YWtlcyBwbGFjZS4gbnVsbCBvciBuaWwgKGlPUykgaWYgbm90IHNldC5cbiAgICovXG4gIGNsaWNrX3VybDogc3RyaW5nO1xuICAvKipcbiAgICogYHRydWVgIGlmIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgdGhlIHVzZXIgaGFzIHByZXNzZWQgYW55IGFjdGlvbiBvbiB0aGUgSW4tQXBwIE1lc3NhZ2UuXG4gICAqL1xuICBmaXJzdF9jbGljazogYm9vbGVhbjtcbiAgLyoqXG4gICAqIElmIGB0cnVlYCwgdGhlIEluLUFwcCBNZXNzYWdlIHdpbGwgYW5pbWF0ZSBvZmYgdGhlIHNjcmVlbi4gSWYgYGZhbHNlYCwgdGhlIEluLUFwcCBNZXNzYWdlIHdpbGwgc3RheSBvbiBzY3JlZW4gdW50aWwgdGhlIHVzZXIgZGlzbWlzc2VzIGl0LlxuICAgKi9cbiAgY2xvc2VzX21lc3NhZ2U6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQG5hbWUgT25lU2lnbmFsXG4gKiBAZGVzY3JpcHRpb25cbiAqIFRoZSBPbmVTaWduYWwgcGx1Z2luIGlzIGFuIGNsaWVudCBpbXBsZW1lbnRhdGlvbiBmb3IgdXNpbmcgdGhlIFtPbmVTaWduYWxdKGh0dHBzOi8vb25lc2lnbmFsLmNvbS8pIFNlcnZpY2UuXG4gKiBPbmVTaWduYWwgaXMgYSBzaW1wbGUgaW1wbGVtZW50YXRpb24gZm9yIGRlbGl2ZXJpbmcgcHVzaCBub3RpZmljYXRpb25zLlxuICpcbiAqIFBsZWFzZSB2aWV3IHRoZSBvZmZpY2lhbCBbT25lU2lnbmFsIElvbmljIFNESyBJbnN0YWxsYXRpb25dKGh0dHBzOi8vZG9jdW1lbnRhdGlvbi5vbmVzaWduYWwuY29tL2RvY3MvaW9uaWMtc2RrLXNldHVwKSBndWlkZVxuICogZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gKlxuICogIyMjIyBJY29uc1xuICogSWYgeW91IHdhbnQgdG8gdXNlIGdlbmVyYXRlZCBpY29ucyB3aXRoIGNvbW1hbmQgYGlvbmljIGNvcmRvdmEgcmVzb3VyY2VzYDpcbiAqXG4gKiAxLiBBZGQgYSBmaWxlIHRvIHlvdXIgYGhvb2tzYCBkaXJlY3RvcnkgY2FsbGVkIGBjb3B5X2FuZHJvaWRfbm90aWZpY2F0aW9uX2ljb25zLmpzYFxuICpcbiAqIDIuIENvbmZpZ3VyZSB0aGUgaG9vayBpbiB5b3VyIGNvbmZpZy54bWxcbiAqIGBgYFxuICogICAgIDxwbGF0Zm9ybSBuYW1lPVwiYW5kcm9pZFwiPlxuICogICAgICAgICA8aG9vayB0eXBlPVwiYWZ0ZXJfcHJlcGFyZVwiIHNyYz1cImhvb2tzL2NvcHlfYW5kcm9pZF9ub3RpZmljYXRpb25faWNvbnMuanNcIiAvPlxuICogICAgIDwvcGxhdGZvcm0+XG4gKiBgYGBcbiAqXG4gKiAzLiBQdXQgdGhlIGZvbGxvd2luZyBjb2RlIGluIGl0OlxuICpcbiAqIGBgYFxuICogIyEvdXNyL2Jpbi9lbnYgbm9kZVxuICpcbiAqIHZhciBmcyA9IHJlcXVpcmUoJ2ZzJyk7XG4gKiB2YXIgcGF0aCA9IHJlcXVpcmUoJ3BhdGgnKTtcbiAqXG4gKiB2YXIgZmlsZXN0b2NvcHkgPSBbe1xuICogICAgIFwicmVzb3VyY2VzL2FuZHJvaWQvaWNvbi9kcmF3YWJsZS1oZHBpLWljb24ucG5nXCI6XG4gKiAgICAgICAgIFwicGxhdGZvcm1zL2FuZHJvaWQvYXBwL3NyYy9tYWluL3Jlcy9kcmF3YWJsZS1oZHBpL2ljX3N0YXRfb25lc2lnbmFsX2RlZmF1bHQucG5nXCJcbiAqIH0sIHtcbiAqICAgICBcInJlc291cmNlcy9hbmRyb2lkL2ljb24vZHJhd2FibGUtbWRwaS1pY29uLnBuZ1wiOlxuICogICAgICAgICBcInBsYXRmb3Jtcy9hbmRyb2lkL2FwcC9zcmMvbWFpbi9yZXMvZHJhd2FibGUtbWRwaS9pY19zdGF0X29uZXNpZ25hbF9kZWZhdWx0LnBuZ1wiXG4gKiB9LCB7XG4gKiAgICAgXCJyZXNvdXJjZXMvYW5kcm9pZC9pY29uL2RyYXdhYmxlLXhoZHBpLWljb24ucG5nXCI6XG4gKiAgICAgICAgIFwicGxhdGZvcm1zL2FuZHJvaWQvYXBwL3NyYy9tYWluL3Jlcy9kcmF3YWJsZS14aGRwaS9pY19zdGF0X29uZXNpZ25hbF9kZWZhdWx0LnBuZ1wiXG4gKiB9LCB7XG4gKiAgICAgXCJyZXNvdXJjZXMvYW5kcm9pZC9pY29uL2RyYXdhYmxlLXh4aGRwaS1pY29uLnBuZ1wiOlxuICogICAgICAgICBcInBsYXRmb3Jtcy9hbmRyb2lkL2FwcC9zcmMvbWFpbi9yZXMvZHJhd2FibGUteHhoZHBpL2ljX3N0YXRfb25lc2lnbmFsX2RlZmF1bHQucG5nXCJcbiAqIH0sIHtcbiAqICAgICBcInJlc291cmNlcy9hbmRyb2lkL2ljb24vZHJhd2FibGUteHh4aGRwaS1pY29uLnBuZ1wiOlxuICogICAgICAgICBcInBsYXRmb3Jtcy9hbmRyb2lkL2FwcC9zcmMvbWFpbi9yZXMvZHJhd2FibGUteHh4aGRwaS9pY19zdGF0X29uZXNpZ25hbF9kZWZhdWx0LnBuZ1wiXG4gKiB9IF07XG4gKlxuICogbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihjb250ZXh0KSB7XG4gKlxuICogICAgIC8vIG5vIG5lZWQgdG8gY29uZmlndXJlIGJlbG93XG4gKiAgICAgdmFyIHJvb3RkaXIgPSBjb250ZXh0Lm9wdHMucHJvamVjdFJvb3Q7XG4gKlxuICogICAgIGZpbGVzdG9jb3B5LmZvckVhY2goZnVuY3Rpb24ob2JqKSB7XG4gKiAgICAgICAgIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaChmdW5jdGlvbihrZXkpIHtcbiAqICAgICAgICAgICAgIHZhciB2YWwgPSBvYmpba2V5XTtcbiAqICAgICAgICAgICAgIHZhciBzcmNmaWxlID0gcGF0aC5qb2luKHJvb3RkaXIsIGtleSk7XG4gKiAgICAgICAgICAgICB2YXIgZGVzdGZpbGUgPSBwYXRoLmpvaW4ocm9vdGRpciwgdmFsKTtcbiAqICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiY29weWluZyBcIitzcmNmaWxlK1wiIHRvIFwiK2Rlc3RmaWxlKTtcbiAqICAgICAgICAgICAgIHZhciBkZXN0ZGlyID0gcGF0aC5kaXJuYW1lKGRlc3RmaWxlKTtcbiAqICAgICAgICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHNyY2ZpbGUpICYmIGZzLmV4aXN0c1N5bmMoZGVzdGRpcikpIHtcbiAqICAgICAgICAgICAgICAgICBmcy5jcmVhdGVSZWFkU3RyZWFtKHNyY2ZpbGUpLnBpcGUoXG4gKiAgICAgICAgICAgICAgICAgICAgIGZzLmNyZWF0ZVdyaXRlU3RyZWFtKGRlc3RmaWxlKSk7XG4gKiAgICAgICAgICAgICB9XG4gKiAgICAgICAgIH0pO1xuICogICAgIH0pO1xuICpcbiAqIH07XG4gKiBgYGBcbiAqXG4gKiAzLiBGcm9tIHRoZSByb290IG9mIHlvdXIgcHJvamVjdCBtYWtlIHRoZSBmaWxlIGV4ZWN1dGFibGU6XG4gKiBgJCBjaG1vZCAreCBob29rcy9jb3B5X2FuZHJvaWRfbm90aWZpY2F0aW9uX2ljb25zLmpzYFxuICpcbiAqXG4gKiBAdXNhZ2VcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IE9uZVNpZ25hbCB9IGZyb20gJ0Bhd2Vzb21lLWNvcmRvdmEtcGx1Z2lucy9vbmVzaWduYWwvbmd4JztcbiAqXG4gKiBjb25zdHJ1Y3Rvcihwcml2YXRlIG9uZVNpZ25hbDogT25lU2lnbmFsKSB7IH1cbiAqXG4gKiAuLi5cbiAqXG4gKiB0aGlzLm9uZVNpZ25hbC5zdGFydEluaXQoJ2IyZjdmOTY2LWQ4Y2MtMTFlNC1iZWQxLWRmOGYwNWJlNTViYScsICc3MDMzMjI3NDQyNjEnKTtcbiAqXG4gKiB0aGlzLm9uZVNpZ25hbC5pbkZvY3VzRGlzcGxheWluZyh0aGlzLm9uZVNpZ25hbC5PU0luRm9jdXNEaXNwbGF5T3B0aW9uLkluQXBwQWxlcnQpO1xuICpcbiAqIHRoaXMub25lU2lnbmFsLmhhbmRsZU5vdGlmaWNhdGlvblJlY2VpdmVkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAqICAvLyBkbyBzb21ldGhpbmcgd2hlbiBub3RpZmljYXRpb24gaXMgcmVjZWl2ZWRcbiAqIH0pO1xuICpcbiAqIHRoaXMub25lU2lnbmFsLmhhbmRsZU5vdGlmaWNhdGlvbk9wZW5lZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gKiAgIC8vIGRvIHNvbWV0aGluZyB3aGVuIGEgbm90aWZpY2F0aW9uIGlzIG9wZW5lZFxuICogfSk7XG4gKlxuICogdGhpcy5vbmVTaWduYWwuZW5kSW5pdCgpO1xuICogYGBgXG4gKiBAaW50ZXJmYWNlc1xuICogT1NOb3RpZmljYXRpb25cbiAqIE9TTG9ja1NjcmVlblZpc2liaWxpdHlcbiAqIE9TRGlzcGxheVR5cGVcbiAqIE9TTm90aWZpY2F0aW9uUGF5bG9hZFxuICogT1NBY3Rpb25CdXR0b25cbiAqIE9TQmFja2dyb3VuZEltYWdlTGF5b3V0XG4gKiBPU05vdGlmaWNhdGlvbk9wZW5lZFJlc3VsdFxuICogT1NBY3Rpb25UeXBlXG4gKiBPU0luQXBwTWVzc2FnZUFjdGlvblxuICovXG5AUGx1Z2luKHtcbiAgcGx1Z2luTmFtZTogJ09uZVNpZ25hbCcsXG4gIHBsdWdpbjogJ29uZXNpZ25hbC1jb3Jkb3ZhLXBsdWdpbicsXG4gIHBsdWdpblJlZjogJ3BsdWdpbnMuT25lU2lnbmFsJyxcbiAgcmVwbzogJ2h0dHBzOi8vZ2l0aHViLmNvbS9PbmVTaWduYWwvT25lU2lnbmFsLUNvcmRvdmEtU0RLJyxcbiAgcGxhdGZvcm1zOiBbJ0FtYXpvbiBGaXJlIE9TJywgJ0FuZHJvaWQnLCAnaU9TJywgJ1dpbmRvd3MnXSxcbn0pXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT25lU2lnbmFsIGV4dGVuZHMgQXdlc29tZUNvcmRvdmFOYXRpdmVQbHVnaW4ge1xuICAvKipcbiAgICogY29uc3RhbnRzIHRvIHVzZSBpbiBpbkZvY3VzRGlzcGxheWluZygpXG4gICAqIEBoaWRkZW5cbiAgICovXG4gIE9TSW5Gb2N1c0Rpc3BsYXlPcHRpb24gPSB7XG4gICAgTm9uZTogMCxcbiAgICBJbkFwcEFsZXJ0OiAxLFxuICAgIE5vdGlmaWNhdGlvbjogMixcbiAgfTtcblxuICAvKipcbiAgICogU3RhcnQgdGhlIGluaXRpYWxpemF0aW9uIHByb2Nlc3MuIE9uY2UgeW91IGFyZSBkb25lIGNvbmZpZ3VyaW5nIE9uZVNpZ25hbCwgY2FsbCB0aGUgYGVuZEluaXRgIGZ1bmN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXBwSWQgWW91ciBPbmVTaWduYWwgYXBwIGlkXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBnb29nbGVQcm9qZWN0TnVtYmVyICoqQU5EUk9JRCoqIC0geW91ciBHb29nbGUgcHJvamVjdCBudW1iZXI7IG9ubHkgcmVxdWlyZWQgZm9yIEFuZHJvaWQgR0NNL0ZDTSBwdXNoZXMuXG4gICAqIEByZXR1cm5zIHthbnl9XG4gICAqL1xuICBAQ29yZG92YSh7IHN5bmM6IHRydWUgfSlcbiAgc3RhcnRJbml0KGFwcElkOiBzdHJpbmcsIGdvb2dsZVByb2plY3ROdW1iZXI/OiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsYmFjayB0byBydW4gd2hlbiBhIG5vdGlmaWNhdGlvbiBpcyByZWNlaXZlZCwgd2hldGhlciBpdCB3YXMgZGlzcGxheWVkIG9yIG5vdC5cbiAgICpcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxPbmVTaWduYWxSZWNlaXZlZE5vdGlmaWNhdGlvbj59XG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgb2JzZXJ2YWJsZTogdHJ1ZSxcbiAgfSlcbiAgaGFuZGxlTm90aWZpY2F0aW9uUmVjZWl2ZWQoKTogT2JzZXJ2YWJsZTxPU05vdGlmaWNhdGlvbj4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsYmFjayB0byBydW4gd2hlbiBhIG5vdGlmaWNhdGlvbiBpcyB0YXBwZWQgb24gZnJvbSB0aGUgbm90aWZpY2F0aW9uIHNoYWRlICgqKkFORFJPSUQqKikgb3Igbm90aWZpY2F0aW9uXG4gICAqIGNlbnRlciAoKippT1MqKiksIG9yIHdoZW4gY2xvc2luZyBhbiBBbGVydCBub3RpZmljYXRpb24gc2hvd24gaW4gdGhlIGFwcCAoaWYgSW5BcHBBbGVydCBpcyBlbmFibGVkIGluXG4gICAqIGluRm9jdXNEaXNwbGF5aW5nKS5cbiAgICpcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxPbmVTaWduYWxPcGVuZWROb3RpZmljYXRpb24+fVxuICAgKi9cbiAgQENvcmRvdmEoe1xuICAgIG9ic2VydmFibGU6IHRydWUsXG4gIH0pXG4gIGhhbmRsZU5vdGlmaWNhdGlvbk9wZW5lZCgpOiBPYnNlcnZhYmxlPE9TTm90aWZpY2F0aW9uT3BlbmVkUmVzdWx0PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZSB0byBwcm9jZXNzIGFuIEluLUFwcCBNZXNzYWdlIHRoZSB1c2VyIGp1c3QgdGFwcGVkIG9uLlxuICAgKlxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPE9TSW5BcHBNZXNzYWdlQWN0aW9uPn1cbiAgICovXG4gIEBDb3Jkb3ZhKHtcbiAgICBvYnNlcnZhYmxlOiB0cnVlLFxuICB9KVxuICBoYW5kbGVJbkFwcE1lc3NhZ2VDbGlja2VkKCk6IE9ic2VydmFibGU8T1NJbkFwcE1lc3NhZ2VBY3Rpb24+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogKippT1MqKiAtIFNldHRpbmdzIGZvciBpT1MgYXBwc1xuICAgKlxuICAgKiBAcGFyYW0gc2V0dGluZ3NcbiAgICogIGtPU1NldHRpbmdzS2V5QXV0b1Byb21wdDogYm9vbGVhbiA9IHRydWVcbiAgICogIEF1dG8gcHJvbXB0IHVzZXIgZm9yIG5vdGlmaWNhdGlvbiBwZXJtaXNzaW9ucy5cbiAgICpcbiAgICogIGtPU1NldHRpbmdzS2V5SW5BcHBMYXVuY2hVUkw6IGJvb2xlYW4gPSBmYWxzZVxuICAgKiAgTGF1bmNoIG5vdGlmaWNhdGlvbnMgd2l0aCBhIGxhdW5jaCBVUkwgYXMgYW4gaW4gYXBwIHdlYnZpZXcuXG4gICAqIEByZXR1cm5zIHthbnl9XG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgc3luYzogdHJ1ZSxcbiAgICBwbGF0Zm9ybXM6IFsnaU9TJ10sXG4gIH0pXG4gIGlPU1NldHRpbmdzKHNldHRpbmdzOiB7IGtPU1NldHRpbmdzS2V5QXV0b1Byb21wdDogYm9vbGVhbjsga09TU2V0dGluZ3NLZXlJbkFwcExhdW5jaFVSTDogYm9vbGVhbiB9KTogYW55IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogTXVzdCBiZSBjYWxsZWQgYWZ0ZXIgYHN0YXJ0SW5pdGAgdG8gY29tcGxldGUgaW5pdGlhbGl6YXRpb24gb2YgT25lU2lnbmFsLlxuICAgKlxuICAgKiBAcmV0dXJucyB7YW55fVxuICAgKi9cbiAgQENvcmRvdmEoeyBzeW5jOiB0cnVlIH0pXG4gIGVuZEluaXQoKTogYW55IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogUHJvbXB0IHRoZSB1c2VyIGZvciBub3RpZmljYXRpb24gcGVybWlzc2lvbnMuIENhbGxiYWNrIGZpcmVzIGFzIHNvb24gYXMgdGhlIHVzZXIgYWNjZXB0cyBvciBkZWNsaW5lcyBub3RpZmljYXRpb25zLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn1cbiAgICovXG4gIEBDb3Jkb3ZhKHtcbiAgICBwbGF0Zm9ybXM6IFsnaU9TJ10sXG4gIH0pXG4gIHByb21wdEZvclB1c2hOb3RpZmljYXRpb25zV2l0aFVzZXJSZXNwb25zZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgYSBsaXN0IG9mIHRhZ3MgdGhhdCBoYXZlIGJlZW4gc2V0IG9uIHRoZSB1c2VyIGZyb20gdGhlIE9uZVNpZ25hbCBzZXJ2ZXIuXG4gICAqXG4gICAqICoqUXVpcmsqKjogWW91IG11c3Qgd2FpdCBmb3IgYGdldFRhZ3NgIHRvIHJlc29sdmUgYmVmb3JlIGNhbGxpbmcgaXQgYWdhaW4sIGFzIHRoZSBwbHVnaW4gd2lsbCBvbmx5IHByb2Nlc3MgdGhlIGxhc3QgbWV0aG9kIGNhbGwgYW5kIGRpc2NhcmQgYW55IHByZXZpb3VzIG9uZXMuXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59IFJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0YWdzIGFyZSByZWNpZXZlZC5cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgZ2V0VGFncygpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBMZXRzIHlvdSByZXRyaWV2ZSB0aGUgT25lU2lnbmFsIHVzZXIgaWQgYW5kIGRldmljZSB0b2tlbi5cbiAgICogWW91ciBoYW5kbGVyIGlzIGNhbGxlZCBhZnRlciB0aGUgZGV2aWNlIGlzIHN1Y2Nlc3NmdWxseSByZWdpc3RlcmVkIHdpdGggT25lU2lnbmFsLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxPYmplY3Q+fSBSZXR1cm5zIGEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIGlmIHRoZSBkZXZpY2Ugd2FzIHN1Y2Nlc3NmdWxseSByZWdpc3RlcmVkLlxuICAgKlxuICAgKiAgdXNlcklkIHtzdHJpbmd9IE9uZVNpZ25hbCB1c2VySWQgaXMgYSBVVUlEIGZvcm1hdHRlZCBzdHJpbmcuICh1bmlxdWUgcGVyIGRldmljZSBwZXIgYXBwKVxuICAgKlxuICAgKiAgcHVzaFRva2VuIHtzdHJpbmd9IEEgcHVzaCB0b2tlbiBpcyBhIEdvb2dsZS9BcHBsZSBhc3NpZ25lZCBpZGVudGlmaWVyKHVuaXF1ZSBwZXIgZGV2aWNlIHBlciBhcHApLlxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBnZXRJZHMoKTogUHJvbWlzZTx7IHVzZXJJZDogc3RyaW5nOyBwdXNoVG9rZW46IHN0cmluZyB9PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFRhZyBhIHVzZXIgYmFzZWQgb24gYW4gYXBwIGV2ZW50IG9mIHlvdXIgY2hvb3Npbmcgc28gbGF0ZXIgeW91IGNhbiBjcmVhdGUgc2VnbWVudHMgb24gW29uZXNpZ25hbC5jb21dKGh0dHBzOi8vb25lc2lnbmFsLmNvbS8pIHRvIHRhcmdldCB0aGVzZSB1c2Vycy5cbiAgICogUmVjb21tZW5kIHVzaW5nIHNlbmRUYWdzIG92ZXIgc2VuZFRhZyBpZiB5b3UgbmVlZCB0byBzZXQgbW9yZSB0aGFuIG9uZSB0YWcgb24gYSB1c2VyIGF0IGEgdGltZS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IEtleSBvZiB5b3VyIGNob29zaW5nIHRvIGNyZWF0ZSBvciB1cGRhdGUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBWYWx1ZSB0byBzZXQgb24gdGhlIGtleS4gTk9URTogUGFzc2luZyBpbiBhIGJsYW5rIFN0cmluZyBkZWxldGVzIHRoZSBrZXksIHlvdSBjYW4gYWxzbyBjYWxsIGRlbGV0ZVRhZy5cbiAgICovXG4gIEBDb3Jkb3ZhKHsgc3luYzogdHJ1ZSB9KVxuICBzZW5kVGFnKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7fVxuXG4gIC8qKlxuICAgKiBUYWcgYSB1c2VyIGJhc2VkIG9uIGFuIGFwcCBldmVudCBvZiB5b3VyIGNob29zaW5nIHNvIGxhdGVyIHlvdSBjYW4gY3JlYXRlIHNlZ21lbnRzIG9uIFtvbmVzaWduYWwuY29tXShodHRwczovL29uZXNpZ25hbC5jb20vKSB0byB0YXJnZXQgdGhlc2UgdXNlcnMuXG4gICAqIFJlY29tbWVuZCB1c2luZyBzZW5kVGFncyBvdmVyIHNlbmRUYWcgaWYgeW91IG5lZWQgdG8gc2V0IG1vcmUgdGhhbiBvbmUgdGFnIG9uIGEgdXNlciBhdCBhIHRpbWUuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBQYXNzIGEganNvbiBvYmplY3Qgd2l0aCBrZXkvdmFsdWUgcGFpcnMgbGlrZToge2tleTogXCJ2YWx1ZVwiLCBrZXkyOiBcInZhbHVlMlwifVxuICAgKi9cbiAgQENvcmRvdmEoeyBzeW5jOiB0cnVlIH0pXG4gIHNlbmRUYWdzKGpzb246IGFueSk6IHZvaWQge31cblxuICAvKipcbiAgICogRGVsZXRlcyBhIHRhZyB0aGF0IHdhcyBwcmV2aW91c2x5IHNldCBvbiBhIHVzZXIgd2l0aCBgc2VuZFRhZ2Agb3IgYHNlbmRUYWdzYC4gVXNlIGBkZWxldGVUYWdzYCBpZiB5b3UgbmVlZCB0byBkZWxldGUgbW9yZSB0aGFuIG9uZS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IEtleSB0byByZW1vdmUuXG4gICAqL1xuICBAQ29yZG92YSh7IHN5bmM6IHRydWUgfSlcbiAgZGVsZXRlVGFnKGtleTogc3RyaW5nKTogdm9pZCB7fVxuXG4gIC8qKlxuICAgKiBEZWxldGVzIHRhZ3MgdGhhdCB3ZXJlIHByZXZpb3VzbHkgc2V0IG9uIGEgdXNlciB3aXRoIGBzZW5kVGFnYCBvciBgc2VuZFRhZ3NgLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBLZXlzIHRvIHJlbW92ZS5cbiAgICovXG4gIEBDb3Jkb3ZhKHsgc3luYzogdHJ1ZSB9KVxuICBkZWxldGVUYWdzKGtleXM6IHN0cmluZ1tdKTogdm9pZCB7fVxuXG4gIC8qKlxuICAgKiBDYWxsIHRoaXMgd2hlbiB5b3Ugd291bGQgbGlrZSB0byBwcm9tcHQgYW4gaU9TIHVzZXIgdG8gYWNjZXB0IHB1c2ggbm90aWZpY2F0aW9ucyB3aXRoIHRoZSBkZWZhdWx0IHN5c3RlbSBwcm9tcHQuXG4gICAqIE9ubHkgd29ya3MgaWYgeW91IHNldCBga09TU2V0dGluZ3NBdXRvUHJvbXB0YCB0byBgZmFsc2VgIGluIGBpT1NTZXR0aW5nc2BcbiAgICovXG4gIEBDb3Jkb3ZhKHsgc3luYzogdHJ1ZSB9KVxuICByZWdpc3RlckZvclB1c2hOb3RpZmljYXRpb25zKCk6IHZvaWQge31cblxuICAvKipcbiAgICogV2FybmluZzpcbiAgICogT25seSBhcHBsaWVzIHRvIEFuZHJvaWQgYW5kIEFtYXpvbi4gWW91IGNhbiBjYWxsIHRoaXMgZnJvbSB5b3VyIFVJIGZyb20gYSBidXR0b24gcHJlc3MgZm9yIGV4YW1wbGUgdG8gZ2l2ZSB5b3VyIHVzZXIncyBvcHRpb25zIGZvciB5b3VyIG5vdGlmaWNhdGlvbnMuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQgT25lU2lnbmFsIGFsd2F5cyB2aWJyYXRlcyB0aGUgZGV2aWNlIHdoZW4gYSBub3RpZmljYXRpb24gaXMgZGlzcGxheWVkIHVubGVzcyB0aGUgZGV2aWNlIGlzIGluIGEgdG90YWwgc2lsZW50IG1vZGUuXG4gICAqIFBhc3NpbmcgZmFsc2UgbWVhbnMgdGhhdCB0aGUgZGV2aWNlIHdpbGwgb25seSB2aWJyYXRlIGxpZ2h0bHkgd2hlbiB0aGUgZGV2aWNlIGlzIGluIGl0J3MgdmlicmF0ZSBvbmx5IG1vZGUuXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gZmFsc2UgdG8gZGlzYWJsZSB2aWJyYXRlLCB0cnVlIHRvIHJlLWVuYWJsZSBpdC5cbiAgICovXG4gIEBDb3Jkb3ZhKHsgc3luYzogdHJ1ZSB9KVxuICBlbmFibGVWaWJyYXRlKGVuYWJsZTogYm9vbGVhbik6IHZvaWQge31cblxuICAvKipcbiAgICogV2FybmluZzpcbiAgICogT25seSBhcHBsaWVzIHRvIEFuZHJvaWQgYW5kIEFtYXpvbi4gWW91IGNhbiBjYWxsIHRoaXMgZnJvbSB5b3VyIFVJIGZyb20gYSBidXR0b24gcHJlc3MgZm9yIGV4YW1wbGUgdG8gZ2l2ZSB5b3VyIHVzZXIncyBvcHRpb25zIGZvciB5b3VyIG5vdGlmaWNhdGlvbnMuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQgT25lU2lnbmFsIHBsYXlzIHRoZSBzeXN0ZW0ncyBkZWZhdWx0IG5vdGlmaWNhdGlvbiBzb3VuZCB3aGVuIHRoZSBkZXZpY2UncyBub3RpZmljYXRpb24gc3lzdGVtIHZvbHVtZSBpcyB0dXJuZWQgb24uXG4gICAqIFBhc3NpbmcgZmFsc2UgbWVhbnMgdGhhdCB0aGUgZGV2aWNlIHdpbGwgb25seSB2aWJyYXRlIHVubGVzcyB0aGUgZGV2aWNlIGlzIHNldCB0byBhIHRvdGFsIHNpbGVudCBtb2RlLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGZhbHNlIHRvIGRpc2FibGUgc291bmQsIHRydWUgdG8gcmUtZW5hYmxlIGl0LlxuICAgKi9cbiAgQENvcmRvdmEoeyBzeW5jOiB0cnVlIH0pXG4gIGVuYWJsZVNvdW5kKGVuYWJsZTogYm9vbGVhbik6IHZvaWQge31cblxuICAvKipcbiAgICpcbiAgICogU2V0dGluZyB0byBjb250cm9sIGhvdyBPbmVTaWduYWwgbm90aWZpY2F0aW9ucyB3aWxsIGJlIHNob3duIHdoZW4gb25lIGlzIHJlY2VpdmVkIHdoaWxlIHlvdXIgYXBwIGlzIGluIGZvY3VzLiBCeSBkZWZhdWx0IHRoaXMgaXMgc2V0IHRvIGluQXBwQWxlcnQsIHdoaWNoIGNhbiBiZSBoZWxwZnVsIGR1cmluZyBkZXZlbG9wbWVudC5cbiAgICpcbiAgICogQHBhcmFtIHtEaXNwbGF5VHlwZX0gZGlzcGxheU9wdGlvblxuICAgKiBAcmV0dXJucyB7YW55fVxuICAgKi9cbiAgQENvcmRvdmEoeyBzeW5jOiB0cnVlIH0pXG4gIGluRm9jdXNEaXNwbGF5aW5nKGRpc3BsYXlPcHRpb246IE9TRGlzcGxheVR5cGUpOiBhbnkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBZb3UgY2FuIGNhbGwgdGhpcyBtZXRob2Qgd2l0aCBmYWxzZSB0byBvcHQgdXNlcnMgb3V0IG9mIHJlY2VpdmluZyBhbGwgbm90aWZpY2F0aW9ucyB0aHJvdWdoIE9uZVNpZ25hbC5cbiAgICogWW91IGNhbiBwYXNzIHRydWUgbGF0ZXIgdG8gb3B0IHVzZXJzIGJhY2sgaW50byBub3RpZmljYXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGVuYWJsZVxuICAgKi9cbiAgQENvcmRvdmEoeyBzeW5jOiB0cnVlIH0pXG4gIHNldFN1YnNjcmlwdGlvbihlbmFibGU6IGJvb2xlYW4pOiB2b2lkIHt9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCBub3RpZmljYXRpb24gYW5kIHBlcm1pc3Npb24gc3RhdGUuIFJldHVybnMgYSBPU1Blcm1pc3Npb25TdWJzY3JpcHRpb25TdGF0ZSB0eXBlIGRlc2NyaWJlZCBiZWxvdy5cbiAgICpcbiAgICogQHJldHVybnMge1Byb21pc2U8T1NQZXJtaXNzaW9uU3Vic2NyaXB0aW9uU3RhdGU+fVxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBnZXRQZXJtaXNzaW9uU3Vic2NyaXB0aW9uU3RhdGUoKTogUHJvbWlzZTxPU1Blcm1pc3Npb25TdWJzY3JpcHRpb25TdGF0ZT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0ge25vdGlmaWNhdGlvbk9ian0gUGFyYW1ldGVycyBzZWUgUE9TVCBbZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9kb2N1bWVudGF0aW9uLm9uZXNpZ25hbC5jb20vdjIuMC9kb2NzL25vdGlmaWNhdGlvbnMtY3JlYXRlLW5vdGlmaWNhdGlvbilcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn0gUmV0dXJucyBhIFByb21pc2UgdGhhdCByZXNvbHZlcyBpZiB0aGUgbm90aWZpY2F0aW9uIHdhcyBzZW5kIHN1Y2Nlc3NmdWxseS5cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgcG9zdE5vdGlmaWNhdGlvbihub3RpZmljYXRpb25PYmo6IE9TTm90aWZpY2F0aW9uKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogQ2FuY2VscyBhIHNpbmdsZSBPbmVTaWduYWwgbm90aWZpY2F0aW9uIGJhc2VkIG9uIGl0cyBBbmRyb2lkIG5vdGlmaWNhdGlvbiBpbnRlZ2VyIGlkLiBVc2UgaW5zdGVhZCBvZiBOb3RpZmljYXRpb25NYW5hZ2VyLmNhbmNlbChpZCk7IG90aGVyd2lzZSB0aGUgbm90aWZpY2F0aW9uIHdpbGwgYmUgcmVzdG9yZWQgd2hlbiB5b3VyIGFwcCBpcyByZXN0YXJ0ZWQuXG4gICAqIEBwYXJhbSBub3RpZmljYXRpb25JZCB7c3RyaW5nfVxuICAgKi9cbiAgQENvcmRvdmEoeyBzeW5jOiB0cnVlIH0pXG4gIGNhbmNlbE5vdGlmaWNhdGlvbihub3RpZmljYXRpb25JZDogc3RyaW5nKTogdm9pZCB7fVxuXG4gIC8qKlxuICAgKiBQcm9tcHRzIHRoZSB1c2VyIGZvciBsb2NhdGlvbiBwZXJtaXNzaW9uIHRvIGFsbG93IGdlb3RhZ2dpbmcgYmFzZWQgb24gdGhlIFwiTG9jYXRpb24gcmFkaXVzXCIgZmlsdGVyIG9uIHRoZSBPbmVTaWduYWwgZGFzaGJvYXJkLlxuICAgKi9cbiAgQENvcmRvdmEoeyBzeW5jOiB0cnVlIH0pXG4gIHByb21wdExvY2F0aW9uKCk6IHZvaWQge31cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGVtYWlsIHtzdHJpbmd9XG4gICAqL1xuICBAQ29yZG92YSh7IHN5bmM6IHRydWUgfSlcbiAgc3luY0hhc2hlZEVtYWlsKGVtYWlsOiBzdHJpbmcpOiB2b2lkIHt9XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBsb2dnaW5nIHRvIGhlbHAgZGVidWcgaWYgeW91IHJ1biBpbnRvIGFuIGlzc3VlIHNldHRpbmcgdXAgT25lU2lnbmFsLlxuICAgKiBUaGUgbG9nZ2luZyBsZXZlbHMgYXJlIGFzIGZvbGxvd3M6IDAgPSBOb25lLCAxPSBGYXRhbCwgMiA9IEVycm9ycywgMyA9IFdhcm5pbmdzLCA0ID0gSW5mbywgNSA9IERlYnVnLCA2ID0gVmVyYm9zZVxuICAgKlxuICAgKiBUaGUgaGlnaGVyIHRoZSB2YWx1ZSB0aGUgbW9yZSBpbmZvcm1hdGlvbiBpcyBzaG93bi5cbiAgICpcbiAgICogQHBhcmFtIHtsb2dsZXZlbH0gY29udGFpbnMgdHdvIHByb3BlcnRpZXM6IGxvZ0xldmVsIChmb3IgY29uc29sZSBsb2dnaW5nKSBhbmQgdmlzdWFsTGV2ZWwgKGZvciBkaWFsb2cgbWVzc2FnZXMpXG4gICAqL1xuICBAQ29yZG92YSh7IHN5bmM6IHRydWUgfSlcbiAgc2V0TG9nTGV2ZWwobG9nTGV2ZWw6IHsgbG9nTGV2ZWw6IG51bWJlcjsgdmlzdWFsTGV2ZWw6IG51bWJlciB9KTogdm9pZCB7fVxuXG4gIC8qKlxuICAgKiBEaXNhYmxlIG9yIGVuYWJsZSBsb2NhdGlvbiBjb2xsZWN0aW9uIChEZWZhdWx0cyB0byBlbmFibGVkKSBpZiB5b3VyIGFwcCBoYXMgbG9jYXRpb24gcGVybWlzc2lvbi5cbiAgICogQHBhcmFtIHNoYXJlZCB7Ym9vbGVhbn1cbiAgICovXG4gIEBDb3Jkb3ZhKHsgc3luYzogdHJ1ZSB9KVxuICBzZXRMb2NhdGlvblNoYXJlZChzaGFyZWQ6IGJvb2xlYW4pOiB2b2lkIHt9XG5cbiAgLyoqXG4gICAqIFRoZSBwYXNzZWQgaW4gZnVuY3Rpb24gd2lsbCBiZSBmaXJlZCB3aGVuIGEgbm90aWZpY2F0aW9uIHBlcm1pc3Npb24gc2V0dGluZyBjaGFuZ2VzLlxuICAgKiBUaGlzIGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgZXZlbnRzOlxuICAgKiAtIE5vdGlmaWNhdGlvbiBwZXJtaXNzaW9uIHByb21wdCBzaG93blxuICAgKiAtIFRoZSB1c2VyIGFjY2VwdGluZyBvciBkZWNsaW5pbmcgdGhlIHBlcm1pc3Npb24gcHJvbXB0XG4gICAqIC0gRW5hYmxpbmcvZGlzYWJsaW5nIG5vdGlmaWNhdGlvbnMgZm9yIHlvdXIgYXBwIGluIHRoZSBkZXZpY2UgU2V0dGluZ3MgYWZ0ZXIgcmV0dXJuaW5nIHRvIHlvdXIgYXBwLlxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPGFueT59XG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgb2JzZXJ2YWJsZTogdHJ1ZSxcbiAgfSlcbiAgYWRkUGVybWlzc2lvbk9ic2VydmVyKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBwYXNzZWQgaW4gZnVuY3Rpb24gd2lsbCBiZSBmaXJlZCB3aGVuIGEgbm90aWZpY2F0aW9uIHN1YnNjcmlwdGlvbiBwcm9wZXJ0eSBjaGFuZ2VzLlxuICAgKiBUaGlzIGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgZXZlbnRzOlxuICAgKiAtIEdldHRpbmcgYSBwdXNoIHRva2VuIGZyb20gQXBwbGUgLyBHb29nbGUuXG4gICAqIC0gR2V0dGluZyBhIHBsYXllciAvIHVzZXIgaWQgZnJvbSBPbmVTaWduYWxcbiAgICogLSBPbmVTaWduYWwuc2V0U3Vic2NyaXB0aW9uIGlzIGNhbGxlZFxuICAgKiAtIFVzZXIgZGlzYWJsZXMgb3IgZW5hYmxlcyBub3RpZmljYXRpb25zXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8YW55Pn1cbiAgICovXG4gIEBDb3Jkb3ZhKHtcbiAgICBvYnNlcnZhYmxlOiB0cnVlLFxuICB9KVxuICBhZGRTdWJzY3JpcHRpb25PYnNlcnZlcigpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgYWxsIE9uZVNpZ25hbCBub3RpZmljYXRpb25zXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIHNldEVtYWlsKGVtYWlsOiBzdHJpbmcsIGVtYWlsQXV0aFRva2VuPzogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogSWYgeW91ciBhcHAgaW1wbGVtZW50cyBsb2dvdXQgZnVuY3Rpb25hbGl0eSwgeW91IGNhbiBjYWxsIGxvZ291dEVtYWlsIHRvIGRpc3NvY2lhdGUgdGhlIGVtYWlsIGZyb20gdGhlIGRldmljZVxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBsb2dvdXRFbWFpbCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgcGFzc2VkIGluIGZ1bmN0aW9uIHdpbGwgYmUgZmlyZWQgd2hlbiBhIG5vdGlmaWNhdGlvbiBzdWJzY3JpcHRpb24gcHJvcGVydHkgY2hhbmdlcy5cbiAgICogVGhpcyBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIGV2ZW50czpcbiAgICogLSBHZXR0aW5nIGEgcHVzaCB0b2tlbiBmcm9tIEFwcGxlIC8gR29vZ2xlLlxuICAgKiAtIEdldHRpbmcgYSBwbGF5ZXIgLyB1c2VyIGlkIGZyb20gT25lU2lnbmFsXG4gICAqIC0gT25lU2lnbmFsLnNldFN1YnNjcmlwdGlvbiBpcyBjYWxsZWRcbiAgICogLSBVc2VyIGRpc2FibGVzIG9yIGVuYWJsZXMgbm90aWZpY2F0aW9uc1xuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPGFueT59XG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgb2JzZXJ2YWJsZTogdHJ1ZSxcbiAgfSlcbiAgYWRkRW1haWxTdWJzY3JpcHRpb25PYnNlcnZlcigpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgYWxsIE9uZVNpZ25hbCBub3RpZmljYXRpb25zXG4gICAqL1xuICBAQ29yZG92YSh7IHN5bmM6IHRydWUgfSlcbiAgY2xlYXJPbmVTaWduYWxOb3RpZmljYXRpb25zKCk6IHZvaWQge31cblxuICAvKipcbiAgICogQWxsb3dzIHlvdSB0byBkZWxheSB0aGUgaW5pdGlhbGl6YXRpb24gb2YgdGhlIFNESyB1bnRpbCB0aGUgdXNlciBwcm92aWRlcyBwcml2YWN5IGNvbnNlbnQuXG4gICAqIFRoZSBTREsgd2lsbCBub3QgYmUgZnVsbHkgaW5pdGlhbGl6ZWQgdW50aWwgdGhlIHByb3ZpZGVVc2VyQ29uc2VudCh0cnVlKSBtZXRob2QgaXMgY2FsbGVkLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHJlcXVpcmVkXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIHNldFJlcXVpcmVzVXNlclByaXZhY3lDb25zZW50KHJlcXVpcmVkOiBib29sZWFuKTogdm9pZCB7fVxuXG4gIC8qKlxuICAgKiBJZiB5b3VyIGFwcGxpY2F0aW9uIGlzIHNldCB0byByZXF1aXJlIHRoZSB1c2VyJ3MgcHJpdmFjeSBjb25zZW50LCB5b3UgY2FuIHByb3ZpZGUgdGhpcyBjb25zZW50IHVzaW5nIHRoaXMgbWV0aG9kLlxuICAgKiBVbnRpbCB5b3UgY2FsbCBwcm92aWRlVXNlckNvbnNlbnQodHJ1ZSksIHRoZSBTREsgd2lsbCBub3QgZnVsbHkgaW5pdGlhbGl6ZSBhbmQgd2lsbCBub3Qgc2VuZCBhbnkgZGF0YSB0byBPbmVTaWduYWwuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gZ3JhbnRlZFxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBwcm92aWRlVXNlckNvbnNlbnQoZ3JhbnRlZDogYm9vbGVhbik6IHZvaWQge31cblxuICAvKipcbiAgICogQWNjZXB0cyBhIGNhbGxiYWNrLCB3aGljaCByZXR1cm5zIGEgYm9vbGVhbiB2YXJpYWJsZSBpbmRpY2F0aW5nIGlmIHRoZSB1c2VyIGhhcyBnaXZlbiBwcml2YWN5IGNvbnNlbnQgeWV0LlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYWxsYmFja1xuICAgKi9cbiAgQENvcmRvdmEoKVxuICB1c2VyUHJvdmlkZWRQcml2YWN5Q29uc2VudChjYWxsYmFjazogRnVuY3Rpb24pOiB2b2lkIHt9XG5cbiAgLyoqXG4gICAqIEFsbG93cyB5b3UgdG8gdXNlIHlvdXIgb3duIHN5c3RlbSdzIHVzZXIgSUQncyB0byBzZW5kIHB1c2ggbm90aWZpY2F0aW9ucyB0byB5b3VyIHVzZXJzLlxuICAgKiBUbyB0aWUgYSB1c2VyIHRvIGEgZ2l2ZW4gdXNlciBJRCwgeW91IGNhbiB1c2UgdGhpcyBtZXRob2QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBleHRlcm5hbElkXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIHNldEV4dGVybmFsVXNlcklkKGV4dGVybmFsSWQ6IHN0cmluZyk6IHZvaWQge31cblxuICAvKipcbiAgICogUmVtb3ZlcyB3aGF0ZXZlciB3YXMgc2V0IGFzIHRoZSBjdXJyZW50IHVzZXIncyBleHRlcm5hbCB1c2VyIElELlxuICAgKi9cbiAgQENvcmRvdmEoKVxuICByZW1vdmVFeHRlcm5hbFVzZXJJZCgpOiB2b2lkIHt9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHRyaWdnZXIuIE1heSBzaG93IGFuIEluLUFwcCBNZXNzYWdlIGlmIGl0cyB0cmlnZ2VyIGNvbmRpdGlvbnMgd2VyZSBtZXQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgS2V5IGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIHtzdHJpbmcgfCBudW1iZXIgfCBPYmplY3R9IHZhbHVlIFZhbHVlIGZvciB0aGUgdHJpZ2dlci4gU3RyaW5nIG9yIG51bWJlciByZWNvbW1lbmRlZC4gT2JqZWN0IHBhc3NlZCBpbiB3aWxsIGJlIGNvbnZlcnRlZCB0byBhIHN0cmluZy5cbiAgICovXG4gIEBDb3Jkb3ZhKHtcbiAgICBzeW5jOiB0cnVlLFxuICB9KVxuICBhZGRUcmlnZ2VyKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgT2JqZWN0KTogdm9pZCB7fVxuXG4gIC8qKlxuICAgKiBBZGQgYSBtYXAgb2YgdHJpZ2dlcnMuIE1heSBzaG93IGFuIEluLUFwcCBNZXNzYWdlIGlmIGl0cyB0cmlnZ2VyIGNvbmRpdGlvbnMgd2VyZSBtZXQuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0LjxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IE9iamVjdD59IHRyaWdnZXJzIEFsbG93cyB5b3UgdG8gc2V0IG11bHRpcGxlIHRyaWdnZXIga2V5L3ZhbHVlIHBhaXJzIHNpbXVsdGFuZW91c2x5LiBQYXNzIGEganNvbiBvYmplY3Qgd2l0aCBrZXkvdmFsdWUgcGFpcnMgbGlrZTogYHtcImtleVwiOiBcInZhbHVlXCIsIFwia2V5MlwiOiBcInZhbHVlMlwifWAuXG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgc3luYzogdHJ1ZSxcbiAgfSlcbiAgYWRkVHJpZ2dlcnModHJpZ2dlcnM6IE9iamVjdCk6IHZvaWQge31cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIHNpbmdsZSB0cmlnZ2VyIGZvciB0aGUgZ2l2ZW4ga2V5LiBNYXkgc2hvdyBhbiBJbi1BcHAgTWVzc2FnZSBpZiBpdHMgdHJpZ2dlciBjb25kaXRpb25zIHdlcmUgbWV0LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IEtleSBmb3IgdHJpZ2dlciB0byByZW1vdmUuXG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgc3luYzogdHJ1ZSxcbiAgfSlcbiAgcmVtb3ZlVHJpZ2dlckZvcktleShrZXk6IHN0cmluZyk6IHZvaWQge31cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGxpc3Qgb2YgdHJpZ2dlcnMgYmFzZWQgb24gYSBjb2xsZWN0aW9uIChhcnJheSkgb2Yga2V5cy4gTWF5IHNob3cgYW4gSW4tQXBwIE1lc3NhZ2UgaWYgaXRzIHRyaWdnZXIgY29uZGl0aW9ucyB3ZXJlIG1ldC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmdbXX0ga2V5cyBSZW1vdmVzIGEgY29sbGVjdGlvbiBvZiB0cmlnZ2VycyBmcm9tIHRoZWlyIGtleXMuIFBhc3MgYW4gYXJyYXkgb2YgdHJpZ2dlciBrZXlzIGxpa2U6IGBbXCJrZXkxXCIsIFwia2V5MlwiLCBcImtleTNcIl1gLlxuICAgKi9cbiAgQENvcmRvdmEoe1xuICAgIHN5bmM6IHRydWUsXG4gIH0pXG4gIHJlbW92ZVRyaWdnZXJzRm9yS2V5cyhrZXlzOiBzdHJpbmdbXSk6IHZvaWQge31cblxuICAvKipcbiAgICogR2V0cyBhIHRyaWdnZXIgdmFsdWUgZm9yIGEgcHJvdmlkZWQgdHJpZ2dlciBrZXkuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgS2V5IGZvciB0cmlnZ2VyIHRvIGdldCB2YWx1ZS5cbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nIHwgbnVtYmVyIHwgT2JqZWN0Pn0gUmV0dXJuIHZhbHVlIHNldCB3aXRoIGBhZGRUcmlnZ2VyYCwgb3IgYG51bGxgL2BuaWxgIChpT1MpIGlmIG5ldmVyIHNldCBvciByZW1vdmVkLlxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBnZXRUcmlnZ2VyVmFsdWVGb3JLZXkoa2V5OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IG51bWJlciB8IE9iamVjdD4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvd3MgeW91IHRvIHRlbXBvcmFyaWx5IHBhdXNlIGFsbCBJbi1BcHAgTWVzc2FnZXMuIFlvdSBtYXkgd2FudCB0byBkbyB0aGlzIHdoaWxlIHRoZSB1c2VyIGlzIGVuZ2FnZWQgaW4gYW4gYWN0aXZpdHkgdGhhdCB5b3UgZG9uJ3Qgd2FudCBhIG1lc3NhZ2UgdG8gaW50ZXJydXB0IChzdWNoIGFzIHdhdGNoaW5nIGEgdmlkZW8pLlxuICAgKiBBbiBJbi1BcHAgTWVzc2FnZSB0aGF0IHdvdWxkIGRpc3BsYXkgaWYgbm90IHBhdXNlZCB3aWxsIGRpc3BsYXkgcmlnaHQgYWZ0ZXIgcmVzdW1lIGlmIGl0cyBjb25kaXRpb25zIHRvIGRpc3BsYXkgcmVtYWlucyBzYXRpc2ZpZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gcGF1c2UgVG8gcGF1c2UsIHNldCBgdHJ1ZWAuIFRvIHJlc3VtZSwgc2V0IGBmYWxzZWAuXG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgc3luYzogdHJ1ZSxcbiAgfSlcbiAgcGF1c2VJbkFwcE1lc3NhZ2VzKHBhdXNlOiBib29sZWFuKTogdm9pZCB7fVxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"OSNotification":{"__symbolic":"interface"},"OSLockScreenVisibility":{"Public":1,"Private":0,"Secret":-1},"OSDisplayType":{"None":0,"InAppAlert":1,"Notification":2},"OSNotificationPayload":{"__symbolic":"interface"},"OSActionButton":{"__symbolic":"interface"},"OSPermissionState":{"__symbolic":"interface"},"OSSubscriptionState":{"__symbolic":"interface"},"OSPermissionSubscriptionState":{"__symbolic":"interface"},"OSBackgroundImageLayout":{"__symbolic":"interface"},"OSNotificationOpenedResult":{"__symbolic":"interface"},"OSActionType":{"Opened":0,"ActionTake":1},"OSInAppMessageAction":{"__symbolic":"interface"},"OneSignal":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@awesome-cordova-plugins/core","name":"AwesomeCordovaNativePlugin","line":440,"character":31},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":439,"character":1}}],"members":{"startInit":[{"__symbolic":"method"}],"handleNotificationReceived":[{"__symbolic":"method"}],"handleNotificationOpened":[{"__symbolic":"method"}],"handleInAppMessageClicked":[{"__symbolic":"method"}],"iOSSettings":[{"__symbolic":"method"}],"endInit":[{"__symbolic":"method"}],"promptForPushNotificationsWithUserResponse":[{"__symbolic":"method"}],"getTags":[{"__symbolic":"method"}],"getIds":[{"__symbolic":"method"}],"sendTag":[{"__symbolic":"method"}],"sendTags":[{"__symbolic":"method"}],"deleteTag":[{"__symbolic":"method"}],"deleteTags":[{"__symbolic":"method"}],"registerForPushNotifications":[{"__symbolic":"method"}],"enableVibrate":[{"__symbolic":"method"}],"enableSound":[{"__symbolic":"method"}],"inFocusDisplaying":[{"__symbolic":"method"}],"setSubscription":[{"__symbolic":"method"}],"getPermissionSubscriptionState":[{"__symbolic":"method"}],"postNotification":[{"__symbolic":"method"}],"cancelNotification":[{"__symbolic":"method"}],"promptLocation":[{"__symbolic":"method"}],"syncHashedEmail":[{"__symbolic":"method"}],"setLogLevel":[{"__symbolic":"method"}],"setLocationShared":[{"__symbolic":"method"}],"addPermissionObserver":[{"__symbolic":"method"}],"addSubscriptionObserver":[{"__symbolic":"method"}],"setEmail":[{"__symbolic":"method"}],"logoutEmail":[{"__symbolic":"method"}],"addEmailSubscriptionObserver":[{"__symbolic":"method"}],"clearOneSignalNotifications":[{"__symbolic":"method"}],"setRequiresUserPrivacyConsent":[{"__symbolic":"method"}],"provideUserConsent":[{"__symbolic":"method"}],"userProvidedPrivacyConsent":[{"__symbolic":"method"}],"setExternalUserId":[{"__symbolic":"method"}],"removeExternalUserId":[{"__symbolic":"method"}],"addTrigger":[{"__symbolic":"method"}],"addTriggers":[{"__symbolic":"method"}],"removeTriggerForKey":[{"__symbolic":"method"}],"removeTriggersForKeys":[{"__symbolic":"method"}],"getTriggerValueForKey":[{"__symbolic":"method"}],"pauseInAppMessages":[{"__symbolic":"method"}]}}}}]
|
package/ngx/package.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"description":"Awesome Cordova Plugins - Native plugins for ionic apps","main":"bundle.js","module":"index.js","typings":"index.d.ts","author":"ionic","license":"MIT","repository":{"type":"git","url":"https://github.com/danielsogl/awesome-cordova-plugins.git"},"name":"@awesome-cordova-plugins/onesignal","dependencies":{"@types/cordova":"latest"},"peerDependencies":{"rxjs":"^5.5.0 || ^6.5.0","@awesome-cordova-plugins/core":"^5.1.0"},"version":"5.36.0"}
|
package/package.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"description":"Awesome Cordova Plugins - Native plugins for ionic apps","main":"bundle.js","module":"index.js","typings":"index.d.ts","author":"ionic","license":"MIT","repository":{"type":"git","url":"https://github.com/danielsogl/awesome-cordova-plugins.git"},"name":"@awesome-cordova-plugins/onesignal","dependencies":{"@types/cordova":"latest"},"peerDependencies":{"rxjs":"^5.5.0 || ^6.5.0","@awesome-cordova-plugins/core":"^5.1.0"},"version":"5.36.0"}
|