@ionic-native/local-notifications
Version:
Ionic Native - Native plugins for ionic apps
70 lines • 33.4 kB
JavaScript
import { __extends } from "tslib";
import { Injectable } from '@angular/core';
import { IonicNativePlugin, cordova } from '@ionic-native/core';
import { Observable } from 'rxjs';
export var ELocalNotificationTriggerUnit;
(function (ELocalNotificationTriggerUnit) {
ELocalNotificationTriggerUnit["SECOND"] = "second";
ELocalNotificationTriggerUnit["MINUTE"] = "minute";
ELocalNotificationTriggerUnit["HOUR"] = "hour";
ELocalNotificationTriggerUnit["DAY"] = "day";
ELocalNotificationTriggerUnit["WEEK"] = "week";
ELocalNotificationTriggerUnit["MONTH"] = "month";
ELocalNotificationTriggerUnit["QUARTER"] = "quarter";
ELocalNotificationTriggerUnit["YEAR"] = "year";
ELocalNotificationTriggerUnit["WEEKDAY"] = "weekday";
ELocalNotificationTriggerUnit["WEEKDAY_ORDINAL"] = "weekdayOrdinal";
ELocalNotificationTriggerUnit["WEEK_OF_MONTH"] = "weekOfMonth";
})(ELocalNotificationTriggerUnit || (ELocalNotificationTriggerUnit = {}));
export var ILocalNotificationActionType;
(function (ILocalNotificationActionType) {
ILocalNotificationActionType["INPUT"] = "input";
ILocalNotificationActionType["BUTTON"] = "button";
})(ILocalNotificationActionType || (ILocalNotificationActionType = {}));
var LocalNotifications = /** @class */ (function (_super) {
__extends(LocalNotifications, _super);
function LocalNotifications() {
return _super !== null && _super.apply(this, arguments) || this;
}
LocalNotifications.prototype.hasPermission = function () { return cordova(this, "hasPermission", {}, arguments); };
LocalNotifications.prototype.requestPermission = function () { return cordova(this, "requestPermission", {}, arguments); };
LocalNotifications.prototype.schedule = function (options) { return cordova(this, "schedule", { "sync": true }, arguments); };
LocalNotifications.prototype.update = function (options) { return cordova(this, "update", { "sync": true }, arguments); };
LocalNotifications.prototype.clear = function (notificationId) { return cordova(this, "clear", {}, arguments); };
LocalNotifications.prototype.clearAll = function () { return cordova(this, "clearAll", {}, arguments); };
LocalNotifications.prototype.cancel = function (notificationId) { return cordova(this, "cancel", {}, arguments); };
LocalNotifications.prototype.cancelAll = function () { return cordova(this, "cancelAll", {}, arguments); };
LocalNotifications.prototype.isPresent = function (notificationId) { return cordova(this, "isPresent", {}, arguments); };
LocalNotifications.prototype.isScheduled = function (notificationId) { return cordova(this, "isScheduled", {}, arguments); };
LocalNotifications.prototype.isTriggered = function (notificationId) { return cordova(this, "isTriggered", {}, arguments); };
LocalNotifications.prototype.hasType = function (id, type) { return cordova(this, "hasType", {}, arguments); };
LocalNotifications.prototype.getType = function (id) { return cordova(this, "getType", {}, arguments); };
LocalNotifications.prototype.getIds = function () { return cordova(this, "getIds", {}, arguments); };
LocalNotifications.prototype.getScheduledIds = function () { return cordova(this, "getScheduledIds", {}, arguments); };
LocalNotifications.prototype.getTriggeredIds = function () { return cordova(this, "getTriggeredIds", {}, arguments); };
LocalNotifications.prototype.get = function (notificationId) { return cordova(this, "get", {}, arguments); };
LocalNotifications.prototype.getAll = function () { return cordova(this, "getAll", {}, arguments); };
LocalNotifications.prototype.getScheduled = function (notificationId) { return cordova(this, "getScheduled", {}, arguments); };
LocalNotifications.prototype.getTriggered = function (notificationId) { return cordova(this, "getTriggered", {}, arguments); };
LocalNotifications.prototype.addActions = function (groupId, actions) { return cordova(this, "addActions", {}, arguments); };
LocalNotifications.prototype.removeActions = function (groupId) { return cordova(this, "removeActions", {}, arguments); };
LocalNotifications.prototype.hasActions = function (groupId) { return cordova(this, "hasActions", {}, arguments); };
LocalNotifications.prototype.getDefaults = function () { return cordova(this, "getDefaults", { "sync": true }, arguments); };
LocalNotifications.prototype.setDefaults = function (defaults) { return cordova(this, "setDefaults", { "sync": true }, arguments); };
LocalNotifications.prototype.getAllScheduled = function () { return cordova(this, "getAllScheduled", {}, arguments); };
LocalNotifications.prototype.getAllTriggered = function () { return cordova(this, "getAllTriggered", {}, arguments); };
LocalNotifications.prototype.on = function (eventName) { return cordova(this, "on", { "observable": true, "clearFunction": "un", "clearWithArgs": true }, arguments); };
LocalNotifications.prototype.fireEvent = function (eventName, args) { return cordova(this, "fireEvent", { "sync": true }, arguments); };
LocalNotifications.prototype.fireQueuedEvents = function () { return cordova(this, "fireQueuedEvents", {}, arguments); };
LocalNotifications.pluginName = "LocalNotifications";
LocalNotifications.plugin = "cordova-plugin-local-notification";
LocalNotifications.pluginRef = "cordova.plugins.notification.local";
LocalNotifications.repo = "https://github.com/katzer/cordova-plugin-local-notifications";
LocalNotifications.platforms = ["Android", "iOS", "Windows"];
LocalNotifications.decorators = [
{ type: Injectable }
];
return LocalNotifications;
}(IonicNativePlugin));
export { LocalNotifications };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvQGlvbmljLW5hdGl2ZS9wbHVnaW5zL2xvY2FsLW5vdGlmaWNhdGlvbnMvbmd4L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sOEJBQXNDLE1BQU0sb0JBQW9CLENBQUM7QUFDeEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxNQUFNLENBQU4sSUFBWSw2QkFZWDtBQVpELFdBQVksNkJBQTZCO0lBQ3ZDLGtEQUFpQixDQUFBO0lBQ2pCLGtEQUFpQixDQUFBO0lBQ2pCLDhDQUFhLENBQUE7SUFDYiw0Q0FBVyxDQUFBO0lBQ1gsOENBQWEsQ0FBQTtJQUNiLGdEQUFlLENBQUE7SUFDZixvREFBbUIsQ0FBQTtJQUNuQiw4Q0FBYSxDQUFBO0lBQ2Isb0RBQW1CLENBQUE7SUFDbkIsbUVBQWtDLENBQUE7SUFDbEMsOERBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQVpXLDZCQUE2QixLQUE3Qiw2QkFBNkIsUUFZeEM7QUEwSUQsTUFBTSxDQUFOLElBQVksNEJBR1g7QUFIRCxXQUFZLDRCQUE0QjtJQUN0QywrQ0FBZSxDQUFBO0lBQ2YsaURBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUhXLDRCQUE0QixLQUE1Qiw0QkFBNEIsUUFHdkM7O0lBMlh1QyxzQ0FBaUI7Ozs7SUFNdkQsMENBQWE7SUFTYiw4Q0FBaUI7SUFXakIscUNBQVEsYUFBQyxPQUFtRDtJQVM1RCxtQ0FBTSxhQUFDLE9BQTRCO0lBUW5DLGtDQUFLLGFBQUMsY0FBbUI7SUFTekIscUNBQVE7SUFVUixtQ0FBTSxhQUFDLGNBQW1CO0lBUzFCLHNDQUFTO0lBVVQsc0NBQVMsYUFBQyxjQUFzQjtJQVVoQyx3Q0FBVyxhQUFDLGNBQXNCO0lBVWxDLHdDQUFXLGFBQUMsY0FBc0I7SUFXbEMsb0NBQU8sYUFBQyxFQUFVLEVBQUUsSUFBWTtJQVNoQyxvQ0FBTyxhQUFDLEVBQVU7SUFTbEIsbUNBQU07SUFTTiw0Q0FBZTtJQVNmLDRDQUFlO0lBVWYsZ0NBQUcsYUFBQyxjQUFtQjtJQVN2QixtQ0FBTTtJQVVOLHlDQUFZLGFBQUMsY0FBbUI7SUFVaEMseUNBQVksYUFBQyxjQUFtQjtJQVdoQyx1Q0FBVSxhQUFDLE9BQVksRUFBRSxPQUFtQztJQVU1RCwwQ0FBYSxhQUFDLE9BQVk7SUFVMUIsdUNBQVUsYUFBQyxPQUFZO0lBV3ZCLHdDQUFXO0lBV1gsd0NBQVcsYUFBQyxRQUFhO0lBU3pCLDRDQUFlO0lBU2YsNENBQWU7SUFjZiwrQkFBRSxhQUFDLFNBQWlCO0lBWXBCLHNDQUFTLGFBQUMsU0FBaUIsRUFBRSxJQUFTO0lBT3RDLDZDQUFnQjs7Ozs7OztnQkFwU2pCLFVBQVU7OzZCQXZoQlg7RUF3aEJ3QyxpQkFBaUI7U0FBNUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZG92YSwgSW9uaWNOYXRpdmVQbHVnaW4sIFBsdWdpbiB9IGZyb20gJ0Bpb25pYy1uYXRpdmUvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBlbnVtIEVMb2NhbE5vdGlmaWNhdGlvblRyaWdnZXJVbml0IHtcbiAgU0VDT05EID0gJ3NlY29uZCcsXG4gIE1JTlVURSA9ICdtaW51dGUnLFxuICBIT1VSID0gJ2hvdXInLFxuICBEQVkgPSAnZGF5JyxcbiAgV0VFSyA9ICd3ZWVrJyxcbiAgTU9OVEggPSAnbW9udGgnLFxuICBRVUFSVEVSID0gJ3F1YXJ0ZXInLFxuICBZRUFSID0gJ3llYXInLFxuICBXRUVLREFZID0gJ3dlZWtkYXknLFxuICBXRUVLREFZX09SRElOQUwgPSAnd2Vla2RheU9yZGluYWwnLFxuICBXRUVLX09GX01PTlRIID0gJ3dlZWtPZk1vbnRoJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTG9jYWxOb3RpZmljYXRpb25FdmVyeSB7XG4gIC8qKlxuICAgKiBUaGUgbWludXRlLlxuICAgKi9cbiAgbWludXRlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgaG91ci5cbiAgICovXG4gIGhvdXI/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBkYXkuXG4gICAqL1xuICBkYXk/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBkYXkgb2Ygd2Vlay5cbiAgICovXG4gIHdlZWtkYXk/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB3ZWVrIG9mIHllYWRheSBvZiB0aGUgYXJkaW5hbCB3ZWVrLlxuICAgKi9cbiAgd2Vlaz86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGRheSBvZiB0aGUgb3JkaW5hbCB3ZWVrLlxuICAgKi9cbiAgd2Vla2RheU9yZGluYWw/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB3ZWVrIG9mIG1vbnRoLlxuICAgKi9cbiAgd2Vla09mTW9udGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtb250aC5cbiAgICovXG4gIG1vbnRoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcXVhcnRlci5cbiAgICovXG4gIHF1YXJ0ZXI/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB5ZWFyLlxuICAgKi9cbiAgeWVhcj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTG9jYWxOb3RpZmljYXRpb25UcmlnZ2VyIHtcbiAgLyoqICoqKioqIEZJWCAqKioqKiAqL1xuXG4gIC8qKlxuICAgKiBUaGUgZGF0ZSBhbmQgdGltZSB3aGVuIHRoZSBzeXN0ZW0gc2hvdWxkIGRlbGl2ZXIgdGhlIGxvY2FsIG5vdGlmaWNhdGlvbi4gSWYgdGhlIHNwZWNpZmllZCB2YWx1ZSBpcyBuaWwgb3IgaXMgYSBkYXRlIGluIHRoZSBwYXN0LCB0aGUgbG9jYWwgbm90aWZpY2F0aW9uIGlzIGRlbGl2ZXJlZCBpbW1lZGlhdGVseS5cbiAgICogRGVmYXVsdDogbm93IH4gbmV3IERhdGUoKVxuICAgKi9cbiAgYXQ/OiBEYXRlO1xuXG4gIC8qKiAqKioqKiBUSU1FU1BBTiAqKioqKiAqL1xuXG4gIC8qKlxuICAgKiBBbW91bnQgb2YgdW5pdHNcbiAgICovXG4gIGluPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBVbml0XG4gICAqL1xuICB1bml0PzogRUxvY2FsTm90aWZpY2F0aW9uVHJpZ2dlclVuaXQ7XG5cbiAgLyoqICoqKioqIFJFUEVBVC9NQVRDSCAqKioqKiAqL1xuXG4gIC8qKlxuICAgKiBBbW91bnQgb2YgdW5pdHNcbiAgICovXG4gIGNvdW50PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgdW5pdFxuICAgKi9cbiAgZXZlcnk/OiBFTG9jYWxOb3RpZmljYXRpb25UcmlnZ2VyVW5pdCB8IElMb2NhbE5vdGlmaWNhdGlvbkV2ZXJ5O1xuXG4gIC8qKlxuICAgKiBUaGUgZW5kIG9mIHRoZSByZXBlYXRpbmcgbm90aWZpY2F0aW9uXG4gICAqL1xuICBiZWZvcmU/OiBEYXRlO1xuXG4gIC8qKlxuICAgKiBUaGUgZGF0ZSBhbmQgdGltZSB3aGVuIHRoZSBzeXN0ZW0gc2hvdWxkIGRlbGl2ZXIgdGhlIGxvY2FsIG5vdGlmaWNhdGlvbi4gSWYgdGhlIHNwZWNpZmllZCB2YWx1ZSBpcyBuaWwgb3IgaXMgYSBkYXRlIGluIHRoZSBwYXN0LCB0aGUgbG9jYWwgbm90aWZpY2F0aW9uIGlzIGRlbGl2ZXJlZCBpbW1lZGlhdGVseS5cbiAgICogT25seSBmb3IgXCJyZXBlYXRcIlxuICAgKiBEZWZhdWx0OiBub3cgfiBuZXcgRGF0ZSgpXG4gICAqL1xuICBmaXJzdEF0PzogRGF0ZTtcblxuICAvKipcbiAgICogT25seSBmb3IgXCJtYXRjaFwiXG4gICAqL1xuICBhZnRlcj86IERhdGU7XG5cbiAgLyoqICoqKioqIExPQ0FUSU9OICoqKioqICovXG5cbiAgLyoqXG4gICAqIElPUyBPTkxZXG4gICAqIENlbnRlciBvZiB0aGUgbG9jYXRpb25cbiAgICogTGF0aXR1ZGUgYW5kIExvbmdpdHVkZSB2YWx1ZXNcbiAgICovXG4gIGNlbnRlcj86IG51bWJlcltdO1xuXG4gIC8qKlxuICAgKiBJT1MgT05MWVxuICAgKiBSYWRpdXMgaW4gbWV0ZXJzXG4gICAqL1xuICByYWRpdXM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIElPUyBPTkxZXG4gICAqIFRyaWdnZXIgb24gZW50cnkgb2YgdGhlIGxvY2F0aW9uXG4gICAqL1xuICBub3RpZnlPbkVudHJ5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSU9TIE9OTFlcbiAgICogVHJpZ2dlciBvbiBleGl0IG9mIHRoZSBsb2NhdGlvblxuICAgKi9cbiAgbm90aWZ5T25FeGl0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSU9TIE9OTFlcbiAgICogVHJpZ2dlciBvbmx5IG9uY2U/XG4gICAqL1xuICBzaW5nbGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZW51bSBJTG9jYWxOb3RpZmljYXRpb25BY3Rpb25UeXBlIHtcbiAgSU5QVVQgPSAnaW5wdXQnLFxuICBCVVRUT04gPSAnYnV0dG9uJyxcbn1cblxuLyoqXG4gKiBOb3RpZmljYXRpb24gYWN0aW9uXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20va2F0emVyL2NvcmRvdmEtcGx1Z2luLWxvY2FsLW5vdGlmaWNhdGlvbnMjYWN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElMb2NhbE5vdGlmaWNhdGlvbkFjdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgaWQgb2YgdGhlIGFjdGlvbiBpcyB1c2VkIGFzIHRoZSBldmVudCBuYW1lIGluIHRoZSBsaXN0ZW5lciBmdW5jdGlvblxuICAgKi9cbiAgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgbm90aWZpY2F0aW9uIG1lc3NhZ2VcbiAgICovXG4gIHRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNYWtlIHRoaXMgbm90aWZpY2F0aW9uIHNob3cgd2hlbiBhcHAgaW4gZm9yZWdyb3VuZC5cbiAgICovXG4gIGZvcmVncm91bmQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciB0aGUgYWN0aW9uIGNhdXNlcyB0aGUgYXBwIHRvIGxhdW5jaCBpbiB0aGUgZm9yZWdyb3VuZFxuICAgKi9cbiAgbGF1bmNoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgdGhlIHZhbHVlIGlzICdkZWNsaW5lJyB0aGUgYWN0aW9uIGlzIGRpc3BsYXllZCB3aXRoIHNwZWNpYWwgaGlnaGxpZ2h0aW5nIHRvIGluZGljYXRlIHRoYXQgaXQgcGVyZm9ybXMgYSBkZXN0cnVjdGl2ZSB0YXNrXG4gICAqL1xuICB1aT86IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIGFjdGlvbiByZXF1aXJlcyB0aGF0IHRoZSB1c2Vy4oCZcyBkZXZpY2UgYmUgdW5sb2NrZWQuXG4gICAqIFdoZW4gdGhlIHVzZXIgc2VsZWN0cyBhbiBhY3Rpb24gd2l0aCB0aGlzIG9wdGlvbiwgdGhlIHN5c3RlbSBwcm9tcHRzXG4gICAqIHRoZSB1c2VyIHRvIHVubG9jayB0aGUgZGV2aWNlXG4gICAqL1xuICBuZWVkc0F1dGg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzb3VyY2UgcGF0aCBvZiB0aGUgYWN0aW9uIGljb25cbiAgICovXG4gIGljb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFORFJPSUQgT05MWVxuICAgKiBBbiBhcnJheSBvZiBwcmUtZGVmaW5lZCBjaG9pY2VzIGZvciB1c2VycyBpbnB1dFxuICAgKi9cbiAgY2hvaWNlcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBTkRST0lEIE9OTFlcbiAgICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIHVzZXIgY2FuIHByb3ZpZGUgYXJiaXRyYXJ5IHRleHQgdmFsdWVzXG4gICAqL1xuICBlZGl0YWJsZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElPUyBPTkxZXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgdGV4dCBpbnB1dCBidXR0b24gdGhhdCBpcyBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIuXG4gICAqL1xuICBzdWJtaXRUaXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdGhlIGFjdGlvbi4gSWYgb21pdHRlZCAnYnV0dG9uJyBpcyB1c2VkLlxuICAgKi9cbiAgdHlwZT86IElMb2NhbE5vdGlmaWNhdGlvbkFjdGlvblR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxvY2FsTm90aWZpY2F0aW9uUHJvZ3Jlc3NCYXIge1xuICAvKipcbiAgICogSXMgdGhlIHByb2dyZXNzIGJhciBlbmFibGVkP1xuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IHZhbHVlXG4gICAqL1xuICB2YWx1ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogQU5EUk9JRCBPTkxZXG4gICAqIFRoZSBtYXhpbXVtIHZhbHVlIChkZWZhdWx0IGlzIDEwMClcbiAgICovXG4gIG1heFZhbHVlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBTkRST0lEIE9OTFlcbiAgICogU2hvdyBhbiBpbmRldGVybWluYXRlIHByb2dyZXNzIGJhclxuICAgKi9cbiAgaW5kZXRlcm1pbmF0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdJTkRPV1MgT05MWVxuICAgKiBHZXRzIG9yIHNldHMgYW4gb3B0aW9uYWwgc3RyaW5nIHRvIGJlIGRpc3BsYXllZCBpbnN0ZWFkIG9mIHRoZVxuICAgKiBkZWZhdWx0IHBlcmNlbnRhZ2Ugc3RyaW5nLiBJZiB0aGlzIGlzbid0IHByb3ZpZGVkLCBzb21ldGhpbmdcbiAgICogbGlrZSBcIjcwJVwiIHdpbGwgYmUgZGlzcGxheWVkLlxuICAgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdJTkRPV1MgT05MWVxuICAgKiBTZXRzIHRoZSBzdGF0dXMgKHJlcXVpcmVkKSwgd2hpY2ggaXMgZGlzcGxheWVkIHVuZGVybmVhdGggdGhlIHByb2dyZXNzIGJhclxuICAgKiBvbiB0aGUgbGVmdC5cbiAgICogVGhpcyBzdHJpbmcgc2hvdWxkIHJlZmxlY3QgdGhlIHN0YXR1cyBvZiB0aGUgb3BlcmF0aW9uLFxuICAgKiBsaWtlIFwiRG93bmxvYWRpbmcuLi5cIiBvciBcIkluc3RhbGxpbmcuLi5cIlxuICAgKi9cbiAgc3RhdHVzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMb2NhbE5vdGlmaWNhdGlvbiB7XG4gIC8qKlxuICAgKiBBIHVuaXF1ZSBpZGVudGlmaWVyIHJlcXVpcmVkIHRvIGNsZWFyLCBjYW5jZWwsIHVwZGF0ZSBvciByZXRyaWV2ZSB0aGUgbG9jYWwgbm90aWZpY2F0aW9uIGluIHRoZSBmdXR1cmVcbiAgICogRGVmYXVsdDogMFxuICAgKi9cbiAgaWQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEZpcnN0IHJvdyBvZiB0aGUgbm90aWZpY2F0aW9uXG4gICAqIERlZmF1bHQ6IEVtcHR5IHN0cmluZyAoaU9TKSBvciB0aGUgYXBwIG5hbWUgKEFuZHJvaWQpXG4gICAqL1xuICB0aXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogU2Vjb25kIHJvdyBvZiB0aGUgbm90aWZpY2F0aW9uXG4gICAqIERlZmF1bHQ6IEVtcHR5IHN0cmluZ1xuICAgKi9cbiAgdGV4dD86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIGN1cnJlbnRseSBzZXQgYXMgdGhlIGJhZGdlIG9mIHRoZSBhcHAgaWNvbiBpbiBTcHJpbmdib2FyZCAoaU9TKSBvciBhdCB0aGUgcmlnaHQtaGFuZCBzaWRlIG9mIHRoZSBsb2NhbCBub3RpZmljYXRpb24gKEFuZHJvaWQpXG4gICAqIERlZmF1bHQ6IDAgKHdoaWNoIG1lYW5zIGRvbid0IHNob3cgYSBudW1iZXIpXG4gICAqL1xuICBiYWRnZT86IG51bWJlcjtcblxuICAvKipcbiAgICogVXJpIG9mIHRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlIHNvdW5kIHRvIHBsYXkgd2hlbiBhbiBhbGVydCBpcyBkaXNwbGF5ZWRcbiAgICogRGVmYXVsdDogcmVzOi8vcGxhdGZvcm1fZGVmYXVsdFxuICAgKi9cbiAgc291bmQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFyYml0cmFyeSBkYXRhLCBvYmplY3RzIHdpbGwgYmUgZW5jb2RlZCB0byBKU09OIHN0cmluZ1xuICAgKiBEZWZhdWx0OiBudWxsXG4gICAqL1xuICBkYXRhPzogYW55O1xuXG4gIC8qKlxuICAgKiBBTkRST0lEIE9OTFlcbiAgICogVXJpIG9mIHRoZSBpY29uIHRoYXQgaXMgc2hvd24gaW4gdGhlIHRpY2tlciBhbmQgbm90aWZpY2F0aW9uXG4gICAqIERlZmF1bHQ6IHJlczovL2ljb25cbiAgICovXG4gIGljb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFORFJPSUQgT05MWVxuICAgKiBVcmkgb2YgdGhlIHJlc291cmNlIChvbmx5IHJlczovLykgdG8gdXNlIGluIHRoZSBub3RpZmljYXRpb24gbGF5b3V0cy4gRGlmZmVyZW50IGNsYXNzZXMgb2YgZGV2aWNlcyBtYXkgcmV0dXJuIGRpZmZlcmVudCBzaXplc1xuICAgKiBEZWZhdWx0OiByZXM6Ly9pY19wb3B1cF9yZW1pbmRlclxuICAgKi9cbiAgc21hbGxJY29uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBTkRST0lEIE9OTFlcbiAgICogUkdCIHZhbHVlIGZvciB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc21hbGxJY29uLlxuICAgKiBEZWZhdWx0OiBBbmRyb2lkcyBDT0xPUl9ERUZBVUxULCB3aGljaCB3aWxsIHZhcnkgYmFzZWQgb24gQW5kcm9pZCB2ZXJzaW9uLlxuICAgKi9cbiAgY29sb3I/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFORFJPSUQgT05MWVxuICAgKiBVc2UgdGhlIGRlZmF1bHQgbm90aWZpY2F0aW9uIHZpYnJhdGUuXG4gICAqL1xuICB2aWJyYXRlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQU5EUk9JRCBPTkxZXG4gICAqIERlZmluZSB0aGUgYmxpbmtpbmcgb2YgdGhlIExFRCBvbiB0aGUgZGV2aWNlLlxuICAgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIExFRCB3aWxsIGJsaW5rIGluIHRoZSBkZWZhdWx0IGNvbG9yIHdpdGhcbiAgICogdGltaW5ncyBmb3Igb24gYW5kIG9mZiBzZXQgdG8gMTAwMCBtcy5cbiAgICogSWYgc2V0IHRvIGEgc3RyaW5nLCB0aGUgTEVEIHdpbGwgYmxpbmsgaW4gdGhpcyBBUkdCIHZhbHVlIHdpdGhcbiAgICogdGltaW5ncyBmb3Igb24gYW5kIG9mZiBzZXQgdG8gMTAwMCBtcy5cbiAgICogSWYgc2V0IHRvIGFuIGFycmF5LCB0aGUgdmFsdWUgb2YgdGhlIGtleSAwIHdpbGwgYmUgdXNlZCBhcyB0aGUgY29sb3IsXG4gICAqIHRoZSB2YWx1ZSBvZiB0aGUga2V5IDEgd2lsbCBiZSB1c2VkIGFzIHRoZSAnb24nIHRpbWluZywgdGhlIHZhbHVlIG9mXG4gICAqIHRoZSBrZXkgMiB3aWxsIGJlIHVzZWQgYXMgdGhlICdvZmYnIHRpbWluZ1xuICAgKi9cbiAgbGVkPzogeyBjb2xvcjogc3RyaW5nOyBvbjogbnVtYmVyOyBvZmY6IG51bWJlciB9IHwgYW55W10gfCBib29sZWFuIHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOb3RpZmljYXRpb24gcHJpb3JpdHkuXG4gICAqIEludGVnZXJzIGJldHdlZW4gLTIgYW5kIDIsIHdoZXJlYXMgLTIgaXMgbWluaW11bSBhbmQgMiBpcyBtYXhpbXVtIHByaW9yaXR5XG4gICAqL1xuICBwcmlvcml0eT86IG51bWJlcjtcblxuICAvKipcbiAgICogSXMgYSBzaWxlbnQgbm90aWZpY2F0aW9uXG4gICAqL1xuICBzaWxlbnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciB0aGUgYSBjbGljayBvbiB0aGUgbm90aWZpY2F0aW9uIGNhdXNlcyB0aGUgYXBwXG4gICAqIHRvIGxhdW5jaCBpbiB0aGUgZm9yZWdyb3VuZFxuICAgKi9cbiAgbGF1bmNoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQU5EUk9JRCBPTkxZXG4gICAqIFdha2V1cCB0aGUgZGV2aWNlLiAoZGVmYXVsdCBpcyB0cnVlKVxuICAgKi9cbiAgd2FrZXVwPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQU5EUk9JRCBPTkxZXG4gICAqIFNwZWNpZmllcyBhIGR1cmF0aW9uIGluIG1pbGxpc2Vjb25kcyBhZnRlciB3aGljaCB0aGlzIG5vdGlmaWNhdGlvbiBzaG91bGQgYmUgY2FuY2VsZWQsIGlmIGl0IGlzIG5vdCBhbHJlYWR5IGNhbmNlbGVkLlxuICAgKi9cbiAgdGltZW91dEFmdGVyPzogbnVtYmVyIHwgZmFsc2U7XG5cbiAgLyoqXG4gICAqIEFjdGlvbnMgaWQgb3IgYWN0aW9uc1xuICAgKi9cbiAgYWN0aW9ucz86IHN0cmluZyB8IElMb2NhbE5vdGlmaWNhdGlvbkFjdGlvbltdO1xuXG4gIC8qKlxuICAgKiBXaGVuIHRvIHRyaWdnZXIgdGhlIG5vdGlmaWNhdGlvblxuICAgKi9cbiAgdHJpZ2dlcj86IElMb2NhbE5vdGlmaWNhdGlvblRyaWdnZXI7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBpbWFnZSBhdHRhY2htZW50c1xuICAgKi9cbiAgYXR0YWNobWVudHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQU5EUk9JRCBPTkxZXG4gICAqIElmIGFuZCBob3cgdGhlIG5vdGlmaWNhdGlvbiBzaGFsbCBzaG93IHRoZSB3aGVuIGRhdGUuXG4gICAqIFBvc3NiaWxlIHZhbHVlczpcbiAgICogICAgICAgICAgICAgICAgICBib29sZWFuOiB0cnVlIGVxdWFscyAnY2xvY2snLCBmYWxzZSBkaXNhYmxlIGEgd2F0Y2gvY291bnRlclxuICAgKiAgICAgICAgICAgICAgICAgICdjbG9jayc6IFNob3cgdGhlIHdoZW4gZGF0ZSBpbiB0aGUgY29udGVudCB2aWV3XG4gICAqICAgICAgICAgICAgICAgICAgJ2Nocm9ub21ldGVyJzogU2hvdyBhIHN0b3B3YXRjaFxuICAgKlxuICAgKi9cbiAgY2xvY2s/OiBib29sZWFuIHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTaG93cyBhIHByb2dyZXNzIGJhclxuICAgKiBTZXR0aW5nIGEgYm9vbGVhbiBpcyBhIHNob3J0Y3V0IGZvciB7ZW5hYmxlZDogdHJ1ZS9mYWxzZX0gcmVzcGVjdGl2ZWx5XG4gICAqL1xuICBwcm9ncmVzc0Jhcj86IElMb2NhbE5vdGlmaWNhdGlvblByb2dyZXNzQmFyIHwgYm9vbGVhbjtcblxuICAvKipcbiAgICogQU5EUk9JRCBPTkxZXG4gICAqIElmIG11bHRpcGxlIG5vdGlmaWNhdGlvbnMgaGF2ZSB0aGUgc2FtZSBncm91cCB5b3VyIGFwcCBjYW4gcHJlc2VudFxuICAgKiB0aGVtIGFzIGEgc2luZ2xlIGdyb3VwLlxuICAgKi9cbiAgZ3JvdXA/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFORFJPSUQgT05MWVxuICAgKiBJZiBzZXQgdG8gJ3RydWUnIHRoaXMgbm90aWZpY2F0aW9uIGNvdWxkIHVzZSAnc3VtbWFyeScgdG8gc3VtbWFyaXplXG4gICAqIHRoZSBjb250ZW50cyBvZiB0aGUgd2hvbGUgZ3JvdXBcbiAgICovXG4gIGdyb3VwU3VtbWFyeT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFORFJPSUQgT05MWVxuICAgKiBTdW1tYXJ5IG9mIHRoZSB3aG9sZSBub3RpZmljYXRpb24gZ3JvdXAuIFNob3VsZCBiZSB1c2VkIGluIGNvbmp1bnRpb25cbiAgICogd2l0aCAnZ3JvdXBTdW1tYXJ5JyBzZXQgdG8gdHJ1ZVxuICAgKi9cbiAgc3VtbWFyeT86IHN0cmluZztcblxuICAvKipcbiAgICogQU5EUk9JRCBPTkxZXG4gICAqIFNldHMgdGhlIG51bWJlciBvZiBpdGVtcyB0aGlzIG5vdGlmaWNhdGlvbiByZXByZXNlbnRzLlxuICAgKi9cbiAgbnVtYmVyPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBTkRST0lEIE9OTFlcbiAgICogU2V0IHdoZXRoZXIgdGhpcyBpcyBhbiBcIm9uZ29pbmdcIiBub3RpZmljYXRpb24uXG4gICAqIE9uZ29pbmcgbm90aWZpY2F0aW9ucyBjYW5ub3QgYmUgZGlzbWlzc2VkIGJ5IHRoZSB1c2VyLFxuICAgKiBzbyB5b3VyIGFwcGxpY2F0aW9uIG9yIHNlcnZpY2UgbXVzdCB0YWtlIGNhcmUgb2YgY2FuY2VsaW5nIHRoZW0uXG4gICAqL1xuICBzdGlja3k/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBTkRST0lEIE9OTFlcbiAgICogTWFrZSB0aGlzIG5vdGlmaWNhdGlvbiBhdXRvbWF0aWNhbGx5IGRpc21pc3NlZCB3aGVuIHRoZSB1c2VyIHRvdWNoZXMgaXQuXG4gICAqL1xuICBhdXRvQ2xlYXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBTkRST0lEIE9OTFlcbiAgICogSWYgc2V0IHRvIHRydWUgdGhlIG5vdGlmaWNhdGlvbiB3aWxsIGJlIHNob3cgaW4gaXRzIGVudGlyZXR5IG9uIGFsbCBsb2Nrc2NyZWVucy5cbiAgICogSWYgc2V0IHRvIGZhbHNlIGl0IHdpbGwgbm90IGJlIHJldmVhbGVkIG9uIGEgc2VjdXJlIGxvY2tzY3JlZW4uXG4gICAqL1xuICBsb2Nrc2NyZWVuPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQU5EUk9JRCBPTkxZXG4gICAqIFNldCB0aGUgZGVmYXVsdCBub3RpZmljYXRpb24gb3B0aW9ucyB0aGF0IHdpbGwgYmUgdXNlZC5cbiAgICogVGhlIHZhbHVlIHNob3VsZCBiZSBvbmUgb3IgbW9yZSBvZiB0aGUgZm9sbG93aW5nIGZpZWxkcyBjb21iaW5lZCB3aXRoXG4gICAqIGJpdHdpc2Utb3I6IERFRkFVTFRfU09VTkQsIERFRkFVTFRfVklCUkFURSwgREVGQVVMVF9MSUdIVFMuXG4gICAqL1xuICBkZWZhdWx0cz86IG51bWJlcjtcblxuICAvKipcbiAgICogQU5EUk9JRCBPTkxZXG4gICAqIFNwZWNpZmllcyB0aGUgY2hhbm5lbCB0aGUgbm90aWZpY2F0aW9uIHNob3VsZCBiZSBkZWxpdmVyZWQgb24uXG4gICAqL1xuICBjaGFubmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBTkRST0lEIE9OTFlcbiAgICogU2V0IHRoZSB0b2tlbiBmb3IgdGhlIG1lZGlhIHNlc3Npb25cbiAgICovXG4gIG1lZGlhU2Vzc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogTWFrZSB0aGlzIG5vdGlmaWNhdGlvbiBzaG93IHdoZW4gYXBwIGluIGZvcmVncm91bmQuXG4gICAqL1xuICBmb3JlZ3JvdW5kPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBAbmFtZSBMb2NhbCBOb3RpZmljYXRpb25zXG4gKiBAZGVzY3JpcHRpb25cbiAqIFRoaXMgcGx1Z2luIGFsbG93cyB5b3UgdG8gZGlzcGxheSBsb2NhbCBub3RpZmljYXRpb25zIG9uIHRoZSBkZXZpY2VcbiAqXG4gKiBAdXNhZ2VcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IExvY2FsTm90aWZpY2F0aW9ucyB9IGZyb20gJ0Bpb25pYy1uYXRpdmUvbG9jYWwtbm90aWZpY2F0aW9ucy9uZ3gnO1xuICpcbiAqXG4gKiBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvY2FsTm90aWZpY2F0aW9uczogTG9jYWxOb3RpZmljYXRpb25zKSB7IH1cbiAqXG4gKiAuLi5cbiAqXG4gKlxuICogLy8gU2NoZWR1bGUgYSBzaW5nbGUgbm90aWZpY2F0aW9uXG4gKiB0aGlzLmxvY2FsTm90aWZpY2F0aW9ucy5zY2hlZHVsZSh7XG4gKiAgIGlkOiAxLFxuICogICB0ZXh0OiAnU2luZ2xlIElMb2NhbE5vdGlmaWNhdGlvbicsXG4gKiAgIHNvdW5kOiBpc0FuZHJvaWQ/ICdmaWxlOi8vc291bmQubXAzJzogJ2ZpbGU6Ly9iZWVwLmNhZicsXG4gKiAgIGRhdGE6IHsgc2VjcmV0OiBrZXkgfVxuICogfSk7XG4gKlxuICpcbiAqIC8vIFNjaGVkdWxlIG11bHRpcGxlIG5vdGlmaWNhdGlvbnNcbiAqIHRoaXMubG9jYWxOb3RpZmljYXRpb25zLnNjaGVkdWxlKFt7XG4gKiAgICBpZDogMSxcbiAqICAgIHRleHQ6ICdNdWx0aSBJTG9jYWxOb3RpZmljYXRpb24gMScsXG4gKiAgICBzb3VuZDogaXNBbmRyb2lkID8gJ2ZpbGU6Ly9zb3VuZC5tcDMnOiAnZmlsZTovL2JlZXAuY2FmJyxcbiAqICAgIGRhdGE6IHsgc2VjcmV0OmtleSB9XG4gKiAgIH0se1xuICogICAgaWQ6IDIsXG4gKiAgICB0aXRsZTogJ0xvY2FsIElMb2NhbE5vdGlmaWNhdGlvbiBFeGFtcGxlJyxcbiAqICAgIHRleHQ6ICdNdWx0aSBJTG9jYWxOb3RpZmljYXRpb24gMicsXG4gKiAgICBpY29uOiAnaHR0cDovL2V4YW1wbGUuY29tL2ljb24ucG5nJ1xuICogfV0pO1xuICpcbiAqXG4gKiAvLyBTY2hlZHVsZSBkZWxheWVkIG5vdGlmaWNhdGlvblxuICogdGhpcy5sb2NhbE5vdGlmaWNhdGlvbnMuc2NoZWR1bGUoe1xuICogICAgdGV4dDogJ0RlbGF5ZWQgSUxvY2FsTm90aWZpY2F0aW9uJyxcbiAqICAgIHRyaWdnZXI6IHthdDogbmV3IERhdGUobmV3IERhdGUoKS5nZXRUaW1lKCkgKyAzNjAwKX0sXG4gKiAgICBsZWQ6ICdGRjAwMDAnLFxuICogICAgc291bmQ6IG51bGxcbiAqIH0pO1xuICogYGBgXG4gKiBAaW50ZXJmYWNlc1xuICogSUxvY2FsTm90aWZpY2F0aW9uXG4gKi9cbkBQbHVnaW4oe1xuICBwbHVnaW5OYW1lOiAnTG9jYWxOb3RpZmljYXRpb25zJyxcbiAgcGx1Z2luOiAnY29yZG92YS1wbHVnaW4tbG9jYWwtbm90aWZpY2F0aW9uJyxcbiAgcGx1Z2luUmVmOiAnY29yZG92YS5wbHVnaW5zLm5vdGlmaWNhdGlvbi5sb2NhbCcsXG4gIHJlcG86ICdodHRwczovL2dpdGh1Yi5jb20va2F0emVyL2NvcmRvdmEtcGx1Z2luLWxvY2FsLW5vdGlmaWNhdGlvbnMnLFxuICBwbGF0Zm9ybXM6IFsnQW5kcm9pZCcsICdpT1MnLCAnV2luZG93cyddLFxufSlcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMb2NhbE5vdGlmaWNhdGlvbnMgZXh0ZW5kcyBJb25pY05hdGl2ZVBsdWdpbiB7XG4gIC8qKlxuICAgKiBJbmZvcm1zIGlmIHRoZSBhcHAgaGFzIHRoZSBwZXJtaXNzaW9uIHRvIHNob3cgbm90aWZpY2F0aW9ucy5cbiAgICogQHJldHVybnMge1Byb21pc2U8Ym9vbGVhbj59XG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGhhc1Blcm1pc3Npb24oKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcXVlc3QgcGVybWlzc2lvbiB0byBzaG93IG5vdGlmaWNhdGlvbnMgaWYgbm90IGFscmVhZHkgZ3JhbnRlZC5cbiAgICogQHJldHVybnMge1Byb21pc2U8Ym9vbGVhbj59XG4gICAqL1xuICBAQ29yZG92YSgpXG4gIHJlcXVlc3RQZXJtaXNzaW9uKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTY2hlZHVsZXMgYSBzaW5nbGUgb3IgbXVsdGlwbGUgbm90aWZpY2F0aW9uc1xuICAgKiBAcGFyYW0gb3B0aW9ucyB7Tm90aWZpY2F0aW9uIHwgSUxvY2FsTm90aWZpY2F0aW9uW119IG9wdGlvbmFsXG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgc3luYzogdHJ1ZSxcbiAgfSlcbiAgc2NoZWR1bGUob3B0aW9ucz86IElMb2NhbE5vdGlmaWNhdGlvbiB8IElMb2NhbE5vdGlmaWNhdGlvbltdKTogdm9pZCB7fVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIGEgcHJldmlvdXNseSBzY2hlZHVsZWQgbm90aWZpY2F0aW9uLiBNdXN0IGluY2x1ZGUgdGhlIGlkIGluIHRoZSBvcHRpb25zIHBhcmFtZXRlci5cbiAgICogQHBhcmFtIG9wdGlvbnMge0lMb2NhbE5vdGlmaWNhdGlvbn0gb3B0aW9uYWxcbiAgICovXG4gIEBDb3Jkb3ZhKHtcbiAgICBzeW5jOiB0cnVlLFxuICB9KVxuICB1cGRhdGUob3B0aW9ucz86IElMb2NhbE5vdGlmaWNhdGlvbik6IHZvaWQge31cblxuICAvKipcbiAgICogQ2xlYXJzIHNpbmdsZSBvciBtdWx0aXBsZSBub3RpZmljYXRpb25zXG4gICAqIEBwYXJhbSBub3RpZmljYXRpb25JZCB7YW55fSBBIHNpbmdsZSBub3RpZmljYXRpb24gaWQsIG9yIGFuIGFycmF5IG9mIG5vdGlmaWNhdGlvbiBpZHMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59IFJldHVybnMgYSBwcm9taXNlIHdoZW4gdGhlIG5vdGlmaWNhdGlvbiBoYWQgYmVlbiBjbGVhcmVkXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGNsZWFyKG5vdGlmaWNhdGlvbklkOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgYWxsIG5vdGlmaWNhdGlvbnNcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn0gUmV0dXJucyBhIHByb21pc2Ugd2hlbiBhbGwgbm90aWZpY2F0aW9ucyBoYXZlIGNsZWFyZWRcbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgY2xlYXJBbGwoKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogQ2FuY2VscyBzaW5nbGUgb3IgbXVsdGlwbGUgbm90aWZpY2F0aW9uc1xuICAgKiBAcGFyYW0gbm90aWZpY2F0aW9uSWQge2FueX0gQSBzaW5nbGUgbm90aWZpY2F0aW9uIGlkLCBvciBhbiBhcnJheSBvZiBub3RpZmljYXRpb24gaWRzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fSBSZXR1cm5zIGEgcHJvbWlzZSB3aGVuIHRoZSBub3RpZmljYXRpb24gaXMgY2FuY2VsZWRcbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgY2FuY2VsKG5vdGlmaWNhdGlvbklkOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYW5jZWxzIGFsbCBub3RpZmljYXRpb25zXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59IFJldHVybnMgYSBwcm9taXNlIHdoZW4gYWxsIG5vdGlmaWNhdGlvbnMgYXJlIGNhbmNlbGVkXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGNhbmNlbEFsbCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgcHJlc2VuY2Ugb2YgYSBub3RpZmljYXRpb25cbiAgICogQHBhcmFtIG5vdGlmaWNhdGlvbklkIHtudW1iZXJ9XG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGJvb2xlYW4+fVxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBpc1ByZXNlbnQobm90aWZpY2F0aW9uSWQ6IG51bWJlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaXMgYSBub3RpZmljYXRpb24gaXMgc2NoZWR1bGVkXG4gICAqIEBwYXJhbSBub3RpZmljYXRpb25JZCB7bnVtYmVyfVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn1cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgaXNTY2hlZHVsZWQobm90aWZpY2F0aW9uSWQ6IG51bWJlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYSBub3RpZmljYXRpb24gaXMgdHJpZ2dlcmVkXG4gICAqIEBwYXJhbSBub3RpZmljYXRpb25JZCB7bnVtYmVyfVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn1cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgaXNUcmlnZ2VyZWQobm90aWZpY2F0aW9uSWQ6IG51bWJlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhIG5vdGlmaWNhdGlvbiBoYXMgYSBnaXZlbiB0eXBlLlxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgVGhlIElEIG9mIHRoZSBub3RpZmljYXRpb24uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0eXBlICBUaGUgdHlwZSBvZiB0aGUgbm90aWZpY2F0aW9uLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn1cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgaGFzVHlwZShpZDogbnVtYmVyLCB0eXBlOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB0eXBlICh0cmlnZ2VyZWQsIHNjaGVkdWxlZCkgZm9yIHRoZSBub3RpZmljYXRpb24uXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCBUaGUgSUQgb2YgdGhlIG5vdGlmaWNhdGlvbi5cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgZ2V0VHlwZShpZDogbnVtYmVyKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgdGhlIG5vdGlmaWNhdGlvbiBpZHNcbiAgICogQHJldHVybnMge1Byb21pc2U8QXJyYXk8bnVtYmVyPj59XG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGdldElkcygpOiBQcm9taXNlPG51bWJlcltdPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgaWRzIG9mIHNjaGVkdWxlZCBub3RpZmljYXRpb25zXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPG51bWJlcltdPn0gUmV0dXJucyBhIHByb21pc2VcbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgZ2V0U2NoZWR1bGVkSWRzKCk6IFByb21pc2U8bnVtYmVyW10+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBpZHMgb2YgdHJpZ2dlcmVkIG5vdGlmaWNhdGlvbnNcbiAgICogQHJldHVybnMge1Byb21pc2U8QXJyYXk8bnVtYmVyPj59XG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGdldFRyaWdnZXJlZElkcygpOiBQcm9taXNlPG51bWJlcltdPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIG5vdGlmaWNhdGlvbiBvYmplY3RcbiAgICogQHBhcmFtIG5vdGlmaWNhdGlvbklkIHthbnl9IFRoZSBpZCBvZiB0aGUgbm90aWZpY2F0aW9uIHRvIGdldFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxJTG9jYWxOb3RpZmljYXRpb24+fVxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBnZXQobm90aWZpY2F0aW9uSWQ6IGFueSk6IFByb21pc2U8SUxvY2FsTm90aWZpY2F0aW9uPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgbm90aWZpY2F0aW9uIG9iamVjdHNcbiAgICogQHJldHVybnMge1Byb21pc2U8SUxvY2FsTm90aWZpY2F0aW9uW10+fVxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBnZXRBbGwoKTogUHJvbWlzZTxJTG9jYWxOb3RpZmljYXRpb25bXT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzY2hlZHVsZWQgbm90aWZpY2F0aW9uIG9iamVjdFxuICAgKiBAcGFyYW0gbm90aWZpY2F0aW9uSWQge2FueX0gVGhlIGlkIG9mIHRoZSBub3RpZmljYXRpb24gdG8gZ2V0XG4gICAqIEByZXR1cm5zIHtQcm9taXNlPElMb2NhbE5vdGlmaWNhdGlvbj59XG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGdldFNjaGVkdWxlZChub3RpZmljYXRpb25JZDogYW55KTogUHJvbWlzZTxJTG9jYWxOb3RpZmljYXRpb24+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgdHJpZ2dlcmVkIG5vdGlmaWNhdGlvbiBvYmplY3RcbiAgICogQHBhcmFtIG5vdGlmaWNhdGlvbklkIFRoZSBpZCBvZiB0aGUgbm90aWZpY2F0aW9uIHRvIGdldFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxJTG9jYWxOb3RpZmljYXRpb24+fVxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBnZXRUcmlnZ2VyZWQobm90aWZpY2F0aW9uSWQ6IGFueSk6IFByb21pc2U8SUxvY2FsTm90aWZpY2F0aW9uPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBncm91cCBvZiBhY3Rpb25zXG4gICAqIEBwYXJhbSBncm91cElkIFRoZSBpZCBvZiB0aGUgYWN0aW9uIGdyb3VwXG4gICAqIEBwYXJhbSBhY3Rpb25zIFRoZSBhY3Rpb25zIG9mIHRoaXMgZ3JvdXBcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgYWRkQWN0aW9ucyhncm91cElkOiBhbnksIGFjdGlvbnM6IElMb2NhbE5vdGlmaWNhdGlvbkFjdGlvbltdKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGdyb3VwIG9mIGFjdGlvbnNcbiAgICogQHBhcmFtIGdyb3VwSWQgVGhlIGlkIG9mIHRoZSBhY3Rpb24gZ3JvdXBcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgcmVtb3ZlQWN0aW9ucyhncm91cElkOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYSBncm91cCBvZiBhY3Rpb25zIGlzIGRlZmluZWRcbiAgICogQHBhcmFtIGdyb3VwSWQgVGhlIGlkIG9mIHRoZSBhY3Rpb24gZ3JvdXBcbiAgICogQHJldHVybnMge1Byb21pc2U8Ym9vbGVhbj59IFdoZXRoZXIgdGhlIGdyb3VwIGlzIGRlZmluZWRcbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgaGFzQWN0aW9ucyhncm91cElkOiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgKHBsYXRmb3JtIHNwZWNpZmljKSBkZWZhdWx0IHNldHRpbmdzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fSBBbiBvYmplY3Qgd2l0aCBhbGwgZGVmYXVsdCBzZXR0aW5nc1xuICAgKi9cbiAgQENvcmRvdmEoe1xuICAgIHN5bmM6IHRydWUsXG4gIH0pXG4gIGdldERlZmF1bHRzKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJ3cml0ZXMgdGhlIChwbGF0Zm9ybSBzcGVjaWZpYykgZGVmYXVsdCBzZXR0aW5ncy5cbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIEBDb3Jkb3ZhKHtcbiAgICBzeW5jOiB0cnVlLFxuICB9KVxuICBzZXREZWZhdWx0cyhkZWZhdWx0czogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFsbCBzY2hlZHVsZWQgbm90aWZpY2F0aW9uIG9iamVjdHNcbiAgICogQHJldHVybnMge1Byb21pc2U8QXJyYXk8SUxvY2FsTm90aWZpY2F0aW9uPj59XG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGdldEFsbFNjaGVkdWxlZCgpOiBQcm9taXNlPElMb2NhbE5vdGlmaWNhdGlvbltdPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgdHJpZ2dlcmVkIG5vdGlmaWNhdGlvbiBvYmplY3RzXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PElMb2NhbE5vdGlmaWNhdGlvbj4+fVxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBnZXRBbGxUcmlnZ2VyZWQoKTogUHJvbWlzZTxJTG9jYWxOb3RpZmljYXRpb25bXT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGEgY2FsbGJhY2sgZm9yIGEgc3BlY2lmaWMgZXZlbnRcbiAgICogQHBhcmFtIGV2ZW50TmFtZSB7c3RyaW5nfSBUaGUgbmFtZSBvZiB0aGUgZXZlbnQuIEF2YWlsYWJsZSBldmVudHM6IHNjaGVkdWxlLCB0cmlnZ2VyLCBjbGljaywgdXBkYXRlLCBjbGVhciwgY2xlYXJhbGwsIGNhbmNlbCwgY2FuY2VsYWxsLiBDdXN0b20gZXZlbnQgbmFtZXMgYXJlIHBvc3NpYmxlIGZvciBhY3Rpb25zXG4gICAqIEByZXR1cm4ge09ic2VydmFibGV9XG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgb2JzZXJ2YWJsZTogdHJ1ZSxcbiAgICBjbGVhckZ1bmN0aW9uOiAndW4nLFxuICAgIGNsZWFyV2l0aEFyZ3M6IHRydWUsXG4gIH0pXG4gIG9uKGV2ZW50TmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogTm90IGFuIG9mZmljaWFsIGludGVyZmFjZSwgaG93ZXZlciBpdHMgcG9zc2libGUgdG8gbWFudWFsbHkgZmlyZSBldmVudHMuXG4gICAqIEBwYXJhbSBldmVudE5hbWUgVGhlIG5hbWUgb2YgdGhlIGV2ZW50LiBBdmFpbGFibGUgZXZlbnRzOiBzY2hlZHVsZSwgdHJpZ2dlciwgY2xpY2ssIHVwZGF0ZSwgY2xlYXIsIGNsZWFyYWxsLCBjYW5jZWwsIGNhbmNlbGFsbC4gQ3VzdG9tIGV2ZW50IG5hbWVzIGFyZSBwb3NzaWJsZSBmb3IgYWN0aW9uc1xuICAgKiBAcGFyYW0gYXJncyBPcHRpb25hbCBhcmd1bWVudHNcbiAgICovXG4gIEBDb3Jkb3ZhKHtcbiAgICBzeW5jOiB0cnVlLFxuICB9KVxuICBmaXJlRXZlbnQoZXZlbnROYW1lOiBzdHJpbmcsIGFyZ3M6IGFueSk6IHZvaWQge31cblxuICAvKipcbiAgICogRmlyZSBxdWV1ZWQgZXZlbnRzIG9uY2UgdGhlIGRldmljZSBpcyByZWFkeSBhbmQgYWxsIGxpc3RlbmVycyBhcmUgcmVnaXN0ZXJlZC5cbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgZmlyZVF1ZXVlZEV2ZW50cygpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxufVxuIl19