valtech-components 2.0.677 → 2.0.679
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/esm2022/lib/components/molecules/image-crop/image-crop.component.mjs +174 -0
- package/esm2022/lib/components/molecules/image-crop/index.mjs +2 -0
- package/esm2022/lib/components/organisms/avatar-upload/avatar-upload.component.mjs +345 -0
- package/esm2022/lib/components/organisms/avatar-upload/types.mjs +15 -0
- package/esm2022/lib/components/organisms/bottom-nav/bottom-nav.component.mjs +3 -3
- package/esm2022/lib/services/auth/auth.service.mjs +10 -1
- package/esm2022/lib/services/auth/types.mjs +1 -1
- package/esm2022/lib/services/image/image.service.mjs +244 -0
- package/esm2022/lib/services/image/index.mjs +3 -0
- package/esm2022/lib/services/image/types.mjs +13 -0
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/public-api.mjs +7 -1
- package/fesm2022/valtech-components.mjs +784 -5
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +1 -1
- package/lib/components/atoms/text/text.component.d.ts +1 -1
- package/lib/components/molecules/features-list/features-list.component.d.ts +1 -1
- package/lib/components/molecules/image-crop/image-crop.component.d.ts +59 -0
- package/lib/components/molecules/image-crop/index.d.ts +1 -0
- package/lib/components/organisms/article/article.component.d.ts +4 -4
- package/lib/components/organisms/avatar-upload/avatar-upload.component.d.ts +82 -0
- package/lib/components/organisms/avatar-upload/types.d.ts +62 -0
- package/lib/components/organisms/bottom-nav/bottom-nav.component.d.ts +1 -1
- package/lib/components/organisms/toolbar/toolbar.component.d.ts +1 -1
- package/lib/services/auth/auth.service.d.ts +6 -1
- package/lib/services/auth/types.d.ts +18 -0
- package/lib/services/image/image.service.d.ts +76 -0
- package/lib/services/image/index.d.ts +2 -0
- package/lib/services/image/types.d.ts +74 -0
- package/lib/version.d.ts +1 -1
- package/package.json +6 -2
- package/public-api.d.ts +4 -0
|
@@ -27,4 +27,4 @@ export const INITIAL_MFA_STATE = {
|
|
|
27
27
|
mfaToken: null,
|
|
28
28
|
method: null,
|
|
29
29
|
};
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2F1dGgvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBNkZIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQWM7SUFDM0MsZUFBZSxFQUFFLEtBQUs7SUFDdEIsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsSUFBSTtJQUNsQixNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxJQUFJO0lBQ1gsS0FBSyxFQUFFLEVBQUU7SUFDVCxXQUFXLEVBQUUsRUFBRTtJQUNmLFlBQVksRUFBRSxLQUFLO0lBQ25CLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBa0JGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQW9CO0lBQ2hELFFBQVEsRUFBRSxLQUFLO0lBQ2YsUUFBUSxFQUFFLElBQUk7SUFDZCxNQUFNLEVBQUUsSUFBSTtDQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRpcG9zIGUgaW50ZXJmYWNlcyBwYXJhIGVsIHNlcnZpY2lvIGRlIGF1dGVudGljYWNpw7NuIGRlIFZhbHRlY2guXG4gKiBBbGluZWFkb3MgY29uIGVsIGJhY2tlbmQgQXV0aFYyLlxuICovXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDT05GSUdVUkFDScOTTlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBwYXJhIGVsIHNlcnZpY2lvIGRlIGF1dGVudGljYWNpw7NuLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbHRlY2hBdXRoQ29uZmlnIHtcbiAgLyoqIFVSTCBiYXNlIGRlIGxhIEFQSSAoZWo6ICdodHRwczovL2FwaS5teXZhbHRlY2guY29tJykgKi9cbiAgYXBpVXJsOiBzdHJpbmc7XG4gIC8qKiBQcmVmaWpvIHBhcmEgZW5kcG9pbnRzIGRlIGF1dGggKGRlZmF1bHQ6ICcvdjIvYXV0aCcpICovXG4gIGF1dGhQcmVmaXg/OiBzdHJpbmc7XG4gIC8qKiBQcmVmaWpvIHBhcmEgbGFzIGNsYXZlcyBkZSBsb2NhbFN0b3JhZ2UgKGRlZmF1bHQ6ICd2YWx0ZWNoX2F1dGhfJykgKi9cbiAgc3RvcmFnZVByZWZpeD86IHN0cmluZztcbiAgLyoqIFRpZW1wbyBhbnRlcyBkZSBleHBpcmFjacOzbiBwYXJhIHJlZnJlc2NhciB0b2tlbiBlbiBzZWd1bmRvcyAoZGVmYXVsdDogNjApICovXG4gIHJlZnJlc2hCZWZvcmVFeHBpcnk/OiBudW1iZXI7XG4gIC8qKiBIYWJpbGl0YXIgc2luY3Jvbml6YWNpw7NuIGVudHJlIHBlc3Rhw7FhcyAoZGVmYXVsdDogdHJ1ZSkgKi9cbiAgZW5hYmxlVGFiU3luYz86IGJvb2xlYW47XG4gIC8qKiBSdXRhIGRlIHJlZGlyZWNjacOzbiBjdWFuZG8gbm8gYXV0ZW50aWNhZG8gKGRlZmF1bHQ6ICcvbG9naW4nKSAqL1xuICBsb2dpblJvdXRlPzogc3RyaW5nO1xuICAvKiogUnV0YSBkZSByZWRpcmVjY2nDs24gY3VhbmRvIHlhIGF1dGVudGljYWRvIChkZWZhdWx0OiAnLycpICovXG4gIGhvbWVSb3V0ZT86IHN0cmluZztcbiAgLyoqIFJ1dGEgcGFyYSBhY2Nlc28gZGVuZWdhZG8gKGRlZmF1bHQ6ICcvdW5hdXRob3JpemVkJykgKi9cbiAgdW5hdXRob3JpemVkUm91dGU/OiBzdHJpbmc7XG4gIC8qKiBIYWJpbGl0YXIgaW50ZWdyYWNpw7NuIGNvbiBGaXJlYmFzZVNlcnZpY2UgKGRlZmF1bHQ6IGZhbHNlKSAqL1xuICBlbmFibGVGaXJlYmFzZUludGVncmF0aW9uPzogYm9vbGVhbjtcbiAgLyoqIEhhYmlsaXRhciByZWdpc3RybyBhdXRvbcOhdGljbyBkZSBkZXZpY2UgdG9rZW5zIHBhcmEgcHVzaCBub3RpZmljYXRpb25zIChkZWZhdWx0OiBmYWxzZSkgKi9cbiAgZW5hYmxlRGV2aWNlUmVnaXN0cmF0aW9uPzogYm9vbGVhbjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVTVEFETyBERSBBVVRFTlRJQ0FDScOTTlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBFc3RhZG8gY29tcGxldG8gZGUgYXV0ZW50aWNhY2nDs24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFN0YXRlIHtcbiAgLyoqIFVzdWFyaW8gZXN0w6EgYXV0ZW50aWNhZG8gKi9cbiAgaXNBdXRoZW50aWNhdGVkOiBib29sZWFuO1xuICAvKiogRXN0YWRvIGRlIGNhcmdhIGluaWNpYWwgKi9cbiAgaXNMb2FkaW5nOiBib29sZWFuO1xuICAvKiogVG9rZW4gZGUgYWNjZXNvIGFjdHVhbCAqL1xuICBhY2Nlc3NUb2tlbjogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIFRva2VuIGRlIHJlZnJlc2NvIGFjdHVhbCAqL1xuICByZWZyZXNoVG9rZW46IHN0cmluZyB8IG51bGw7XG4gIC8qKiBJRCBkZWwgdXN1YXJpbyAqL1xuICB1c2VySWQ6IHN0cmluZyB8IG51bGw7XG4gIC8qKiBFbWFpbCBkZWwgdXN1YXJpbyAqL1xuICBlbWFpbDogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIFJvbGVzIGRlbCB1c3VhcmlvICovXG4gIHJvbGVzOiBzdHJpbmdbXTtcbiAgLyoqIFBlcm1pc29zIGRlbCB1c3VhcmlvIChmb3JtYXRvICdyZXNvdXJjZTphY3Rpb24nKSAqL1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIC8qKiBVc3VhcmlvIGVzIHN1cGVyIGFkbWluICovXG4gIGlzU3VwZXJBZG1pbjogYm9vbGVhbjtcbiAgLyoqIFVzdWFyaW8gdGllbmUgc3VzY3JpcGNpw7NuIHByZW1pdW0gYWN0aXZhIChubyB2ZSBhZHMpICovXG4gIGlzUHJlbWl1bTogYm9vbGVhbjtcbiAgLyoqIFRpbWVzdGFtcCBkZSBleHBpcmFjacOzbiBkZWwgYWNjZXNzVG9rZW4gKG1zKSAqL1xuICBleHBpcmVzQXQ6IG51bWJlciB8IG51bGw7XG4gIC8qKiBFcnJvciBkZSBhdXRlbnRpY2FjacOzbiAoc2kgZXhpc3RlKSAqL1xuICBlcnJvcjogQXV0aEVycm9yIHwgbnVsbDtcbn1cblxuLyoqXG4gKiBJbmZvcm1hY2nDs24gZGVsIHVzdWFyaW8gYXV0ZW50aWNhZG8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFVzZXIge1xuICB1c2VySWQ6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgcGhvbmU/OiBzdHJpbmc7XG4gIC8qKiBVc2VybmFtZS9oYW5kbGUgZGVsIHVzdWFyaW8gKGVqOiBAdmljdG9ydikgKi9cbiAgaGFuZGxlPzogc3RyaW5nO1xuICAvKiogVVJMIGRlbCBhdmF0YXIgZGVsIHVzdWFyaW8gKi9cbiAgYXZhdGFyVXJsPzogc3RyaW5nO1xuICByb2xlczogc3RyaW5nW107XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgaXNTdXBlckFkbWluOiBib29sZWFuO1xuICBtZmFFbmFibGVkPzogYm9vbGVhbjtcbiAgbWZhTWV0aG9kPzogTUZBTWV0aG9kO1xufVxuXG4vKipcbiAqIEVycm9yIGRlIGF1dGVudGljYWNpw7NuLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhFcnJvciB7XG4gIGNvZGU6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEVzdGFkbyBpbmljaWFsIGRlIGF1dGVudGljYWNpw7NuLlxuICovXG5leHBvcnQgY29uc3QgSU5JVElBTF9BVVRIX1NUQVRFOiBBdXRoU3RhdGUgPSB7XG4gIGlzQXV0aGVudGljYXRlZDogZmFsc2UsXG4gIGlzTG9hZGluZzogdHJ1ZSxcbiAgYWNjZXNzVG9rZW46IG51bGwsXG4gIHJlZnJlc2hUb2tlbjogbnVsbCxcbiAgdXNlcklkOiBudWxsLFxuICBlbWFpbDogbnVsbCxcbiAgcm9sZXM6IFtdLFxuICBwZXJtaXNzaW9uczogW10sXG4gIGlzU3VwZXJBZG1pbjogZmFsc2UsXG4gIGlzUHJlbWl1bTogZmFsc2UsXG4gIGV4cGlyZXNBdDogbnVsbCxcbiAgZXJyb3I6IG51bGwsXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTUZBXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKiogTcOpdG9kb3MgZGUgTUZBIHNvcG9ydGFkb3MgKi9cbmV4cG9ydCB0eXBlIE1GQU1ldGhvZCA9ICdFTUFJTCcgfCAnU01TJyB8ICdUT1RQJztcblxuLyoqXG4gKiBFc3RhZG8gZGUgTUZBIHBlbmRpZW50ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNRkFQZW5kaW5nU3RhdGUge1xuICByZXF1aXJlZDogYm9vbGVhbjtcbiAgbWZhVG9rZW46IHN0cmluZyB8IG51bGw7XG4gIG1ldGhvZDogTUZBTWV0aG9kIHwgbnVsbDtcbn1cblxuLyoqXG4gKiBFc3RhZG8gaW5pY2lhbCBkZSBNRkEuXG4gKi9cbmV4cG9ydCBjb25zdCBJTklUSUFMX01GQV9TVEFURTogTUZBUGVuZGluZ1N0YXRlID0ge1xuICByZXF1aXJlZDogZmFsc2UsXG4gIG1mYVRva2VuOiBudWxsLFxuICBtZXRob2Q6IG51bGwsXG59O1xuXG4vKipcbiAqIFJlc3VsdGFkbyBkZSBzZXR1cCBkZSBNRkEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBU2V0dXBSZXN1bHQge1xuICBjb2RlU2VudDogYm9vbGVhbjtcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEVzdGFkbyBkZSBNRkEgZGVsIHVzdWFyaW8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBU3RhdHVzIHtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgbWV0aG9kOiBNRkFNZXRob2QgfCBudWxsO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVE9UUCBNRkEgKEdvb2dsZSBBdXRoZW50aWNhdG9yKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBzZXR1cCBkZSBUT1RQLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRPVFBTZXR1cFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgLyoqIFNlY3JldG8gVE9UUCBlbiBiYXNlMzIgKHBhcmEgZW50cmFkYSBtYW51YWwpICovXG4gIHNlY3JldDogc3RyaW5nO1xuICAvKiogVVJMIHBhcmEgZ2VuZXJhciBRUiBjb2RlIChvdHBhdXRoOi8vLi4uKSAqL1xuICBxckNvZGVVcmw6IHN0cmluZztcbiAgLyoqIEPDs2RpZ29zIGRlIHJlc3BhbGRvIGRlIHVuIHNvbG8gdXNvICovXG4gIGJhY2t1cENvZGVzOiBzdHJpbmdbXTtcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSB2ZXJpZmljYXIgc2V0dXAgZGUgVE9UUC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUT1RQVmVyaWZ5U2V0dXBSZXF1ZXN0IHtcbiAgLyoqIEPDs2RpZ28gVE9UUCBkZSA2IGTDrWdpdG9zICovXG4gIGNvZGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSB2ZXJpZmljYWNpw7NuIGRlIHNldHVwIFRPVFAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVE9UUFZlcmlmeVNldHVwUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBlbmFibGVkOiBib29sZWFuO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGRlc2hhYmlsaXRhciBUT1RQLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRPVFBEaXNhYmxlUmVxdWVzdCB7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgZGVzaGFiaWxpdGFyIFRPVFAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVE9UUERpc2FibGVSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgcmVnZW5lcmFyIGPDs2RpZ29zIGRlIHJlc3BhbGRvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2VuZXJhdGVCYWNrdXBDb2Rlc1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgYmFja3VwQ29kZXM6IHN0cmluZ1tdO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgY2FudGlkYWQgZGUgY8OzZGlnb3MgZGUgcmVzcGFsZG8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFja3VwQ29kZXNDb3VudFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgY291bnQ6IG51bWJlcjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJFUVVFU1RTL1JFU1BPTlNFUyAoYWxpbmVhZG9zIGNvbiBiYWNrZW5kIEF1dGhWMilcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIHNpZ251cCAocmVnaXN0cm8pLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpZ251cFJlcXVlc3Qge1xuICBlbWFpbDogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHBob25lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIHNpZ251cCAocmVnaXN0cm8pLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpZ251cFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgdmVyaWZpY2FyIGVtYWlsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeUVtYWlsUmVxdWVzdCB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGNvZGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSB2ZXJpZmljYWNpw7NuIGRlIGVtYWlsLlxuICogU2kgZXMgZXhpdG9zbywgaW5jbHV5ZSB0b2tlbnMgcGFyYSBhdXRvLWxvZ2luLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeUVtYWlsUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICB2ZXJpZmllZDogYm9vbGVhbjtcbiAgYWNjZXNzVG9rZW4/OiBzdHJpbmc7XG4gIHJlZnJlc2hUb2tlbj86IHN0cmluZztcbiAgZmlyZWJhc2VUb2tlbj86IHN0cmluZztcbiAgZXhwaXJlc0luPzogbnVtYmVyO1xuICB0b2tlblR5cGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIHJlZW52aWFyIGPDs2RpZ28gZGUgdmVyaWZpY2FjacOzbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNlbmRDb2RlUmVxdWVzdCB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIHR5cGU6ICdFTUFJTF9WRVJJRlknIHwgJ1BBU1NXT1JEX1JFU0VUJztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSByZWVudsOtbyBkZSBjw7NkaWdvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2VuZENvZGVSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIHNlbnQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIHNpZ25pbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaWduaW5SZXF1ZXN0IHtcbiAgZW1haWw6IHN0cmluZztcbiAgcGFzc3dvcmQ6IHN0cmluZztcbiAgLyoqIFBsYXRhZm9ybWEgZGVsIGRpc3Bvc2l0aXZvIChwYXJhIGRldGVjY2nDs24gZGUgbnVldm8gZGlzcG9zaXRpdm8pICovXG4gIHBsYXRmb3JtPzogRGV2aWNlUGxhdGZvcm07XG4gIC8qKiBOYXZlZ2Fkb3IgKHNvbG8gd2ViKSAqL1xuICBicm93c2VyPzogc3RyaW5nO1xuICAvKiogU2lzdGVtYSBvcGVyYXRpdm8gKi9cbiAgb3M/OiBzdHJpbmc7XG4gIC8qKiBOb21icmUgYW1pZ2FibGUgZGVsIGRpc3Bvc2l0aXZvICovXG4gIGRldmljZU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgc2lnbmluLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25pblJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgYWNjZXNzVG9rZW4/OiBzdHJpbmc7XG4gIHJlZnJlc2hUb2tlbj86IHN0cmluZztcbiAgZmlyZWJhc2VUb2tlbj86IHN0cmluZztcbiAgZXhwaXJlc0luPzogbnVtYmVyO1xuICB0b2tlblR5cGU/OiBzdHJpbmc7XG4gIG1mYVJlcXVpcmVkPzogYm9vbGVhbjtcbiAgbWZhVG9rZW4/OiBzdHJpbmc7XG4gIG1mYU1ldGhvZD86IE1GQU1ldGhvZDtcbiAgcm9sZXM/OiBzdHJpbmdbXTtcbiAgcGVybWlzc2lvbnM/OiBzdHJpbmdbXTtcbiAgLyoqIEluZGljYSBzaSBlbCBsb2dpbiBmdWUgZGVzZGUgdW4gZGlzcG9zaXRpdm8gbnVldm8vbm8gcmVjb25vY2lkbyAqL1xuICBpc05ld0RldmljZT86IGJvb2xlYW47XG4gIC8qKiBJRCBkZWwgZGlzcG9zaXRpdm8gdXNhZG8gcGFyYSBlbCBsb2dpbiAqL1xuICBkZXZpY2VJZD86IHN0cmluZztcbiAgLyoqIElkaW9tYSBwcmVmZXJpZG8gZGVsIHVzdWFyaW8gKHBhcmEgc2luY3Jvbml6YXIgY29uIGkxOG4pICovXG4gIGxhbmd1YWdlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSB2ZXJpZmljYXIgTUZBLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1GQVZlcmlmeVJlcXVlc3Qge1xuICBtZmFUb2tlbjogc3RyaW5nO1xuICBjb2RlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgdmVyaWZpY2FyIE1GQS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNRkFWZXJpZnlSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIHJlZnJlc2hUb2tlbjogc3RyaW5nO1xuICBmaXJlYmFzZVRva2VuPzogc3RyaW5nO1xuICBleHBpcmVzSW46IG51bWJlcjtcbiAgdG9rZW5UeXBlOiBzdHJpbmc7XG4gIHJvbGVzPzogc3RyaW5nW107XG4gIHBlcm1pc3Npb25zPzogc3RyaW5nW107XG4gIC8qKiBJZGlvbWEgcHJlZmVyaWRvIGRlbCB1c3VhcmlvIChwYXJhIHNpbmNyb25pemFyIGNvbiBpMThuKSAqL1xuICBsYW5ndWFnZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgcmVmcmVzY2FyIHRva2VuLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZnJlc2hSZXF1ZXN0IHtcbiAgcmVmcmVzaFRva2VuOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgcmVmcmVzY2FyIHRva2VuLlxuICogSW1wbGVtZW50YSB0b2tlbiByb3RhdGlvbjogY2FkYSByZWZyZXNoIGdlbmVyYSB1biBudWV2byByZWZyZXNoIHRva2VuLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZnJlc2hSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIHJlZnJlc2hUb2tlbjogc3RyaW5nOyAvLyBUb2tlbiByb3RhdGlvbjogbnVldm8gcmVmcmVzaCB0b2tlblxuICBleHBpcmVzSW46IG51bWJlcjtcbiAgZmlyZWJhc2VUb2tlbj86IHN0cmluZztcbiAgcm9sZXM/OiBzdHJpbmdbXTtcbiAgcGVybWlzc2lvbnM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgbG9nb3V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvZ291dFJlcXVlc3Qge1xuICByZWZyZXNoVG9rZW46IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBsb2dvdXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9nb3V0UmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBzdWNjZXNzOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIG9idGVuZXIgcGVybWlzb3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0UGVybWlzc2lvbnNSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIHJvbGVzOiBzdHJpbmdbXTtcbiAgcGVybWlzc2lvbnM6IHN0cmluZ1tdO1xuICBpc1N1cGVyQWRtaW46IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIHNldHVwIGRlIE1GQS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNRkFTZXR1cFJlcXVlc3Qge1xuICBtZXRob2Q6IE1GQU1ldGhvZDtcbiAgcGhvbmU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgc2V0dXAgZGUgTUZBLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1GQVNldHVwUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBjb2RlU2VudDogYm9vbGVhbjtcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBjb25maXJtYXIgTUZBLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1GQUNvbmZpcm1SZXF1ZXN0IHtcbiAgY29kZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGNvbmZpcm1hciBNRkEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBQ29uZmlybVJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgbWZhRW5hYmxlZDogYm9vbGVhbjtcbiAgbWV0aG9kOiBNRkFNZXRob2Q7XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGRlc2hhYmlsaXRhciBNRkEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBRGlzYWJsZVJlcXVlc3Qge1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGRlc2hhYmlsaXRhciBNRkEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBRGlzYWJsZVJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgbWZhRGlzYWJsZWQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGluaWNpYXIgcmVjdXBlcmFjacOzbiBkZSBjb250cmFzZcOxYS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGb3Jnb3RQYXNzd29yZFJlcXVlc3Qge1xuICBlbWFpbDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGZvcmdvdCBwYXNzd29yZCAoc2llbXByZSBpZ3VhbCBwb3Igc2VndXJpZGFkKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGb3Jnb3RQYXNzd29yZFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSByZXNldGVhciBjb250cmFzZcOxYSBjb24gY8OzZGlnby5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNldFBhc3N3b3JkUmVxdWVzdCB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGNvZGU6IHN0cmluZztcbiAgbmV3UGFzc3dvcmQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSByZXNldCBwYXNzd29yZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNldFBhc3N3b3JkUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBzdWNjZXNzOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBjYW1iaWFyIGNvbnRyYXNlw7FhICh1c3VhcmlvIGF1dGVudGljYWRvKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGFuZ2VQYXNzd29yZFJlcXVlc3Qge1xuICBjdXJyZW50UGFzc3dvcmQ6IHN0cmluZztcbiAgbmV3UGFzc3dvcmQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBjYW1iaW8gZGUgY29udHJhc2XDsWEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlUGFzc3dvcmRSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGVsaW1pbmFyIGN1ZW50YSAocmVxdWllcmUgY29uZmlybWFjacOzbiBkZSBjb250cmFzZcOxYSkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlQWNjb3VudFJlcXVlc3Qge1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGVsaW1pbmFyIGN1ZW50YS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZWxldGVBY2NvdW50UmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBkZWxldGVkOiBib29sZWFuO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgb2J0ZW5lciBwZXJmaWwgZGVsIHVzdWFyaW8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0UHJvZmlsZVJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgcGhvbmU/OiBzdHJpbmc7XG4gIC8qKiBVc2VybmFtZS9oYW5kbGUgZGVsIHVzdWFyaW8gKi9cbiAgaGFuZGxlPzogc3RyaW5nO1xuICAvKiogVVJMIGRlbCBhdmF0YXIgZGVsIHVzdWFyaW8gKi9cbiAgYXZhdGFyVXJsPzogc3RyaW5nO1xuICBlbWFpbFZlcmlmaWVkOiBib29sZWFuO1xuICBwaG9uZVZlcmlmaWVkOiBib29sZWFuO1xuICBtZmFFbmFibGVkOiBib29sZWFuO1xuICBtZmFNZXRob2Q/OiBNRkFNZXRob2Q7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgYWN0dWFsaXphciBwZXJmaWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUHJvZmlsZVJlcXVlc3Qge1xuICBuYW1lPzogc3RyaW5nO1xuICBwaG9uZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBhY3R1YWxpemFyIHBlcmZpbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVQcm9maWxlUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICB1cGRhdGVkOiBib29sZWFuO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRVZFTlRPUyBERSBTSU5DUk9OSVpBQ0nDk05cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTV0lUQ0ggT1JHQU5JWkFUSU9OXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBjYW1iaWFyIGRlIG9yZ2FuaXphY2nDs24gYWN0aXZhLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN3aXRjaE9yZ1JlcXVlc3Qge1xuICBvcmdhbml6YXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGNhbWJpbyBkZSBvcmdhbml6YWNpw7NuLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN3aXRjaE9yZ1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgZmlyZWJhc2VUb2tlbjogc3RyaW5nO1xuICBhY3RpdmVPcmc6IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVWRU5UT1MgREUgU0lOQ1JPTklaQUNJw5NOXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKiogVGlwb3MgZGUgZXZlbnRvcyBkZSBzaW5jcm9uaXphY2nDs24gZW50cmUgcGVzdGHDsWFzICovXG5leHBvcnQgdHlwZSBBdXRoU3luY0V2ZW50VHlwZSA9XG4gIHwgJ0xPR0lOJ1xuICB8ICdMT0dPVVQnXG4gIHwgJ1RPS0VOX1JFRlJFU0gnXG4gIHwgJ1BFUk1JU1NJT05TX1VQREFURSdcbiAgfCAnT1JHX1NXSVRDSCc7XG5cbi8qKlxuICogRXZlbnRvIGRlIHNpbmNyb25pemFjacOzbiBlbnRyZSBwZXN0YcOxYXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFN5bmNFdmVudCB7XG4gIHR5cGU6IEF1dGhTeW5jRXZlbnRUeXBlO1xuICB0aW1lc3RhbXA6IG51bWJlcjtcbiAgcGF5bG9hZD86IHtcbiAgICBhY2Nlc3NUb2tlbj86IHN0cmluZztcbiAgICByZWZyZXNoVG9rZW4/OiBzdHJpbmc7IC8vIFRva2VuIHJvdGF0aW9uIHN1cHBvcnRcbiAgICBleHBpcmVzQXQ/OiBudW1iZXI7XG4gICAgYWN0aXZlT3JnPzogc3RyaW5nO1xuICB9O1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSldUIENMQUlNU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDbGFpbXMgZGVsIEpXVCBkZSBhY2Nlc28uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSldUQ2xhaW1zIHtcbiAgLyoqIFVzZXIgSUQgKi9cbiAgdWlkOiBzdHJpbmc7XG4gIC8qKiBFbWFpbCAqL1xuICBlbWFpbDogc3RyaW5nO1xuICAvKiogU2Vzc2lvbiBJRCAqL1xuICBzaWQ/OiBzdHJpbmc7XG4gIC8qKiBVc3VhcmlvIHRpZW5lIHN1c2NyaXBjacOzbiBwcmVtaXVtIGFjdGl2YSAqL1xuICBwcmVtaXVtPzogYm9vbGVhbjtcbiAgLyoqIElzc3VlZCBhdCAqL1xuICBpYXQ6IG51bWJlcjtcbiAgLyoqIEV4cGlyYXRpb24gKi9cbiAgZXhwOiBudW1iZXI7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTVE9SQUdFXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIERhdG9zIHBlcnNpc3RpZG9zIGVuIHN0b3JhZ2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmVkQXV0aFN0YXRlIHtcbiAgYWNjZXNzVG9rZW46IHN0cmluZztcbiAgcmVmcmVzaFRva2VuOiBzdHJpbmc7XG4gIHJvbGVzOiBzdHJpbmdbXTtcbiAgcGVybWlzc2lvbnM6IHN0cmluZ1tdO1xuICBpc1N1cGVyQWRtaW46IGJvb2xlYW47XG4gIGlzUHJlbWl1bT86IGJvb2xlYW47XG4gIGV4cGlyZXNBdD86IG51bWJlcjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERFVklDRSBSRUdJU1RSQVRJT04gKFB1c2ggTm90aWZpY2F0aW9ucylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUGxhdGFmb3JtYXMgc29wb3J0YWRhcyBwYXJhIHB1c2ggbm90aWZpY2F0aW9ucy5cbiAqL1xuZXhwb3J0IHR5cGUgRGV2aWNlUGxhdGZvcm0gPSAnd2ViJyB8ICdpb3MnIHwgJ2FuZHJvaWQnO1xuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSByZWdpc3RyYXIgdW4gZGlzcG9zaXRpdm8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJEZXZpY2VSZXF1ZXN0IHtcbiAgLyoqIEZDTSB0b2tlbiBkZWwgZGlzcG9zaXRpdm8gKi9cbiAgdG9rZW46IHN0cmluZztcbiAgLyoqIFBsYXRhZm9ybWEgZGVsIGRpc3Bvc2l0aXZvICovXG4gIHBsYXRmb3JtOiBEZXZpY2VQbGF0Zm9ybTtcbiAgLyoqIE5hdmVnYWRvciAoc29sbyB3ZWIpICovXG4gIGJyb3dzZXI/OiBzdHJpbmc7XG4gIC8qKiBTaXN0ZW1hIG9wZXJhdGl2byAqL1xuICBvcz86IHN0cmluZztcbiAgLyoqIFZlcnNpw7NuIGRlIGxhIGFwbGljYWNpw7NuICovXG4gIGFwcFZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKiBOb21icmUgYW1pZ2FibGUgZGVsIGRpc3Bvc2l0aXZvICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKiBNZXRhZGF0YSBhZGljaW9uYWwgKi9cbiAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIHJlZ2lzdHJvIGRlIGRpc3Bvc2l0aXZvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdGVyRGV2aWNlUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBkZXZpY2U6IHtcbiAgICBkZXZpY2VJZDogc3RyaW5nO1xuICAgIHRva2VuOiBzdHJpbmc7XG4gICAgcGxhdGZvcm06IERldmljZVBsYXRmb3JtO1xuICAgIGJyb3dzZXI/OiBzdHJpbmc7XG4gICAgb3M/OiBzdHJpbmc7XG4gICAgbGFzdEFjdGl2ZTogc3RyaW5nO1xuICAgIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB9O1xuICAvKiogdHJ1ZSBzaSBlcyB1biBudWV2byBkaXNwb3NpdGl2bywgZmFsc2Ugc2kgc2UgYWN0dWFsaXrDsyB1bm8gZXhpc3RlbnRlICovXG4gIGlzTmV3OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlc3VsdGFkbyBkZSBoYWJpbGl0YXIgbm90aWZpY2FjaW9uZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW5hYmxlTm90aWZpY2F0aW9uc1Jlc3VsdCB7XG4gIC8qKiBTaSBzZSBvdG9yZ2Fyb24gbG9zIHBlcm1pc29zICovXG4gIGdyYW50ZWQ6IGJvb2xlYW47XG4gIC8qKiBGQ00gdG9rZW4gKHNvbG8gc2kgZ3JhbnRlZD10cnVlKSAqL1xuICB0b2tlbj86IHN0cmluZztcbiAgLyoqIFNpIGVsIGRpc3Bvc2l0aXZvIGZ1ZSByZWdpc3RyYWRvIGVuIGVsIGJhY2tlbmQgKi9cbiAgcmVnaXN0ZXJlZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogRXN0YWRvIGRlIHBlcm1pc29zIGRlIG5vdGlmaWNhY2nDs24uXG4gKi9cbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvblBlcm1pc3Npb25TdGF0ZSA9ICdncmFudGVkJyB8ICdkZW5pZWQnIHwgJ2RlZmF1bHQnIHwgJ3Vuc3VwcG9ydGVkJztcblxuLyoqXG4gKiBSZXN1bHRhZG8gZGVsIHJlZ2lzdHJvIG1hbnVhbCBkZSBkaXNwb3NpdGl2by5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlckRldmljZVJlc3VsdCB7XG4gIC8qKiBTaSBlbCBkaXNwb3NpdGl2byBmdWUgcmVnaXN0cmFkbyBleGl0b3NhbWVudGUgKi9cbiAgcmVnaXN0ZXJlZDogYm9vbGVhbjtcbiAgLyoqIElEIGRlbCBkaXNwb3NpdGl2byAoc29sbyBzaSByZWdpc3RlcmVkPXRydWUpICovXG4gIGRldmljZUlkPzogc3RyaW5nO1xuICAvKiogRkNNIHRva2VuIHVzYWRvIHBhcmEgZWwgcmVnaXN0cm8gKi9cbiAgdG9rZW4/OiBzdHJpbmc7XG4gIC8qKiBNZW5zYWplIGRlIGVycm9yIChzb2xvIHNpIHJlZ2lzdGVyZWQ9ZmFsc2UpICovXG4gIGVycm9yPzogc3RyaW5nO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gREVWSUNFIE1BTkFHRU1FTlQgKERldGVjY2nDs24gZGUgZGlzcG9zaXRpdm9zIG51ZXZvcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogRXN0YWRvcyBwb3NpYmxlcyBkZSB1biBkaXNwb3NpdGl2by5cbiAqL1xuZXhwb3J0IHR5cGUgRGV2aWNlU3RhdHVzID0gJ2FjdGl2ZScgfCAncGVuZGluZ19hcHByb3ZhbCcgfCAnYmxvY2tlZCc7XG5cbi8qKlxuICogSW5mb3JtYWNpw7NuIGNvbXBsZXRhIGRlIHVuIGRpc3Bvc2l0aXZvIHJlZ2lzdHJhZG8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGV2aWNlSW5mbyB7XG4gIC8qKiBJRCDDum5pY28gZGVsIGRpc3Bvc2l0aXZvICovXG4gIGRldmljZUlkOiBzdHJpbmc7XG4gIC8qKiBQbGF0YWZvcm1hIGRlbCBkaXNwb3NpdGl2byAqL1xuICBwbGF0Zm9ybTogRGV2aWNlUGxhdGZvcm07XG4gIC8qKiBOYXZlZ2Fkb3IgKHNvbG8gd2ViKSAqL1xuICBicm93c2VyPzogc3RyaW5nO1xuICAvKiogU2lzdGVtYSBvcGVyYXRpdm8gKi9cbiAgb3M/OiBzdHJpbmc7XG4gIC8qKiBOb21icmUgYW1pZ2FibGUgZGVsIGRpc3Bvc2l0aXZvICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKiBFc3RhZG8gYWN0dWFsIGRlbCBkaXNwb3NpdGl2byAqL1xuICBzdGF0dXM6IERldmljZVN0YXR1cztcbiAgLyoqIERpcmVjY2nDs24gSVAgZGVsIMO6bHRpbW8gYWNjZXNvICovXG4gIGlwQWRkcmVzcz86IHN0cmluZztcbiAgLyoqIFViaWNhY2nDs24gZ2VvZ3LDoWZpY2EgYXByb3hpbWFkYSAqL1xuICBsb2NhdGlvbj86IHN0cmluZztcbiAgLyoqIMOabHRpbWEgYWN0aXZpZGFkICovXG4gIGxhc3RBY3RpdmU6IHN0cmluZztcbiAgLyoqIEZlY2hhIGRlIGNyZWFjacOzbi9yZWdpc3RybyAqL1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgLyoqIEZlY2hhIGRlIGFwcm9iYWNpw7NuIChzaSBhcGxpY2EpICovXG4gIGFwcHJvdmVkQXQ/OiBzdHJpbmc7XG4gIC8qKiBGZWNoYSBkZSBibG9xdWVvIChzaSBhcGxpY2EpICovXG4gIGJsb2NrZWRBdD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBsaXN0YXIgZGlzcG9zaXRpdm9zIGRlbCB1c3VhcmlvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpc3REZXZpY2VzUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBkZXZpY2VzOiBEZXZpY2VJbmZvW107XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgYWNjacOzbiBzb2JyZSBkaXNwb3NpdGl2byAoYmxvY2svYXBwcm92ZS9kZWxldGUpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERldmljZUFjdGlvblJlc3VsdCB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNFU1NJT04gTUFOQUdFTUVOVCAoR2VzdGnDs24gZGUgc2VzaW9uZXMgYWN0aXZhcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSW5mb3JtYWNpw7NuIGRlIHVuYSBzZXNpw7NuIGFjdGl2YS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXNzaW9uSW5mbyB7XG4gIC8qKiBJRCDDum5pY28gZGUgbGEgc2VzacOzbiAqL1xuICBzZXNzaW9uSWQ6IHN0cmluZztcbiAgLyoqIElEIGRlbCBkaXNwb3NpdGl2byBhc29jaWFkbyAoc2kgZXhpc3RlKSAqL1xuICBkZXZpY2VJZD86IHN0cmluZztcbiAgLyoqIEluZm9ybWFjacOzbiBkZWwgZGlzcG9zaXRpdm8gKFVzZXItQWdlbnQpICovXG4gIGRldmljZUluZm8/OiBzdHJpbmc7XG4gIC8qKiBEaXJlY2Npw7NuIElQIGRlIGxhIHNlc2nDs24gKi9cbiAgaXA/OiBzdHJpbmc7XG4gIC8qKiBVYmljYWNpw7NuIGdlb2dyw6FmaWNhIGFwcm94aW1hZGEgKi9cbiAgbG9jYXRpb24/OiBzdHJpbmc7XG4gIC8qKiBGZWNoYSBkZSBjcmVhY2nDs24gZGUgbGEgc2VzacOzbiAqL1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgLyoqIEZlY2hhIGRlIGV4cGlyYWNpw7NuIGRlIGxhIHNlc2nDs24gKi9cbiAgZXhwaXJlc0F0OiBzdHJpbmc7XG4gIC8qKiBJbmRpY2Egc2kgZXMgbGEgc2VzacOzbiBhY3R1YWwgZGVsIHVzdWFyaW8gKi9cbiAgaXNDdXJyZW50OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGxpc3RhciBzZXNpb25lcyBhY3RpdmFzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpc3RTZXNzaW9uc1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgc2Vzc2lvbnM6IFNlc3Npb25JbmZvW107XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgcmV2b2NhciBzZXNpw7NuKGVzKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXZva2VTZXNzaW9uc1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgc3VjY2VzczogYm9vbGVhbjtcbiAgLyoqIE7Dum1lcm8gZGUgc2VzaW9uZXMgcmV2b2NhZGFzICovXG4gIHNlc3Npb25zUmV2b2tlZDogbnVtYmVyO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gREVWSUNFIEFDVElPTiAoQWNjaW9uZXMgZGVzZGUgZW1haWwgZGUgYWxlcnRhKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgZWplY3V0YXIgYWNjacOzbiBkZSBkaXNwb3NpdGl2byBkZXNkZSBlbWFpbC5cbiAqIEVsIHRva2VuIHZpZW5lIGVuIGxhIFVSTCBkZWwgZW1haWwgZGUgYWxlcnRhLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERldmljZUFjdGlvblJlcXVlc3Qge1xuICAvKiogVG9rZW4gSldUIGRlIGFjY2nDs24gKDI0aCwgdW4gc29sbyB1c28pICovXG4gIHRva2VuOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgZWplY3V0YXIgYWNjacOzbiBkZSBkaXNwb3NpdGl2by5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXZpY2VBY3Rpb25SZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIC8qKiBTaSBsYSBhY2Npw7NuIGZ1ZSBlamVjdXRhZGEgZXhpdG9zYW1lbnRlICovXG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIC8qKiBBY2Npw7NuIGVqZWN1dGFkYSAocmVmdXNlLCBhcHByb3ZlLCBibG9jaykgKi9cbiAgYWN0aW9uOiBzdHJpbmc7XG4gIC8qKiBJRCBkZWwgZGlzcG9zaXRpdm8gYWZlY3RhZG8gKi9cbiAgZGV2aWNlSWQ6IHN0cmluZztcbiAgLyoqIE7Dum1lcm8gZGUgc2VzaW9uZXMgcmV2b2NhZGFzIChzaSBhY3Rpb249cmVmdXNlL2Jsb2NrKSAqL1xuICBzZXNzaW9uc1Jldm9rZWQ/OiBudW1iZXI7XG4gIC8qKiBNZW5zYWplIGRlc2NyaXB0aXZvICovXG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSB2YWxpZGFyIHRva2VuIGRlIGFjY2nDs24gKHNpbiBlamVjdXRhcikuXG4gKiBVc2FkbyBwYXJhIG1vc3RyYXIgY29uZmlybWFjacOzbiBhbCB1c3VhcmlvIGFudGVzIGRlIGVqZWN1dGFyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRlQWN0aW9uUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICAvKiogU2kgZWwgdG9rZW4gZXMgdsOhbGlkbyAqL1xuICB2YWxpZDogYm9vbGVhbjtcbiAgLyoqIFRpcG8gZGUgYWNjacOzbiAoZGV2aWNlOnJlZnVzZSwgZGV2aWNlOmFwcHJvdmUsIGV0Yy4pICovXG4gIGFjdGlvblR5cGU/OiBzdHJpbmc7XG4gIC8qKiBUaXBvIGRlIHJlY3Vyc28gb2JqZXRpdm8gKGRldmljZSwgZG9jdW1lbnQsIGV0Yy4pICovXG4gIHRhcmdldFR5cGU/OiBzdHJpbmc7XG4gIC8qKiBJRCBkZWwgcmVjdXJzbyBvYmpldGl2byAqL1xuICB0YXJnZXRJZD86IHN0cmluZztcbiAgLyoqIE1lbnNhamUgZGUgZXJyb3IgKHNpIHZhbGlkPWZhbHNlKSAqL1xuICBtZXNzYWdlPzogc3RyaW5nO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gT0FVVEggKExvZ2luIHNvY2lhbClcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUHJvdmVlZG9yZXMgT0F1dGggc29wb3J0YWRvcy5cbiAqL1xuZXhwb3J0IHR5cGUgT0F1dGhQcm92aWRlciA9ICdnb29nbGUnIHwgJ2FwcGxlJyB8ICdtaWNyb3NvZnQnO1xuXG4vKipcbiAqIFJlc3VsdGFkbyBleGl0b3NvIGRlIGZsdWpvIE9BdXRoLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9BdXRoUmVzdWx0IHtcbiAgLyoqIFRva2VuIGRlIGFjY2VzbyBKV1QgKi9cbiAgYWNjZXNzVG9rZW46IHN0cmluZztcbiAgLyoqIFRva2VuIGRlIHJlZnJlc2NvICovXG4gIHJlZnJlc2hUb2tlbjogc3RyaW5nO1xuICAvKiogVG9rZW4gZGUgRmlyZWJhc2UgKHNpIGVzdMOhIGhhYmlsaXRhZG8pICovXG4gIGZpcmViYXNlVG9rZW4/OiBzdHJpbmc7XG4gIC8qKiBUaWVtcG8gZGUgZXhwaXJhY2nDs24gZW4gc2VndW5kb3MgKi9cbiAgZXhwaXJlc0luOiBudW1iZXI7XG4gIC8qKiBSb2xlcyBkZWwgdXN1YXJpbyAqL1xuICByb2xlcz86IHN0cmluZ1tdO1xuICAvKiogUGVybWlzb3MgZGVsIHVzdWFyaW8gKi9cbiAgcGVybWlzc2lvbnM/OiBzdHJpbmdbXTtcbiAgLyoqIEluZGljYSBzaSBlcyB1biB1c3VhcmlvIG51ZXZvIChyZWNpw6luIGNyZWFkbykgKi9cbiAgaXNOZXdVc2VyPzogYm9vbGVhbjtcbiAgLyoqIEluZGljYSBzaSBsYSBjdWVudGEgZnVlIHZpbmN1bGFkYSBhIHVzdWFyaW8gZXhpc3RlbnRlICovXG4gIGxpbmtlZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogRXJyb3IgZGUgT0F1dGguXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT0F1dGhFcnJvciB7XG4gIC8qKiBDw7NkaWdvIGRlIGVycm9yICovXG4gIGNvZGU6IHN0cmluZztcbiAgLyoqIE1lbnNhamUgZGVzY3JpcHRpdm8gKi9cbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIERhdG9zIGVudmlhZG9zIGRlc2RlIHBvcHVwIGNhbGxiYWNrIHZpYSBwb3N0TWVzc2FnZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPQXV0aENhbGxiYWNrRGF0YSB7XG4gIC8qKiBUaXBvIGRlIG1lbnNhamUgKi9cbiAgdHlwZTogJ29hdXRoLWNhbGxiYWNrJztcbiAgLyoqIFRva2VucyAoc2kgw6l4aXRvKSAqL1xuICB0b2tlbnM/OiBPQXV0aFJlc3VsdDtcbiAgLyoqIEVycm9yIChzaSBmYWxsw7MpICovXG4gIGVycm9yPzogT0F1dGhFcnJvcjtcbn1cblxuLyoqXG4gKiBQcm92ZWVkb3IgT0F1dGggdmluY3VsYWRvIGFsIHVzdWFyaW8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlua2VkUHJvdmlkZXIge1xuICAvKiogTm9tYnJlIGRlbCBwcm92ZWVkb3IgKi9cbiAgcHJvdmlkZXI6IE9BdXRoUHJvdmlkZXI7XG4gIC8qKiBFbWFpbCBhc29jaWFkbyBhbCBwcm92ZWVkb3IgKi9cbiAgZW1haWw6IHN0cmluZztcbiAgLyoqIE5vbWJyZSBkZWwgdXN1YXJpbyBlbiBlbCBwcm92ZWVkb3IgKi9cbiAgbmFtZT86IHN0cmluZztcbiAgLyoqIFVSTCBkZSBpbWFnZW4gZGUgcGVyZmlsICovXG4gIHBpY3R1cmU/OiBzdHJpbmc7XG4gIC8qKiBGZWNoYSBkZSB2aW5jdWxhY2nDs24gKi9cbiAgbGlua2VkQXQ6IHN0cmluZztcbiAgLyoqIMOabHRpbWEgdmV6IHF1ZSBzZSB1c8OzIHBhcmEgbG9naW4gKi9cbiAgbGFzdFVzZWRBdD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSB2ZXJpZmljYXIgc2kgdGllbmUgY29udHJhc2XDsWEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSGFzUGFzc3dvcmRSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGhhc1Bhc3N3b3JkOiBib29sZWFuO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSEFORExFIChVc2VybmFtZSlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGFjdHVhbGl6YXIgaGFuZGxlIChAdXNlcm5hbWUpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUhhbmRsZVJlcXVlc3Qge1xuICBoYW5kbGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBhY3R1YWxpemFyIGhhbmRsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVIYW5kbGVSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGhhbmRsZTogc3RyaW5nO1xuICB1cGRhdGVkOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSB2ZXJpZmljYXIgZGlzcG9uaWJpbGlkYWQgZGUgaGFuZGxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrSGFuZGxlUmVxdWVzdCB7XG4gIGhhbmRsZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIHZlcmlmaWNhciBkaXNwb25pYmlsaWRhZCBkZSBoYW5kbGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tIYW5kbGVSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGhhbmRsZTogc3RyaW5nO1xuICBhdmFpbGFibGU6IGJvb2xlYW47XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMSU5LRUQgUFJPVklERVJTIChPQXV0aClcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgb2J0ZW5lciBwcm92ZWVkb3JlcyBPQXV0aCB2aW5jdWxhZG9zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldExpbmtlZFByb3ZpZGVyc1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgcHJvdmlkZXJzOiBMaW5rZWRQcm92aWRlcltdO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBkZXN2aW5jdWxhciB1biBwcm92ZWVkb3IgT0F1dGguXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVW5saW5rUHJvdmlkZXJSZXF1ZXN0IHtcbiAgcHJvdmlkZXI6IE9BdXRoUHJvdmlkZXI7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgZGVzdmluY3VsYXIgcHJvdmVlZG9yLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVubGlua1Byb3ZpZGVyUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICB1bmxpbmtlZDogYm9vbGVhbjtcbn1cblxuIl19
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2F1dGgvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBNkZIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQWM7SUFDM0MsZUFBZSxFQUFFLEtBQUs7SUFDdEIsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsSUFBSTtJQUNsQixNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxJQUFJO0lBQ1gsS0FBSyxFQUFFLEVBQUU7SUFDVCxXQUFXLEVBQUUsRUFBRTtJQUNmLFlBQVksRUFBRSxLQUFLO0lBQ25CLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBa0JGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQW9CO0lBQ2hELFFBQVEsRUFBRSxLQUFLO0lBQ2YsUUFBUSxFQUFFLElBQUk7SUFDZCxNQUFNLEVBQUUsSUFBSTtDQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRpcG9zIGUgaW50ZXJmYWNlcyBwYXJhIGVsIHNlcnZpY2lvIGRlIGF1dGVudGljYWNpw7NuIGRlIFZhbHRlY2guXG4gKiBBbGluZWFkb3MgY29uIGVsIGJhY2tlbmQgQXV0aFYyLlxuICovXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDT05GSUdVUkFDScOTTlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBwYXJhIGVsIHNlcnZpY2lvIGRlIGF1dGVudGljYWNpw7NuLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbHRlY2hBdXRoQ29uZmlnIHtcbiAgLyoqIFVSTCBiYXNlIGRlIGxhIEFQSSAoZWo6ICdodHRwczovL2FwaS5teXZhbHRlY2guY29tJykgKi9cbiAgYXBpVXJsOiBzdHJpbmc7XG4gIC8qKiBQcmVmaWpvIHBhcmEgZW5kcG9pbnRzIGRlIGF1dGggKGRlZmF1bHQ6ICcvdjIvYXV0aCcpICovXG4gIGF1dGhQcmVmaXg/OiBzdHJpbmc7XG4gIC8qKiBQcmVmaWpvIHBhcmEgbGFzIGNsYXZlcyBkZSBsb2NhbFN0b3JhZ2UgKGRlZmF1bHQ6ICd2YWx0ZWNoX2F1dGhfJykgKi9cbiAgc3RvcmFnZVByZWZpeD86IHN0cmluZztcbiAgLyoqIFRpZW1wbyBhbnRlcyBkZSBleHBpcmFjacOzbiBwYXJhIHJlZnJlc2NhciB0b2tlbiBlbiBzZWd1bmRvcyAoZGVmYXVsdDogNjApICovXG4gIHJlZnJlc2hCZWZvcmVFeHBpcnk/OiBudW1iZXI7XG4gIC8qKiBIYWJpbGl0YXIgc2luY3Jvbml6YWNpw7NuIGVudHJlIHBlc3Rhw7FhcyAoZGVmYXVsdDogdHJ1ZSkgKi9cbiAgZW5hYmxlVGFiU3luYz86IGJvb2xlYW47XG4gIC8qKiBSdXRhIGRlIHJlZGlyZWNjacOzbiBjdWFuZG8gbm8gYXV0ZW50aWNhZG8gKGRlZmF1bHQ6ICcvbG9naW4nKSAqL1xuICBsb2dpblJvdXRlPzogc3RyaW5nO1xuICAvKiogUnV0YSBkZSByZWRpcmVjY2nDs24gY3VhbmRvIHlhIGF1dGVudGljYWRvIChkZWZhdWx0OiAnLycpICovXG4gIGhvbWVSb3V0ZT86IHN0cmluZztcbiAgLyoqIFJ1dGEgcGFyYSBhY2Nlc28gZGVuZWdhZG8gKGRlZmF1bHQ6ICcvdW5hdXRob3JpemVkJykgKi9cbiAgdW5hdXRob3JpemVkUm91dGU/OiBzdHJpbmc7XG4gIC8qKiBIYWJpbGl0YXIgaW50ZWdyYWNpw7NuIGNvbiBGaXJlYmFzZVNlcnZpY2UgKGRlZmF1bHQ6IGZhbHNlKSAqL1xuICBlbmFibGVGaXJlYmFzZUludGVncmF0aW9uPzogYm9vbGVhbjtcbiAgLyoqIEhhYmlsaXRhciByZWdpc3RybyBhdXRvbcOhdGljbyBkZSBkZXZpY2UgdG9rZW5zIHBhcmEgcHVzaCBub3RpZmljYXRpb25zIChkZWZhdWx0OiBmYWxzZSkgKi9cbiAgZW5hYmxlRGV2aWNlUmVnaXN0cmF0aW9uPzogYm9vbGVhbjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVTVEFETyBERSBBVVRFTlRJQ0FDScOTTlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBFc3RhZG8gY29tcGxldG8gZGUgYXV0ZW50aWNhY2nDs24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFN0YXRlIHtcbiAgLyoqIFVzdWFyaW8gZXN0w6EgYXV0ZW50aWNhZG8gKi9cbiAgaXNBdXRoZW50aWNhdGVkOiBib29sZWFuO1xuICAvKiogRXN0YWRvIGRlIGNhcmdhIGluaWNpYWwgKi9cbiAgaXNMb2FkaW5nOiBib29sZWFuO1xuICAvKiogVG9rZW4gZGUgYWNjZXNvIGFjdHVhbCAqL1xuICBhY2Nlc3NUb2tlbjogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIFRva2VuIGRlIHJlZnJlc2NvIGFjdHVhbCAqL1xuICByZWZyZXNoVG9rZW46IHN0cmluZyB8IG51bGw7XG4gIC8qKiBJRCBkZWwgdXN1YXJpbyAqL1xuICB1c2VySWQ6IHN0cmluZyB8IG51bGw7XG4gIC8qKiBFbWFpbCBkZWwgdXN1YXJpbyAqL1xuICBlbWFpbDogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIFJvbGVzIGRlbCB1c3VhcmlvICovXG4gIHJvbGVzOiBzdHJpbmdbXTtcbiAgLyoqIFBlcm1pc29zIGRlbCB1c3VhcmlvIChmb3JtYXRvICdyZXNvdXJjZTphY3Rpb24nKSAqL1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIC8qKiBVc3VhcmlvIGVzIHN1cGVyIGFkbWluICovXG4gIGlzU3VwZXJBZG1pbjogYm9vbGVhbjtcbiAgLyoqIFVzdWFyaW8gdGllbmUgc3VzY3JpcGNpw7NuIHByZW1pdW0gYWN0aXZhIChubyB2ZSBhZHMpICovXG4gIGlzUHJlbWl1bTogYm9vbGVhbjtcbiAgLyoqIFRpbWVzdGFtcCBkZSBleHBpcmFjacOzbiBkZWwgYWNjZXNzVG9rZW4gKG1zKSAqL1xuICBleHBpcmVzQXQ6IG51bWJlciB8IG51bGw7XG4gIC8qKiBFcnJvciBkZSBhdXRlbnRpY2FjacOzbiAoc2kgZXhpc3RlKSAqL1xuICBlcnJvcjogQXV0aEVycm9yIHwgbnVsbDtcbn1cblxuLyoqXG4gKiBJbmZvcm1hY2nDs24gZGVsIHVzdWFyaW8gYXV0ZW50aWNhZG8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFVzZXIge1xuICB1c2VySWQ6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgcGhvbmU/OiBzdHJpbmc7XG4gIC8qKiBVc2VybmFtZS9oYW5kbGUgZGVsIHVzdWFyaW8gKGVqOiBAdmljdG9ydikgKi9cbiAgaGFuZGxlPzogc3RyaW5nO1xuICAvKiogVVJMIGRlbCBhdmF0YXIgZGVsIHVzdWFyaW8gKi9cbiAgYXZhdGFyVXJsPzogc3RyaW5nO1xuICByb2xlczogc3RyaW5nW107XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgaXNTdXBlckFkbWluOiBib29sZWFuO1xuICBtZmFFbmFibGVkPzogYm9vbGVhbjtcbiAgbWZhTWV0aG9kPzogTUZBTWV0aG9kO1xufVxuXG4vKipcbiAqIEVycm9yIGRlIGF1dGVudGljYWNpw7NuLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhFcnJvciB7XG4gIGNvZGU6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEVzdGFkbyBpbmljaWFsIGRlIGF1dGVudGljYWNpw7NuLlxuICovXG5leHBvcnQgY29uc3QgSU5JVElBTF9BVVRIX1NUQVRFOiBBdXRoU3RhdGUgPSB7XG4gIGlzQXV0aGVudGljYXRlZDogZmFsc2UsXG4gIGlzTG9hZGluZzogdHJ1ZSxcbiAgYWNjZXNzVG9rZW46IG51bGwsXG4gIHJlZnJlc2hUb2tlbjogbnVsbCxcbiAgdXNlcklkOiBudWxsLFxuICBlbWFpbDogbnVsbCxcbiAgcm9sZXM6IFtdLFxuICBwZXJtaXNzaW9uczogW10sXG4gIGlzU3VwZXJBZG1pbjogZmFsc2UsXG4gIGlzUHJlbWl1bTogZmFsc2UsXG4gIGV4cGlyZXNBdDogbnVsbCxcbiAgZXJyb3I6IG51bGwsXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTUZBXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKiogTcOpdG9kb3MgZGUgTUZBIHNvcG9ydGFkb3MgKi9cbmV4cG9ydCB0eXBlIE1GQU1ldGhvZCA9ICdFTUFJTCcgfCAnU01TJyB8ICdUT1RQJztcblxuLyoqXG4gKiBFc3RhZG8gZGUgTUZBIHBlbmRpZW50ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNRkFQZW5kaW5nU3RhdGUge1xuICByZXF1aXJlZDogYm9vbGVhbjtcbiAgbWZhVG9rZW46IHN0cmluZyB8IG51bGw7XG4gIG1ldGhvZDogTUZBTWV0aG9kIHwgbnVsbDtcbn1cblxuLyoqXG4gKiBFc3RhZG8gaW5pY2lhbCBkZSBNRkEuXG4gKi9cbmV4cG9ydCBjb25zdCBJTklUSUFMX01GQV9TVEFURTogTUZBUGVuZGluZ1N0YXRlID0ge1xuICByZXF1aXJlZDogZmFsc2UsXG4gIG1mYVRva2VuOiBudWxsLFxuICBtZXRob2Q6IG51bGwsXG59O1xuXG4vKipcbiAqIFJlc3VsdGFkbyBkZSBzZXR1cCBkZSBNRkEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBU2V0dXBSZXN1bHQge1xuICBjb2RlU2VudDogYm9vbGVhbjtcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEVzdGFkbyBkZSBNRkEgZGVsIHVzdWFyaW8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBU3RhdHVzIHtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgbWV0aG9kOiBNRkFNZXRob2QgfCBudWxsO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVE9UUCBNRkEgKEdvb2dsZSBBdXRoZW50aWNhdG9yKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBzZXR1cCBkZSBUT1RQLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRPVFBTZXR1cFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgLyoqIFNlY3JldG8gVE9UUCBlbiBiYXNlMzIgKHBhcmEgZW50cmFkYSBtYW51YWwpICovXG4gIHNlY3JldDogc3RyaW5nO1xuICAvKiogVVJMIHBhcmEgZ2VuZXJhciBRUiBjb2RlIChvdHBhdXRoOi8vLi4uKSAqL1xuICBxckNvZGVVcmw6IHN0cmluZztcbiAgLyoqIEPDs2RpZ29zIGRlIHJlc3BhbGRvIGRlIHVuIHNvbG8gdXNvICovXG4gIGJhY2t1cENvZGVzOiBzdHJpbmdbXTtcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSB2ZXJpZmljYXIgc2V0dXAgZGUgVE9UUC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUT1RQVmVyaWZ5U2V0dXBSZXF1ZXN0IHtcbiAgLyoqIEPDs2RpZ28gVE9UUCBkZSA2IGTDrWdpdG9zICovXG4gIGNvZGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSB2ZXJpZmljYWNpw7NuIGRlIHNldHVwIFRPVFAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVE9UUFZlcmlmeVNldHVwUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBlbmFibGVkOiBib29sZWFuO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGRlc2hhYmlsaXRhciBUT1RQLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRPVFBEaXNhYmxlUmVxdWVzdCB7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgZGVzaGFiaWxpdGFyIFRPVFAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVE9UUERpc2FibGVSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgcmVnZW5lcmFyIGPDs2RpZ29zIGRlIHJlc3BhbGRvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2VuZXJhdGVCYWNrdXBDb2Rlc1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgYmFja3VwQ29kZXM6IHN0cmluZ1tdO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgY2FudGlkYWQgZGUgY8OzZGlnb3MgZGUgcmVzcGFsZG8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFja3VwQ29kZXNDb3VudFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgY291bnQ6IG51bWJlcjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJFUVVFU1RTL1JFU1BPTlNFUyAoYWxpbmVhZG9zIGNvbiBiYWNrZW5kIEF1dGhWMilcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIHNpZ251cCAocmVnaXN0cm8pLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpZ251cFJlcXVlc3Qge1xuICBlbWFpbDogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHBob25lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIHNpZ251cCAocmVnaXN0cm8pLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpZ251cFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgdmVyaWZpY2FyIGVtYWlsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeUVtYWlsUmVxdWVzdCB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGNvZGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSB2ZXJpZmljYWNpw7NuIGRlIGVtYWlsLlxuICogU2kgZXMgZXhpdG9zbywgaW5jbHV5ZSB0b2tlbnMgcGFyYSBhdXRvLWxvZ2luLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeUVtYWlsUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICB2ZXJpZmllZDogYm9vbGVhbjtcbiAgYWNjZXNzVG9rZW4/OiBzdHJpbmc7XG4gIHJlZnJlc2hUb2tlbj86IHN0cmluZztcbiAgZmlyZWJhc2VUb2tlbj86IHN0cmluZztcbiAgZXhwaXJlc0luPzogbnVtYmVyO1xuICB0b2tlblR5cGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIHJlZW52aWFyIGPDs2RpZ28gZGUgdmVyaWZpY2FjacOzbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNlbmRDb2RlUmVxdWVzdCB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIHR5cGU6ICdFTUFJTF9WRVJJRlknIHwgJ1BBU1NXT1JEX1JFU0VUJztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSByZWVudsOtbyBkZSBjw7NkaWdvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2VuZENvZGVSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIHNlbnQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIHNpZ25pbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaWduaW5SZXF1ZXN0IHtcbiAgZW1haWw6IHN0cmluZztcbiAgcGFzc3dvcmQ6IHN0cmluZztcbiAgLyoqIFBsYXRhZm9ybWEgZGVsIGRpc3Bvc2l0aXZvIChwYXJhIGRldGVjY2nDs24gZGUgbnVldm8gZGlzcG9zaXRpdm8pICovXG4gIHBsYXRmb3JtPzogRGV2aWNlUGxhdGZvcm07XG4gIC8qKiBOYXZlZ2Fkb3IgKHNvbG8gd2ViKSAqL1xuICBicm93c2VyPzogc3RyaW5nO1xuICAvKiogU2lzdGVtYSBvcGVyYXRpdm8gKi9cbiAgb3M/OiBzdHJpbmc7XG4gIC8qKiBOb21icmUgYW1pZ2FibGUgZGVsIGRpc3Bvc2l0aXZvICovXG4gIGRldmljZU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgc2lnbmluLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25pblJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgYWNjZXNzVG9rZW4/OiBzdHJpbmc7XG4gIHJlZnJlc2hUb2tlbj86IHN0cmluZztcbiAgZmlyZWJhc2VUb2tlbj86IHN0cmluZztcbiAgZXhwaXJlc0luPzogbnVtYmVyO1xuICB0b2tlblR5cGU/OiBzdHJpbmc7XG4gIG1mYVJlcXVpcmVkPzogYm9vbGVhbjtcbiAgbWZhVG9rZW4/OiBzdHJpbmc7XG4gIG1mYU1ldGhvZD86IE1GQU1ldGhvZDtcbiAgcm9sZXM/OiBzdHJpbmdbXTtcbiAgcGVybWlzc2lvbnM/OiBzdHJpbmdbXTtcbiAgLyoqIEluZGljYSBzaSBlbCBsb2dpbiBmdWUgZGVzZGUgdW4gZGlzcG9zaXRpdm8gbnVldm8vbm8gcmVjb25vY2lkbyAqL1xuICBpc05ld0RldmljZT86IGJvb2xlYW47XG4gIC8qKiBJRCBkZWwgZGlzcG9zaXRpdm8gdXNhZG8gcGFyYSBlbCBsb2dpbiAqL1xuICBkZXZpY2VJZD86IHN0cmluZztcbiAgLyoqIElkaW9tYSBwcmVmZXJpZG8gZGVsIHVzdWFyaW8gKHBhcmEgc2luY3Jvbml6YXIgY29uIGkxOG4pICovXG4gIGxhbmd1YWdlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSB2ZXJpZmljYXIgTUZBLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1GQVZlcmlmeVJlcXVlc3Qge1xuICBtZmFUb2tlbjogc3RyaW5nO1xuICBjb2RlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgdmVyaWZpY2FyIE1GQS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNRkFWZXJpZnlSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIHJlZnJlc2hUb2tlbjogc3RyaW5nO1xuICBmaXJlYmFzZVRva2VuPzogc3RyaW5nO1xuICBleHBpcmVzSW46IG51bWJlcjtcbiAgdG9rZW5UeXBlOiBzdHJpbmc7XG4gIHJvbGVzPzogc3RyaW5nW107XG4gIHBlcm1pc3Npb25zPzogc3RyaW5nW107XG4gIC8qKiBJZGlvbWEgcHJlZmVyaWRvIGRlbCB1c3VhcmlvIChwYXJhIHNpbmNyb25pemFyIGNvbiBpMThuKSAqL1xuICBsYW5ndWFnZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgcmVmcmVzY2FyIHRva2VuLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZnJlc2hSZXF1ZXN0IHtcbiAgcmVmcmVzaFRva2VuOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgcmVmcmVzY2FyIHRva2VuLlxuICogSW1wbGVtZW50YSB0b2tlbiByb3RhdGlvbjogY2FkYSByZWZyZXNoIGdlbmVyYSB1biBudWV2byByZWZyZXNoIHRva2VuLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZnJlc2hSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIHJlZnJlc2hUb2tlbjogc3RyaW5nOyAvLyBUb2tlbiByb3RhdGlvbjogbnVldm8gcmVmcmVzaCB0b2tlblxuICBleHBpcmVzSW46IG51bWJlcjtcbiAgZmlyZWJhc2VUb2tlbj86IHN0cmluZztcbiAgcm9sZXM/OiBzdHJpbmdbXTtcbiAgcGVybWlzc2lvbnM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgbG9nb3V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvZ291dFJlcXVlc3Qge1xuICByZWZyZXNoVG9rZW46IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBsb2dvdXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9nb3V0UmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBzdWNjZXNzOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIG9idGVuZXIgcGVybWlzb3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0UGVybWlzc2lvbnNSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIHJvbGVzOiBzdHJpbmdbXTtcbiAgcGVybWlzc2lvbnM6IHN0cmluZ1tdO1xuICBpc1N1cGVyQWRtaW46IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIHNldHVwIGRlIE1GQS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNRkFTZXR1cFJlcXVlc3Qge1xuICBtZXRob2Q6IE1GQU1ldGhvZDtcbiAgcGhvbmU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgc2V0dXAgZGUgTUZBLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1GQVNldHVwUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBjb2RlU2VudDogYm9vbGVhbjtcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBjb25maXJtYXIgTUZBLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1GQUNvbmZpcm1SZXF1ZXN0IHtcbiAgY29kZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGNvbmZpcm1hciBNRkEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBQ29uZmlybVJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgbWZhRW5hYmxlZDogYm9vbGVhbjtcbiAgbWV0aG9kOiBNRkFNZXRob2Q7XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGRlc2hhYmlsaXRhciBNRkEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBRGlzYWJsZVJlcXVlc3Qge1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGRlc2hhYmlsaXRhciBNRkEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBRGlzYWJsZVJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgbWZhRGlzYWJsZWQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGluaWNpYXIgcmVjdXBlcmFjacOzbiBkZSBjb250cmFzZcOxYS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGb3Jnb3RQYXNzd29yZFJlcXVlc3Qge1xuICBlbWFpbDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGZvcmdvdCBwYXNzd29yZCAoc2llbXByZSBpZ3VhbCBwb3Igc2VndXJpZGFkKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGb3Jnb3RQYXNzd29yZFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSByZXNldGVhciBjb250cmFzZcOxYSBjb24gY8OzZGlnby5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNldFBhc3N3b3JkUmVxdWVzdCB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGNvZGU6IHN0cmluZztcbiAgbmV3UGFzc3dvcmQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSByZXNldCBwYXNzd29yZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNldFBhc3N3b3JkUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBzdWNjZXNzOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBjYW1iaWFyIGNvbnRyYXNlw7FhICh1c3VhcmlvIGF1dGVudGljYWRvKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGFuZ2VQYXNzd29yZFJlcXVlc3Qge1xuICBjdXJyZW50UGFzc3dvcmQ6IHN0cmluZztcbiAgbmV3UGFzc3dvcmQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBjYW1iaW8gZGUgY29udHJhc2XDsWEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlUGFzc3dvcmRSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGVsaW1pbmFyIGN1ZW50YSAocmVxdWllcmUgY29uZmlybWFjacOzbiBkZSBjb250cmFzZcOxYSkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlQWNjb3VudFJlcXVlc3Qge1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGVsaW1pbmFyIGN1ZW50YS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZWxldGVBY2NvdW50UmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBkZWxldGVkOiBib29sZWFuO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgb2J0ZW5lciBwZXJmaWwgZGVsIHVzdWFyaW8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0UHJvZmlsZVJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgcGhvbmU/OiBzdHJpbmc7XG4gIC8qKiBVc2VybmFtZS9oYW5kbGUgZGVsIHVzdWFyaW8gKi9cbiAgaGFuZGxlPzogc3RyaW5nO1xuICAvKiogVVJMIGRlbCBhdmF0YXIgZGVsIHVzdWFyaW8gKi9cbiAgYXZhdGFyVXJsPzogc3RyaW5nO1xuICBlbWFpbFZlcmlmaWVkOiBib29sZWFuO1xuICBwaG9uZVZlcmlmaWVkOiBib29sZWFuO1xuICBtZmFFbmFibGVkOiBib29sZWFuO1xuICBtZmFNZXRob2Q/OiBNRkFNZXRob2Q7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgYWN0dWFsaXphciBwZXJmaWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUHJvZmlsZVJlcXVlc3Qge1xuICBuYW1lPzogc3RyaW5nO1xuICBwaG9uZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBhY3R1YWxpemFyIHBlcmZpbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVQcm9maWxlUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICB1cGRhdGVkOiBib29sZWFuO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVVBEQVRFIEFWQVRBUlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgYWN0dWFsaXphciBhdmF0YXIgZGVsIHVzdWFyaW8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlQXZhdGFyUmVxdWVzdCB7XG4gIC8qKiBVUkwgZGVsIGF2YXRhciBlbiBGaXJlYmFzZSBTdG9yYWdlICovXG4gIGF2YXRhclVybDogc3RyaW5nO1xuICAvKiogVVJMIGRlbCB0aHVtYm5haWwgKG9wY2lvbmFsKSAqL1xuICBhdmF0YXJUaHVtYm5haWw/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgYWN0dWFsaXphciBhdmF0YXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlQXZhdGFyUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBhdmF0YXJVcmw6IHN0cmluZztcbiAgYXZhdGFyVGh1bWJuYWlsPzogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVWRU5UT1MgREUgU0lOQ1JPTklaQUNJw5NOXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU1dJVENIIE9SR0FOSVpBVElPTlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgY2FtYmlhciBkZSBvcmdhbml6YWNpw7NuIGFjdGl2YS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTd2l0Y2hPcmdSZXF1ZXN0IHtcbiAgb3JnYW5pemF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBjYW1iaW8gZGUgb3JnYW5pemFjacOzbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTd2l0Y2hPcmdSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGZpcmViYXNlVG9rZW46IHN0cmluZztcbiAgYWN0aXZlT3JnOiBzdHJpbmc7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBFVkVOVE9TIERFIFNJTkNST05JWkFDScOTTlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqIFRpcG9zIGRlIGV2ZW50b3MgZGUgc2luY3Jvbml6YWNpw7NuIGVudHJlIHBlc3Rhw7FhcyAqL1xuZXhwb3J0IHR5cGUgQXV0aFN5bmNFdmVudFR5cGUgPVxuICB8ICdMT0dJTidcbiAgfCAnTE9HT1VUJ1xuICB8ICdUT0tFTl9SRUZSRVNIJ1xuICB8ICdQRVJNSVNTSU9OU19VUERBVEUnXG4gIHwgJ09SR19TV0lUQ0gnO1xuXG4vKipcbiAqIEV2ZW50byBkZSBzaW5jcm9uaXphY2nDs24gZW50cmUgcGVzdGHDsWFzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhTeW5jRXZlbnQge1xuICB0eXBlOiBBdXRoU3luY0V2ZW50VHlwZTtcbiAgdGltZXN0YW1wOiBudW1iZXI7XG4gIHBheWxvYWQ/OiB7XG4gICAgYWNjZXNzVG9rZW4/OiBzdHJpbmc7XG4gICAgcmVmcmVzaFRva2VuPzogc3RyaW5nOyAvLyBUb2tlbiByb3RhdGlvbiBzdXBwb3J0XG4gICAgZXhwaXJlc0F0PzogbnVtYmVyO1xuICAgIGFjdGl2ZU9yZz86IHN0cmluZztcbiAgfTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEpXVCBDTEFJTVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ2xhaW1zIGRlbCBKV1QgZGUgYWNjZXNvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEpXVENsYWltcyB7XG4gIC8qKiBVc2VyIElEICovXG4gIHVpZDogc3RyaW5nO1xuICAvKiogRW1haWwgKi9cbiAgZW1haWw6IHN0cmluZztcbiAgLyoqIFNlc3Npb24gSUQgKi9cbiAgc2lkPzogc3RyaW5nO1xuICAvKiogVXN1YXJpbyB0aWVuZSBzdXNjcmlwY2nDs24gcHJlbWl1bSBhY3RpdmEgKi9cbiAgcHJlbWl1bT86IGJvb2xlYW47XG4gIC8qKiBJc3N1ZWQgYXQgKi9cbiAgaWF0OiBudW1iZXI7XG4gIC8qKiBFeHBpcmF0aW9uICovXG4gIGV4cDogbnVtYmVyO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU1RPUkFHRVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBEYXRvcyBwZXJzaXN0aWRvcyBlbiBzdG9yYWdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JlZEF1dGhTdGF0ZSB7XG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIHJlZnJlc2hUb2tlbjogc3RyaW5nO1xuICByb2xlczogc3RyaW5nW107XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgaXNTdXBlckFkbWluOiBib29sZWFuO1xuICBpc1ByZW1pdW0/OiBib29sZWFuO1xuICBleHBpcmVzQXQ/OiBudW1iZXI7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBERVZJQ0UgUkVHSVNUUkFUSU9OIChQdXNoIE5vdGlmaWNhdGlvbnMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFBsYXRhZm9ybWFzIHNvcG9ydGFkYXMgcGFyYSBwdXNoIG5vdGlmaWNhdGlvbnMuXG4gKi9cbmV4cG9ydCB0eXBlIERldmljZVBsYXRmb3JtID0gJ3dlYicgfCAnaW9zJyB8ICdhbmRyb2lkJztcblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgcmVnaXN0cmFyIHVuIGRpc3Bvc2l0aXZvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdGVyRGV2aWNlUmVxdWVzdCB7XG4gIC8qKiBGQ00gdG9rZW4gZGVsIGRpc3Bvc2l0aXZvICovXG4gIHRva2VuOiBzdHJpbmc7XG4gIC8qKiBQbGF0YWZvcm1hIGRlbCBkaXNwb3NpdGl2byAqL1xuICBwbGF0Zm9ybTogRGV2aWNlUGxhdGZvcm07XG4gIC8qKiBOYXZlZ2Fkb3IgKHNvbG8gd2ViKSAqL1xuICBicm93c2VyPzogc3RyaW5nO1xuICAvKiogU2lzdGVtYSBvcGVyYXRpdm8gKi9cbiAgb3M/OiBzdHJpbmc7XG4gIC8qKiBWZXJzacOzbiBkZSBsYSBhcGxpY2FjacOzbiAqL1xuICBhcHBWZXJzaW9uPzogc3RyaW5nO1xuICAvKiogTm9tYnJlIGFtaWdhYmxlIGRlbCBkaXNwb3NpdGl2byAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKiogTWV0YWRhdGEgYWRpY2lvbmFsICovXG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSByZWdpc3RybyBkZSBkaXNwb3NpdGl2by5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlckRldmljZVJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgZGV2aWNlOiB7XG4gICAgZGV2aWNlSWQ6IHN0cmluZztcbiAgICB0b2tlbjogc3RyaW5nO1xuICAgIHBsYXRmb3JtOiBEZXZpY2VQbGF0Zm9ybTtcbiAgICBicm93c2VyPzogc3RyaW5nO1xuICAgIG9zPzogc3RyaW5nO1xuICAgIGxhc3RBY3RpdmU6IHN0cmluZztcbiAgICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgfTtcbiAgLyoqIHRydWUgc2kgZXMgdW4gbnVldm8gZGlzcG9zaXRpdm8sIGZhbHNlIHNpIHNlIGFjdHVhbGl6w7MgdW5vIGV4aXN0ZW50ZSAqL1xuICBpc05ldzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXN1bHRhZG8gZGUgaGFiaWxpdGFyIG5vdGlmaWNhY2lvbmVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVuYWJsZU5vdGlmaWNhdGlvbnNSZXN1bHQge1xuICAvKiogU2kgc2Ugb3Rvcmdhcm9uIGxvcyBwZXJtaXNvcyAqL1xuICBncmFudGVkOiBib29sZWFuO1xuICAvKiogRkNNIHRva2VuIChzb2xvIHNpIGdyYW50ZWQ9dHJ1ZSkgKi9cbiAgdG9rZW4/OiBzdHJpbmc7XG4gIC8qKiBTaSBlbCBkaXNwb3NpdGl2byBmdWUgcmVnaXN0cmFkbyBlbiBlbCBiYWNrZW5kICovXG4gIHJlZ2lzdGVyZWQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEVzdGFkbyBkZSBwZXJtaXNvcyBkZSBub3RpZmljYWNpw7NuLlxuICovXG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25QZXJtaXNzaW9uU3RhdGUgPSAnZ3JhbnRlZCcgfCAnZGVuaWVkJyB8ICdkZWZhdWx0JyB8ICd1bnN1cHBvcnRlZCc7XG5cbi8qKlxuICogUmVzdWx0YWRvIGRlbCByZWdpc3RybyBtYW51YWwgZGUgZGlzcG9zaXRpdm8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJEZXZpY2VSZXN1bHQge1xuICAvKiogU2kgZWwgZGlzcG9zaXRpdm8gZnVlIHJlZ2lzdHJhZG8gZXhpdG9zYW1lbnRlICovXG4gIHJlZ2lzdGVyZWQ6IGJvb2xlYW47XG4gIC8qKiBJRCBkZWwgZGlzcG9zaXRpdm8gKHNvbG8gc2kgcmVnaXN0ZXJlZD10cnVlKSAqL1xuICBkZXZpY2VJZD86IHN0cmluZztcbiAgLyoqIEZDTSB0b2tlbiB1c2FkbyBwYXJhIGVsIHJlZ2lzdHJvICovXG4gIHRva2VuPzogc3RyaW5nO1xuICAvKiogTWVuc2FqZSBkZSBlcnJvciAoc29sbyBzaSByZWdpc3RlcmVkPWZhbHNlKSAqL1xuICBlcnJvcj86IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERFVklDRSBNQU5BR0VNRU5UIChEZXRlY2Npw7NuIGRlIGRpc3Bvc2l0aXZvcyBudWV2b3MpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEVzdGFkb3MgcG9zaWJsZXMgZGUgdW4gZGlzcG9zaXRpdm8uXG4gKi9cbmV4cG9ydCB0eXBlIERldmljZVN0YXR1cyA9ICdhY3RpdmUnIHwgJ3BlbmRpbmdfYXBwcm92YWwnIHwgJ2Jsb2NrZWQnO1xuXG4vKipcbiAqIEluZm9ybWFjacOzbiBjb21wbGV0YSBkZSB1biBkaXNwb3NpdGl2byByZWdpc3RyYWRvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERldmljZUluZm8ge1xuICAvKiogSUQgw7puaWNvIGRlbCBkaXNwb3NpdGl2byAqL1xuICBkZXZpY2VJZDogc3RyaW5nO1xuICAvKiogUGxhdGFmb3JtYSBkZWwgZGlzcG9zaXRpdm8gKi9cbiAgcGxhdGZvcm06IERldmljZVBsYXRmb3JtO1xuICAvKiogTmF2ZWdhZG9yIChzb2xvIHdlYikgKi9cbiAgYnJvd3Nlcj86IHN0cmluZztcbiAgLyoqIFNpc3RlbWEgb3BlcmF0aXZvICovXG4gIG9zPzogc3RyaW5nO1xuICAvKiogTm9tYnJlIGFtaWdhYmxlIGRlbCBkaXNwb3NpdGl2byAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKiogRXN0YWRvIGFjdHVhbCBkZWwgZGlzcG9zaXRpdm8gKi9cbiAgc3RhdHVzOiBEZXZpY2VTdGF0dXM7XG4gIC8qKiBEaXJlY2Npw7NuIElQIGRlbCDDumx0aW1vIGFjY2VzbyAqL1xuICBpcEFkZHJlc3M/OiBzdHJpbmc7XG4gIC8qKiBVYmljYWNpw7NuIGdlb2dyw6FmaWNhIGFwcm94aW1hZGEgKi9cbiAgbG9jYXRpb24/OiBzdHJpbmc7XG4gIC8qKiDDmmx0aW1hIGFjdGl2aWRhZCAqL1xuICBsYXN0QWN0aXZlOiBzdHJpbmc7XG4gIC8qKiBGZWNoYSBkZSBjcmVhY2nDs24vcmVnaXN0cm8gKi9cbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIC8qKiBGZWNoYSBkZSBhcHJvYmFjacOzbiAoc2kgYXBsaWNhKSAqL1xuICBhcHByb3ZlZEF0Pzogc3RyaW5nO1xuICAvKiogRmVjaGEgZGUgYmxvcXVlbyAoc2kgYXBsaWNhKSAqL1xuICBibG9ja2VkQXQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgbGlzdGFyIGRpc3Bvc2l0aXZvcyBkZWwgdXN1YXJpby5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaXN0RGV2aWNlc1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgZGV2aWNlczogRGV2aWNlSW5mb1tdO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGFjY2nDs24gc29icmUgZGlzcG9zaXRpdm8gKGJsb2NrL2FwcHJvdmUvZGVsZXRlKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXZpY2VBY3Rpb25SZXN1bHQge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTRVNTSU9OIE1BTkFHRU1FTlQgKEdlc3Rpw7NuIGRlIHNlc2lvbmVzIGFjdGl2YXMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEluZm9ybWFjacOzbiBkZSB1bmEgc2VzacOzbiBhY3RpdmEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2Vzc2lvbkluZm8ge1xuICAvKiogSUQgw7puaWNvIGRlIGxhIHNlc2nDs24gKi9cbiAgc2Vzc2lvbklkOiBzdHJpbmc7XG4gIC8qKiBJRCBkZWwgZGlzcG9zaXRpdm8gYXNvY2lhZG8gKHNpIGV4aXN0ZSkgKi9cbiAgZGV2aWNlSWQ/OiBzdHJpbmc7XG4gIC8qKiBJbmZvcm1hY2nDs24gZGVsIGRpc3Bvc2l0aXZvIChVc2VyLUFnZW50KSAqL1xuICBkZXZpY2VJbmZvPzogc3RyaW5nO1xuICAvKiogRGlyZWNjacOzbiBJUCBkZSBsYSBzZXNpw7NuICovXG4gIGlwPzogc3RyaW5nO1xuICAvKiogVWJpY2FjacOzbiBnZW9ncsOhZmljYSBhcHJveGltYWRhICovXG4gIGxvY2F0aW9uPzogc3RyaW5nO1xuICAvKiogRmVjaGEgZGUgY3JlYWNpw7NuIGRlIGxhIHNlc2nDs24gKi9cbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIC8qKiBGZWNoYSBkZSBleHBpcmFjacOzbiBkZSBsYSBzZXNpw7NuICovXG4gIGV4cGlyZXNBdDogc3RyaW5nO1xuICAvKiogSW5kaWNhIHNpIGVzIGxhIHNlc2nDs24gYWN0dWFsIGRlbCB1c3VhcmlvICovXG4gIGlzQ3VycmVudDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBsaXN0YXIgc2VzaW9uZXMgYWN0aXZhcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaXN0U2Vzc2lvbnNSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIHNlc3Npb25zOiBTZXNzaW9uSW5mb1tdO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIHJldm9jYXIgc2VzacOzbihlcykuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmV2b2tlU2Vzc2lvbnNSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIC8qKiBOw7ptZXJvIGRlIHNlc2lvbmVzIHJldm9jYWRhcyAqL1xuICBzZXNzaW9uc1Jldm9rZWQ6IG51bWJlcjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERFVklDRSBBQ1RJT04gKEFjY2lvbmVzIGRlc2RlIGVtYWlsIGRlIGFsZXJ0YSlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGVqZWN1dGFyIGFjY2nDs24gZGUgZGlzcG9zaXRpdm8gZGVzZGUgZW1haWwuXG4gKiBFbCB0b2tlbiB2aWVuZSBlbiBsYSBVUkwgZGVsIGVtYWlsIGRlIGFsZXJ0YS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXZpY2VBY3Rpb25SZXF1ZXN0IHtcbiAgLyoqIFRva2VuIEpXVCBkZSBhY2Npw7NuICgyNGgsIHVuIHNvbG8gdXNvKSAqL1xuICB0b2tlbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGVqZWN1dGFyIGFjY2nDs24gZGUgZGlzcG9zaXRpdm8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGV2aWNlQWN0aW9uUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICAvKiogU2kgbGEgYWNjacOzbiBmdWUgZWplY3V0YWRhIGV4aXRvc2FtZW50ZSAqL1xuICBzdWNjZXNzOiBib29sZWFuO1xuICAvKiogQWNjacOzbiBlamVjdXRhZGEgKHJlZnVzZSwgYXBwcm92ZSwgYmxvY2spICovXG4gIGFjdGlvbjogc3RyaW5nO1xuICAvKiogSUQgZGVsIGRpc3Bvc2l0aXZvIGFmZWN0YWRvICovXG4gIGRldmljZUlkOiBzdHJpbmc7XG4gIC8qKiBOw7ptZXJvIGRlIHNlc2lvbmVzIHJldm9jYWRhcyAoc2kgYWN0aW9uPXJlZnVzZS9ibG9jaykgKi9cbiAgc2Vzc2lvbnNSZXZva2VkPzogbnVtYmVyO1xuICAvKiogTWVuc2FqZSBkZXNjcmlwdGl2byAqL1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgdmFsaWRhciB0b2tlbiBkZSBhY2Npw7NuIChzaW4gZWplY3V0YXIpLlxuICogVXNhZG8gcGFyYSBtb3N0cmFyIGNvbmZpcm1hY2nDs24gYWwgdXN1YXJpbyBhbnRlcyBkZSBlamVjdXRhci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0ZUFjdGlvblJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgLyoqIFNpIGVsIHRva2VuIGVzIHbDoWxpZG8gKi9cbiAgdmFsaWQ6IGJvb2xlYW47XG4gIC8qKiBUaXBvIGRlIGFjY2nDs24gKGRldmljZTpyZWZ1c2UsIGRldmljZTphcHByb3ZlLCBldGMuKSAqL1xuICBhY3Rpb25UeXBlPzogc3RyaW5nO1xuICAvKiogVGlwbyBkZSByZWN1cnNvIG9iamV0aXZvIChkZXZpY2UsIGRvY3VtZW50LCBldGMuKSAqL1xuICB0YXJnZXRUeXBlPzogc3RyaW5nO1xuICAvKiogSUQgZGVsIHJlY3Vyc28gb2JqZXRpdm8gKi9cbiAgdGFyZ2V0SWQ/OiBzdHJpbmc7XG4gIC8qKiBNZW5zYWplIGRlIGVycm9yIChzaSB2YWxpZD1mYWxzZSkgKi9cbiAgbWVzc2FnZT86IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE9BVVRIIChMb2dpbiBzb2NpYWwpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFByb3ZlZWRvcmVzIE9BdXRoIHNvcG9ydGFkb3MuXG4gKi9cbmV4cG9ydCB0eXBlIE9BdXRoUHJvdmlkZXIgPSAnZ29vZ2xlJyB8ICdhcHBsZScgfCAnbWljcm9zb2Z0JztcblxuLyoqXG4gKiBSZXN1bHRhZG8gZXhpdG9zbyBkZSBmbHVqbyBPQXV0aC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPQXV0aFJlc3VsdCB7XG4gIC8qKiBUb2tlbiBkZSBhY2Nlc28gSldUICovXG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIC8qKiBUb2tlbiBkZSByZWZyZXNjbyAqL1xuICByZWZyZXNoVG9rZW46IHN0cmluZztcbiAgLyoqIFRva2VuIGRlIEZpcmViYXNlIChzaSBlc3TDoSBoYWJpbGl0YWRvKSAqL1xuICBmaXJlYmFzZVRva2VuPzogc3RyaW5nO1xuICAvKiogVGllbXBvIGRlIGV4cGlyYWNpw7NuIGVuIHNlZ3VuZG9zICovXG4gIGV4cGlyZXNJbjogbnVtYmVyO1xuICAvKiogUm9sZXMgZGVsIHVzdWFyaW8gKi9cbiAgcm9sZXM/OiBzdHJpbmdbXTtcbiAgLyoqIFBlcm1pc29zIGRlbCB1c3VhcmlvICovXG4gIHBlcm1pc3Npb25zPzogc3RyaW5nW107XG4gIC8qKiBJbmRpY2Egc2kgZXMgdW4gdXN1YXJpbyBudWV2byAocmVjacOpbiBjcmVhZG8pICovXG4gIGlzTmV3VXNlcj86IGJvb2xlYW47XG4gIC8qKiBJbmRpY2Egc2kgbGEgY3VlbnRhIGZ1ZSB2aW5jdWxhZGEgYSB1c3VhcmlvIGV4aXN0ZW50ZSAqL1xuICBsaW5rZWQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEVycm9yIGRlIE9BdXRoLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9BdXRoRXJyb3Ige1xuICAvKiogQ8OzZGlnbyBkZSBlcnJvciAqL1xuICBjb2RlOiBzdHJpbmc7XG4gIC8qKiBNZW5zYWplIGRlc2NyaXB0aXZvICovXG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBEYXRvcyBlbnZpYWRvcyBkZXNkZSBwb3B1cCBjYWxsYmFjayB2aWEgcG9zdE1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT0F1dGhDYWxsYmFja0RhdGEge1xuICAvKiogVGlwbyBkZSBtZW5zYWplICovXG4gIHR5cGU6ICdvYXV0aC1jYWxsYmFjayc7XG4gIC8qKiBUb2tlbnMgKHNpIMOpeGl0bykgKi9cbiAgdG9rZW5zPzogT0F1dGhSZXN1bHQ7XG4gIC8qKiBFcnJvciAoc2kgZmFsbMOzKSAqL1xuICBlcnJvcj86IE9BdXRoRXJyb3I7XG59XG5cbi8qKlxuICogUHJvdmVlZG9yIE9BdXRoIHZpbmN1bGFkbyBhbCB1c3VhcmlvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpbmtlZFByb3ZpZGVyIHtcbiAgLyoqIE5vbWJyZSBkZWwgcHJvdmVlZG9yICovXG4gIHByb3ZpZGVyOiBPQXV0aFByb3ZpZGVyO1xuICAvKiogRW1haWwgYXNvY2lhZG8gYWwgcHJvdmVlZG9yICovXG4gIGVtYWlsOiBzdHJpbmc7XG4gIC8qKiBOb21icmUgZGVsIHVzdWFyaW8gZW4gZWwgcHJvdmVlZG9yICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKiBVUkwgZGUgaW1hZ2VuIGRlIHBlcmZpbCAqL1xuICBwaWN0dXJlPzogc3RyaW5nO1xuICAvKiogRmVjaGEgZGUgdmluY3VsYWNpw7NuICovXG4gIGxpbmtlZEF0OiBzdHJpbmc7XG4gIC8qKiDDmmx0aW1hIHZleiBxdWUgc2UgdXPDsyBwYXJhIGxvZ2luICovXG4gIGxhc3RVc2VkQXQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgdmVyaWZpY2FyIHNpIHRpZW5lIGNvbnRyYXNlw7FhLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhhc1Bhc3N3b3JkUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBoYXNQYXNzd29yZDogYm9vbGVhbjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhBTkRMRSAoVXNlcm5hbWUpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBhY3R1YWxpemFyIGhhbmRsZSAoQHVzZXJuYW1lKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVIYW5kbGVSZXF1ZXN0IHtcbiAgaGFuZGxlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgYWN0dWFsaXphciBoYW5kbGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlSGFuZGxlUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBoYW5kbGU6IHN0cmluZztcbiAgdXBkYXRlZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgdmVyaWZpY2FyIGRpc3BvbmliaWxpZGFkIGRlIGhhbmRsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGVja0hhbmRsZVJlcXVlc3Qge1xuICBoYW5kbGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSB2ZXJpZmljYXIgZGlzcG9uaWJpbGlkYWQgZGUgaGFuZGxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrSGFuZGxlUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBoYW5kbGU6IHN0cmluZztcbiAgYXZhaWxhYmxlOiBib29sZWFuO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTElOS0VEIFBST1ZJREVSUyAoT0F1dGgpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIG9idGVuZXIgcHJvdmVlZG9yZXMgT0F1dGggdmluY3VsYWRvcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRMaW5rZWRQcm92aWRlcnNSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIHByb3ZpZGVyczogTGlua2VkUHJvdmlkZXJbXTtcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgZGVzdmluY3VsYXIgdW4gcHJvdmVlZG9yIE9BdXRoLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVubGlua1Byb3ZpZGVyUmVxdWVzdCB7XG4gIHByb3ZpZGVyOiBPQXV0aFByb3ZpZGVyO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGRlc3ZpbmN1bGFyIHByb3ZlZWRvci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVbmxpbmtQcm92aWRlclJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgdW5saW5rZWQ6IGJvb2xlYW47XG59XG5cbiJdfQ==
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { IMAGE_DEFAULTS, } from './types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* ImageService
|
|
6
|
+
*
|
|
7
|
+
* Service for image processing including compression, thumbnails, cropping and validation.
|
|
8
|
+
* Uses HTML Canvas for all operations - no external dependencies.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const imageService = inject(ImageService);
|
|
13
|
+
*
|
|
14
|
+
* // Compress an image
|
|
15
|
+
* const compressed = await imageService.compress(file, { maxWidth: 800, quality: 0.8 });
|
|
16
|
+
*
|
|
17
|
+
* // Generate thumbnail
|
|
18
|
+
* const thumb = await imageService.thumbnail(file, 150);
|
|
19
|
+
*
|
|
20
|
+
* // Validate before processing
|
|
21
|
+
* const validation = imageService.validate(file, { maxSize: 5 * 1024 * 1024 });
|
|
22
|
+
* if (!validation.valid) {
|
|
23
|
+
* console.error(validation.message);
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export class ImageService {
|
|
28
|
+
/**
|
|
29
|
+
* Compress an image maintaining aspect ratio
|
|
30
|
+
* @param file - File or Blob to compress
|
|
31
|
+
* @param options - Compression options
|
|
32
|
+
* @returns Promise with processed image data
|
|
33
|
+
*/
|
|
34
|
+
async compress(file, options) {
|
|
35
|
+
const opts = {
|
|
36
|
+
maxWidth: options?.maxWidth ?? IMAGE_DEFAULTS.maxWidth,
|
|
37
|
+
maxHeight: options?.maxHeight ?? IMAGE_DEFAULTS.maxHeight,
|
|
38
|
+
quality: options?.quality ?? IMAGE_DEFAULTS.quality,
|
|
39
|
+
mimeType: options?.mimeType ?? IMAGE_DEFAULTS.mimeType,
|
|
40
|
+
};
|
|
41
|
+
const img = await this.loadImage(file);
|
|
42
|
+
const { width, height } = this.calculateDimensions(img.width, img.height, opts.maxWidth, opts.maxHeight);
|
|
43
|
+
const canvas = document.createElement('canvas');
|
|
44
|
+
canvas.width = width;
|
|
45
|
+
canvas.height = height;
|
|
46
|
+
const ctx = canvas.getContext('2d');
|
|
47
|
+
ctx.drawImage(img, 0, 0, width, height);
|
|
48
|
+
const blob = await this.canvasToBlob(canvas, opts.mimeType, opts.quality);
|
|
49
|
+
const dataUrl = canvas.toDataURL(opts.mimeType, opts.quality);
|
|
50
|
+
return {
|
|
51
|
+
blob,
|
|
52
|
+
dataUrl,
|
|
53
|
+
width,
|
|
54
|
+
height,
|
|
55
|
+
size: blob.size,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Generate a square thumbnail from an image
|
|
60
|
+
* @param file - File or Blob to process
|
|
61
|
+
* @param size - Thumbnail size in pixels (default: 150)
|
|
62
|
+
* @returns Promise with processed thumbnail
|
|
63
|
+
*/
|
|
64
|
+
async thumbnail(file, size) {
|
|
65
|
+
const thumbSize = size ?? IMAGE_DEFAULTS.thumbnailSize;
|
|
66
|
+
const img = await this.loadImage(file);
|
|
67
|
+
// Calculate square crop from center
|
|
68
|
+
const minDim = Math.min(img.width, img.height);
|
|
69
|
+
const cropX = (img.width - minDim) / 2;
|
|
70
|
+
const cropY = (img.height - minDim) / 2;
|
|
71
|
+
const canvas = document.createElement('canvas');
|
|
72
|
+
canvas.width = thumbSize;
|
|
73
|
+
canvas.height = thumbSize;
|
|
74
|
+
const ctx = canvas.getContext('2d');
|
|
75
|
+
ctx.drawImage(img, cropX, cropY, minDim, minDim, 0, 0, thumbSize, thumbSize);
|
|
76
|
+
const blob = await this.canvasToBlob(canvas, IMAGE_DEFAULTS.mimeType, 0.7 // Lower quality for thumbnails
|
|
77
|
+
);
|
|
78
|
+
const dataUrl = canvas.toDataURL(IMAGE_DEFAULTS.mimeType, 0.7);
|
|
79
|
+
return {
|
|
80
|
+
blob,
|
|
81
|
+
dataUrl,
|
|
82
|
+
width: thumbSize,
|
|
83
|
+
height: thumbSize,
|
|
84
|
+
size: blob.size,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Crop an image with specific coordinates
|
|
89
|
+
* @param file - File or Blob to crop
|
|
90
|
+
* @param cropData - Crop coordinates and dimensions
|
|
91
|
+
* @param options - Optional compression options for output
|
|
92
|
+
* @returns Promise with cropped image
|
|
93
|
+
*/
|
|
94
|
+
async crop(file, cropData, options) {
|
|
95
|
+
const img = await this.loadImage(file);
|
|
96
|
+
const opts = {
|
|
97
|
+
quality: options?.quality ?? IMAGE_DEFAULTS.quality,
|
|
98
|
+
mimeType: options?.mimeType ?? IMAGE_DEFAULTS.mimeType,
|
|
99
|
+
};
|
|
100
|
+
const canvas = document.createElement('canvas');
|
|
101
|
+
canvas.width = cropData.width;
|
|
102
|
+
canvas.height = cropData.height;
|
|
103
|
+
const ctx = canvas.getContext('2d');
|
|
104
|
+
ctx.drawImage(img, cropData.x, cropData.y, cropData.width, cropData.height, 0, 0, cropData.width, cropData.height);
|
|
105
|
+
// Apply max dimensions if specified
|
|
106
|
+
if (options?.maxWidth || options?.maxHeight) {
|
|
107
|
+
return this.compress(await this.canvasToBlob(canvas, opts.mimeType, 1), options);
|
|
108
|
+
}
|
|
109
|
+
const blob = await this.canvasToBlob(canvas, opts.mimeType, opts.quality);
|
|
110
|
+
const dataUrl = canvas.toDataURL(opts.mimeType, opts.quality);
|
|
111
|
+
return {
|
|
112
|
+
blob,
|
|
113
|
+
dataUrl,
|
|
114
|
+
width: cropData.width,
|
|
115
|
+
height: cropData.height,
|
|
116
|
+
size: blob.size,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Validate an image file before processing
|
|
121
|
+
* @param file - File to validate
|
|
122
|
+
* @param options - Validation options
|
|
123
|
+
* @returns Validation result with error details if invalid
|
|
124
|
+
*/
|
|
125
|
+
validate(file, options) {
|
|
126
|
+
const opts = {
|
|
127
|
+
maxSize: options?.maxSize ?? IMAGE_DEFAULTS.maxSize,
|
|
128
|
+
allowedTypes: options?.allowedTypes ?? IMAGE_DEFAULTS.allowedTypes,
|
|
129
|
+
};
|
|
130
|
+
// Check file type
|
|
131
|
+
if (!opts.allowedTypes.includes(file.type)) {
|
|
132
|
+
return {
|
|
133
|
+
valid: false,
|
|
134
|
+
error: 'invalidType',
|
|
135
|
+
message: `Formato no válido. Usa: ${opts.allowedTypes.map(t => t.split('/')[1].toUpperCase()).join(', ')}`,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
// Check file size
|
|
139
|
+
if (file.size > opts.maxSize) {
|
|
140
|
+
const maxMB = Math.round(opts.maxSize / (1024 * 1024));
|
|
141
|
+
return {
|
|
142
|
+
valid: false,
|
|
143
|
+
error: 'fileTooLarge',
|
|
144
|
+
message: `La imagen es muy grande. Máximo ${maxMB}MB`,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
return { valid: true };
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Validate image dimensions (async - requires loading image)
|
|
151
|
+
* @param file - File to validate
|
|
152
|
+
* @param options - Validation options with minWidth/minHeight
|
|
153
|
+
* @returns Promise with validation result
|
|
154
|
+
*/
|
|
155
|
+
async validateDimensions(file, options) {
|
|
156
|
+
const img = await this.loadImage(file);
|
|
157
|
+
if (options.minWidth && img.width < options.minWidth) {
|
|
158
|
+
return {
|
|
159
|
+
valid: false,
|
|
160
|
+
error: 'imageTooSmall',
|
|
161
|
+
message: `La imagen debe tener al menos ${options.minWidth}px de ancho`,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
if (options.minHeight && img.height < options.minHeight) {
|
|
165
|
+
return {
|
|
166
|
+
valid: false,
|
|
167
|
+
error: 'imageTooSmall',
|
|
168
|
+
message: `La imagen debe tener al menos ${options.minHeight}px de alto`,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
return { valid: true };
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Convert a Blob/File to a data URL
|
|
175
|
+
*/
|
|
176
|
+
async toDataUrl(file) {
|
|
177
|
+
return new Promise((resolve, reject) => {
|
|
178
|
+
const reader = new FileReader();
|
|
179
|
+
reader.onload = () => resolve(reader.result);
|
|
180
|
+
reader.onerror = reject;
|
|
181
|
+
reader.readAsDataURL(file);
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Convert a data URL to a Blob
|
|
186
|
+
*/
|
|
187
|
+
dataUrlToBlob(dataUrl) {
|
|
188
|
+
const arr = dataUrl.split(',');
|
|
189
|
+
const mime = arr[0].match(/:(.*?);/)[1];
|
|
190
|
+
const bstr = atob(arr[1]);
|
|
191
|
+
let n = bstr.length;
|
|
192
|
+
const u8arr = new Uint8Array(n);
|
|
193
|
+
while (n--) {
|
|
194
|
+
u8arr[n] = bstr.charCodeAt(n);
|
|
195
|
+
}
|
|
196
|
+
return new Blob([u8arr], { type: mime });
|
|
197
|
+
}
|
|
198
|
+
// ============== Private Helpers ==============
|
|
199
|
+
loadImage(file) {
|
|
200
|
+
return new Promise((resolve, reject) => {
|
|
201
|
+
const img = new Image();
|
|
202
|
+
img.onload = () => {
|
|
203
|
+
URL.revokeObjectURL(img.src);
|
|
204
|
+
resolve(img);
|
|
205
|
+
};
|
|
206
|
+
img.onerror = reject;
|
|
207
|
+
img.src = URL.createObjectURL(file);
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
calculateDimensions(originalWidth, originalHeight, maxWidth, maxHeight) {
|
|
211
|
+
let width = originalWidth;
|
|
212
|
+
let height = originalHeight;
|
|
213
|
+
// Scale down if necessary, maintaining aspect ratio
|
|
214
|
+
if (width > maxWidth) {
|
|
215
|
+
height = (height * maxWidth) / width;
|
|
216
|
+
width = maxWidth;
|
|
217
|
+
}
|
|
218
|
+
if (height > maxHeight) {
|
|
219
|
+
width = (width * maxHeight) / height;
|
|
220
|
+
height = maxHeight;
|
|
221
|
+
}
|
|
222
|
+
return {
|
|
223
|
+
width: Math.round(width),
|
|
224
|
+
height: Math.round(height),
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
canvasToBlob(canvas, mimeType, quality) {
|
|
228
|
+
return new Promise((resolve, reject) => {
|
|
229
|
+
canvas.toBlob((blob) => {
|
|
230
|
+
if (blob)
|
|
231
|
+
resolve(blob);
|
|
232
|
+
else
|
|
233
|
+
reject(new Error('Failed to create blob from canvas'));
|
|
234
|
+
}, mimeType, quality);
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
238
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ImageService, providedIn: 'root' }); }
|
|
239
|
+
}
|
|
240
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ImageService, decorators: [{
|
|
241
|
+
type: Injectable,
|
|
242
|
+
args: [{ providedIn: 'root' }]
|
|
243
|
+
}] });
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvaW1hZ2UvaW1hZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFFTCxjQUFjLEdBS2YsTUFBTSxTQUFTLENBQUM7O0FBRWpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsTUFBTSxPQUFPLFlBQVk7SUFDdkI7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsUUFBUSxDQUNaLElBQWlCLEVBQ2pCLE9BQThCO1FBRTlCLE1BQU0sSUFBSSxHQUFHO1lBQ1gsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLElBQUksY0FBYyxDQUFDLFFBQVE7WUFDdEQsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLElBQUksY0FBYyxDQUFDLFNBQVM7WUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLElBQUksY0FBYyxDQUFDLE9BQU87WUFDbkQsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLElBQUksY0FBYyxDQUFDLFFBQVE7U0FDdkQsQ0FBQztRQUVGLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FDaEQsR0FBRyxDQUFDLEtBQUssRUFDVCxHQUFHLENBQUMsTUFBTSxFQUNWLElBQUksQ0FBQyxRQUFRLEVBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FDZixDQUFDO1FBRUYsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNyQixNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUV2QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBRSxDQUFDO1FBQ3JDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXhDLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUUsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5RCxPQUFPO1lBQ0wsSUFBSTtZQUNKLE9BQU87WUFDUCxLQUFLO1lBQ0wsTUFBTTtZQUNOLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFpQixFQUFFLElBQWE7UUFDOUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLGNBQWMsQ0FBQyxhQUFhLENBQUM7UUFDdkQsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXZDLG9DQUFvQztRQUNwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV4QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBRTFCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFFLENBQUM7UUFDckMsR0FBRyxDQUFDLFNBQVMsQ0FDWCxHQUFHLEVBQ0gsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLENBQUMsRUFDRCxDQUFDLEVBQ0QsU0FBUyxFQUNULFNBQVMsQ0FDVixDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUNsQyxNQUFNLEVBQ04sY0FBYyxDQUFDLFFBQVEsRUFDdkIsR0FBRyxDQUFDLCtCQUErQjtTQUNwQyxDQUFDO1FBQ0YsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRS9ELE9BQU87WUFDTCxJQUFJO1lBQ0osT0FBTztZQUNQLEtBQUssRUFBRSxTQUFTO1lBQ2hCLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQ1IsSUFBaUIsRUFDakIsUUFBa0IsRUFDbEIsT0FBOEI7UUFFOUIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sSUFBSSxHQUFHO1lBQ1gsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLElBQUksY0FBYyxDQUFDLE9BQU87WUFDbkQsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLElBQUksY0FBYyxDQUFDLFFBQVE7U0FDdkQsQ0FBQztRQUVGLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsTUFBTSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUVoQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBRSxDQUFDO1FBQ3JDLEdBQUcsQ0FBQyxTQUFTLENBQ1gsR0FBRyxFQUNILFFBQVEsQ0FBQyxDQUFDLEVBQ1YsUUFBUSxDQUFDLENBQUMsRUFDVixRQUFRLENBQUMsS0FBSyxFQUNkLFFBQVEsQ0FBQyxNQUFNLEVBQ2YsQ0FBQyxFQUNELENBQUMsRUFDRCxRQUFRLENBQUMsS0FBSyxFQUNkLFFBQVEsQ0FBQyxNQUFNLENBQ2hCLENBQUM7UUFFRixvQ0FBb0M7UUFDcEMsSUFBSSxPQUFPLEVBQUUsUUFBUSxJQUFJLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUM1QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25GLENBQUM7UUFFRCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFFLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUQsT0FBTztZQUNMLElBQUk7WUFDSixPQUFPO1lBQ1AsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO1lBQ3JCLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTTtZQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDaEIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsQ0FBQyxJQUFVLEVBQUUsT0FBOEI7UUFDakQsTUFBTSxJQUFJLEdBQUc7WUFDWCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sSUFBSSxjQUFjLENBQUMsT0FBTztZQUNuRCxZQUFZLEVBQUUsT0FBTyxFQUFFLFlBQVksSUFBSSxjQUFjLENBQUMsWUFBWTtTQUNuRSxDQUFDO1FBRUYsa0JBQWtCO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQyxPQUFPO2dCQUNMLEtBQUssRUFBRSxLQUFLO2dCQUNaLEtBQUssRUFBRSxhQUFhO2dCQUNwQixPQUFPLEVBQUUsMkJBQTJCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTthQUMzRyxDQUFDO1FBQ0osQ0FBQztRQUVELGtCQUFrQjtRQUNsQixJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELE9BQU87Z0JBQ0wsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osS0FBSyxFQUFFLGNBQWM7Z0JBQ3JCLE9BQU8sRUFBRSxtQ0FBbUMsS0FBSyxJQUFJO2FBQ3RELENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsa0JBQWtCLENBQ3RCLElBQVUsRUFDVixPQUE2RDtRQUU3RCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkMsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLEdBQUcsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JELE9BQU87Z0JBQ0wsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osS0FBSyxFQUFFLGVBQWU7Z0JBQ3RCLE9BQU8sRUFBRSxpQ0FBaUMsT0FBTyxDQUFDLFFBQVEsYUFBYTthQUN4RSxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN4RCxPQUFPO2dCQUNMLEtBQUssRUFBRSxLQUFLO2dCQUNaLEtBQUssRUFBRSxlQUFlO2dCQUN0QixPQUFPLEVBQUUsaUNBQWlDLE9BQU8sQ0FBQyxTQUFTLFlBQVk7YUFDeEUsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBaUI7UUFDL0IsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFnQixDQUFDLENBQUM7WUFDdkQsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7WUFDeEIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWEsQ0FBQyxPQUFlO1FBQzNCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDWCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELGdEQUFnRDtJQUV4QyxTQUFTLENBQUMsSUFBaUI7UUFDakMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3hCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO2dCQUNoQixHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2YsQ0FBQyxDQUFDO1lBQ0YsR0FBRyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7WUFDckIsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG1CQUFtQixDQUN6QixhQUFxQixFQUNyQixjQUFzQixFQUN0QixRQUFnQixFQUNoQixTQUFpQjtRQUVqQixJQUFJLEtBQUssR0FBRyxhQUFhLENBQUM7UUFDMUIsSUFBSSxNQUFNLEdBQUcsY0FBYyxDQUFDO1FBRTVCLG9EQUFvRDtRQUNwRCxJQUFJLEtBQUssR0FBRyxRQUFRLEVBQUUsQ0FBQztZQUNyQixNQUFNLEdBQUcsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ3JDLEtBQUssR0FBRyxRQUFRLENBQUM7UUFDbkIsQ0FBQztRQUVELElBQUksTUFBTSxHQUFHLFNBQVMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssR0FBRyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDckMsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUNyQixDQUFDO1FBRUQsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7U0FDM0IsQ0FBQztJQUNKLENBQUM7SUFFTyxZQUFZLENBQ2xCLE1BQXlCLEVBQ3pCLFFBQWdCLEVBQ2hCLE9BQWU7UUFFZixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLE1BQU0sQ0FBQyxNQUFNLENBQ1gsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDUCxJQUFJLElBQUk7b0JBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDOztvQkFDbkIsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQztZQUM5RCxDQUFDLEVBQ0QsUUFBUSxFQUNSLE9BQU8sQ0FDUixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQXBTVSxZQUFZO21IQUFaLFlBQVksY0FEQyxNQUFNOzs0RkFDbkIsWUFBWTtrQkFEeEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDcm9wRGF0YSxcbiAgSU1BR0VfREVGQVVMVFMsXG4gIEltYWdlQ29tcHJlc3NPcHRpb25zLFxuICBJbWFnZVZhbGlkYXRlT3B0aW9ucyxcbiAgSW1hZ2VWYWxpZGF0aW9uUmVzdWx0LFxuICBQcm9jZXNzZWRJbWFnZSxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogSW1hZ2VTZXJ2aWNlXG4gKlxuICogU2VydmljZSBmb3IgaW1hZ2UgcHJvY2Vzc2luZyBpbmNsdWRpbmcgY29tcHJlc3Npb24sIHRodW1ibmFpbHMsIGNyb3BwaW5nIGFuZCB2YWxpZGF0aW9uLlxuICogVXNlcyBIVE1MIENhbnZhcyBmb3IgYWxsIG9wZXJhdGlvbnMgLSBubyBleHRlcm5hbCBkZXBlbmRlbmNpZXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGltYWdlU2VydmljZSA9IGluamVjdChJbWFnZVNlcnZpY2UpO1xuICpcbiAqIC8vIENvbXByZXNzIGFuIGltYWdlXG4gKiBjb25zdCBjb21wcmVzc2VkID0gYXdhaXQgaW1hZ2VTZXJ2aWNlLmNvbXByZXNzKGZpbGUsIHsgbWF4V2lkdGg6IDgwMCwgcXVhbGl0eTogMC44IH0pO1xuICpcbiAqIC8vIEdlbmVyYXRlIHRodW1ibmFpbFxuICogY29uc3QgdGh1bWIgPSBhd2FpdCBpbWFnZVNlcnZpY2UudGh1bWJuYWlsKGZpbGUsIDE1MCk7XG4gKlxuICogLy8gVmFsaWRhdGUgYmVmb3JlIHByb2Nlc3NpbmdcbiAqIGNvbnN0IHZhbGlkYXRpb24gPSBpbWFnZVNlcnZpY2UudmFsaWRhdGUoZmlsZSwgeyBtYXhTaXplOiA1ICogMTAyNCAqIDEwMjQgfSk7XG4gKiBpZiAoIXZhbGlkYXRpb24udmFsaWQpIHtcbiAqICAgY29uc29sZS5lcnJvcih2YWxpZGF0aW9uLm1lc3NhZ2UpO1xuICogfVxuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgSW1hZ2VTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIENvbXByZXNzIGFuIGltYWdlIG1haW50YWluaW5nIGFzcGVjdCByYXRpb1xuICAgKiBAcGFyYW0gZmlsZSAtIEZpbGUgb3IgQmxvYiB0byBjb21wcmVzc1xuICAgKiBAcGFyYW0gb3B0aW9ucyAtIENvbXByZXNzaW9uIG9wdGlvbnNcbiAgICogQHJldHVybnMgUHJvbWlzZSB3aXRoIHByb2Nlc3NlZCBpbWFnZSBkYXRhXG4gICAqL1xuICBhc3luYyBjb21wcmVzcyhcbiAgICBmaWxlOiBGaWxlIHwgQmxvYixcbiAgICBvcHRpb25zPzogSW1hZ2VDb21wcmVzc09wdGlvbnNcbiAgKTogUHJvbWlzZTxQcm9jZXNzZWRJbWFnZT4ge1xuICAgIGNvbnN0IG9wdHMgPSB7XG4gICAgICBtYXhXaWR0aDogb3B0aW9ucz8ubWF4V2lkdGggPz8gSU1BR0VfREVGQVVMVFMubWF4V2lkdGgsXG4gICAgICBtYXhIZWlnaHQ6IG9wdGlvbnM/Lm1heEhlaWdodCA/PyBJTUFHRV9ERUZBVUxUUy5tYXhIZWlnaHQsXG4gICAgICBxdWFsaXR5OiBvcHRpb25zPy5xdWFsaXR5ID8/IElNQUdFX0RFRkFVTFRTLnF1YWxpdHksXG4gICAgICBtaW1lVHlwZTogb3B0aW9ucz8ubWltZVR5cGUgPz8gSU1BR0VfREVGQVVMVFMubWltZVR5cGUsXG4gICAgfTtcblxuICAgIGNvbnN0IGltZyA9IGF3YWl0IHRoaXMubG9hZEltYWdlKGZpbGUpO1xuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy5jYWxjdWxhdGVEaW1lbnNpb25zKFxuICAgICAgaW1nLndpZHRoLFxuICAgICAgaW1nLmhlaWdodCxcbiAgICAgIG9wdHMubWF4V2lkdGgsXG4gICAgICBvcHRzLm1heEhlaWdodFxuICAgICk7XG5cbiAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICBjYW52YXMud2lkdGggPSB3aWR0aDtcbiAgICBjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0O1xuXG4gICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJykhO1xuICAgIGN0eC5kcmF3SW1hZ2UoaW1nLCAwLCAwLCB3aWR0aCwgaGVpZ2h0KTtcblxuICAgIGNvbnN0IGJsb2IgPSBhd2FpdCB0aGlzLmNhbnZhc1RvQmxvYihjYW52YXMsIG9wdHMubWltZVR5cGUsIG9wdHMucXVhbGl0eSk7XG4gICAgY29uc3QgZGF0YVVybCA9IGNhbnZhcy50b0RhdGFVUkwob3B0cy5taW1lVHlwZSwgb3B0cy5xdWFsaXR5KTtcblxuICAgIHJldHVybiB7XG4gICAgICBibG9iLFxuICAgICAgZGF0YVVybCxcbiAgICAgIHdpZHRoLFxuICAgICAgaGVpZ2h0LFxuICAgICAgc2l6ZTogYmxvYi5zaXplLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgYSBzcXVhcmUgdGh1bWJuYWlsIGZyb20gYW4gaW1hZ2VcbiAgICogQHBhcmFtIGZpbGUgLSBGaWxlIG9yIEJsb2IgdG8gcHJvY2Vzc1xuICAgKiBAcGFyYW0gc2l6ZSAtIFRodW1ibmFpbCBzaXplIGluIHBpeGVscyAoZGVmYXVsdDogMTUwKVxuICAgKiBAcmV0dXJucyBQcm9taXNlIHdpdGggcHJvY2Vzc2VkIHRodW1ibmFpbFxuICAgKi9cbiAgYXN5bmMgdGh1bWJuYWlsKGZpbGU6IEZpbGUgfCBCbG9iLCBzaXplPzogbnVtYmVyKTogUHJvbWlzZTxQcm9jZXNzZWRJbWFnZT4ge1xuICAgIGNvbnN0IHRodW1iU2l6ZSA9IHNpemUgPz8gSU1BR0VfREVGQVVMVFMudGh1bWJuYWlsU2l6ZTtcbiAgICBjb25zdCBpbWcgPSBhd2FpdCB0aGlzLmxvYWRJbWFnZShmaWxlKTtcblxuICAgIC8vIENhbGN1bGF0ZSBzcXVhcmUgY3JvcCBmcm9tIGNlbnRlclxuICAgIGNvbnN0IG1pbkRpbSA9IE1hdGgubWluKGltZy53aWR0aCwgaW1nLmhlaWdodCk7XG4gICAgY29uc3QgY3JvcFggPSAoaW1nLndpZHRoIC0gbWluRGltKSAvIDI7XG4gICAgY29uc3QgY3JvcFkgPSAoaW1nLmhlaWdodCAtIG1pbkRpbSkgLyAyO1xuXG4gICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgY2FudmFzLndpZHRoID0gdGh1bWJTaXplO1xuICAgIGNhbnZhcy5oZWlnaHQgPSB0aHVtYlNpemU7XG5cbiAgICBjb25zdCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKSE7XG4gICAgY3R4LmRyYXdJbWFnZShcbiAgICAgIGltZyxcbiAgICAgIGNyb3BYLFxuICAgICAgY3JvcFksXG4gICAgICBtaW5EaW0sXG4gICAgICBtaW5EaW0sXG4gICAgICAwLFxuICAgICAgMCxcbiAgICAgIHRodW1iU2l6ZSxcbiAgICAgIHRodW1iU2l6ZVxuICAgICk7XG5cbiAgICBjb25zdCBibG9iID0gYXdhaXQgdGhpcy5jYW52YXNUb0Jsb2IoXG4gICAgICBjYW52YXMsXG4gICAgICBJTUFHRV9ERUZBVUxUUy5taW1lVHlwZSxcbiAgICAgIDAuNyAvLyBMb3dlciBxdWFsaXR5IGZvciB0aHVtYm5haWxzXG4gICAgKTtcbiAgICBjb25zdCBkYXRhVXJsID0gY2FudmFzLnRvRGF0YVVSTChJTUFHRV9ERUZBVUxUUy5taW1lVHlwZSwgMC43KTtcblxuICAgIHJldHVybiB7XG4gICAgICBibG9iLFxuICAgICAgZGF0YVVybCxcbiAgICAgIHdpZHRoOiB0aHVtYlNpemUsXG4gICAgICBoZWlnaHQ6IHRodW1iU2l6ZSxcbiAgICAgIHNpemU6IGJsb2Iuc2l6ZSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyb3AgYW4gaW1hZ2Ugd2l0aCBzcGVjaWZpYyBjb29yZGluYXRlc1xuICAgKiBAcGFyYW0gZmlsZSAtIEZpbGUgb3IgQmxvYiB0byBjcm9wXG4gICAqIEBwYXJhbSBjcm9wRGF0YSAtIENyb3AgY29vcmRpbmF0ZXMgYW5kIGRpbWVuc2lvbnNcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25hbCBjb21wcmVzc2lvbiBvcHRpb25zIGZvciBvdXRwdXRcbiAgICogQHJldHVybnMgUHJvbWlzZSB3aXRoIGNyb3BwZWQgaW1hZ2VcbiAgICovXG4gIGFzeW5jIGNyb3AoXG4gICAgZmlsZTogRmlsZSB8IEJsb2IsXG4gICAgY3JvcERhdGE6IENyb3BEYXRhLFxuICAgIG9wdGlvbnM/OiBJbWFnZUNvbXByZXNzT3B0aW9uc1xuICApOiBQcm9taXNlPFByb2Nlc3NlZEltYWdlPiB7XG4gICAgY29uc3QgaW1nID0gYXdhaXQgdGhpcy5sb2FkSW1hZ2UoZmlsZSk7XG4gICAgY29uc3Qgb3B0cyA9IHtcbiAgICAgIHF1YWxpdHk6IG9wdGlvbnM/LnF1YWxpdHkgPz8gSU1BR0VfREVGQVVMVFMucXVhbGl0eSxcbiAgICAgIG1pbWVUeXBlOiBvcHRpb25zPy5taW1lVHlwZSA/PyBJTUFHRV9ERUZBVUxUUy5taW1lVHlwZSxcbiAgICB9O1xuXG4gICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgY2FudmFzLndpZHRoID0gY3JvcERhdGEud2lkdGg7XG4gICAgY2FudmFzLmhlaWdodCA9IGNyb3BEYXRhLmhlaWdodDtcblxuICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpITtcbiAgICBjdHguZHJhd0ltYWdlKFxuICAgICAgaW1nLFxuICAgICAgY3JvcERhdGEueCxcbiAgICAgIGNyb3BEYXRhLnksXG4gICAgICBjcm9wRGF0YS53aWR0aCxcbiAgICAgIGNyb3BEYXRhLmhlaWdodCxcbiAgICAgIDAsXG4gICAgICAwLFxuICAgICAgY3JvcERhdGEud2lkdGgsXG4gICAgICBjcm9wRGF0YS5oZWlnaHRcbiAgICApO1xuXG4gICAgLy8gQXBwbHkgbWF4IGRpbWVuc2lvbnMgaWYgc3BlY2lmaWVkXG4gICAgaWYgKG9wdGlvbnM/Lm1heFdpZHRoIHx8IG9wdGlvbnM/Lm1heEhlaWdodCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29tcHJlc3MoYXdhaXQgdGhpcy5jYW52YXNUb0Jsb2IoY2FudmFzLCBvcHRzLm1pbWVUeXBlLCAxKSwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY29uc3QgYmxvYiA9IGF3YWl0IHRoaXMuY2FudmFzVG9CbG9iKGNhbnZhcywgb3B0cy5taW1lVHlwZSwgb3B0cy5xdWFsaXR5KTtcbiAgICBjb25zdCBkYXRhVXJsID0gY2FudmFzLnRvRGF0YVVSTChvcHRzLm1pbWVUeXBlLCBvcHRzLnF1YWxpdHkpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGJsb2IsXG4gICAgICBkYXRhVXJsLFxuICAgICAgd2lkdGg6IGNyb3BEYXRhLndpZHRoLFxuICAgICAgaGVpZ2h0OiBjcm9wRGF0YS5oZWlnaHQsXG4gICAgICBzaXplOiBibG9iLnNpemUsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBhbiBpbWFnZSBmaWxlIGJlZm9yZSBwcm9jZXNzaW5nXG4gICAqIEBwYXJhbSBmaWxlIC0gRmlsZSB0byB2YWxpZGF0ZVxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFZhbGlkYXRpb24gb3B0aW9uc1xuICAgKiBAcmV0dXJucyBWYWxpZGF0aW9uIHJlc3VsdCB3aXRoIGVycm9yIGRldGFpbHMgaWYgaW52YWxpZFxuICAgKi9cbiAgdmFsaWRhdGUoZmlsZTogRmlsZSwgb3B0aW9ucz86IEltYWdlVmFsaWRhdGVPcHRpb25zKTogSW1hZ2VWYWxpZGF0aW9uUmVzdWx0IHtcbiAgICBjb25zdCBvcHRzID0ge1xuICAgICAgbWF4U2l6ZTogb3B0aW9ucz8ubWF4U2l6ZSA/PyBJTUFHRV9ERUZBVUxUUy5tYXhTaXplLFxuICAgICAgYWxsb3dlZFR5cGVzOiBvcHRpb25zPy5hbGxvd2VkVHlwZXMgPz8gSU1BR0VfREVGQVVMVFMuYWxsb3dlZFR5cGVzLFxuICAgIH07XG5cbiAgICAvLyBDaGVjayBmaWxlIHR5cGVcbiAgICBpZiAoIW9wdHMuYWxsb3dlZFR5cGVzLmluY2x1ZGVzKGZpbGUudHlwZSkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6ICdpbnZhbGlkVHlwZScsXG4gICAgICAgIG1lc3NhZ2U6IGBGb3JtYXRvIG5vIHbDoWxpZG8uIFVzYTogJHtvcHRzLmFsbG93ZWRUeXBlcy5tYXAodCA9PiB0LnNwbGl0KCcvJylbMV0udG9VcHBlckNhc2UoKSkuam9pbignLCAnKX1gLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmaWxlIHNpemVcbiAgICBpZiAoZmlsZS5zaXplID4gb3B0cy5tYXhTaXplKSB7XG4gICAgICBjb25zdCBtYXhNQiA9IE1hdGgucm91bmQob3B0cy5tYXhTaXplIC8gKDEwMjQgKiAxMDI0KSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB2YWxpZDogZmFsc2UsXG4gICAgICAgIGVycm9yOiAnZmlsZVRvb0xhcmdlJyxcbiAgICAgICAgbWVzc2FnZTogYExhIGltYWdlbiBlcyBtdXkgZ3JhbmRlLiBNw6F4aW1vICR7bWF4TUJ9TUJgLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4geyB2YWxpZDogdHJ1ZSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGltYWdlIGRpbWVuc2lvbnMgKGFzeW5jIC0gcmVxdWlyZXMgbG9hZGluZyBpbWFnZSlcbiAgICogQHBhcmFtIGZpbGUgLSBGaWxlIHRvIHZhbGlkYXRlXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gVmFsaWRhdGlvbiBvcHRpb25zIHdpdGggbWluV2lkdGgvbWluSGVpZ2h0XG4gICAqIEByZXR1cm5zIFByb21pc2Ugd2l0aCB2YWxpZGF0aW9uIHJlc3VsdFxuICAgKi9cbiAgYXN5bmMgdmFsaWRhdGVEaW1lbnNpb25zKFxuICAgIGZpbGU6IEZpbGUsXG4gICAgb3B0aW9uczogUGljazxJbWFnZVZhbGlkYXRlT3B0aW9ucywgJ21pbldpZHRoJyB8ICdtaW5IZWlnaHQnPlxuICApOiBQcm9taXNlPEltYWdlVmFsaWRhdGlvblJlc3VsdD4ge1xuICAgIGNvbnN0IGltZyA9IGF3YWl0IHRoaXMubG9hZEltYWdlKGZpbGUpO1xuXG4gICAgaWYgKG9wdGlvbnMubWluV2lkdGggJiYgaW1nLndpZHRoIDwgb3B0aW9ucy5taW5XaWR0aCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsaWQ6IGZhbHNlLFxuICAgICAgICBlcnJvcjogJ2ltYWdlVG9vU21hbGwnLFxuICAgICAgICBtZXNzYWdlOiBgTGEgaW1hZ2VuIGRlYmUgdGVuZXIgYWwgbWVub3MgJHtvcHRpb25zLm1pbldpZHRofXB4IGRlIGFuY2hvYCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMubWluSGVpZ2h0ICYmIGltZy5oZWlnaHQgPCBvcHRpb25zLm1pbkhlaWdodCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsaWQ6IGZhbHNlLFxuICAgICAgICBlcnJvcjogJ2ltYWdlVG9vU21hbGwnLFxuICAgICAgICBtZXNzYWdlOiBgTGEgaW1hZ2VuIGRlYmUgdGVuZXIgYWwgbWVub3MgJHtvcHRpb25zLm1pbkhlaWdodH1weCBkZSBhbHRvYCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgdmFsaWQ6IHRydWUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IGEgQmxvYi9GaWxlIHRvIGEgZGF0YSBVUkxcbiAgICovXG4gIGFzeW5jIHRvRGF0YVVybChmaWxlOiBGaWxlIHwgQmxvYik6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICByZWFkZXIub25sb2FkID0gKCkgPT4gcmVzb2x2ZShyZWFkZXIucmVzdWx0IGFzIHN0cmluZyk7XG4gICAgICByZWFkZXIub25lcnJvciA9IHJlamVjdDtcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgYSBkYXRhIFVSTCB0byBhIEJsb2JcbiAgICovXG4gIGRhdGFVcmxUb0Jsb2IoZGF0YVVybDogc3RyaW5nKTogQmxvYiB7XG4gICAgY29uc3QgYXJyID0gZGF0YVVybC5zcGxpdCgnLCcpO1xuICAgIGNvbnN0IG1pbWUgPSBhcnJbMF0ubWF0Y2goLzooLio/KTsvKSFbMV07XG4gICAgY29uc3QgYnN0ciA9IGF0b2IoYXJyWzFdKTtcbiAgICBsZXQgbiA9IGJzdHIubGVuZ3RoO1xuICAgIGNvbnN0IHU4YXJyID0gbmV3IFVpbnQ4QXJyYXkobik7XG4gICAgd2hpbGUgKG4tLSkge1xuICAgICAgdThhcnJbbl0gPSBic3RyLmNoYXJDb2RlQXQobik7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQmxvYihbdThhcnJdLCB7IHR5cGU6IG1pbWUgfSk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PSBQcml2YXRlIEhlbHBlcnMgPT09PT09PT09PT09PT1cblxuICBwcml2YXRlIGxvYWRJbWFnZShmaWxlOiBGaWxlIHwgQmxvYik6IFByb21pc2U8SFRNTEltYWdlRWxlbWVudD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcbiAgICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwoaW1nLnNyYyk7XG4gICAgICAgIHJlc29sdmUoaW1nKTtcbiAgICAgIH07XG4gICAgICBpbWcub25lcnJvciA9IHJlamVjdDtcbiAgICAgIGltZy5zcmMgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVEaW1lbnNpb25zKFxuICAgIG9yaWdpbmFsV2lkdGg6IG51bWJlcixcbiAgICBvcmlnaW5hbEhlaWdodDogbnVtYmVyLFxuICAgIG1heFdpZHRoOiBudW1iZXIsXG4gICAgbWF4SGVpZ2h0OiBudW1iZXJcbiAgKTogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9IHtcbiAgICBsZXQgd2lkdGggPSBvcmlnaW5hbFdpZHRoO1xuICAgIGxldCBoZWlnaHQgPSBvcmlnaW5hbEhlaWdodDtcblxuICAgIC8vIFNjYWxlIGRvd24gaWYgbmVjZXNzYXJ5LCBtYWludGFpbmluZyBhc3BlY3QgcmF0aW9cbiAgICBpZiAod2lkdGggPiBtYXhXaWR0aCkge1xuICAgICAgaGVpZ2h0ID0gKGhlaWdodCAqIG1heFdpZHRoKSAvIHdpZHRoO1xuICAgICAgd2lkdGggPSBtYXhXaWR0aDtcbiAgICB9XG5cbiAgICBpZiAoaGVpZ2h0ID4gbWF4SGVpZ2h0KSB7XG4gICAgICB3aWR0aCA9ICh3aWR0aCAqIG1heEhlaWdodCkgLyBoZWlnaHQ7XG4gICAgICBoZWlnaHQgPSBtYXhIZWlnaHQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZHRoOiBNYXRoLnJvdW5kKHdpZHRoKSxcbiAgICAgIGhlaWdodDogTWF0aC5yb3VuZChoZWlnaHQpLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNhbnZhc1RvQmxvYihcbiAgICBjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50LFxuICAgIG1pbWVUeXBlOiBzdHJpbmcsXG4gICAgcXVhbGl0eTogbnVtYmVyXG4gICk6IFByb21pc2U8QmxvYj4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjYW52YXMudG9CbG9iKFxuICAgICAgICAoYmxvYikgPT4ge1xuICAgICAgICAgIGlmIChibG9iKSByZXNvbHZlKGJsb2IpO1xuICAgICAgICAgIGVsc2UgcmVqZWN0KG5ldyBFcnJvcignRmFpbGVkIHRvIGNyZWF0ZSBibG9iIGZyb20gY2FudmFzJykpO1xuICAgICAgICB9LFxuICAgICAgICBtaW1lVHlwZSxcbiAgICAgICAgcXVhbGl0eVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './image.service';
|
|
2
|
+
export * from './types';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2ltYWdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ltYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default values for image processing
|
|
3
|
+
*/
|
|
4
|
+
export const IMAGE_DEFAULTS = {
|
|
5
|
+
maxWidth: 800,
|
|
6
|
+
maxHeight: 800,
|
|
7
|
+
quality: 0.8,
|
|
8
|
+
mimeType: 'image/jpeg',
|
|
9
|
+
maxSize: 10 * 1024 * 1024, // 10MB
|
|
10
|
+
allowedTypes: ['image/jpeg', 'image/png', 'image/webp', 'image/gif'],
|
|
11
|
+
thumbnailSize: 150,
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2ltYWdlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1FQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixRQUFRLEVBQUUsR0FBRztJQUNiLFNBQVMsRUFBRSxHQUFHO0lBQ2QsT0FBTyxFQUFFLEdBQUc7SUFDWixRQUFRLEVBQUUsWUFBcUI7SUFDL0IsT0FBTyxFQUFFLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxFQUFFLE9BQU87SUFDbEMsWUFBWSxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDO0lBQ3BFLGFBQWEsRUFBRSxHQUFHO0NBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE9wdGlvbnMgZm9yIGltYWdlIGNvbXByZXNzaW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VDb21wcmVzc09wdGlvbnMge1xuICAvKiogTWF4aW11bSB3aWR0aCBpbiBwaXhlbHMgKGRlZmF1bHQ6IDgwMCkgKi9cbiAgbWF4V2lkdGg/OiBudW1iZXI7XG4gIC8qKiBNYXhpbXVtIGhlaWdodCBpbiBwaXhlbHMgKGRlZmF1bHQ6IDgwMCkgKi9cbiAgbWF4SGVpZ2h0PzogbnVtYmVyO1xuICAvKiogUXVhbGl0eSAwLTEgKGRlZmF1bHQ6IDAuOCkgKi9cbiAgcXVhbGl0eT86IG51bWJlcjtcbiAgLyoqIE91dHB1dCBNSU1FIHR5cGUgKGRlZmF1bHQ6ICdpbWFnZS9qcGVnJykgKi9cbiAgbWltZVR5cGU/OiAnaW1hZ2UvanBlZycgfCAnaW1hZ2UvcG5nJyB8ICdpbWFnZS93ZWJwJztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBpbWFnZSB2YWxpZGF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VWYWxpZGF0ZU9wdGlvbnMge1xuICAvKiogTWF4aW11bSBmaWxlIHNpemUgaW4gYnl0ZXMgKGRlZmF1bHQ6IDEwTUIpICovXG4gIG1heFNpemU/OiBudW1iZXI7XG4gIC8qKiBBbGxvd2VkIE1JTUUgdHlwZXMgKGRlZmF1bHQ6IFsnaW1hZ2UvanBlZycsICdpbWFnZS9wbmcnLCAnaW1hZ2Uvd2VicCcsICdpbWFnZS9naWYnXSkgKi9cbiAgYWxsb3dlZFR5cGVzPzogc3RyaW5nW107XG4gIC8qKiBNaW5pbXVtIHdpZHRoIGluIHBpeGVscyAqL1xuICBtaW5XaWR0aD86IG51bWJlcjtcbiAgLyoqIE1pbmltdW0gaGVpZ2h0IGluIHBpeGVscyAqL1xuICBtaW5IZWlnaHQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogUmVzdWx0IG9mIGltYWdlIHZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbWFnZVZhbGlkYXRpb25SZXN1bHQge1xuICB2YWxpZDogYm9vbGVhbjtcbiAgZXJyb3I/OiAnaW52YWxpZFR5cGUnIHwgJ2ZpbGVUb29MYXJnZScgfCAnaW1hZ2VUb29TbWFsbCc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvY2Vzc2VkIGltYWdlIHJlc3VsdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2Nlc3NlZEltYWdlIHtcbiAgLyoqIFByb2Nlc3NlZCBpbWFnZSBhcyBCbG9iICovXG4gIGJsb2I6IEJsb2I7XG4gIC8qKiBEYXRhIFVSTCBmb3IgcHJldmlldyAqL1xuICBkYXRhVXJsOiBzdHJpbmc7XG4gIC8qKiBGaW5hbCB3aWR0aCBpbiBwaXhlbHMgKi9cbiAgd2lkdGg6IG51bWJlcjtcbiAgLyoqIEZpbmFsIGhlaWdodCBpbiBwaXhlbHMgKi9cbiAgaGVpZ2h0OiBudW1iZXI7XG4gIC8qKiBGaWxlIHNpemUgaW4gYnl0ZXMgKi9cbiAgc2l6ZTogbnVtYmVyO1xufVxuXG4vKipcbiAqIENyb3AgZGF0YSBmb3IgbWFudWFsIGNyb3BwaW5nXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3JvcERhdGEge1xuICAvKiogWCBwb3NpdGlvbiBvZiBjcm9wIGFyZWEgKi9cbiAgeDogbnVtYmVyO1xuICAvKiogWSBwb3NpdGlvbiBvZiBjcm9wIGFyZWEgKi9cbiAgeTogbnVtYmVyO1xuICAvKiogV2lkdGggb2YgY3JvcCBhcmVhICovXG4gIHdpZHRoOiBudW1iZXI7XG4gIC8qKiBIZWlnaHQgb2YgY3JvcCBhcmVhICovXG4gIGhlaWdodDogbnVtYmVyO1xufVxuXG4vKipcbiAqIERlZmF1bHQgdmFsdWVzIGZvciBpbWFnZSBwcm9jZXNzaW5nXG4gKi9cbmV4cG9ydCBjb25zdCBJTUFHRV9ERUZBVUxUUyA9IHtcbiAgbWF4V2lkdGg6IDgwMCxcbiAgbWF4SGVpZ2h0OiA4MDAsXG4gIHF1YWxpdHk6IDAuOCxcbiAgbWltZVR5cGU6ICdpbWFnZS9qcGVnJyBhcyBjb25zdCxcbiAgbWF4U2l6ZTogMTAgKiAxMDI0ICogMTAyNCwgLy8gMTBNQlxuICBhbGxvd2VkVHlwZXM6IFsnaW1hZ2UvanBlZycsICdpbWFnZS9wbmcnLCAnaW1hZ2Uvd2VicCcsICdpbWFnZS9naWYnXSxcbiAgdGh1bWJuYWlsU2l6ZTogMTUwLFxufTtcbiJdfQ==
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Current version of valtech-components.
|
|
3
3
|
* This is automatically updated during the publish process.
|
|
4
4
|
*/
|
|
5
|
-
export const VERSION = '2.0.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '2.0.679';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC42NzknO1xuIl19
|