sigesp 0.8.73-220307 → 0.8.74-20220504
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/bundles/sigesp.umd.js +838 -124
- package/bundles/sigesp.umd.js.map +1 -1
- package/bundles/sigesp.umd.min.js +1 -1
- package/bundles/sigesp.umd.min.js.map +1 -1
- package/esm2015/lib/core/interfaces/Nomina.js +1 -1
- package/esm2015/lib/core/interfaces/RecursosHumanos.js +1 -1
- package/esm2015/lib/core/interfaces/Seguridad.js +1 -1
- package/esm2015/lib/core/interfaces/Usuario.js +1 -1
- package/esm2015/lib/core/models/SNO/MAsignacionCargo.model.js +93 -21
- package/esm2015/lib/core/models/SNO/MBeneficiario.model.js +7 -11
- package/esm2015/lib/core/models/SNO/MCargaMasiva.model.js +34 -0
- package/esm2015/lib/core/models/SNO/MCargosPersonal.model.js +18 -27
- package/esm2015/lib/core/models/SNO/MConceptosNomina.model.js +7 -1
- package/esm2015/lib/core/models/SNO/MConcursante.model.js +72 -13
- package/esm2015/lib/core/models/SNO/MDefinicionNomina.model.js +78 -1
- package/esm2015/lib/core/models/SNO/MFideicomiso.model.js +333 -6
- package/esm2015/lib/core/models/SNO/MNominaSimple.model.js +5 -11
- package/esm2015/lib/core/models/SNO/MPermisos.model.js +61 -0
- package/esm2015/lib/core/models/SNO/MPersonal.model.js +1 -1
- package/esm2015/lib/core/models/SNO/MPlantillaConstancia.model.js +31 -0
- package/esm2015/lib/core/models/SNO/MPrimaGrados.model.js +4 -1
- package/esm2015/lib/core/models/SNO/MPrimasConcepto.model.js +4 -1
- package/esm2015/lib/core/models/SNO/MRango.model.js +7 -2
- package/esm2015/lib/core/models/SNO/MRequisitosConcursante.model.js +4 -1
- package/esm2015/lib/core/models/SNO/MTabulador.model.js +15 -20
- package/esm2015/lib/core/models/SSS/userPermit.model.js +5 -1
- package/esm2015/lib/sigesp.service.js +1 -2
- package/esm2015/public-api.js +6 -2
- package/fesm2015/sigesp.js +761 -106
- package/fesm2015/sigesp.js.map +1 -1
- package/lib/core/interfaces/Nomina.d.ts +61 -30
- package/lib/core/interfaces/RecursosHumanos.d.ts +208 -53
- package/lib/core/interfaces/Seguridad.d.ts +2 -0
- package/lib/core/interfaces/Usuario.d.ts +13 -0
- package/lib/core/models/SNO/MAsignacionCargo.model.d.ts +35 -4
- package/lib/core/models/SNO/MBeneficiario.model.d.ts +2 -0
- package/lib/core/models/SNO/MCargaMasiva.model.d.ts +12 -0
- package/lib/core/models/SNO/MCargosPersonal.model.d.ts +6 -3
- package/lib/core/models/SNO/MConceptosNomina.model.d.ts +2 -0
- package/lib/core/models/SNO/MConcursante.model.d.ts +23 -4
- package/lib/core/models/SNO/MDefinicionNomina.model.d.ts +26 -1
- package/lib/core/models/SNO/MFideicomiso.model.d.ts +115 -2
- package/lib/core/models/SNO/MNominaSimple.model.d.ts +2 -0
- package/lib/core/models/SNO/MPermisos.model.d.ts +21 -0
- package/lib/core/models/SNO/MPlantillaConstancia.model.d.ts +11 -0
- package/lib/core/models/SNO/MRango.model.d.ts +2 -1
- package/lib/core/models/SNO/MTabulador.model.d.ts +7 -5
- package/lib/core/models/SSS/userPermit.model.d.ts +2 -0
- package/package.json +1 -1
- package/public-api.d.ts +6 -2
- package/sigesp.metadata.json +1 -1
|
@@ -322,4 +322,81 @@ export class MDefinicionNomina extends MBasicModel {
|
|
|
322
322
|
return this.periodosNomina[this.indice()].fechaHastaperiodo;
|
|
323
323
|
}
|
|
324
324
|
}
|
|
325
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTURlZmluaWNpb25Ob21pbmEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiQzovQXBwU2Vydi93d3cvc2lnZXNwdjMoZ2l0KS9zaWdlc3AtZXN0YWJsZS9zaWdlc3BfY29yZS9wcm9qZWN0cy9zaWdlc3Avc3JjLyIsInNvdXJjZXMiOlsibGliL2NvcmUvbW9kZWxzL1NOTy9NRGVmaW5pY2lvbk5vbWluYS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFakMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXhELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxXQUFXO0lBK0VoRCxZQUFZLElBQVUsSUFBSTtRQUN4QixLQUFLLEVBQUUsQ0FBQztRQS9FSCxjQUFTLEdBQVEsQ0FBQyxDQUFDO1FBQ25CLGFBQVEsR0FBUSxDQUFDLENBQUM7UUFDbEIsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFDdkIsdUJBQWtCLEdBQVEsRUFBRSxDQUFDO1FBQzdCLHVCQUFrQixHQUFRLEVBQUUsQ0FBQztRQUM3Qiw2QkFBd0IsR0FBUSxFQUFFLENBQUM7UUFDbkMsbUJBQWMsR0FBUSxDQUFDLENBQUM7UUFDeEIsc0JBQWlCLEdBQVEsWUFBWSxDQUFDO1FBQ3RDLHdCQUFtQixHQUFRLEtBQUssQ0FBQztRQUNqQyx3QkFBbUIsR0FBUSxDQUFDLENBQUM7UUFDN0IsZUFBVSxHQUFRLENBQUMsQ0FBQztRQUNwQixjQUFTLEdBQVEsQ0FBQyxDQUFDO1FBQ25CLHVCQUFrQixHQUFRLENBQUMsQ0FBQztRQUM1QixtQkFBYyxHQUFRLENBQUMsQ0FBQztRQUN4QixzQkFBaUIsR0FBUSxDQUFDLENBQUM7UUFDM0IsNEJBQXVCLEdBQVEsRUFBRSxDQUFDO1FBQ2xDLCtCQUEwQixHQUFRLEVBQUUsQ0FBQztRQUNyQywwQkFBcUIs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QUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUUsQ0FBQyxFQUFDO1lBQ1AsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFBO1NBQy9DO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFFBQVE7UUFDYixJQUFJLENBQUMsR0FBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFBO0lBQ2pELENBQUM7SUFFRDs7O09BR0c7SUFDSyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxHQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxJQUFFLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBR0Q7O09BRUc7SUFDSSx1QkFBdUI7UUFDNUIsSUFBSSxDQUFDLEdBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztJQUNsRCxDQUFDO0lBRUg7O09BRUc7SUFDTSxzQkFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO0lBQzlELENBQUM7Q0FHRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1CYXNpY01vZGVsIH0gZnJvbSAnLi4vYmFzaWMtbW9kZWwubW9kZWwnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgSU5vbWluYSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvTm9taW5hJztcclxuaW1wb3J0IHsgTVBlcmlvZG9Ob21pbmEgfSBmcm9tICcuL01QZXJpb2RvTm9taW5hLm1vZGVsJztcclxuXHJcbmV4cG9ydCBjbGFzcyBNRGVmaW5pY2lvbk5vbWluYSBleHRlbmRzIE1CYXNpY01vZGVsIHsgXHJcbiAgcHVibGljIGlkRW1wcmVzYTpudW1iZXI9MDtcclxuICBwdWJsaWMgaWROb21pbmE6bnVtYmVyPTA7XHJcbiAgcHVibGljIGNvZGlnb05vbWluYTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRlbm9taW5hY2lvbk5vbWluYTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIHRpcG9QZXJvaW9kb05vbWluYTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRlc2NyaXBjaW9uUGVyaW9kb05vbWluYTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGFub0N1cnNvTm9taW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBmZWNoYUluaWNpb05vbWluYTpzdHJpbmc9JzE5MDAtMDEtMDEnO1xyXG4gIHB1YmxpYyBwZXJpb2RvQWN0dWFsTm9taW5hOnN0cmluZz0nMDAxJztcclxuICBwdWJsaWMgbnVtZXJvUGVyaW9kb05vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgdGlwb05vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgcmFjTm9taW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBhZGVsYW50b1BhZ29Ob21pbmE6bnVtYmVyPTA7XHJcbiAgcHVibGljIG5vbWluYUVzcGVjaWFsOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBub21pbmFDZXN0YVRpY2tldDpudW1iZXI9MDtcclxuICBwdWJsaWMgY2VzdGFUaWNrZXRNZXRvZG9Ob21pbmE6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBjb2RpZ29PcmdhbmlzbW9DZXN0YVRpY2tldDpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIENvbnRhYmlsaXphY2lvbk5vbWluYTpzdHJpbmc9J09DUCc7XHJcbiAgcHVibGljIGRlc3Rpbm9Db21wcm9iYW50ZU5vbWluYTpzdHJpbmc9J0InO1xyXG4gIHB1YmxpYyBpZFByb3ZlZWRvcjpudW1iZXI9MDtcclxuICBwdWJsaWMgY3VlbnRhQ29udGFibGVOb21pbmE6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBub3RhRGViaXRvQmFuY286bnVtYmVyPTA7XHJcbiAgcHVibGljIHJlY2VwY2lvbkRvY3VtZW50b05vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgdGlwb0RvY3VtZW50b05vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgY29udGFiaWxpemFjaW9uQXBvcnRlTm9taW5hOnN0cmluZz0nT0NQJztcclxuICBwdWJsaWMgcmVjZXBjaW9uRG9jdW1lbnRvQXBvcnRlOm51bWJlcj0wO1xyXG4gIHB1YmxpYyB0aXBvRG9jdW1lbnRvQXBvcnRlOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBwZXJpb2RvQVJlc3RhYmxlY2VOb21pbmE6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyB2YWxpZGFyQ29udGFiaWxpemFjaW9uUGVyaW9kb0FudGVyaW9yTm9taW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyB0aXR1bG9SZXBvcnRlTm9taW5hOnN0cmluZz0nJztcclxuICBwdWJsaWMgY29udGFiaWxpemFjaW9uRmlkZWljb21pc29Ob21pbmE6c3RyaW5nPSdPQ1AnO1xyXG4gIHB1YmxpYyByZWNlcGNpb25Eb2N1bWVudG9GaWRlaWNvbWlzbzpudW1iZXI9MDtcclxuICBwdWJsaWMgdGlwb0RvY3VtZW50b0ZpZGVpY29taXNvOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBpZEJlbmVmaWNpYXJpb0ZpZGVpY29taXNvOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBjdWVudGFDb250YWJsZUZpZGVpY29taXNvOnN0cmluZz0nJztcclxuICBwdWJsaWMgaW5mb3JtYWNpb25QYXJhUmVwb3J0ZTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRpdmlkaXJDb25jZXB0b1F1aW5jZW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyByZWNlcGNpb25Eb2N1bWVudG9QYWdvUGVyc29uYWxDaGVxdWU6bnVtYmVyPTA7XHJcbiAgcHVibGljIHRpcG9Eb2N1bWVudG9QYWdvUGVyc29uYWxDaGVxdWU6bnVtYmVyPTA7XHJcbiAgcHVibGljIGVzdGF0dXNDdWVudGFBbHRlcm5hdGl2YTpudW1iZXI9MDtcclxuICBwdWJsaWMgcmFjT2JyZXJvTm9taW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBub21pbmFMaXF1aWRhY2lvbjpudW1iZXI9MDtcclxuICBwdWJsaWMgaG9qYVRpZW1wb05vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgY29kaWdvRnVlbnRlRmluYW5jaWFtaWVudG86bnVtYmVyPTA7XHJcbiAgcHVibGljIGNlcnJhclNpbkRpc3BvbmliaWxpZGFkOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBlc3RhdHVzQWdydXBhckFwb3J0ZXM6bnVtYmVyPTA7XHJcbiAgcHVibGljIHJlY2VwY2lvbkRvY3VtZW50b0NhdXNhOm51bWJlcj0wO1xyXG4gIHB1YmxpYyB0aXBvRG9jdW1lbnRvQ2F1c2E6bnVtYmVyPTA7XHJcbiAgcHVibGljIGlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYU5vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhQXBvcnRlOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBpZENvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFDYXVzYTpudW1iZXI9MDtcclxuICBwdWJsaWMgaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhUGVyc29uYWw6bnVtYmVyPTA7XHJcbiAgcHVibGljIGlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYUZpZGVpY29taXNvOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBkZW5vbWluYWNpb25Db25jZXB0b0NsYXNpZmljYWNpb25QYXJhTm9taW5hPScnO1xyXG4gIHB1YmxpYyBkZW5vbWluYWNpb25Db25jZXB0b0NsYXNpZmljYWNpb25QYXJhQXBvcnRlPScnO1xyXG4gIHB1YmxpYyBkZW5vbWluYWNpb25Db25jZXB0b0NsYXNpZmljYWNpb25QYXJhQ2F1c2E9Jyc7XHJcbiAgcHVibGljIGRlbm9taW5hY2lvbkNvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFQZXJzb25hbD0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYUZpZGVpY29taXNvPScnO1xyXG4gIHB1YmxpYyBkZW5vbWluYWNpb25UaXBvRG9jdW1lbnRvTm9taW5hOnN0cmluZz0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uVGlwb0RvY3VtZW50b0NhdXNhOnN0cmluZz0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uVGlwb0RvY3VtZW50b1BhZ29QZXJzb25hbENoZXF1ZTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRlbm9taW5hY2lvblRpcG9Eb2N1bWVudG9GaWRlaWNvbWlzbzpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRlbm9taW5hY2lvblRpcG9Eb2N1bWVudG9BcG9ydGU9Jyc7XHJcbiAgcHVibGljIGNvZGlnb0Z1ZW50ZUZpbmFuY2lhbWllbnRvTW9zdGFyOnN0cmluZz0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uQ29kaWdvRnVlbnRlRmluYW5jaWFtaWVudG86c3RyaW5nPScnOyAgXHJcbiAgcHVibGljIG5vbWJyZVByb3ZlZWRvcjpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIG5vbWJyZUJlbmVmaWNpYXJpb0ZpZGVpY29taXNvOnN0cmluZz0nJztcclxuICBwdWJsaWMgY29kaWdvQ2VudHJvQ29zdG86c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBjZXN0YVRpY2tlY3RTdWVsdG9zOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBjb2RpZ29Vc3VhcmlvOnN0cmluZz0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uQ2VudHJvQ29uc3RvOnN0cmluZz0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uQ3VlbnRhQ29udGFibGU6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBpZFBlcmlvZG9Ob21pbmE6bnVtYmVyPTA7XHJcbiAgcHVibGljIGlkUGVyaW9kb1Jlc3RhYmxlY2VyTm9taW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBlc3RhdHVzSW5jaWRlbmNpYTpudW1iZXI9MDtcclxuXHRwdWJsaWMgc2VnbWVudGFyUGVyc29uYWw6bnVtYmVyPTMwMDA7XHJcbiAgcHVibGljIHBlcmlvZG9zTm9taW5hOk1QZXJpb2RvTm9taW5hW109W107XHJcblxyXG4gIGNvbnN0cnVjdG9yKGU6SU5vbWluYT1udWxsKXtcclxuICAgIHN1cGVyKCk7XHJcbiAgICAgIGlmIChlKXtcclxuICAgICAgIFxyXG4gICAgICAgICAgdGhpcy5pZEVtcHJlc2E9cGFyc2VJbnQoZS5pZF9lbXByZXNhKTtcclxuICAgICAgICAgIHRoaXMuaWROb21pbmE9cGFyc2VJbnQoZS5pZF9ub21pbmEpO1xyXG4gICAgICAgICAgdGhpcy5jb2RpZ29Ob21pbmE9ZS5jb2Rub207XHJcbiAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbk5vbWluYT1lLmRlbm5vbTtcclxuICAgICAgICAgIHRoaXMudGlwb1Blcm9pb2RvTm9taW5hPWUudGlwcGVybm9tO1xyXG4gICAgICAgICAgdGhpcy5kZXNjcmlwY2lvblBlcmlvZG9Ob21pbmE9ZS5kZXNwZXJub207XHJcbiAgICAgICAgICB0aGlzLmFub0N1cnNvTm9taW5hPXBhcnNlSW50KGUuYW5vY3Vybm9tKTtcclxuICAgICAgICAgIHRoaXMuZmVjaGFJbmljaW9Ob21pbmE9ZS5mZWNpbmlub207XHJcbiAgICAgICAgICB0aGlzLnBlcmlvZG9BY3R1YWxOb21pbmE9ZS5wZXJhY3Rub207XHJcbiAgICAgICAgICB0aGlzLm51bWVyb1BlcmlvZG9Ob21pbmE9cGFyc2VJbnQoZS5udW1wZXJub20pO1xyXG4gICAgICAgICAgdGhpcy50aXBvTm9taW5hPXBhcnNlSW50KGUudGlwbm9tKTtcclxuICAgICAgICAgIHRoaXMucmFjTm9taW5hPXBhcnNlSW50KGUucmFjbm9tKTtcclxuICAgICAgICAgIHRoaXMuYWRlbGFudG9QYWdvTm9taW5hPXBhcnNlSW50KGUuYWRlbm9tKTtcclxuICAgICAgICAgIHRoaXMubm9taW5hRXNwZWNpYWw9cGFyc2VJbnQoZS5lc3Bub20pO1xyXG4gICAgICAgICAgdGhpcy5ub21pbmFDZXN0YVRpY2tldD1wYXJzZUludChlLmN0bm9tKTtcclxuICAgICAgICAgIHRoaXMuY2VzdGFUaWNrZXRNZXRvZG9Ob21pbmE9ZS5jdG1ldG5vbTtcclxuICAgICAgICAgIHRoaXMuY29kaWdvT3JnYW5pc21vQ2VzdGFUaWNrZXQ9ZS5jb2RvcmdjZXN0aWM7XHJcbiAgICAgICAgICB0aGlzLkNvbnRhYmlsaXphY2lvbk5vbWluYT1lLmNvbnN1bG5vbTtcclxuICAgICAgICAgIHRoaXMuZGVzdGlub0NvbXByb2JhbnRlTm9taW5hPWUuZGVzY29tbm9tO1xyXG4gICAgICAgICAgdGhpcy5pZFByb3ZlZWRvcj1wYXJzZUludChlLmlkX3Byb3ZlZWRvcik7XHJcbiAgICAgICAgICB0aGlzLmN1ZW50YUNvbnRhYmxlTm9taW5hPWUuY3VlY29ubm9tO1xyXG4gICAgICAgICAgdGhpcy5ub3RhRGViaXRvQmFuY289cGFyc2VJbnQoZS5ub3RkZWJub20pO1xyXG4gICAgICAgICAgdGhpcy5yZWNlcGNpb25Eb2N1bWVudG9Ob21pbmE9cGFyc2VJbnQoZS5yZWNkb2Nub20pO1xyXG4gICAgICAgICAgdGhpcy50aXBvRG9jdW1lbnRvTm9taW5hPXBhcnNlSW50KGUudGlwZG9jbm9tKTtcclxuICAgICAgICAgIHRoaXMuY29udGFiaWxpemFjaW9uQXBvcnRlTm9taW5hPWUuY29uYXBvbm9tO1xyXG4gICAgICAgICAgdGhpcy5yZWNlcGNpb25Eb2N1bWVudG9BcG9ydGU9cGFyc2VJbnQoZS5yZWNkb2NhcG8pO1xyXG4gICAgICAgICAgdGhpcy50aXBvRG9jdW1lbnRvQXBvcnRlPXBhcnNlSW50KGUudGlwZG9jYXBvKTtcclxuICAgICAgICAgIHRoaXMucGVyaW9kb0FSZXN0YWJsZWNlTm9taW5hPWUucGVycmVzbm9tO1xyXG4gICAgICAgICAgdGhpcy52YWxpZGFyQ29udGFiaWxpemFjaW9uUGVyaW9kb0FudGVyaW9yTm9taW5hPXBhcnNlSW50KGUuY29ucGVybm9tKTtcclxuICAgICAgICAgIHRoaXMudGl0dWxvUmVwb3J0ZU5vbWluYT1lLnRpdHJlcG5vbTtcclxuICAgICAgICAgIHRoaXMuY29udGFiaWxpemFjaW9uRmlkZWljb21pc29Ob21pbmE9ZS5jb25maWRub207XHJcbiAgICAgICAgICB0aGlzLnJlY2VwY2lvbkRvY3VtZW50b0ZpZGVpY29taXNvPXBhcnNlSW50KGUucmVjZG9jZmlkKTtcclxuICAgICAgICAgIHRoaXMudGlwb0RvY3VtZW50b0ZpZGVpY29taXNvPXBhcnNlSW50KGUudGlwZG9jZmlkKTtcclxuICAgICAgICAgIHRoaXMuaWRCZW5lZmljaWFyaW9GaWRlaWNvbWlzbz1wYXJzZUludChlLmlkX2JlbmZpZCk7XHJcbiAgICAgICAgICB0aGlzLmN1ZW50YUNvbnRhYmxlRmlkZWljb21pc289ZS5jdWVjb25maWQ7XHJcbiAgICAgICAgICB0aGlzLmluZm9ybWFjaW9uUGFyYVJlcG9ydGU9ZS5pbmZvcm1hO1xyXG4gICAgICAgICAgdGhpcy5kaXZpZGlyQ29uY2VwdG9RdWluY2VuYT1wYXJzZUludChlLmRpdmNvbik7XHJcbiAgICAgICAgICB0aGlzLnJlY2VwY2lvbkRvY3VtZW50b1BhZ29QZXJzb25hbENoZXF1ZT1wYXJzZUludChlLnJlY2RvY3BhZ3BlcmNoZSk7XHJcbiAgICAgICAgICB0aGlzLnRpcG9Eb2N1bWVudG9QYWdvUGVyc29uYWxDaGVxdWU9cGFyc2VJbnQoZS50aXBkb2NwYWdwZXJjaGUpO1xyXG4gICAgICAgICAgdGhpcy5lc3RhdHVzQ3VlbnRhQWx0ZXJuYXRpdmHCoD1wYXJzZUludChlLmVzdGN0YWFsdCk7XHJcbiAgICAgICAgICB0aGlzLnJhY09icmVyb05vbWluYT1wYXJzZUludChlLnJhY29icm5vbSk7XHJcbiAgICAgICAgICB0aGlzLm5vbWluYUxpcXVpZGFjaW9uPXBhcnNlSW50KGUubm9tbGlxKTtcclxuICAgICAgICAgIHRoaXMuaG9qYVRpZW1wb05vbWluYT1wYXJzZUludChlLmhvanRpZW5vbSk7XHJcbiAgICAgICAgICB0aGlzLmNvZGlnb0Z1ZW50ZUZpbmFuY2lhbWllbnRvPXBhcnNlSW50KGUuY29kZnVlZmluKTtcclxuICAgICAgICAgIHRoaXMuY2VycmFyU2luRGlzcG9uaWJpbGlkYWQ9cGFyc2VJbnQoZS5jZXJzaW5kaXMpO1xyXG4gICAgICAgICAgdGhpcy5lc3RhdHVzQWdydXBhckFwb3J0ZXM9cGFyc2VJbnQoZS5lc3RhZ3JhcG8pO1xyXG4gICAgICAgICAgdGhpcy5yZWNlcGNpb25Eb2N1bWVudG9DYXVzYT1wYXJzZUludChlLnJlY2RvY2NhdW5vbSk7XHJcbiAgICAgICAgICB0aGlzLnRpcG9Eb2N1bWVudG9DYXVzYT1wYXJzZUludChlLnRpcGRvY2NhdW5vbSk7XHJcbiAgICAgICAgICB0aGlzLmlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYU5vbWluYT1wYXJzZUludChlLmlkX2NvbmN4cG5vbSk7XHJcbiAgICAgICAgICB0aGlzLmlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYUFwb3J0ZT1wYXJzZUludChlLmlkX2NvbmN4cGFwbyk7XHJcbiAgICAgICAgICB0aGlzLmlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYUNhdXNhPXBhcnNlSW50KGUuaWRfY29uY3hwY2F1KTtcclxuICAgICAgICAgIHRoaXMuaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhUGVyc29uYWw9cGFyc2VJbnQoZS5pZF9jb25jeHBwZXIpO1xyXG4gICAgICAgICAgdGhpcy5pZENvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFGaWRlaWNvbWlzbz1wYXJzZUludChlLmlkX2NvbmN4cGZpZCk7XHJcbiAgICAgICAgICB0aGlzLmNvZGlnb0NlbnRyb0Nvc3RvPWUuY29kY2VuY29zXHJcbiAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbkNlbnRyb0NvbnN0bz1lLmRlbmNlbmNvc1xyXG4gICAgICAgICAgdGhpcy5jZXN0YVRpY2tlY3RTdWVsdG9zPXBhcnNlSW50KGUuY2VzdGlrc3VlbCkgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbkNvZGlnb0Z1ZW50ZUZpbmFuY2lhbWllbnRvPWUuY29kaWdvZnRlZmluKycgLSAnK2UuZGVuZnVlZmluICBcclxuICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uQ3VlbnRhQ29udGFibGU9IGUuZGVuY3RhY29udCAgXHJcbiAgICAgICAgICB0aGlzLm5vbWJyZVByb3ZlZWRvcj0gZS5ub21wcm87XHJcbiAgICAgICAgICB0aGlzLmVzdGF0dXNJbmNpZGVuY2lhPXBhcnNlSW50KGUuZXN0aW5jaWRlbmNpYSk7XHJcbiAgICAgICAgICB0aGlzLnBlcmlvZG9zTm9taW5hPWUucGVyaW9kb3MubWFwKGU9Pm5ldyBNUGVyaW9kb05vbWluYShlKSk7XHJcbiAgICAgICAgICB0aGlzLmlkUGVyaW9kb05vbWluYT1wYXJzZUludChlLmlkX3BlcmlvZG9hY3R1YWwpO1xyXG4gICAgICAgICAgdGhpcy5pZFBlcmlvZG9SZXN0YWJsZWNlck5vbWluYT1wYXJzZUludChlLmlkX3BlcnJlc25vbSk7IFxyXG4gICAgICAgICAgdGhpcy5zZWdtZW50YXJQZXJzb25hbD1wYXJzZUludChlLnNlZ3Blcik7IFxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuaXNOZXc9dHJ1ZTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRhdGFJbnRlcmZhY2UoKTpJTm9taW5hIHtcclxuICAgICAgdGhpcy4gZ2V0UGVyaW9kb05vbWluYSgpO1xyXG4gICAgICBpZih0aGlzLnNlZ21lbnRhclBlcnNvbmFsPT0wKXtcclxuICAgICAgICB0aGlzLnNlZ21lbnRhclBlcnNvbmFsPTEwMDAwO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBpZF9lbXByZXNhOnRoaXMuaWRFbXByZXNhLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBpZF9ub21pbmE6dGhpcy5pZE5vbWluYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgY29kbm9tOnRoaXMuY29kaWdvTm9taW5hLFxyXG4gICAgICAgICAgZGVubm9tOnRoaXMuZGVub21pbmFjaW9uTm9taW5hLFxyXG4gICAgICAgICAgdGlwcGVybm9tOnRoaXMudGlwb1Blcm9pb2RvTm9taW5hLFxyXG4gICAgICAgICAgZGVzcGVybm9tOnRoaXMuZGVzY3JpcGNpb25QZXJpb2RvTm9taW5hLFxyXG4gICAgICAgICAgYW5vY3Vybm9tOnRoaXMuYW5vQ3Vyc29Ob21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGZlY2luaW5vbTp0aGlzLmZlY2hhSW5pY2lvTm9taW5hLFxyXG4gICAgICAgICAgcGVyYWN0bm9tOnRoaXMucGVyaW9kb0FjdHVhbE5vbWluYSxcclxuICAgICAgICAgIG51bXBlcm5vbTp0aGlzLm51bWVyb1BlcmlvZG9Ob21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHRpcG5vbTp0aGlzLnRpcG9Ob21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHJhY25vbTp0aGlzLnJhY05vbWluYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgYWRlbm9tOnRoaXMuYWRlbGFudG9QYWdvTm9taW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBlc3Bub206dGhpcy5ub21pbmFFc3BlY2lhbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgY3Rub206dGhpcy5ub21pbmFDZXN0YVRpY2tldC50b1N0cmluZygpLFxyXG4gICAgICAgICAgY3RtZXRub206dGhpcy5jZXN0YVRpY2tldE1ldG9kb05vbWluYSxcclxuICAgICAgICAgIGNvZG9yZ2Nlc3RpYzp0aGlzLmNvZGlnb09yZ2FuaXNtb0Nlc3RhVGlja2V0LFxyXG4gICAgICAgICAgY29uc3Vsbm9tOnRoaXMuQ29udGFiaWxpemFjaW9uTm9taW5hLFxyXG4gICAgICAgICAgZGVzY29tbm9tOnRoaXMuZGVzdGlub0NvbXByb2JhbnRlTm9taW5hLFxyXG4gICAgICAgICAgaWRfcHJvdmVlZG9yOnRoaXMuaWRQcm92ZWVkb3IudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGN1ZWNvbm5vbTp0aGlzLmN1ZW50YUNvbnRhYmxlTm9taW5hLFxyXG4gICAgICAgICAgbm90ZGVibm9tOnRoaXMubm90YURlYml0b0JhbmNvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICByZWNkb2Nub206dGhpcy5yZWNlcGNpb25Eb2N1bWVudG9Ob21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHRpcGRvY25vbTp0aGlzLnRpcG9Eb2N1bWVudG9Ob21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGNvbmFwb25vbTp0aGlzLmNvbnRhYmlsaXphY2lvbkFwb3J0ZU5vbWluYSxcclxuICAgICAgICAgIHJlY2RvY2Fwbzp0aGlzLnJlY2VwY2lvbkRvY3VtZW50b0Fwb3J0ZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgdGlwZG9jYXBvOnRoaXMudGlwb0RvY3VtZW50b0Fwb3J0ZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgcGVycmVzbm9tOnRoaXMucGVyaW9kb0FSZXN0YWJsZWNlTm9taW5hLFxyXG4gICAgICAgICAgY29ucGVybm9tOnRoaXMudmFsaWRhckNvbnRhYmlsaXphY2lvblBlcmlvZG9BbnRlcmlvck5vbWluYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgdGl0cmVwbm9tOnRoaXMudGl0dWxvUmVwb3J0ZU5vbWluYSxcclxuICAgICAgICAgIGNvbmZpZG5vbTp0aGlzLmNvbnRhYmlsaXphY2lvbkZpZGVpY29taXNvTm9taW5hLFxyXG4gICAgICAgICAgcmVjZG9jZmlkOnRoaXMucmVjZXBjaW9uRG9jdW1lbnRvRmlkZWljb21pc28udG9TdHJpbmcoKSxcclxuICAgICAgICAgIHRpcGRvY2ZpZDp0aGlzLnRpcG9Eb2N1bWVudG9GaWRlaWNvbWlzby50b1N0cmluZygpLFxyXG4gICAgICAgICAgaWRfYmVuZmlkOnRoaXMuaWRCZW5lZmljaWFyaW9GaWRlaWNvbWlzby50b1N0cmluZygpLFxyXG4gICAgICAgICAgY3VlY29uZmlkOnRoaXMuY3VlbnRhQ29udGFibGVGaWRlaWNvbWlzbyxcclxuICAgICAgICAgIGluZm9ybWE6dGhpcy5pbmZvcm1hY2lvblBhcmFSZXBvcnRlLFxyXG4gICAgICAgICAgZGl2Y29uOnRoaXMuZGl2aWRpckNvbmNlcHRvUXVpbmNlbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHJlY2RvY3BhZ3BlcmNoZTp0aGlzLnJlY2VwY2lvbkRvY3VtZW50b1BhZ29QZXJzb25hbENoZXF1ZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgdGlwZG9jcGFncGVyY2hlOnRoaXMudGlwb0RvY3VtZW50b1BhZ29QZXJzb25hbENoZXF1ZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgZXN0Y3RhYWx0OnRoaXMuZXN0YXR1c0N1ZW50YUFsdGVybmF0aXZhwqAudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHJhY29icm5vbTp0aGlzLnJhY09icmVyb05vbWluYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgbm9tbGlxOnRoaXMubm9taW5hTGlxdWlkYWNpb24udG9TdHJpbmcoKSxcclxuICAgICAgICAgIGhvanRpZW5vbTp0aGlzLmhvamFUaWVtcG9Ob21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGNvZGZ1ZWZpbjp0aGlzLmNvZGlnb0Z1ZW50ZUZpbmFuY2lhbWllbnRvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBjZXJzaW5kaXM6dGhpcy5jZXJyYXJTaW5EaXNwb25pYmlsaWRhZC50b1N0cmluZygpLFxyXG4gICAgICAgICAgZXN0YWdyYXBvOnRoaXMuZXN0YXR1c0FncnVwYXJBcG9ydGVzLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICByZWNkb2NjYXVub206dGhpcy5yZWNlcGNpb25Eb2N1bWVudG9DYXVzYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgdGlwZG9jY2F1bm9tOnRoaXMudGlwb0RvY3VtZW50b0NhdXNhLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBpZF9jb25jeHBub206dGhpcy5pZENvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFOb21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGlkX2NvbmN4cGFwbzp0aGlzLmlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYUFwb3J0ZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgaWRfY29uY3hwY2F1OnRoaXMuaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhQ2F1c2EudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGlkX2NvbmN4cHBlcjp0aGlzLmlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYVBlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBpZF9jb25jeHBmaWQ6dGhpcy5pZENvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFGaWRlaWNvbWlzby50b1N0cmluZygpLCAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgY2VzdGlrc3VlbDp0aGlzLmNlc3RhVGlja2VjdFN1ZWx0b3MudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGNvZGNlbmNvczp0aGlzLmNvZGlnb0NlbnRyb0Nvc3RvLFxyXG4gICAgICAgICAgY29kdXN1OnRoaXMuY29kaWdvVXN1YXJpbyxcclxuICAgICAgICAgIGNvZGlnb2Z0ZWZpbjp0aGlzLmNvZGlnb0Z1ZW50ZUZpbmFuY2lhbWllbnRvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBkZW5mdWVmaW46dGhpcy5kZW5vbWluYWNpb25Db2RpZ29GdWVudGVGaW5hbmNpYW1pZW50byxcclxuICAgICAgICAgIGRlbmNlbmNvczogdGhpcy5kZW5vbWluYWNpb25DZW50cm9Db25zdG8sXHJcbiAgICAgICAgICBkZW5jdGFjb250OiB0aGlzLmRlbm9taW5hY2lvbkN1ZW50YUNvbnRhYmxlLFxyXG4gICAgICAgICAgbm9tcHJvOnRoaXMubm9tYnJlUHJvdmVlZG9yLFxyXG4gICAgICAgICAgaWRfcGVyaW9kb2FjdHVhbDp0aGlzLmlkUGVyaW9kb05vbWluYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgaWRfcGVycmVzbm9tOnRoaXMuaWRQZXJpb2RvUmVzdGFibGVjZXJOb21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGVzdGluY2lkZW5jaWE6dGhpcy5lc3RhdHVzSW5jaWRlbmNpYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgc2VncGVyOnRoaXMuc2VnbWVudGFyUGVyc29uYWwudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHBlcmlvZG9zOnRoaXMucGVyaW9kb3NOb21pbmEubWFwKChmdW5jdGlvbiAoZSkgeyByZXR1cm4gZS5kYXRhSW50ZXJmYWNlKCk7IH0pKSwgICAgICAgICAgXHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRQZXJpb2RvTm9taW5hKCl7XHJcbiAgICBpZiAodGhpcy50aXBvUGVyb2lvZG9Ob21pbmE9PScwJyl7XHJcbiAgICAgIHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT01MlxyXG4gICAgfSBlbHNlICBpZiAodGhpcy50aXBvUGVyb2lvZG9Ob21pbmE9PScxJyl7XHJcbiAgICAgIHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT0yNFxyXG4gICAgfSBlbHNlICBpZiAodGhpcy50aXBvUGVyb2lvZG9Ob21pbmE9PScyJyl7XHJcbiAgICAgIHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT0xMlxyXG4gICAgfSAgZWxzZSBpZiAodGhpcy50aXBvUGVyb2lvZG9Ob21pbmE9PSczJyl7XHJcbiAgICAgIHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT0xXHJcbiAgICB9ICAgICAgICAgIFxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHJldHVybnMgVGlwbyBkZSBub21pbmEge1NlbWFuYWwsIFF1aW5jZW5hbCxNZW5zdWFsLEFudWFsfVxyXG4gICAqL1xyXG4gIHB1YmxpYyBkZW5vbWluYWNpb25OdW1lcm9Ob21pbmEoKTpzdHJpbmd7XHJcbiAgICBpZiAoIHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT09NTIpe1xyXG4gICAgICByZXR1cm4gJ1NlbWFuYWwnXHJcbiAgICB9IGVsc2UgIGlmICh0aGlzLm51bWVyb1BlcmlvZG9Ob21pbmE9PTI0KXtcclxuICAgICAgcmV0dXJuICdRdWluY2VuYWwnXHJcbiAgICB9IGVsc2UgIGlmICh0aGlzLm51bWVyb1BlcmlvZG9Ob21pbmE9PTEyKXtcclxuICAgICAgcmV0dXJuICdNZW5zdWFsJ1xyXG4gICAgfSAgZWxzZSBpZiAodGhpcy5udW1lcm9QZXJpb2RvTm9taW5hPT0xKXtcclxuICAgICAgcmV0dXJuICdBbnVhbCdcclxuICAgIH0gICAgXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcmV0dXJucyBwb3NpY2lvbiBkZWwgYXJyYXkgZG9uZGUgZXN0YSBlbCBwZXJpb2RvIGFjdHVhbCBkZSBsYSBub21pbmEsIGRlIGxvIGNvbnRyYXJpbyAtMVxyXG4gICAqL1xyXG4gIHB1YmxpYyBpbmRpY2UoKTpudW1iZXIgeyAgICAgICAgICBcclxuICAgIHJldHVybiB0aGlzLnBlcmlvZG9zTm9taW5hLmZpbmRJbmRleChlPT4gZS5jb2RpZ29QZXJpb2RvPT0gdGhpcy5wZXJpb2RvQWN0dWFsTm9taW5hKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiAgQHJldHVybnMgRmVjaGEgZmluYWwgZGUgbGEgbm9taW5hXHJcbiAgICovXHJcbiAgcHVibGljIGZlY2hhRmluYWxOb21pbmEoKTpzdHJpbmd7XHJcbiAgICBsZXQgaT0gdGhpcy5wZXJpb2Rvc05vbWluYS5sZW5ndGgtMTtcclxuICAgIGxldCBmZWNoYUZpbj0gdGhpcy5wZXJpb2Rvc05vbWluYVtpXS5mZWNoYUhhc3RhcGVyaW9kbztcclxuICAgIHJldHVybiBtb21lbnQoZmVjaGFGaW4pLmZvcm1hdCgnREQvTU0vWVlZWScpO1xyXG4gIH1cclxuICBcclxuICAvKiogICAgICAgICBcclxuICAgKiBAcmV0dXJucyBmZWNoYSBkZSBpbmljaW8gYSBmaW4gZGUgbGEgbm9taW5hXHJcbiAgICovXHJcbiAgcHVibGljIGZlY2hhTm9taW5hKCk6c3RyaW5ne1xyXG4gICAgbGV0IGk9IHRoaXMucGVyaW9kb3NOb21pbmEubGVuZ3RoLTE7XHJcbiAgICBsZXQgZmVjaGFGaW49IHRoaXMucGVyaW9kb3NOb21pbmFbaV0uZmVjaGFIYXN0YXBlcmlvZG87XHJcbiAgICByZXR1cm4gbW9tZW50KHRoaXMuZmVjaGFJbmljaW9Ob21pbmEpLmZvcm1hdCgnREQvTU0vWVlZWScpKycgYWwgJyttb21lbnQoZmVjaGFGaW4pLmZvcm1hdCgnREQvTU0vWVlZWScpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcmV0dXJucyBSZXRvcm5hIGVzIGVzdGF0dXMgZGVsIHBlcmlvZG8gYWN0dWFsIGRlIGxhIG5vbWluYSB7XHJcbiAgICogU2luIENhbGN1bGFyLCBjb250YWJpbGl6YWRhLFBlcmlvZG8gQ29udGFiaWxpemFkbyxcclxuICAgKiBQZXJpb2RvIHkgQXBvcnRlIENvbnRhYmlsaXphZG8sIEFwb3J0ZSBDb250YWJpbGl6YWRvIH1cclxuICAgKi9cclxuXHJcbiAgcHVibGljIGVzdGF0dXNOb21pbmEoKTpzdHJpbmcge1xyXG4gICAgbGV0IGkgPSB0aGlzLmluZGljZSgpO1xyXG4gICAgaWYgKGk+PTApe1xyXG4gICAgICByZXR1cm4gdGhpcy5wZXJpb2Rvc05vbWluYVtpXS5lc3RhdHVzUGVyaW9kbygpXHJcbiAgICB9ICBcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIFNpIGxhIG5vbWluYSBwdWVkZSBzZXIgbW9kaWZpY2FkYSAodmVyZGFkZXJvLCBmYWxzbylcclxuICAgKi9cclxuICBwdWJsaWMgZWRpdGFibGUoKTpib29sZWFuIHtcclxuICAgIGxldCBpPSB0aGlzLmluZGljZSgpO1xyXG4gICAgcmV0dXJuIHRoaXMucGVyaW9kb3NOb21pbmFbaV0ucGVyaW9kb0VkaXRhYmxlKClcclxuICB9IFxyXG5cclxuICAvKipcclxuICAgKiBAcmV0dXJucyBpbmRpY2Egc2kgZWwgcGVyaWRvIGFjdHVhbCBlc3RhIGFiaWVydG9cclxuICAgKiBAcmV0dXJucyB2ZXJkYWRlcm8vZmFsc29cclxuICAgKi8gICAgICAgIFxyXG4gICBwdWJsaWMgcGVyaW9kb0NlcnJhZG8oKTpib29sZWFuIHtcclxuICAgIGxldCBpPSB0aGlzLmluZGljZSgpO1xyXG4gICAgcmV0dXJuIHRoaXMucGVyaW9kb3NOb21pbmFbaV0uY2VycmFyUGVyaW9kbz09MVxyXG4gIH0gXHJcblxyXG5cclxuICAvKipcclxuICAgKiBAcmV0dXJucyBGZWNoYSBpbmljaW8gZGVsIHBlcmlvZG8gYWN0dWFsIGRlIGxhIG5vbWluYVxyXG4gICAqL1xyXG4gIHB1YmxpYyBmZWNoYUluY2lvUGVyaW9kb0FjdHVhbCgpOnN0cmluZ3tcclxuICAgIGxldCBpPSB0aGlzLmluZGljZSgpO1xyXG4gICAgcmV0dXJuIHRoaXMucGVyaW9kb3NOb21pbmFbaV0uZmVjaGFEZXNkZVBlcmlvZG87XHJcbiAgfVxyXG5cclxuLyoqXHJcbiAqIEByZXR1cm5zIEZlY2hhIGZpbmFsIGRlbCBwZXJpb2RvIGFjdHVhbCBkZSBsYSBub21pbmFcclxuICovXHJcbiAgcHVibGljIGZlY2hhRmluYVBlcmlvZG9BY3R1YWwoKTpzdHJpbmd7XHJcbiAgICByZXR1cm4gdGhpcy5wZXJpb2Rvc05vbWluYVt0aGlzLmluZGljZSgpXS5mZWNoYUhhc3RhcGVyaW9kbztcclxuICB9XHJcbiAgXHJcbiAgICAgXHJcbn0gXHJcblxyXG4iXX0=
|
|
325
|
+
export class MNominaSimple extends MBasicModel {
|
|
326
|
+
constructor(e = null) {
|
|
327
|
+
super();
|
|
328
|
+
this.idEmpresa = 0;
|
|
329
|
+
this.idNomina = 0;
|
|
330
|
+
this.codigoNomina = '';
|
|
331
|
+
this.denominacioNomina = '';
|
|
332
|
+
this.idPeriodoActual = 0;
|
|
333
|
+
this.totalPeriodo = 0;
|
|
334
|
+
this.estatus = '';
|
|
335
|
+
this.estatusPeriodo = 0;
|
|
336
|
+
this.calculada = false;
|
|
337
|
+
this.prenomina = false;
|
|
338
|
+
this.idCargo = 0;
|
|
339
|
+
this.codigoCargo = '';
|
|
340
|
+
this.denominacionCargo = '';
|
|
341
|
+
this.nominaRac = 0;
|
|
342
|
+
this.simbolo = '';
|
|
343
|
+
this.color = '';
|
|
344
|
+
this.estatusPersonal = 0;
|
|
345
|
+
this.denominacionEstatuspersonal = '';
|
|
346
|
+
this.descripcionPeriodoNomina = '';
|
|
347
|
+
this.periodoActualNomina = '';
|
|
348
|
+
this.editable = false;
|
|
349
|
+
if (e) {
|
|
350
|
+
this.idEmpresa = parseInt(e.id_empresa);
|
|
351
|
+
this.idNomina = parseInt(e.id_nomina);
|
|
352
|
+
this.codigoNomina = e.codnom;
|
|
353
|
+
this.denominacioNomina = e.dennom;
|
|
354
|
+
this.idPeriodoActual = +e.id_periodoactual;
|
|
355
|
+
this.totalPeriodo = parseFloat(e.totper),
|
|
356
|
+
this.estatusPeriodo = parseInt(e.cerper);
|
|
357
|
+
this.calculada = e.calculado == '1' ? true : false;
|
|
358
|
+
this.prenomina = e.prenomina == '1' ? true : false;
|
|
359
|
+
this.estatus = this.calculada ? 'Calculada' :
|
|
360
|
+
!this.calculada && this.prenomina ? 'Pre-Calculada' : 'Sin Calcular';
|
|
361
|
+
this.editable = (this.calculada || this.prenomina) ? false : true;
|
|
362
|
+
this.idCargo = parseInt(e.id_carper);
|
|
363
|
+
this.codigoCargo = e.codcar;
|
|
364
|
+
this.denominacionCargo = e.descar;
|
|
365
|
+
this.nominaRac = parseInt(e.racnom);
|
|
366
|
+
this.nominaRac == 1 ? this.simbolo = 'check' : this.simbolo = '';
|
|
367
|
+
this.nominaRac == 1 ? this.color = 'primary' : this.color = '';
|
|
368
|
+
this.estatusPersonal = parseInt(e.staper);
|
|
369
|
+
this.estatusPersonal == 0 ? this.denominacionEstatuspersonal = "NO ASIGNADO" :
|
|
370
|
+
this.estatusPersonal == 1 ? this.denominacionEstatuspersonal = "ACTIVO" :
|
|
371
|
+
this.estatusPersonal == 2 ? this.denominacionEstatuspersonal = "VACACIONES" :
|
|
372
|
+
this.estatusPersonal == 3 ? this.denominacionEstatuspersonal = "EGRESADO" :
|
|
373
|
+
this.denominacionEstatuspersonal = "SUSPENDIDO";
|
|
374
|
+
this.descripcionPeriodoNomina = e.despernom;
|
|
375
|
+
this.periodoActualNomina = e.peractnom;
|
|
376
|
+
}
|
|
377
|
+
else {
|
|
378
|
+
this.isNew = false;
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
dataInterface() {
|
|
382
|
+
return {
|
|
383
|
+
id_empresa: this.idEmpresa.toString(),
|
|
384
|
+
id_nomina: this.idNomina.toString(),
|
|
385
|
+
codnom: this.codigoNomina,
|
|
386
|
+
dennom: this.denominacioNomina,
|
|
387
|
+
id_periodoactual: this.idPeriodoActual.toString(),
|
|
388
|
+
totper: this.totalPeriodo.toString(),
|
|
389
|
+
cerper: this.estatusPeriodo.toString(),
|
|
390
|
+
prenomina: this.prenomina ? '1' : '0',
|
|
391
|
+
calculado: this.calculada ? '1' : '0',
|
|
392
|
+
id_carper: this.idCargo.toString(),
|
|
393
|
+
descar: this.denominacionCargo,
|
|
394
|
+
codcar: this.codigoCargo,
|
|
395
|
+
racnom: this.nominaRac.toString(),
|
|
396
|
+
staper: this.estatusPersonal.toString(),
|
|
397
|
+
despernom: this.descripcionPeriodoNomina,
|
|
398
|
+
peractnom: this.periodoActualNomina,
|
|
399
|
+
};
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTURlZmluaWNpb25Ob21pbmEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiQzovQXBwU2Vydi93d3cvc2lnZXNwdjMoZ2l0KS9zaWdlc3AtZXN0YWJsZS9zaWdlc3BfY29yZS9wcm9qZWN0cy9zaWdlc3Avc3JjLyIsInNvdXJjZXMiOlsibGliL2NvcmUvbW9kZWxzL1NOTy9NRGVmaW5pY2lvbk5vbWluYS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFakMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXhELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxXQUFXO0lBK0VoRCxZQUFZLElBQVUsSUFBSTtRQUN4QixLQUFLLEVBQUUsQ0FBQztRQS9FSCxjQUFTLEdBQVEsQ0FBQyxDQUFDO1FBQ25CLGFBQVEsR0FBUSxDQUFDLENBQUM7UUFDbEIsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFDdkIsdUJBQWtCLEdBQVEsRUFBRSxDQUFDO1FBQzdCLHVCQUFrQixHQUFRLEVBQUUsQ0FBQztRQUM3Qiw2QkFBd0IsR0FBUSxFQUFFLENBQUM7UUFDbkMsbUJBQWMsR0FBUSxDQUFDLENBQUM7UUFDeEIsc0JBQWlCLEdBQVEsWUFBWSxDQUFDO1FBQ3RDLHdCQUFtQixHQUFRLEtBQUssQ0FBQztRQUNqQyx3QkFBbUIsR0FBUSxDQUFDLENBQUM7UUFDN0IsZUFBVSxHQUFRLENBQUMsQ0FBQztRQUNwQixjQUFTLEdBQVEsQ0FBQyxDQUFDO1FBQ25CLHVCQUFrQixHQUFRLENBQUMsQ0FBQztRQUM1QixtQkFBYyxHQUFRLENBQUMsQ0FBQztRQUN4QixzQkFBaUIsR0FBUSxDQUFDLENBQUM7UUFDM0IsNEJBQXVCLEdBQVEsRUFBRSxDQUFDO1FBQ2xDLCtCQUEwQixHQUFRLEVBQUUsQ0FBQztRQUNyQywwQkFBcUIs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LENBQUMsQ0FBQSxHQUFHO1lBQ2pDLFNBQVMsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFBLENBQUMsQ0FBQyxHQUFHLENBQUEsQ0FBQyxDQUFBLEdBQUc7WUFDakMsU0FBUyxFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ2pDLE1BQU0sRUFBQyxJQUFJLENBQUMsaUJBQWlCO1lBQzdCLE1BQU0sRUFBQyxJQUFJLENBQUMsV0FBVztZQUN2QixNQUFNLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7WUFDaEMsTUFBTSxFQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFO1lBQ3RDLFNBQVMsRUFBQyxJQUFJLENBQUMsd0JBQXdCO1lBQ3ZDLFNBQVMsRUFBQyxJQUFJLENBQUMsbUJBQW1CO1NBQ3JDLENBQUE7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNQmFzaWNNb2RlbCB9IGZyb20gJy4uL2Jhc2ljLW1vZGVsLm1vZGVsJztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IElOb21pbmEsIElOb21pbmFTaW1wbGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL05vbWluYSc7XHJcbmltcG9ydCB7IE1QZXJpb2RvTm9taW5hIH0gZnJvbSAnLi9NUGVyaW9kb05vbWluYS5tb2RlbCc7XHJcblxyXG5leHBvcnQgY2xhc3MgTURlZmluaWNpb25Ob21pbmEgZXh0ZW5kcyBNQmFzaWNNb2RlbCB7IFxyXG4gIHB1YmxpYyBpZEVtcHJlc2E6bnVtYmVyPTA7XHJcbiAgcHVibGljIGlkTm9taW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBjb2RpZ29Ob21pbmE6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBkZW5vbWluYWNpb25Ob21pbmE6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyB0aXBvUGVyb2lvZG9Ob21pbmE6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBkZXNjcmlwY2lvblBlcmlvZG9Ob21pbmE6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBhbm9DdXJzb05vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgZmVjaGFJbmljaW9Ob21pbmE6c3RyaW5nPScxOTAwLTAxLTAxJztcclxuICBwdWJsaWMgcGVyaW9kb0FjdHVhbE5vbWluYTpzdHJpbmc9JzAwMSc7XHJcbiAgcHVibGljIG51bWVyb1BlcmlvZG9Ob21pbmE6bnVtYmVyPTA7XHJcbiAgcHVibGljIHRpcG9Ob21pbmE6bnVtYmVyPTA7XHJcbiAgcHVibGljIHJhY05vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgYWRlbGFudG9QYWdvTm9taW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBub21pbmFFc3BlY2lhbDpudW1iZXI9MDtcclxuICBwdWJsaWMgbm9taW5hQ2VzdGFUaWNrZXQ6bnVtYmVyPTA7XHJcbiAgcHVibGljIGNlc3RhVGlja2V0TWV0b2RvTm9taW5hOnN0cmluZz0nJztcclxuICBwdWJsaWMgY29kaWdvT3JnYW5pc21vQ2VzdGFUaWNrZXQ6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBDb250YWJpbGl6YWNpb25Ob21pbmE6c3RyaW5nPSdPQ1AnO1xyXG4gIHB1YmxpYyBkZXN0aW5vQ29tcHJvYmFudGVOb21pbmE6c3RyaW5nPSdCJztcclxuICBwdWJsaWMgaWRQcm92ZWVkb3I6bnVtYmVyPTA7XHJcbiAgcHVibGljIGN1ZW50YUNvbnRhYmxlTm9taW5hOnN0cmluZz0nJztcclxuICBwdWJsaWMgbm90YURlYml0b0JhbmNvOm51bWJlcj0wO1xyXG4gIHB1YmxpYyByZWNlcGNpb25Eb2N1bWVudG9Ob21pbmE6bnVtYmVyPTA7XHJcbiAgcHVibGljIHRpcG9Eb2N1bWVudG9Ob21pbmE6bnVtYmVyPTA7XHJcbiAgcHVibGljIGNvbnRhYmlsaXphY2lvbkFwb3J0ZU5vbWluYTpzdHJpbmc9J09DUCc7XHJcbiAgcHVibGljIHJlY2VwY2lvbkRvY3VtZW50b0Fwb3J0ZTpudW1iZXI9MDtcclxuICBwdWJsaWMgdGlwb0RvY3VtZW50b0Fwb3J0ZTpudW1iZXI9MDtcclxuICBwdWJsaWMgcGVyaW9kb0FSZXN0YWJsZWNlTm9taW5hOnN0cmluZz0nJztcclxuICBwdWJsaWMgdmFsaWRhckNvbnRhYmlsaXphY2lvblBlcmlvZG9BbnRlcmlvck5vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgdGl0dWxvUmVwb3J0ZU5vbWluYTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGNvbnRhYmlsaXphY2lvbkZpZGVpY29taXNvTm9taW5hOnN0cmluZz0nT0NQJztcclxuICBwdWJsaWMgcmVjZXBjaW9uRG9jdW1lbnRvRmlkZWljb21pc286bnVtYmVyPTA7XHJcbiAgcHVibGljIHRpcG9Eb2N1bWVudG9GaWRlaWNvbWlzbzpudW1iZXI9MDtcclxuICBwdWJsaWMgaWRCZW5lZmljaWFyaW9GaWRlaWNvbWlzbzpudW1iZXI9MDtcclxuICBwdWJsaWMgY3VlbnRhQ29udGFibGVGaWRlaWNvbWlzbzpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGluZm9ybWFjaW9uUGFyYVJlcG9ydGU6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBkaXZpZGlyQ29uY2VwdG9RdWluY2VuYTpudW1iZXI9MDtcclxuICBwdWJsaWMgcmVjZXBjaW9uRG9jdW1lbnRvUGFnb1BlcnNvbmFsQ2hlcXVlOm51bWJlcj0wO1xyXG4gIHB1YmxpYyB0aXBvRG9jdW1lbnRvUGFnb1BlcnNvbmFsQ2hlcXVlOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBlc3RhdHVzQ3VlbnRhQWx0ZXJuYXRpdmE6bnVtYmVyPTA7XHJcbiAgcHVibGljIHJhY09icmVyb05vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgbm9taW5hTGlxdWlkYWNpb246bnVtYmVyPTA7XHJcbiAgcHVibGljIGhvamFUaWVtcG9Ob21pbmE6bnVtYmVyPTA7XHJcbiAgcHVibGljIGNvZGlnb0Z1ZW50ZUZpbmFuY2lhbWllbnRvOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBjZXJyYXJTaW5EaXNwb25pYmlsaWRhZDpudW1iZXI9MDtcclxuICBwdWJsaWMgZXN0YXR1c0FncnVwYXJBcG9ydGVzOm51bWJlcj0wO1xyXG4gIHB1YmxpYyByZWNlcGNpb25Eb2N1bWVudG9DYXVzYTpudW1iZXI9MDtcclxuICBwdWJsaWMgdGlwb0RvY3VtZW50b0NhdXNhOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBpZENvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFOb21pbmE6bnVtYmVyPTA7XHJcbiAgcHVibGljIGlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYUFwb3J0ZTpudW1iZXI9MDtcclxuICBwdWJsaWMgaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhQ2F1c2E6bnVtYmVyPTA7XHJcbiAgcHVibGljIGlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYVBlcnNvbmFsOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBpZENvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFGaWRlaWNvbWlzbzpudW1iZXI9MDtcclxuICBwdWJsaWMgZGVub21pbmFjaW9uQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYU5vbWluYT0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYUFwb3J0ZT0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYUNhdXNhPScnO1xyXG4gIHB1YmxpYyBkZW5vbWluYWNpb25Db25jZXB0b0NsYXNpZmljYWNpb25QYXJhUGVyc29uYWw9Jyc7XHJcbiAgcHVibGljIGRlbm9taW5hY2lvbkNvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFGaWRlaWNvbWlzbz0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uVGlwb0RvY3VtZW50b05vbWluYTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRlbm9taW5hY2lvblRpcG9Eb2N1bWVudG9DYXVzYTpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRlbm9taW5hY2lvblRpcG9Eb2N1bWVudG9QYWdvUGVyc29uYWxDaGVxdWU6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBkZW5vbWluYWNpb25UaXBvRG9jdW1lbnRvRmlkZWljb21pc286c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBkZW5vbWluYWNpb25UaXBvRG9jdW1lbnRvQXBvcnRlPScnO1xyXG4gIHB1YmxpYyBjb2RpZ29GdWVudGVGaW5hbmNpYW1pZW50b01vc3RhcjpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRlbm9taW5hY2lvbkNvZGlnb0Z1ZW50ZUZpbmFuY2lhbWllbnRvOnN0cmluZz0nJzsgIFxyXG4gIHB1YmxpYyBub21icmVQcm92ZWVkb3I6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBub21icmVCZW5lZmljaWFyaW9GaWRlaWNvbWlzbzpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGNvZGlnb0NlbnRyb0Nvc3RvOnN0cmluZz0nJztcclxuICBwdWJsaWMgY2VzdGFUaWNrZWN0U3VlbHRvczpudW1iZXI9MDtcclxuICBwdWJsaWMgY29kaWdvVXN1YXJpbzpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRlbm9taW5hY2lvbkNlbnRyb0NvbnN0bzpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGRlbm9taW5hY2lvbkN1ZW50YUNvbnRhYmxlOnN0cmluZz0nJztcclxuICBwdWJsaWMgaWRQZXJpb2RvTm9taW5hOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBpZFBlcmlvZG9SZXN0YWJsZWNlck5vbWluYTpudW1iZXI9MDtcclxuICBwdWJsaWMgZXN0YXR1c0luY2lkZW5jaWE6bnVtYmVyPTA7XHJcblx0cHVibGljIHNlZ21lbnRhclBlcnNvbmFsOm51bWJlcj0zMDAwO1xyXG4gIHB1YmxpYyBwZXJpb2Rvc05vbWluYTpNUGVyaW9kb05vbWluYVtdPVtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihlOklOb21pbmE9bnVsbCl7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgICBpZiAoZSl7XHJcbiAgICAgICBcclxuICAgICAgICAgIHRoaXMuaWRFbXByZXNhPXBhcnNlSW50KGUuaWRfZW1wcmVzYSk7XHJcbiAgICAgICAgICB0aGlzLmlkTm9taW5hPXBhcnNlSW50KGUuaWRfbm9taW5hKTtcclxuICAgICAgICAgIHRoaXMuY29kaWdvTm9taW5hPWUuY29kbm9tO1xyXG4gICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25Ob21pbmE9ZS5kZW5ub207XHJcbiAgICAgICAgICB0aGlzLnRpcG9QZXJvaW9kb05vbWluYT1lLnRpcHBlcm5vbTtcclxuICAgICAgICAgIHRoaXMuZGVzY3JpcGNpb25QZXJpb2RvTm9taW5hPWUuZGVzcGVybm9tO1xyXG4gICAgICAgICAgdGhpcy5hbm9DdXJzb05vbWluYT1wYXJzZUludChlLmFub2N1cm5vbSk7XHJcbiAgICAgICAgICB0aGlzLmZlY2hhSW5pY2lvTm9taW5hPWUuZmVjaW5pbm9tO1xyXG4gICAgICAgICAgdGhpcy5wZXJpb2RvQWN0dWFsTm9taW5hPWUucGVyYWN0bm9tO1xyXG4gICAgICAgICAgdGhpcy5udW1lcm9QZXJpb2RvTm9taW5hPXBhcnNlSW50KGUubnVtcGVybm9tKTtcclxuICAgICAgICAgIHRoaXMudGlwb05vbWluYT1wYXJzZUludChlLnRpcG5vbSk7XHJcbiAgICAgICAgICB0aGlzLnJhY05vbWluYT1wYXJzZUludChlLnJhY25vbSk7XHJcbiAgICAgICAgICB0aGlzLmFkZWxhbnRvUGFnb05vbWluYT1wYXJzZUludChlLmFkZW5vbSk7XHJcbiAgICAgICAgICB0aGlzLm5vbWluYUVzcGVjaWFsPXBhcnNlSW50KGUuZXNwbm9tKTtcclxuICAgICAgICAgIHRoaXMubm9taW5hQ2VzdGFUaWNrZXQ9cGFyc2VJbnQoZS5jdG5vbSk7XHJcbiAgICAgICAgICB0aGlzLmNlc3RhVGlja2V0TWV0b2RvTm9taW5hPWUuY3RtZXRub207XHJcbiAgICAgICAgICB0aGlzLmNvZGlnb09yZ2FuaXNtb0Nlc3RhVGlja2V0PWUuY29kb3JnY2VzdGljO1xyXG4gICAgICAgICAgdGhpcy5Db250YWJpbGl6YWNpb25Ob21pbmE9ZS5jb25zdWxub207XHJcbiAgICAgICAgICB0aGlzLmRlc3Rpbm9Db21wcm9iYW50ZU5vbWluYT1lLmRlc2NvbW5vbTtcclxuICAgICAgICAgIHRoaXMuaWRQcm92ZWVkb3I9cGFyc2VJbnQoZS5pZF9wcm92ZWVkb3IpO1xyXG4gICAgICAgICAgdGhpcy5jdWVudGFDb250YWJsZU5vbWluYT1lLmN1ZWNvbm5vbTtcclxuICAgICAgICAgIHRoaXMubm90YURlYml0b0JhbmNvPXBhcnNlSW50KGUubm90ZGVibm9tKTtcclxuICAgICAgICAgIHRoaXMucmVjZXBjaW9uRG9jdW1lbnRvTm9taW5hPXBhcnNlSW50KGUucmVjZG9jbm9tKTtcclxuICAgICAgICAgIHRoaXMudGlwb0RvY3VtZW50b05vbWluYT1wYXJzZUludChlLnRpcGRvY25vbSk7XHJcbiAgICAgICAgICB0aGlzLmNvbnRhYmlsaXphY2lvbkFwb3J0ZU5vbWluYT1lLmNvbmFwb25vbTtcclxuICAgICAgICAgIHRoaXMucmVjZXBjaW9uRG9jdW1lbnRvQXBvcnRlPXBhcnNlSW50KGUucmVjZG9jYXBvKTtcclxuICAgICAgICAgIHRoaXMudGlwb0RvY3VtZW50b0Fwb3J0ZT1wYXJzZUludChlLnRpcGRvY2Fwbyk7XHJcbiAgICAgICAgICB0aGlzLnBlcmlvZG9BUmVzdGFibGVjZU5vbWluYT1lLnBlcnJlc25vbTtcclxuICAgICAgICAgIHRoaXMudmFsaWRhckNvbnRhYmlsaXphY2lvblBlcmlvZG9BbnRlcmlvck5vbWluYT1wYXJzZUludChlLmNvbnBlcm5vbSk7XHJcbiAgICAgICAgICB0aGlzLnRpdHVsb1JlcG9ydGVOb21pbmE9ZS50aXRyZXBub207XHJcbiAgICAgICAgICB0aGlzLmNvbnRhYmlsaXphY2lvbkZpZGVpY29taXNvTm9taW5hPWUuY29uZmlkbm9tO1xyXG4gICAgICAgICAgdGhpcy5yZWNlcGNpb25Eb2N1bWVudG9GaWRlaWNvbWlzbz1wYXJzZUludChlLnJlY2RvY2ZpZCk7XHJcbiAgICAgICAgICB0aGlzLnRpcG9Eb2N1bWVudG9GaWRlaWNvbWlzbz1wYXJzZUludChlLnRpcGRvY2ZpZCk7XHJcbiAgICAgICAgICB0aGlzLmlkQmVuZWZpY2lhcmlvRmlkZWljb21pc289cGFyc2VJbnQoZS5pZF9iZW5maWQpO1xyXG4gICAgICAgICAgdGhpcy5jdWVudGFDb250YWJsZUZpZGVpY29taXNvPWUuY3VlY29uZmlkO1xyXG4gICAgICAgICAgdGhpcy5pbmZvcm1hY2lvblBhcmFSZXBvcnRlPWUuaW5mb3JtYTtcclxuICAgICAgICAgIHRoaXMuZGl2aWRpckNvbmNlcHRvUXVpbmNlbmE9cGFyc2VJbnQoZS5kaXZjb24pO1xyXG4gICAgICAgICAgdGhpcy5yZWNlcGNpb25Eb2N1bWVudG9QYWdvUGVyc29uYWxDaGVxdWU9cGFyc2VJbnQoZS5yZWNkb2NwYWdwZXJjaGUpO1xyXG4gICAgICAgICAgdGhpcy50aXBvRG9jdW1lbnRvUGFnb1BlcnNvbmFsQ2hlcXVlPXBhcnNlSW50KGUudGlwZG9jcGFncGVyY2hlKTtcclxuICAgICAgICAgIHRoaXMuZXN0YXR1c0N1ZW50YUFsdGVybmF0aXZhwqA9cGFyc2VJbnQoZS5lc3RjdGFhbHQpO1xyXG4gICAgICAgICAgdGhpcy5yYWNPYnJlcm9Ob21pbmE9cGFyc2VJbnQoZS5yYWNvYnJub20pO1xyXG4gICAgICAgICAgdGhpcy5ub21pbmFMaXF1aWRhY2lvbj1wYXJzZUludChlLm5vbWxpcSk7XHJcbiAgICAgICAgICB0aGlzLmhvamFUaWVtcG9Ob21pbmE9cGFyc2VJbnQoZS5ob2p0aWVub20pO1xyXG4gICAgICAgICAgdGhpcy5jb2RpZ29GdWVudGVGaW5hbmNpYW1pZW50bz1wYXJzZUludChlLmNvZGZ1ZWZpbik7XHJcbiAgICAgICAgICB0aGlzLmNlcnJhclNpbkRpc3BvbmliaWxpZGFkPXBhcnNlSW50KGUuY2Vyc2luZGlzKTtcclxuICAgICAgICAgIHRoaXMuZXN0YXR1c0FncnVwYXJBcG9ydGVzPXBhcnNlSW50KGUuZXN0YWdyYXBvKTtcclxuICAgICAgICAgIHRoaXMucmVjZXBjaW9uRG9jdW1lbnRvQ2F1c2E9cGFyc2VJbnQoZS5yZWNkb2NjYXVub20pO1xyXG4gICAgICAgICAgdGhpcy50aXBvRG9jdW1lbnRvQ2F1c2E9cGFyc2VJbnQoZS50aXBkb2NjYXVub20pO1xyXG4gICAgICAgICAgdGhpcy5pZENvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFOb21pbmE9cGFyc2VJbnQoZS5pZF9jb25jeHBub20pO1xyXG4gICAgICAgICAgdGhpcy5pZENvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFBcG9ydGU9cGFyc2VJbnQoZS5pZF9jb25jeHBhcG8pO1xyXG4gICAgICAgICAgdGhpcy5pZENvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFDYXVzYT1wYXJzZUludChlLmlkX2NvbmN4cGNhdSk7XHJcbiAgICAgICAgICB0aGlzLmlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYVBlcnNvbmFsPXBhcnNlSW50KGUuaWRfY29uY3hwcGVyKTtcclxuICAgICAgICAgIHRoaXMuaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhRmlkZWljb21pc289cGFyc2VJbnQoZS5pZF9jb25jeHBmaWQpO1xyXG4gICAgICAgICAgdGhpcy5jb2RpZ29DZW50cm9Db3N0bz1lLmNvZGNlbmNvc1xyXG4gICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25DZW50cm9Db25zdG89ZS5kZW5jZW5jb3NcclxuICAgICAgICAgIHRoaXMuY2VzdGFUaWNrZWN0U3VlbHRvcz1wYXJzZUludChlLmNlc3Rpa3N1ZWwpICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25Db2RpZ29GdWVudGVGaW5hbmNpYW1pZW50bz1lLmNvZGlnb2Z0ZWZpbisnIC0gJytlLmRlbmZ1ZWZpbiAgXHJcbiAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbkN1ZW50YUNvbnRhYmxlPSBlLmRlbmN0YWNvbnQgIFxyXG4gICAgICAgICAgdGhpcy5ub21icmVQcm92ZWVkb3I9IGUubm9tcHJvO1xyXG4gICAgICAgICAgdGhpcy5lc3RhdHVzSW5jaWRlbmNpYT1wYXJzZUludChlLmVzdGluY2lkZW5jaWEpO1xyXG4gICAgICAgICAgdGhpcy5wZXJpb2Rvc05vbWluYT1lLnBlcmlvZG9zLm1hcChlPT5uZXcgTVBlcmlvZG9Ob21pbmEoZSkpO1xyXG4gICAgICAgICAgdGhpcy5pZFBlcmlvZG9Ob21pbmE9cGFyc2VJbnQoZS5pZF9wZXJpb2RvYWN0dWFsKTtcclxuICAgICAgICAgIHRoaXMuaWRQZXJpb2RvUmVzdGFibGVjZXJOb21pbmE9cGFyc2VJbnQoZS5pZF9wZXJyZXNub20pOyBcclxuICAgICAgICAgIHRoaXMuc2VnbWVudGFyUGVyc29uYWw9cGFyc2VJbnQoZS5zZWdwZXIpOyBcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlzTmV3PXRydWU7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBkYXRhSW50ZXJmYWNlKCk6SU5vbWluYSB7XHJcbiAgICAgIHRoaXMuIGdldFBlcmlvZG9Ob21pbmEoKTtcclxuICAgICAgaWYodGhpcy5zZWdtZW50YXJQZXJzb25hbD09MCl7XHJcbiAgICAgICAgdGhpcy5zZWdtZW50YXJQZXJzb25hbD0xMDAwMDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgaWRfZW1wcmVzYTp0aGlzLmlkRW1wcmVzYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgaWRfbm9taW5hOnRoaXMuaWROb21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGNvZG5vbTp0aGlzLmNvZGlnb05vbWluYSxcclxuICAgICAgICAgIGRlbm5vbTp0aGlzLmRlbm9taW5hY2lvbk5vbWluYSxcclxuICAgICAgICAgIHRpcHBlcm5vbTp0aGlzLnRpcG9QZXJvaW9kb05vbWluYSxcclxuICAgICAgICAgIGRlc3Blcm5vbTp0aGlzLmRlc2NyaXBjaW9uUGVyaW9kb05vbWluYSxcclxuICAgICAgICAgIGFub2N1cm5vbTp0aGlzLmFub0N1cnNvTm9taW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBmZWNpbmlub206dGhpcy5mZWNoYUluaWNpb05vbWluYSxcclxuICAgICAgICAgIHBlcmFjdG5vbTp0aGlzLnBlcmlvZG9BY3R1YWxOb21pbmEsXHJcbiAgICAgICAgICBudW1wZXJub206dGhpcy5udW1lcm9QZXJpb2RvTm9taW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICB0aXBub206dGhpcy50aXBvTm9taW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICByYWNub206dGhpcy5yYWNOb21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGFkZW5vbTp0aGlzLmFkZWxhbnRvUGFnb05vbWluYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgZXNwbm9tOnRoaXMubm9taW5hRXNwZWNpYWwudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGN0bm9tOnRoaXMubm9taW5hQ2VzdGFUaWNrZXQudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGN0bWV0bm9tOnRoaXMuY2VzdGFUaWNrZXRNZXRvZG9Ob21pbmEsXHJcbiAgICAgICAgICBjb2RvcmdjZXN0aWM6dGhpcy5jb2RpZ29PcmdhbmlzbW9DZXN0YVRpY2tldCxcclxuICAgICAgICAgIGNvbnN1bG5vbTp0aGlzLkNvbnRhYmlsaXphY2lvbk5vbWluYSxcclxuICAgICAgICAgIGRlc2NvbW5vbTp0aGlzLmRlc3Rpbm9Db21wcm9iYW50ZU5vbWluYSxcclxuICAgICAgICAgIGlkX3Byb3ZlZWRvcjp0aGlzLmlkUHJvdmVlZG9yLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBjdWVjb25ub206dGhpcy5jdWVudGFDb250YWJsZU5vbWluYSxcclxuICAgICAgICAgIG5vdGRlYm5vbTp0aGlzLm5vdGFEZWJpdG9CYW5jby50b1N0cmluZygpLFxyXG4gICAgICAgICAgcmVjZG9jbm9tOnRoaXMucmVjZXBjaW9uRG9jdW1lbnRvTm9taW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICB0aXBkb2Nub206dGhpcy50aXBvRG9jdW1lbnRvTm9taW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBjb25hcG9ub206dGhpcy5jb250YWJpbGl6YWNpb25BcG9ydGVOb21pbmEsXHJcbiAgICAgICAgICByZWNkb2NhcG86dGhpcy5yZWNlcGNpb25Eb2N1bWVudG9BcG9ydGUudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHRpcGRvY2Fwbzp0aGlzLnRpcG9Eb2N1bWVudG9BcG9ydGUudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHBlcnJlc25vbTp0aGlzLnBlcmlvZG9BUmVzdGFibGVjZU5vbWluYSxcclxuICAgICAgICAgIGNvbnBlcm5vbTp0aGlzLnZhbGlkYXJDb250YWJpbGl6YWNpb25QZXJpb2RvQW50ZXJpb3JOb21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHRpdHJlcG5vbTp0aGlzLnRpdHVsb1JlcG9ydGVOb21pbmEsXHJcbiAgICAgICAgICBjb25maWRub206dGhpcy5jb250YWJpbGl6YWNpb25GaWRlaWNvbWlzb05vbWluYSxcclxuICAgICAgICAgIHJlY2RvY2ZpZDp0aGlzLnJlY2VwY2lvbkRvY3VtZW50b0ZpZGVpY29taXNvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICB0aXBkb2NmaWQ6dGhpcy50aXBvRG9jdW1lbnRvRmlkZWljb21pc28udG9TdHJpbmcoKSxcclxuICAgICAgICAgIGlkX2JlbmZpZDp0aGlzLmlkQmVuZWZpY2lhcmlvRmlkZWljb21pc28udG9TdHJpbmcoKSxcclxuICAgICAgICAgIGN1ZWNvbmZpZDp0aGlzLmN1ZW50YUNvbnRhYmxlRmlkZWljb21pc28sXHJcbiAgICAgICAgICBpbmZvcm1hOnRoaXMuaW5mb3JtYWNpb25QYXJhUmVwb3J0ZSxcclxuICAgICAgICAgIGRpdmNvbjp0aGlzLmRpdmlkaXJDb25jZXB0b1F1aW5jZW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICByZWNkb2NwYWdwZXJjaGU6dGhpcy5yZWNlcGNpb25Eb2N1bWVudG9QYWdvUGVyc29uYWxDaGVxdWUudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHRpcGRvY3BhZ3BlcmNoZTp0aGlzLnRpcG9Eb2N1bWVudG9QYWdvUGVyc29uYWxDaGVxdWUudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGVzdGN0YWFsdDp0aGlzLmVzdGF0dXNDdWVudGFBbHRlcm5hdGl2YcKgLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICByYWNvYnJub206dGhpcy5yYWNPYnJlcm9Ob21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIG5vbWxpcTp0aGlzLm5vbWluYUxpcXVpZGFjaW9uLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBob2p0aWVub206dGhpcy5ob2phVGllbXBvTm9taW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBjb2RmdWVmaW46dGhpcy5jb2RpZ29GdWVudGVGaW5hbmNpYW1pZW50by50b1N0cmluZygpLFxyXG4gICAgICAgICAgY2Vyc2luZGlzOnRoaXMuY2VycmFyU2luRGlzcG9uaWJpbGlkYWQudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGVzdGFncmFwbzp0aGlzLmVzdGF0dXNBZ3J1cGFyQXBvcnRlcy50b1N0cmluZygpLFxyXG4gICAgICAgICAgcmVjZG9jY2F1bm9tOnRoaXMucmVjZXBjaW9uRG9jdW1lbnRvQ2F1c2EudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHRpcGRvY2NhdW5vbTp0aGlzLnRpcG9Eb2N1bWVudG9DYXVzYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgaWRfY29uY3hwbm9tOnRoaXMuaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhTm9taW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBpZF9jb25jeHBhcG86dGhpcy5pZENvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFBcG9ydGUudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGlkX2NvbmN4cGNhdTp0aGlzLmlkQ29uY2VwdG9DbGFzaWZpY2FjaW9uUGFyYUNhdXNhLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBpZF9jb25jeHBwZXI6dGhpcy5pZENvbmNlcHRvQ2xhc2lmaWNhY2lvblBhcmFQZXJzb25hbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgaWRfY29uY3hwZmlkOnRoaXMuaWRDb25jZXB0b0NsYXNpZmljYWNpb25QYXJhRmlkZWljb21pc28udG9TdHJpbmcoKSwgICAgICAgICAgICAgICBcclxuICAgICAgICAgIGNlc3Rpa3N1ZWw6dGhpcy5jZXN0YVRpY2tlY3RTdWVsdG9zLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBjb2RjZW5jb3M6dGhpcy5jb2RpZ29DZW50cm9Db3N0byxcclxuICAgICAgICAgIGNvZHVzdTp0aGlzLmNvZGlnb1VzdWFyaW8sXHJcbiAgICAgICAgICBjb2RpZ29mdGVmaW46dGhpcy5jb2RpZ29GdWVudGVGaW5hbmNpYW1pZW50by50b1N0cmluZygpLFxyXG4gICAgICAgICAgZGVuZnVlZmluOnRoaXMuZGVub21pbmFjaW9uQ29kaWdvRnVlbnRlRmluYW5jaWFtaWVudG8sXHJcbiAgICAgICAgICBkZW5jZW5jb3M6IHRoaXMuZGVub21pbmFjaW9uQ2VudHJvQ29uc3RvLFxyXG4gICAgICAgICAgZGVuY3RhY29udDogdGhpcy5kZW5vbWluYWNpb25DdWVudGFDb250YWJsZSxcclxuICAgICAgICAgIG5vbXBybzp0aGlzLm5vbWJyZVByb3ZlZWRvcixcclxuICAgICAgICAgIGlkX3BlcmlvZG9hY3R1YWw6dGhpcy5pZFBlcmlvZG9Ob21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGlkX3BlcnJlc25vbTp0aGlzLmlkUGVyaW9kb1Jlc3RhYmxlY2VyTm9taW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBlc3RpbmNpZGVuY2lhOnRoaXMuZXN0YXR1c0luY2lkZW5jaWEudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHNlZ3Blcjp0aGlzLnNlZ21lbnRhclBlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBwZXJpb2Rvczp0aGlzLnBlcmlvZG9zTm9taW5hLm1hcCgoZnVuY3Rpb24gKGUpIHsgcmV0dXJuIGUuZGF0YUludGVyZmFjZSgpOyB9KSksICAgICAgICAgIFxyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UGVyaW9kb05vbWluYSgpe1xyXG4gICAgaWYgKHRoaXMudGlwb1Blcm9pb2RvTm9taW5hPT0nMCcpe1xyXG4gICAgICB0aGlzLm51bWVyb1BlcmlvZG9Ob21pbmE9NTJcclxuICAgIH0gZWxzZSAgaWYgKHRoaXMudGlwb1Blcm9pb2RvTm9taW5hPT0nMScpe1xyXG4gICAgICB0aGlzLm51bWVyb1BlcmlvZG9Ob21pbmE9MjRcclxuICAgIH0gZWxzZSAgaWYgKHRoaXMudGlwb1Blcm9pb2RvTm9taW5hPT0nMicpe1xyXG4gICAgICB0aGlzLm51bWVyb1BlcmlvZG9Ob21pbmE9MTJcclxuICAgIH0gIGVsc2UgaWYgKHRoaXMudGlwb1Blcm9pb2RvTm9taW5hPT0nMycpe1xyXG4gICAgICB0aGlzLm51bWVyb1BlcmlvZG9Ob21pbmE9MVxyXG4gICAgfSAgICAgICAgICBcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIFRpcG8gZGUgbm9taW5hIHtTZW1hbmFsLCBRdWluY2VuYWwsTWVuc3VhbCxBbnVhbH1cclxuICAgKi9cclxuICBwdWJsaWMgZGVub21pbmFjaW9uTnVtZXJvTm9taW5hKCk6c3RyaW5ne1xyXG4gICAgaWYgKCB0aGlzLm51bWVyb1BlcmlvZG9Ob21pbmE9PTUyKXtcclxuICAgICAgcmV0dXJuICdTZW1hbmFsJ1xyXG4gICAgfSBlbHNlICBpZiAodGhpcy5udW1lcm9QZXJpb2RvTm9taW5hPT0yNCl7XHJcbiAgICAgIHJldHVybiAnUXVpbmNlbmFsJ1xyXG4gICAgfSBlbHNlICBpZiAodGhpcy5udW1lcm9QZXJpb2RvTm9taW5hPT0xMil7XHJcbiAgICAgIHJldHVybiAnTWVuc3VhbCdcclxuICAgIH0gIGVsc2UgaWYgKHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT09MSl7XHJcbiAgICAgIHJldHVybiAnQW51YWwnXHJcbiAgICB9ICAgIFxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHJldHVybnMgcG9zaWNpb24gZGVsIGFycmF5IGRvbmRlIGVzdGEgZWwgcGVyaW9kbyBhY3R1YWwgZGUgbGEgbm9taW5hLCBkZSBsbyBjb250cmFyaW8gLTFcclxuICAgKi9cclxuICBwdWJsaWMgaW5kaWNlKCk6bnVtYmVyIHsgICAgICAgICAgXHJcbiAgICByZXR1cm4gdGhpcy5wZXJpb2Rvc05vbWluYS5maW5kSW5kZXgoZT0+IGUuY29kaWdvUGVyaW9kbz09IHRoaXMucGVyaW9kb0FjdHVhbE5vbWluYSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogIEByZXR1cm5zIEZlY2hhIGZpbmFsIGRlIGxhIG5vbWluYVxyXG4gICAqL1xyXG4gIHB1YmxpYyBmZWNoYUZpbmFsTm9taW5hKCk6c3RyaW5ne1xyXG4gICAgbGV0IGk9IHRoaXMucGVyaW9kb3NOb21pbmEubGVuZ3RoLTE7XHJcbiAgICBsZXQgZmVjaGFGaW49IHRoaXMucGVyaW9kb3NOb21pbmFbaV0uZmVjaGFIYXN0YXBlcmlvZG87XHJcbiAgICByZXR1cm4gbW9tZW50KGZlY2hhRmluKS5mb3JtYXQoJ0REL01NL1lZWVknKTtcclxuICB9XHJcbiAgXHJcbiAgLyoqICAgICAgICAgXHJcbiAgICogQHJldHVybnMgZmVjaGEgZGUgaW5pY2lvIGEgZmluIGRlIGxhIG5vbWluYVxyXG4gICAqL1xyXG4gIHB1YmxpYyBmZWNoYU5vbWluYSgpOnN0cmluZ3tcclxuICAgIGxldCBpPSB0aGlzLnBlcmlvZG9zTm9taW5hLmxlbmd0aC0xO1xyXG4gICAgbGV0IGZlY2hhRmluPSB0aGlzLnBlcmlvZG9zTm9taW5hW2ldLmZlY2hhSGFzdGFwZXJpb2RvO1xyXG4gICAgcmV0dXJuIG1vbWVudCh0aGlzLmZlY2hhSW5pY2lvTm9taW5hKS5mb3JtYXQoJ0REL01NL1lZWVknKSsnIGFsICcrbW9tZW50KGZlY2hhRmluKS5mb3JtYXQoJ0REL01NL1lZWVknKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHJldHVybnMgUmV0b3JuYSBlcyBlc3RhdHVzIGRlbCBwZXJpb2RvIGFjdHVhbCBkZSBsYSBub21pbmEge1xyXG4gICAqIFNpbiBDYWxjdWxhciwgY29udGFiaWxpemFkYSxQZXJpb2RvIENvbnRhYmlsaXphZG8sXHJcbiAgICogUGVyaW9kbyB5IEFwb3J0ZSBDb250YWJpbGl6YWRvLCBBcG9ydGUgQ29udGFiaWxpemFkbyB9XHJcbiAgICovXHJcblxyXG4gIHB1YmxpYyBlc3RhdHVzTm9taW5hKCk6c3RyaW5nIHtcclxuICAgIGxldCBpID0gdGhpcy5pbmRpY2UoKTtcclxuICAgIGlmIChpPj0wKXtcclxuICAgICAgcmV0dXJuIHRoaXMucGVyaW9kb3NOb21pbmFbaV0uZXN0YXR1c1BlcmlvZG8oKVxyXG4gICAgfSAgXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcmV0dXJucyBTaSBsYSBub21pbmEgcHVlZGUgc2VyIG1vZGlmaWNhZGEgKHZlcmRhZGVybywgZmFsc28pXHJcbiAgICovXHJcbiAgcHVibGljIGVkaXRhYmxlKCk6Ym9vbGVhbiB7XHJcbiAgICBsZXQgaT0gdGhpcy5pbmRpY2UoKTtcclxuICAgIHJldHVybiB0aGlzLnBlcmlvZG9zTm9taW5hW2ldLnBlcmlvZG9FZGl0YWJsZSgpXHJcbiAgfSBcclxuXHJcbiAgLyoqXHJcbiAgICogQHJldHVybnMgaW5kaWNhIHNpIGVsIHBlcmlkbyBhY3R1YWwgZXN0YSBhYmllcnRvXHJcbiAgICogQHJldHVybnMgdmVyZGFkZXJvL2ZhbHNvXHJcbiAgICovICAgICAgICBcclxuICAgcHVibGljIHBlcmlvZG9DZXJyYWRvKCk6Ym9vbGVhbiB7XHJcbiAgICBsZXQgaT0gdGhpcy5pbmRpY2UoKTtcclxuICAgIHJldHVybiB0aGlzLnBlcmlvZG9zTm9taW5hW2ldLmNlcnJhclBlcmlvZG89PTFcclxuICB9IFxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogQHJldHVybnMgRmVjaGEgaW5pY2lvIGRlbCBwZXJpb2RvIGFjdHVhbCBkZSBsYSBub21pbmFcclxuICAgKi9cclxuICBwdWJsaWMgZmVjaGFJbmNpb1BlcmlvZG9BY3R1YWwoKTpzdHJpbmd7XHJcbiAgICBsZXQgaT0gdGhpcy5pbmRpY2UoKTtcclxuICAgIHJldHVybiB0aGlzLnBlcmlvZG9zTm9taW5hW2ldLmZlY2hhRGVzZGVQZXJpb2RvO1xyXG4gIH1cclxuXHJcbi8qKlxyXG4gKiBAcmV0dXJucyBGZWNoYSBmaW5hbCBkZWwgcGVyaW9kbyBhY3R1YWwgZGUgbGEgbm9taW5hXHJcbiAqL1xyXG4gIHB1YmxpYyBmZWNoYUZpbmFQZXJpb2RvQWN0dWFsKCk6c3RyaW5ne1xyXG4gICAgcmV0dXJuIHRoaXMucGVyaW9kb3NOb21pbmFbdGhpcy5pbmRpY2UoKV0uZmVjaGFIYXN0YXBlcmlvZG87XHJcbiAgfVxyXG4gIFxyXG4gICAgIFxyXG59IFxyXG5cclxuZXhwb3J0IGNsYXNzIE1Ob21pbmFTaW1wbGUgZXh0ZW5kcyBNQmFzaWNNb2RlbCB7XHJcbiAgcHVibGljIGlkRW1wcmVzYTpudW1iZXI9MDsgXHJcbiAgcHVibGljIGlkTm9taW5hOm51bWJlcj0wOyBcclxuICBwdWJsaWMgY29kaWdvTm9taW5hOnN0cmluZz0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9Ob21pbmE6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBpZFBlcmlvZG9BY3R1YWw6bnVtYmVyPTA7XHJcbiAgcHVibGljIHRvdGFsUGVyaW9kbzpudW1iZXI9MDtcclxuICBwdWJsaWMgZXN0YXR1czpzdHJpbmc9Jyc7XHJcbiAgcHVibGljIGVzdGF0dXNQZXJpb2RvOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBjYWxjdWxhZGE6Ym9vbGVhbj1mYWxzZTtcclxuICBwdWJsaWMgcHJlbm9taW5hOmJvb2xlYW49ZmFsc2U7XHJcbiAgcHVibGljIGlkQ2FyZ286bnVtYmVyPTA7XHJcbiAgcHVibGljIGNvZGlnb0NhcmdvOnN0cmluZz0nJztcclxuICBwdWJsaWMgZGVub21pbmFjaW9uQ2FyZ286c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBub21pbmFSYWM6bnVtYmVyPTA7XHJcbiAgcHVibGljIHNpbWJvbG86IHN0cmluZz0nJztcclxuICBwdWJsaWMgY29sb3I6IHN0cmluZz0nJztcclxuICBwdWJsaWMgZXN0YXR1c1BlcnNvbmFsOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBkZW5vbWluYWNpb25Fc3RhdHVzcGVyc29uYWw6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBkZXNjcmlwY2lvblBlcmlvZG9Ob21pbmE6c3RyaW5nPScnO1xyXG4gIHB1YmxpYyBwZXJpb2RvQWN0dWFsTm9taW5hOnN0cmluZz0nJztcclxuICBwdWJsaWMgZWRpdGFibGU6Ym9vbGVhbj1mYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoZTpJTm9taW5hU2ltcGxlPW51bGwpe1xyXG4gICAgc3VwZXIoKTtcclxuICAgICAgaWYgKGUpe1xyXG4gICAgICAgICB0aGlzLmlkRW1wcmVzYT1wYXJzZUludChlLmlkX2VtcHJlc2EpOyAgICAgICAgICBcclxuICAgICAgICAgdGhpcy5pZE5vbWluYT1wYXJzZUludChlLmlkX25vbWluYSk7IFxyXG4gICAgICAgICB0aGlzLmNvZGlnb05vbWluYT0gZS5jb2Rub207XHJcbiAgICAgICAgIHRoaXMuZGVub21pbmFjaW9Ob21pbmE9ZS5kZW5ub207XHJcbiAgICAgICAgIHRoaXMuaWRQZXJpb2RvQWN0dWFsPSArZS5pZF9wZXJpb2RvYWN0dWFsO1xyXG4gICAgICAgICB0aGlzLnRvdGFsUGVyaW9kbz1wYXJzZUZsb2F0KGUudG90cGVyKSwgXHJcbiAgICAgICAgIHRoaXMuZXN0YXR1c1BlcmlvZG89cGFyc2VJbnQoZS5jZXJwZXIpO1xyXG4gICAgICAgICB0aGlzLmNhbGN1bGFkYT1lLmNhbGN1bGFkbz09JzEnPyB0cnVlOmZhbHNlO1xyXG4gICAgICAgICB0aGlzLnByZW5vbWluYT1lLnByZW5vbWluYT09JzEnPyB0cnVlOmZhbHNlOyAgICAgICBcclxuICAgICAgICAgdGhpcy5lc3RhdHVzPXRoaXMuY2FsY3VsYWRhID8gJ0NhbGN1bGFkYSc6IFxyXG4gICAgICAgICAgICAgICAgICAgICAgIXRoaXMuY2FsY3VsYWRhICYmIHRoaXMucHJlbm9taW5hID8gJ1ByZS1DYWxjdWxhZGEnOiAnU2luIENhbGN1bGFyJ1xyXG4gICAgICAgICAgdGhpcy5lZGl0YWJsZT0odGhpcy5jYWxjdWxhZGF8fHRoaXMucHJlbm9taW5hKT8gZmFsc2U6dHJ1ZTsgXHJcbiAgICAgICAgICB0aGlzLmlkQ2FyZ289cGFyc2VJbnQoZS5pZF9jYXJwZXIpO1xyXG4gICAgICAgICAgdGhpcy5jb2RpZ29DYXJnbz1lLmNvZGNhcjtcclxuICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uQ2FyZ289ZS5kZXNjYXI7XHJcbiAgICAgICAgICB0aGlzLm5vbWluYVJhYz1wYXJzZUludChlLnJhY25vbSk7XHJcbiAgICAgICAgICB0aGlzLm5vbWluYVJhYz09MT8gdGhpcy5zaW1ib2xvPSdjaGVjayc6IHRoaXMuc2ltYm9sbz0nJztcclxuICAgICAgICAgIHRoaXMubm9taW5hUmFjPT0xPyB0aGlzLmNvbG9yPSdwcmltYXJ5JzogdGhpcy5jb2xvcj0nJztcclxuICAgICAgICAgIHRoaXMuZXN0YXR1c1BlcnNvbmFsPXBhcnNlSW50KGUuc3RhcGVyKTtcclxuICAgICAgICAgIHRoaXMuZXN0YXR1c1BlcnNvbmFsPT0wPyB0aGlzLmRlbm9taW5hY2lvbkVzdGF0dXNwZXJzb25hbD1cIk5PIEFTSUdOQURPXCI6XHJcbiAgICAgICAgICB0aGlzLmVzdGF0dXNQZXJzb25hbD09MT8gdGhpcy5kZW5vbWluYWNpb25Fc3RhdHVzcGVyc29uYWw9XCJBQ1RJVk9cIjpcclxuICAgICAgICAgIHRoaXMuZXN0YXR1c1BlcnNvbmFsPT0yPyB0aGlzLmRlbm9taW5hY2lvbkVzdGF0dXNwZXJzb25hbD1cIlZBQ0FDSU9ORVNcIjpcclxuICAgICAgICAgIHRoaXMuZXN0YXR1c1BlcnNvbmFsPT0zPyB0aGlzLmRlbm9taW5hY2lvbkVzdGF0dXNwZXJzb25hbD1cIkVHUkVTQURPXCI6XHJcbiAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbkVzdGF0dXNwZXJzb25hbD1cIlNVU1BFTkRJRE9cIjsgXHJcbiAgICAgICAgICB0aGlzLmRlc2NyaXBjaW9uUGVyaW9kb05vbWluYT1lLmRlc3Blcm5vbTtcclxuICAgICAgICAgIHRoaXMucGVyaW9kb0FjdHVhbE5vbWluYT1lLnBlcmFjdG5vbTsgIFxyXG4gICAgICB9IGVsc2V7XHJcbiAgICAgICAgdGhpcy5pc05ldz1mYWxzZTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRhdGFJbnRlcmZhY2UoKTpJTm9taW5hU2ltcGxlIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGlkX2VtcHJlc2E6dGhpcy5pZEVtcHJlc2EudG9TdHJpbmcoKSwgICAgICAgIFxyXG4gICAgICAgICAgaWRfbm9taW5hOnRoaXMuaWROb21pbmEudG9TdHJpbmcoKSwgIFxyXG4gICAgICAgICAgY29kbm9tOnRoaXMuY29kaWdvTm9taW5hLFxyXG4gICAgICAgICAgZGVubm9tOnRoaXMuZGVub21pbmFjaW9Ob21pbmEsXHJcbiAgICAgICAgICBpZF9wZXJpb2RvYWN0dWFsOnRoaXMuaWRQZXJpb2RvQWN0dWFsLnRvU3RyaW5nKCksIFxyXG4gICAgICAgICAgdG90cGVyOnRoaXMudG90YWxQZXJpb2RvLnRvU3RyaW5nKCksICBcclxuICAgICAgICAgIGNlcnBlcjp0aGlzLmVzdGF0dXNQZXJpb2RvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBwcmVub21pbmE6dGhpcy5wcmVub21pbmE/ICcxJzonMCcsXHJcbiAgICAgICAgICBjYWxjdWxhZG86dGhpcy5jYWxjdWxhZGE/ICcxJzonMCcsXHJcbiAgICAgICAgICBpZF9jYXJwZXI6dGhpcy5pZENhcmdvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBkZXNjYXI6dGhpcy5kZW5vbWluYWNpb25DYXJnbyxcclxuICAgICAgICAgIGNvZGNhcjp0aGlzLmNvZGlnb0NhcmdvLFxyXG4gICAgICAgICAgcmFjbm9tOnRoaXMubm9taW5hUmFjLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICBzdGFwZXI6dGhpcy5lc3RhdHVzUGVyc29uYWwudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGRlc3Blcm5vbTp0aGlzLmRlc2NyaXBjaW9uUGVyaW9kb05vbWluYSxcclxuICAgICAgICAgIHBlcmFjdG5vbTp0aGlzLnBlcmlvZG9BY3R1YWxOb21pbmEsIFxyXG4gICAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
|