sk-front-lib 0.17.57 → 0.17.59

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.
@@ -66,6 +66,9 @@ export declare class SkProductService {
66
66
  getAdminStockCount(id: number): Observable<SkProductStockCount>;
67
67
  getAdminStocks(id: number, params?: ApiPageableParam): Observable<ApiPageable<ISkProductStockHistory>>;
68
68
  addAdminStock(id: number, data: any): Observable<SkProductStockCount>;
69
+ deductAdminStock(id: number, data: {
70
+ amount: number;
71
+ }): Observable<SkProductStockCount>;
69
72
  updateAdminStock(productId: number, stockId: number, data: {
70
73
  serial: string;
71
74
  }): Observable<ISkProductStockHistory>;
@@ -123,6 +123,9 @@ export class SkProductService {
123
123
  addAdminStock(id, data) {
124
124
  return this._apiService.post(`/api/admin/products/${id}/stocks`, data).pipe(map(response => Object.assign({ totalIn: 0, totalOut: 0, current: 0 }, response.data)));
125
125
  }
126
+ deductAdminStock(id, data) {
127
+ return this._apiService.post(`/api/admin/products/${id}/stocks/deduct`, data).pipe(map(response => Object.assign({ totalIn: 0, totalOut: 0, current: 0 }, response.data)));
128
+ }
126
129
  updateAdminStock(productId, stockId, data) {
127
130
  return this._apiService.put(`/api/admin/products/${productId}/stocks/${stockId}`, data).pipe(map(response => response.data));
128
131
  }
@@ -165,4 +168,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
165
168
  providedIn: 'root'
166
169
  }]
167
170
  }], ctorParameters: function () { return [{ type: i1.SkApiService }]; } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stcHJvZHVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2NydWQvc3JjL3NrLXByb2R1Y3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQWUsZ0JBQWdCLEVBQWdCLE1BQU0sa0JBQWtCLENBQUM7QUFDL0UsT0FBTyxFQUtILFNBQVMsRUFXZSxNQUFNLEVBQ2pDLE1BQU0sb0JBQW9CLENBQUM7OztBQUs1QixNQUFNLE9BQU8sZ0JBQWdCO0lBRXpCLFlBQW9CLFdBQXlCO1FBQXpCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO0lBRTdDLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFtQix3QkFBd0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQzdFLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDakMsQ0FBQztJQUNOLENBQUM7SUFFRCxlQUFlLENBQUMsRUFBVTtRQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFZLHVCQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDcEUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2hELENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVyxDQUFDLFNBQTJCLElBQUksZ0JBQWdCLEVBQUU7UUFDekQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBb0Isc0JBQXNCLEVBQUUsTUFBTSxDQUFDLGVBQWUsRUFBRSxD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QUFDLFNBQWlCLEVBQUUsSUFBdUI7UUFDekQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBb0IsdUJBQXVCLFNBQVMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDbEcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELGtCQUFrQixDQUFDLFNBQWlCLEVBQUUsSUFBdUI7UUFDekQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBb0IsdUJBQXVCLFNBQVMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDakcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQzs7NkdBclNRLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTsyRkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFwaVBhZ2VhYmxlLCBBcGlQYWdlYWJsZVBhcmFtLCBTa0FwaVNlcnZpY2UgfSBmcm9tICdzay1mcm9udC1saWIvYXBpJztcbmltcG9ydCB7XG4gICAgSVNrUHJvZHVjdERldGFpbCxcbiAgICBJU2tQcm9kdWN0RmlsdGVyRGF0YSxcbiAgICBJU2tQcm9kdWN0T3B0aW9uLFxuICAgIElTa1Byb2R1Y3RTdG9ja0hpc3RvcnksXG4gICAgU2tQcm9kdWN0LFxuICAgIFNrUHJvZHVjdENvdW50LFxuICAgIFNrUHJvZHVjdExpc3RJdGVtLFxuICAgIFNrUHJvZHVjdFByaWNlLFxuICAgIFNrUHJvZHVjdFN0b2NrLFxuICAgIFNrUHJvZHVjdFN0b2NrQ291bnQsXG4gICAgU2tQcm9kdWN0V2lzaGxpc3QsXG4gICAgU2tTdWJDYXRlZ29yeUl0ZW0sXG4gICAgSVNrUHJvZHVjdFB1Ymxpc2gsXG4gICAgSVNrUHJvZHVjdFNlcmllc0xpc3RJdGVtLFxuICAgIElTa1Byb2R1Y3RTZXJpZXNDcmVhdGUsXG4gICAgSVNrUHJvZHVjdFNlcmllc0RldGFpbCwgU2tGaWxlLCBJU2tGaWxlXG59IGZyb20gJ3NrLWZyb250LWxpYi9tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2tQcm9kdWN0U2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hcGlTZXJ2aWNlOiBTa0FwaVNlcnZpY2UpIHtcblxuICAgIH1cblxuICAgIGdldFByb2R1Y3QodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElTa1Byb2R1Y3REZXRhaWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3REZXRhaWw+KGAvYXBpL3B1YmxpYy9wcm9kdWN0cy8ke3VybH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5Qcm9kdWN0KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRQcm9kdWN0cyhwYXJhbXM6IEFwaVBhZ2VhYmxlUGFyYW0gPSBuZXcgQXBpUGFnZWFibGVQYXJhbSgpKTogT2JzZXJ2YWJsZTxBcGlQYWdlYWJsZTxTa1Byb2R1Y3RMaXN0SXRlbT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0UGFnZWFibGU8U2tQcm9kdWN0TGlzdEl0ZW0+KGAvYXBpL3B1YmxpYy9wcm9kdWN0c2AsIHBhcmFtcy5idWlsZEh0dHBQYXJhbXMoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUHJvZHVjdHMocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8QXBpUGFnZWFibGU8U2tQcm9kdWN0IHwgU2tQcm9kdWN0TGlzdEl0ZW0+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldFBhZ2VhYmxlPFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHNgLCBwYXJhbXMuYnVpbGRIdHRwUGFyYW1zKCkpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRQcm9kdWN0c0FycmF5KGlkczogbnVtYmVyW10pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdExpc3RJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrUHJvZHVjdExpc3RJdGVtW10+KGAvYXBpL3B1YmxpYy9wcm9kdWN0cy9hcnJheS8ke2lkcy5qb2luKCcsJyl9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUHJvZHVjdHNBcnJheShpZHM6IG51bWJlcltdKTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3RMaXN0SXRlbVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa1Byb2R1Y3RMaXN0SXRlbVtdPihgL2FwaS9hZG1pbi9wcm9kdWN0cy9hcnJheS8ke2lkcy5qb2luKCcsJyl9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNyZWF0ZUFkbWluUHJvZHVjdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0PFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHNgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IG5ldyBTa1Byb2R1Y3QocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY29weUFkbWluUHJvZHVjdChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucG9zdDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L2NvcHlgLCB7fSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZVByb2R1Y3QoaWQ6IG51bWJlciwgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdD4oYC9hcGkvcHVibGljL3Byb2R1Y3RzLyR7aWR9YCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdChpZDogbnVtYmVyLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RQcmljZShpZDogbnVtYmVyLCBkYXRhOiBTa1Byb2R1Y3RQcmljZSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3ByaWNlYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdE9wZW5ncmFwaChpZDogbnVtYmVyLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9vcGVuZ3JhcGhgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IG5ldyBTa1Byb2R1Y3QocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Qcm9kdWN0TmF2ZXJFUChpZDogbnVtYmVyLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9uYXZlcmVwYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdENhdGFsb2coaWQ6IG51bWJlciwgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vY2F0YWxvZ2AsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RPcHRpb24oaWQ6IG51bWJlciwgZGF0YTogeyBvcHRpb25zOiBJU2tQcm9kdWN0T3B0aW9uW10gfSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L29wdGlvbmAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RQYWNrYWdlKGlkOiBudW1iZXIsIGRhdGE6IHsgcGFja2FnZXM6IHsgcHJvZHVjdElkOiBudW1iZXI7IHNob3dTcGVjOiBib29sZWFuOyBzaG93RGVzYzogYm9vbGVhbjsgc2hhcmU6IG51bWJlcjsgfVtdIH0pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9wYWNrYWdlYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUGFja2FnZUNoaWxkcmVuT3B0aW9ucyhpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxJU2tQcm9kdWN0T3B0aW9uW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3RPcHRpb25bXT4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vcGFja2FnZS9jaGlsZHJlbi1vcHRpb25zYCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUGFja2FnZUNoaWxkcmVuSW1hZ2VzKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrRmlsZVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tGaWxlW10+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3BhY2thZ2UvY2hpbGRyZW4taW1hZ2VzYCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiAocmVzcG9uc2UuZGF0YSB8fCBbXSkubWFwKGl0ZW0gPT4gbmV3IFNrRmlsZShpdGVtKSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Qcm9kdWN0QXJ0aWNsZURlc2MoaWQ6IG51bWJlciwgZGF0YTogeyBjb250ZW50OiBzdHJpbmcsIGltYWdlczogbnVtYmVyW10gfSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L2FydGljbGUtZGVzY2AsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RBcnRpY2xlU3BlYyhpZDogbnVtYmVyLCBkYXRhOiB7IGNvbnRlbnQ6IHN0cmluZywgaW1hZ2VzOiBudW1iZXJbXSB9KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vYXJ0aWNsZS1zcGVjYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdEltYWdlKGlkOiBudW1iZXIsIGRhdGE6IHsgaW1hZ2VJZHM6IG51bWJlcltdIH0pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9pbWFnZWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RFRGVsaXZlcnkoaWQ6IG51bWJlciwgZGF0YTogeyBza3U6IHN0cmluZywgZG93bmxvYWRMaW5rOiBzdHJpbmcsIHRlbXBsYXRlOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L2VkZWxpdmVyeWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RGdXJuaXR1cmVEZWxpdmVyeShpZDogbnVtYmVyLCBkYXRhOiB7IGZ1cm5pdHVyZUFzc2VtYmx5OiBib29sZWFuIH0pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9mdXJuaXR1cmUtZGVsaXZlcnlgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IG5ldyBTa1Byb2R1Y3QocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICBhY3RpdmF0ZUFkbWluUHJvZHVjdHMocHJvZHVjdHM6IFNrUHJvZHVjdFtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0KGAvYXBpL2FkbWluL3Byb2R1Y3RzL2FjdGl2YXRlLyR7cHJvZHVjdHMubWFwKHByb2R1Y3QgPT4gcHJvZHVjdC5pZCkuam9pbignLCcpfWAsIG51bGwpO1xuICAgIH1cblxuICAgIGRlYWN0aXZhdGVBZG1pblByb2R1Y3RzKHByb2R1Y3RzOiBTa1Byb2R1Y3RbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dChgL2FwaS9hZG1pbi9wcm9kdWN0cy9kZWFjdGl2YXRlLyR7cHJvZHVjdHMubWFwKHByb2R1Y3QgPT4gcHJvZHVjdC5pZCkuam9pbignLCcpfWAsIG51bGwpO1xuICAgIH1cblxuICAgIGRlbGV0ZUFkbWluUHJvZHVjdHMocHJvZHVjdHM6IFNrUHJvZHVjdFtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZGVsZXRlKGAvYXBpL2FkbWluL3Byb2R1Y3RzL2RlbGV0ZS8ke3Byb2R1Y3RzLm1hcChwcm9kdWN0ID0+IHByb2R1Y3QuaWQpLmpvaW4oJywnKX1gKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblByb2R1Y3RzQ291bnQoKTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3RDb3VudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tQcm9kdWN0Q291bnQ+KCcvYXBpL2FkbWluL3Byb2R1Y3RzL2NvdW50JylcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKSk7XG4gICAgfVxuXG4gICAgdXBkYXRlV2lzaGxpc3QoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2tQcm9kdWN0V2lzaGxpc3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdFdpc2hsaXN0PihgL2FwaS9wdWJsaWMvcHJvZHVjdHMvJHtpZH0vd2lzaGxpc3RgLCB7fSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFdpc2hsaXN0KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdFdpc2hsaXN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa1Byb2R1Y3RXaXNobGlzdD4oYC9hcGkvcHVibGljL3Byb2R1Y3RzLyR7aWR9L3dpc2hsaXN0YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFByb2R1Y3RPcHRpb25zKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTa1Byb2R1Y3RPcHRpb25bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrUHJvZHVjdE9wdGlvbltdPihgL2FwaS9wdWJsaWMvcHJvZHVjdHMvJHtpZH0vb3B0aW9uc2ApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblByb2R1Y3RTdWJDYXRlZ29yeUl0ZW0oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2tTdWJDYXRlZ29yeUl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tTdWJDYXRlZ29yeUl0ZW1bXT4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vY2F0ZWdvcmllc2ApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSB8fCBbXSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RTdWJDYXRlZ29yeUl0ZW1zKGlkOiBudW1iZXIsIGlkQXJyOiBudW1iZXJbXSk6IE9ic2VydmFibGU8U2tTdWJDYXRlZ29yeUl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tTdWJDYXRlZ29yeUl0ZW1bXT4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vY2F0ZWdvcmllc2AsIHtzdWJDYXRlZ29yeUl0ZW1zOiBpZEFycn0pLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSB8fCBbXSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRQcm9kdWN0c0ZpbHRlckRhdGEocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8SVNrUHJvZHVjdEZpbHRlckRhdGE+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3RGaWx0ZXJEYXRhPihgL2FwaS9wdWJsaWMvcHJvZHVjdHMvZmlsdGVyLWRhdGFgLCBwYXJhbXMuYnVpbGRIdHRwUGFyYW1zKCkpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRJbmNsdWRlZFBhY2thZ2VzKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdExpc3RJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrUHJvZHVjdExpc3RJdGVtW10+KGAvYXBpL3B1YmxpYy9wcm9kdWN0cy8ke2lkfS9pbmNsdWRlZC1wYWNrYWdlc2ApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSB8fCBbXSlcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIHVwZGF0ZUFkbWluU3RvY2tDb25maWcoaWQ6IG51bWJlciwgZGF0YTogU2tQcm9kdWN0U3RvY2spOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9zdG9ja3NgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5TdG9ja0NvdW50KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdFN0b2NrQ291bnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrUHJvZHVjdFN0b2NrQ291bnQ+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3N0b2Nrcy9jb3VudGApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gT2JqZWN0LmFzc2lnbih7dG90YWxJbjogMCwgdG90YWxPdXQ6IDAsIGN1cnJlbnQ6IDB9LCByZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblN0b2NrcyhpZDogbnVtYmVyLCBwYXJhbXM6IEFwaVBhZ2VhYmxlUGFyYW0gPSBuZXcgQXBpUGFnZWFibGVQYXJhbSgpKTogT2JzZXJ2YWJsZTxBcGlQYWdlYWJsZTxJU2tQcm9kdWN0U3RvY2tIaXN0b3J5Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXRQYWdlYWJsZTxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3N0b2Nrc2AsIHBhcmFtcy5idWlsZEh0dHBQYXJhbXMoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGFkZEFkbWluU3RvY2soaWQ6IG51bWJlciwgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3RTdG9ja0NvdW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8U2tQcm9kdWN0U3RvY2tDb3VudD4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vc3RvY2tzYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBPYmplY3QuYXNzaWduKHt0b3RhbEluOiAwLCB0b3RhbE91dDogMCwgY3VycmVudDogMH0sIHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluU3RvY2socHJvZHVjdElkOiBudW1iZXIsIHN0b2NrSWQ6IG51bWJlciwgZGF0YTogeyBzZXJpYWw6IHN0cmluZyB9KTogT2JzZXJ2YWJsZTxJU2tQcm9kdWN0U3RvY2tIaXN0b3J5PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxJU2tQcm9kdWN0U3RvY2tIaXN0b3J5PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke3Byb2R1Y3RJZH0vc3RvY2tzLyR7c3RvY2tJZH1gLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZGVsZXRlQWRtaW5TdG9jayhwcm9kdWN0SWQ6IG51bWJlciwgc3RvY2tJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZGVsZXRlKGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7cHJvZHVjdElkfS9zdG9ja3MvJHtzdG9ja0lkfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblNlcmllc0xpc3QocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8QXBpUGFnZWFibGU8SVNrUHJvZHVjdFNlcmllc0xpc3RJdGVtPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXRQYWdlYWJsZTxJU2tQcm9kdWN0U2VyaWVzTGlzdEl0ZW0+KGAvYXBpL2FkbWluL3Byb2R1Y3Qtc2VyaWVzYCwgcGFyYW1zLmJ1aWxkSHR0cFBhcmFtcygpKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5TZXJpZXMoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8SVNrUHJvZHVjdFNlcmllc0RldGFpbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrUHJvZHVjdFNlcmllc0RldGFpbD4oYC9hcGkvYWRtaW4vcHJvZHVjdC1zZXJpZXMvJHtpZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY3JlYXRlQWRtaW5TZXJpZXMoZGF0YTogSVNrUHJvZHVjdFNlcmllc0NyZWF0ZSk6IE9ic2VydmFibGU8SVNrUHJvZHVjdFNlcmllc0xpc3RJdGVtPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8SVNrUHJvZHVjdFNlcmllc0xpc3RJdGVtPihgL2FwaS9hZG1pbi9wcm9kdWN0LXNlcmllc2AsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblNlcmllcyhpZDogbnVtYmVyLCBkYXRhOiBJU2tQcm9kdWN0U2VyaWVzQ3JlYXRlKTogT2JzZXJ2YWJsZTxJU2tQcm9kdWN0U2VyaWVzTGlzdEl0ZW0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PElTa1Byb2R1Y3RTZXJpZXNMaXN0SXRlbT4oYC9hcGkvYWRtaW4vcHJvZHVjdC1zZXJpZXMvJHtpZH1gLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZGVsZXRlQWRtaW5TZXJpZXMoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmRlbGV0ZShgL2FwaS9hZG1pbi9wcm9kdWN0LXNlcmllcy8ke2lkfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblB1Ymxpc2gocHJvZHVjdElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTa1Byb2R1Y3RQdWJsaXNoW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3RQdWJsaXNoW10+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7cHJvZHVjdElkfS9wdWJsaXNoYCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZUFkbWluUHVibGlzaChwcm9kdWN0SWQ6IG51bWJlciwgaWQ6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5kZWxldGUoYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtwcm9kdWN0SWR9L3B1Ymxpc2gvJHtpZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY3JlYXRlQWRtaW5QdWJsaXNoKHByb2R1Y3RJZDogbnVtYmVyLCBkYXRhOiBJU2tQcm9kdWN0UHVibGlzaCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8SVNrUHJvZHVjdFB1Ymxpc2g+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7cHJvZHVjdElkfS9wdWJsaXNoYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHVibGlzaChwcm9kdWN0SWQ6IG51bWJlciwgZGF0YTogSVNrUHJvZHVjdFB1Ymxpc2gpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8SVNrUHJvZHVjdFB1Ymxpc2g+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7cHJvZHVjdElkfS9wdWJsaXNoYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stcHJvZHVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2NydWQvc3JjL3NrLXByb2R1Y3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQWUsZ0JBQWdCLEVBQWdCLE1BQU0sa0JBQWtCLENBQUM7QUFDL0UsT0FBTyxFQUtILFNBQVMsRUFXZSxNQUFNLEVBQ2pDLE1BQU0sb0JBQW9CLENBQUM7OztBQUs1QixNQUFNLE9BQU8sZ0JBQWdCO0lBRXpCLFlBQW9CLFdBQXlCO1FBQXpCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO0lBRTdDLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFtQix3QkFBd0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQzdFLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDakMsQ0FBQztJQUNOLENBQUM7SUFFRCxlQUFlLENBQUMsRUFBVTtRQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFZLHVCQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDcEUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2hELENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVyxDQUFDLFNBQTJCLElBQUksZ0JBQWdCLEVBQUU7UUFDekQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBb0Isc0JBQXNCLEVBQUUsTUFBTSxDQUFDLGVBQWUsRUFBRSxD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QUMsSUFBSSxDQUM3RixHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ2pDLENBQUM7SUFDTixDQUFDO0lBRUQsa0JBQWtCLENBQUMsU0FBaUIsRUFBRSxFQUFVO1FBQzVDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsdUJBQXVCLFNBQVMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDakYsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELGtCQUFrQixDQUFDLFNBQWlCLEVBQUUsSUFBdUI7UUFDekQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBb0IsdUJBQXVCLFNBQVMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDbEcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQztJQUVELGtCQUFrQixDQUFDLFNBQWlCLEVBQUUsSUFBdUI7UUFDekQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBb0IsdUJBQXVCLFNBQVMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDakcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUNqQyxDQUFDO0lBQ04sQ0FBQzs7NkdBM1NRLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTsyRkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFwaVBhZ2VhYmxlLCBBcGlQYWdlYWJsZVBhcmFtLCBTa0FwaVNlcnZpY2UgfSBmcm9tICdzay1mcm9udC1saWIvYXBpJztcbmltcG9ydCB7XG4gICAgSVNrUHJvZHVjdERldGFpbCxcbiAgICBJU2tQcm9kdWN0RmlsdGVyRGF0YSxcbiAgICBJU2tQcm9kdWN0T3B0aW9uLFxuICAgIElTa1Byb2R1Y3RTdG9ja0hpc3RvcnksXG4gICAgU2tQcm9kdWN0LFxuICAgIFNrUHJvZHVjdENvdW50LFxuICAgIFNrUHJvZHVjdExpc3RJdGVtLFxuICAgIFNrUHJvZHVjdFByaWNlLFxuICAgIFNrUHJvZHVjdFN0b2NrLFxuICAgIFNrUHJvZHVjdFN0b2NrQ291bnQsXG4gICAgU2tQcm9kdWN0V2lzaGxpc3QsXG4gICAgU2tTdWJDYXRlZ29yeUl0ZW0sXG4gICAgSVNrUHJvZHVjdFB1Ymxpc2gsXG4gICAgSVNrUHJvZHVjdFNlcmllc0xpc3RJdGVtLFxuICAgIElTa1Byb2R1Y3RTZXJpZXNDcmVhdGUsXG4gICAgSVNrUHJvZHVjdFNlcmllc0RldGFpbCwgU2tGaWxlLCBJU2tGaWxlXG59IGZyb20gJ3NrLWZyb250LWxpYi9tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2tQcm9kdWN0U2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hcGlTZXJ2aWNlOiBTa0FwaVNlcnZpY2UpIHtcblxuICAgIH1cblxuICAgIGdldFByb2R1Y3QodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElTa1Byb2R1Y3REZXRhaWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3REZXRhaWw+KGAvYXBpL3B1YmxpYy9wcm9kdWN0cy8ke3VybH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5Qcm9kdWN0KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfWApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRQcm9kdWN0cyhwYXJhbXM6IEFwaVBhZ2VhYmxlUGFyYW0gPSBuZXcgQXBpUGFnZWFibGVQYXJhbSgpKTogT2JzZXJ2YWJsZTxBcGlQYWdlYWJsZTxTa1Byb2R1Y3RMaXN0SXRlbT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0UGFnZWFibGU8U2tQcm9kdWN0TGlzdEl0ZW0+KGAvYXBpL3B1YmxpYy9wcm9kdWN0c2AsIHBhcmFtcy5idWlsZEh0dHBQYXJhbXMoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUHJvZHVjdHMocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8QXBpUGFnZWFibGU8U2tQcm9kdWN0IHwgU2tQcm9kdWN0TGlzdEl0ZW0+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldFBhZ2VhYmxlPFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHNgLCBwYXJhbXMuYnVpbGRIdHRwUGFyYW1zKCkpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRQcm9kdWN0c0FycmF5KGlkczogbnVtYmVyW10pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdExpc3RJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrUHJvZHVjdExpc3RJdGVtW10+KGAvYXBpL3B1YmxpYy9wcm9kdWN0cy9hcnJheS8ke2lkcy5qb2luKCcsJyl9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUHJvZHVjdHNBcnJheShpZHM6IG51bWJlcltdKTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3RMaXN0SXRlbVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa1Byb2R1Y3RMaXN0SXRlbVtdPihgL2FwaS9hZG1pbi9wcm9kdWN0cy9hcnJheS8ke2lkcy5qb2luKCcsJyl9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNyZWF0ZUFkbWluUHJvZHVjdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0PFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHNgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IG5ldyBTa1Byb2R1Y3QocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY29weUFkbWluUHJvZHVjdChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucG9zdDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L2NvcHlgLCB7fSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZVByb2R1Y3QoaWQ6IG51bWJlciwgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdD4oYC9hcGkvcHVibGljL3Byb2R1Y3RzLyR7aWR9YCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdChpZDogbnVtYmVyLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RQcmljZShpZDogbnVtYmVyLCBkYXRhOiBTa1Byb2R1Y3RQcmljZSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3ByaWNlYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdE9wZW5ncmFwaChpZDogbnVtYmVyLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9vcGVuZ3JhcGhgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IG5ldyBTa1Byb2R1Y3QocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Qcm9kdWN0TmF2ZXJFUChpZDogbnVtYmVyLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9uYXZlcmVwYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdENhdGFsb2coaWQ6IG51bWJlciwgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vY2F0YWxvZ2AsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RPcHRpb24oaWQ6IG51bWJlciwgZGF0YTogeyBvcHRpb25zOiBJU2tQcm9kdWN0T3B0aW9uW10gfSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L29wdGlvbmAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RQYWNrYWdlKGlkOiBudW1iZXIsIGRhdGE6IHsgcGFja2FnZXM6IHsgcHJvZHVjdElkOiBudW1iZXI7IHNob3dTcGVjOiBib29sZWFuOyBzaG93RGVzYzogYm9vbGVhbjsgc2hhcmU6IG51bWJlcjsgfVtdIH0pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9wYWNrYWdlYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUGFja2FnZUNoaWxkcmVuT3B0aW9ucyhpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxJU2tQcm9kdWN0T3B0aW9uW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3RPcHRpb25bXT4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vcGFja2FnZS9jaGlsZHJlbi1vcHRpb25zYCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluUGFja2FnZUNoaWxkcmVuSW1hZ2VzKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrRmlsZVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tGaWxlW10+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3BhY2thZ2UvY2hpbGRyZW4taW1hZ2VzYCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiAocmVzcG9uc2UuZGF0YSB8fCBbXSkubWFwKGl0ZW0gPT4gbmV3IFNrRmlsZShpdGVtKSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5Qcm9kdWN0QXJ0aWNsZURlc2MoaWQ6IG51bWJlciwgZGF0YTogeyBjb250ZW50OiBzdHJpbmcsIGltYWdlczogbnVtYmVyW10gfSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L2FydGljbGUtZGVzY2AsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RBcnRpY2xlU3BlYyhpZDogbnVtYmVyLCBkYXRhOiB7IGNvbnRlbnQ6IHN0cmluZywgaW1hZ2VzOiBudW1iZXJbXSB9KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdD4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vYXJ0aWNsZS1zcGVjYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBuZXcgU2tQcm9kdWN0KHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHVwZGF0ZUFkbWluUHJvZHVjdEltYWdlKGlkOiBudW1iZXIsIGRhdGE6IHsgaW1hZ2VJZHM6IG51bWJlcltdIH0pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9pbWFnZWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RFRGVsaXZlcnkoaWQ6IG51bWJlciwgZGF0YTogeyBza3U6IHN0cmluZywgZG93bmxvYWRMaW5rOiBzdHJpbmcsIHRlbXBsYXRlOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8U2tQcm9kdWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L2VkZWxpdmVyeWAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gbmV3IFNrUHJvZHVjdChyZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RGdXJuaXR1cmVEZWxpdmVyeShpZDogbnVtYmVyLCBkYXRhOiB7IGZ1cm5pdHVyZUFzc2VtYmx5OiBib29sZWFuIH0pOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9mdXJuaXR1cmUtZGVsaXZlcnlgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IG5ldyBTa1Byb2R1Y3QocmVzcG9uc2UuZGF0YSkpXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICBhY3RpdmF0ZUFkbWluUHJvZHVjdHMocHJvZHVjdHM6IFNrUHJvZHVjdFtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0KGAvYXBpL2FkbWluL3Byb2R1Y3RzL2FjdGl2YXRlLyR7cHJvZHVjdHMubWFwKHByb2R1Y3QgPT4gcHJvZHVjdC5pZCkuam9pbignLCcpfWAsIG51bGwpO1xuICAgIH1cblxuICAgIGRlYWN0aXZhdGVBZG1pblByb2R1Y3RzKHByb2R1Y3RzOiBTa1Byb2R1Y3RbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dChgL2FwaS9hZG1pbi9wcm9kdWN0cy9kZWFjdGl2YXRlLyR7cHJvZHVjdHMubWFwKHByb2R1Y3QgPT4gcHJvZHVjdC5pZCkuam9pbignLCcpfWAsIG51bGwpO1xuICAgIH1cblxuICAgIGRlbGV0ZUFkbWluUHJvZHVjdHMocHJvZHVjdHM6IFNrUHJvZHVjdFtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZGVsZXRlKGAvYXBpL2FkbWluL3Byb2R1Y3RzL2RlbGV0ZS8ke3Byb2R1Y3RzLm1hcChwcm9kdWN0ID0+IHByb2R1Y3QuaWQpLmpvaW4oJywnKX1gKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblByb2R1Y3RzQ291bnQoKTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3RDb3VudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tQcm9kdWN0Q291bnQ+KCcvYXBpL2FkbWluL3Byb2R1Y3RzL2NvdW50JylcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKSk7XG4gICAgfVxuXG4gICAgdXBkYXRlV2lzaGxpc3QoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2tQcm9kdWN0V2lzaGxpc3Q+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PFNrUHJvZHVjdFdpc2hsaXN0PihgL2FwaS9wdWJsaWMvcHJvZHVjdHMvJHtpZH0vd2lzaGxpc3RgLCB7fSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFdpc2hsaXN0KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdFdpc2hsaXN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa1Byb2R1Y3RXaXNobGlzdD4oYC9hcGkvcHVibGljL3Byb2R1Y3RzLyR7aWR9L3dpc2hsaXN0YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFByb2R1Y3RPcHRpb25zKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTa1Byb2R1Y3RPcHRpb25bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8SVNrUHJvZHVjdE9wdGlvbltdPihgL2FwaS9wdWJsaWMvcHJvZHVjdHMvJHtpZH0vb3B0aW9uc2ApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblByb2R1Y3RTdWJDYXRlZ29yeUl0ZW0oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2tTdWJDYXRlZ29yeUl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXQ8U2tTdWJDYXRlZ29yeUl0ZW1bXT4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vY2F0ZWdvcmllc2ApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSB8fCBbXSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblByb2R1Y3RTdWJDYXRlZ29yeUl0ZW1zKGlkOiBudW1iZXIsIGlkQXJyOiBudW1iZXJbXSk6IE9ic2VydmFibGU8U2tTdWJDYXRlZ29yeUl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tTdWJDYXRlZ29yeUl0ZW1bXT4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vY2F0ZWdvcmllc2AsIHtzdWJDYXRlZ29yeUl0ZW1zOiBpZEFycn0pLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSB8fCBbXSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRQcm9kdWN0c0ZpbHRlckRhdGEocGFyYW1zOiBBcGlQYWdlYWJsZVBhcmFtID0gbmV3IEFwaVBhZ2VhYmxlUGFyYW0oKSk6IE9ic2VydmFibGU8SVNrUHJvZHVjdEZpbHRlckRhdGE+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3RGaWx0ZXJEYXRhPihgL2FwaS9wdWJsaWMvcHJvZHVjdHMvZmlsdGVyLWRhdGFgLCBwYXJhbXMuYnVpbGRIdHRwUGFyYW1zKCkpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRJbmNsdWRlZFBhY2thZ2VzKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdExpc3RJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrUHJvZHVjdExpc3RJdGVtW10+KGAvYXBpL3B1YmxpYy9wcm9kdWN0cy8ke2lkfS9pbmNsdWRlZC1wYWNrYWdlc2ApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSB8fCBbXSlcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIHVwZGF0ZUFkbWluU3RvY2tDb25maWcoaWQ6IG51bWJlciwgZGF0YTogU2tQcm9kdWN0U3RvY2spOiBPYnNlcnZhYmxlPFNrUHJvZHVjdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tQcm9kdWN0PihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke2lkfS9zdG9ja3NgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5TdG9ja0NvdW50KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNrUHJvZHVjdFN0b2NrQ291bnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PFNrUHJvZHVjdFN0b2NrQ291bnQ+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3N0b2Nrcy9jb3VudGApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gT2JqZWN0LmFzc2lnbih7dG90YWxJbjogMCwgdG90YWxPdXQ6IDAsIGN1cnJlbnQ6IDB9LCByZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBZG1pblN0b2NrcyhpZDogbnVtYmVyLCBwYXJhbXM6IEFwaVBhZ2VhYmxlUGFyYW0gPSBuZXcgQXBpUGFnZWFibGVQYXJhbSgpKTogT2JzZXJ2YWJsZTxBcGlQYWdlYWJsZTxJU2tQcm9kdWN0U3RvY2tIaXN0b3J5Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXRQYWdlYWJsZTxTa1Byb2R1Y3Q+KGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7aWR9L3N0b2Nrc2AsIHBhcmFtcy5idWlsZEh0dHBQYXJhbXMoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGFkZEFkbWluU3RvY2soaWQ6IG51bWJlciwgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3RTdG9ja0NvdW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8U2tQcm9kdWN0U3RvY2tDb3VudD4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vc3RvY2tzYCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiBPYmplY3QuYXNzaWduKHt0b3RhbEluOiAwLCB0b3RhbE91dDogMCwgY3VycmVudDogMH0sIHJlc3BvbnNlLmRhdGEpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlZHVjdEFkbWluU3RvY2soaWQ6IG51bWJlciwgZGF0YTogeyBhbW91bnQ6IG51bWJlciB9KTogT2JzZXJ2YWJsZTxTa1Byb2R1Y3RTdG9ja0NvdW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8U2tQcm9kdWN0U3RvY2tDb3VudD4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtpZH0vc3RvY2tzL2RlZHVjdGAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gT2JqZWN0LmFzc2lnbih7dG90YWxJbjogMCwgdG90YWxPdXQ6IDAsIGN1cnJlbnQ6IDB9LCByZXNwb25zZS5kYXRhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblN0b2NrKHByb2R1Y3RJZDogbnVtYmVyLCBzdG9ja0lkOiBudW1iZXIsIGRhdGE6IHsgc2VyaWFsOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8SVNrUHJvZHVjdFN0b2NrSGlzdG9yeT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8SVNrUHJvZHVjdFN0b2NrSGlzdG9yeT4oYC9hcGkvYWRtaW4vcHJvZHVjdHMvJHtwcm9kdWN0SWR9L3N0b2Nrcy8ke3N0b2NrSWR9YCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZUFkbWluU3RvY2socHJvZHVjdElkOiBudW1iZXIsIHN0b2NrSWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmRlbGV0ZShgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke3Byb2R1Y3RJZH0vc3RvY2tzLyR7c3RvY2tJZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5TZXJpZXNMaXN0KHBhcmFtczogQXBpUGFnZWFibGVQYXJhbSA9IG5ldyBBcGlQYWdlYWJsZVBhcmFtKCkpOiBPYnNlcnZhYmxlPEFwaVBhZ2VhYmxlPElTa1Byb2R1Y3RTZXJpZXNMaXN0SXRlbT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0UGFnZWFibGU8SVNrUHJvZHVjdFNlcmllc0xpc3RJdGVtPihgL2FwaS9hZG1pbi9wcm9kdWN0LXNlcmllc2AsIHBhcmFtcy5idWlsZEh0dHBQYXJhbXMoKSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEFkbWluU2VyaWVzKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTa1Byb2R1Y3RTZXJpZXNEZXRhaWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0PElTa1Byb2R1Y3RTZXJpZXNEZXRhaWw+KGAvYXBpL2FkbWluL3Byb2R1Y3Qtc2VyaWVzLyR7aWR9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNyZWF0ZUFkbWluU2VyaWVzKGRhdGE6IElTa1Byb2R1Y3RTZXJpZXNDcmVhdGUpOiBPYnNlcnZhYmxlPElTa1Byb2R1Y3RTZXJpZXNMaXN0SXRlbT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0PElTa1Byb2R1Y3RTZXJpZXNMaXN0SXRlbT4oYC9hcGkvYWRtaW4vcHJvZHVjdC1zZXJpZXNgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWRtaW5TZXJpZXMoaWQ6IG51bWJlciwgZGF0YTogSVNrUHJvZHVjdFNlcmllc0NyZWF0ZSk6IE9ic2VydmFibGU8SVNrUHJvZHVjdFNlcmllc0xpc3RJdGVtPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnB1dDxJU2tQcm9kdWN0U2VyaWVzTGlzdEl0ZW0+KGAvYXBpL2FkbWluL3Byb2R1Y3Qtc2VyaWVzLyR7aWR9YCwgZGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZUFkbWluU2VyaWVzKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5kZWxldGUoYC9hcGkvYWRtaW4vcHJvZHVjdC1zZXJpZXMvJHtpZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QWRtaW5QdWJsaXNoKHByb2R1Y3RJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxJU2tQcm9kdWN0UHVibGlzaFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxJU2tQcm9kdWN0UHVibGlzaFtdPihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke3Byb2R1Y3RJZH0vcHVibGlzaGApLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBkZWxldGVBZG1pblB1Ymxpc2gocHJvZHVjdElkOiBudW1iZXIsIGlkOiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZGVsZXRlKGAvYXBpL2FkbWluL3Byb2R1Y3RzLyR7cHJvZHVjdElkfS9wdWJsaXNoLyR7aWR9YCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNyZWF0ZUFkbWluUHVibGlzaChwcm9kdWN0SWQ6IG51bWJlciwgZGF0YTogSVNrUHJvZHVjdFB1Ymxpc2gpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0PElTa1Byb2R1Y3RQdWJsaXNoPihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke3Byb2R1Y3RJZH0vcHVibGlzaGAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZG1pblB1Ymxpc2gocHJvZHVjdElkOiBudW1iZXIsIGRhdGE6IElTa1Byb2R1Y3RQdWJsaXNoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucHV0PElTa1Byb2R1Y3RQdWJsaXNoPihgL2FwaS9hZG1pbi9wcm9kdWN0cy8ke3Byb2R1Y3RJZH0vcHVibGlzaGAsIGRhdGEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -13,6 +13,7 @@ export var SkPaymentStatus;
13
13
  SkPaymentStatus["Kakao"] = "KAKAO";
14
14
  SkPaymentStatus["Payco"] = "PAYCO";
15
15
  SkPaymentStatus["Toss"] = "TOSS";
16
+ SkPaymentStatus["Vbank"] = "VBANK";
16
17
  })(SkPaymentStatus || (SkPaymentStatus = {}));
17
18
  export function getSkPaymentStatusText(status) {
18
19
  switch (status) {
@@ -29,8 +30,44 @@ export function getSkPaymentStatusText(status) {
29
30
  case SkPaymentStatus.Naver:
30
31
  case SkPaymentStatus.NaverPG:
31
32
  return '네이버페이';
33
+ case SkPaymentStatus.Vbank:
34
+ // Plan SC-B / FR-04 — PG 브랜드 노출 제거 (vbank-payment-phase3, develop_admin 포팅)
35
+ return '가상계좌';
32
36
  default:
33
37
  return status;
34
38
  }
35
39
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NrLWZyb250LWxpYi9tb2RlbC9zcmMvbGliL3BheW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksUUFHWDtBQUhELFdBQVksUUFBUTtJQUNoQiwrQkFBbUIsQ0FBQTtJQUNuQixnQ0FBb0IsQ0FBQTtBQUN4QixDQUFDLEVBSFcsUUFBUSxLQUFSLFFBQVEsUUFHbkI7QUFFRCxNQUFNLENBQU4sSUFBWSxlQVNYO0FBVEQsV0FBWSxlQUFlO0lBQ3ZCLHdDQUFxQixDQUFBO0lBQ3JCLGdDQUFhLENBQUE7SUFDYixrQ0FBZSxDQUFBO0lBQ2Ysa0NBQWUsQ0FBQTtJQUNmLHVDQUFvQixDQUFBO0lBQ3BCLGtDQUFlLENBQUE7SUFDZixrQ0FBZSxDQUFBO0lBQ2YsZ0NBQWEsQ0FBQTtBQUNqQixDQUFDLEVBVFcsZUFBZSxLQUFmLGVBQWUsUUFTMUI7QUFxQkQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLE1BQXVCO0lBQzFELFFBQVEsTUFBTSxFQUFFO1FBQ1osS0FBSyxlQUFlLENBQUMsUUFBUTtZQUN6QixPQUFPLE9BQU8sQ0FBQztRQUNuQixLQUFLLGVBQWUsQ0FBQyxJQUFJO1lBQ3JCLE9BQU8sZUFBZSxDQUFDO1FBQzNCLEtBQUssZUFBZSxDQUFDLEtBQUs7WUFDdEIsT0FBTyxlQUFlLENBQUM7UUFDM0IsS0FBSyxlQUFlLENBQUMsS0FBSztZQUN0QixPQUFPLE9BQU8sQ0FBQztRQUNuQixLQUFLLGVBQWUsQ0FBQyxLQUFLO1lBQ3RCLE9BQU8sT0FBTyxDQUFDO1FBQ25CLEtBQUssZUFBZSxDQUFDLEtBQUssQ0FBQztRQUMzQixLQUFLLGVBQWUsQ0FBQyxPQUFPO1lBQ3hCLE9BQU8sT0FBTyxDQUFDO1FBQ25CO1lBQ0ksT0FBTyxNQUFNLENBQUM7S0FDckI7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gU2tQZ1R5cGUge1xuICAgIE5pY2VQYXkgPSAnTklDRVBBWScsXG4gICAgVG9zc1BheW1lbnQgPSAnVE9TUydcbn1cblxuZXhwb3J0IGVudW0gU2tQYXltZW50U3RhdHVzIHtcbiAgICBUcmFuc2ZlciA9ICdUUkFOU0ZFUicsICAgICAgICAgIC8vIOustO2GteyepSDsnoXquIhcbiAgICBDYXJkID0gJ0NBUkQnLCAgICAgICAgICAgICAgICAgIC8vIOydvOuwmCDsubTrk5zqsrDsoJxcbiAgICBDYXJkMiA9ICdDQVJEMicsICAgICAgICAgICAgICAgIC8vIOustOydtOyekCDtlaDrtoAg7Lm065Oc6rKw7KCcXG4gICAgTmF2ZXIgPSAnTkFWRVInLCAgICAgICAgICAgICAgICAvLyDrhKTsnbTrsoQg7Y6Y7J20ICjso7zrrLjtmJUpXG4gICAgTmF2ZXJQRyA9ICdOQVZFUl9QRycsICAgICAgICAgICAvLyDrhKTsnbTrsoQg7Y6Y7J20ICjqsrDsoJztmJUpXG4gICAgS2FrYW8gPSAnS0FLQU8nLCAgICAgICAgICAgICAgICAvLyDsubTsubTsmKQg7Y6Y7J20XG4gICAgUGF5Y28gPSAnUEFZQ08nLCAgICAgICAgICAgICAgICAvLyDtjpjsnbTsvZRcbiAgICBUb3NzID0gJ1RPU1MnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNrUGF5bWVudCB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgdHlwZT86IFNrUGF5bWVudFN0YXR1cztcbiAgICBwZ1R5cGU/OiBTa1BnVHlwZTtcbiAgICB0eElkPzogc3RyaW5nO1xuICAgIHJlc3BvbnNlQ29kZT86IHN0cmluZztcbiAgICByZXNwb25zZU1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgY2FuY2VsQ29kZT86IHN0cmluZztcbiAgICBjYW5jZWxNZXNzYWdlPzogc3RyaW5nO1xuICAgIHBhaWRQcmljZT86IG51bWJlcjtcbiAgICBiYW5rZXI/OiBzdHJpbmc7XG4gICAgYmFua0V4cGlyZURhdGU/OiBzdHJpbmc7XG4gICAgY2FyZE5hbWU/OiBzdHJpbmc7XG4gICAgY2FyZFF1b3RhPzogc3RyaW5nO1xuICAgIHJhd1Jlc3BvbnNlPzogc3RyaW5nO1xuICAgIHJhd0NhbmNlbFJlc3BvbnNlPzogc3RyaW5nO1xuICAgIHBhaWREYXRlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2tQYXltZW50U3RhdHVzVGV4dChzdGF0dXM6IFNrUGF5bWVudFN0YXR1cykge1xuICAgIHN3aXRjaCAoc3RhdHVzKSB7XG4gICAgICAgIGNhc2UgU2tQYXltZW50U3RhdHVzLlRyYW5zZmVyOlxuICAgICAgICAgICAgcmV0dXJuICfrrLTthrXsnqXsnoXquIgnO1xuICAgICAgICBjYXNlIFNrUGF5bWVudFN0YXR1cy5DYXJkOlxuICAgICAgICAgICAgcmV0dXJuICfsubTrk5zqsrDsoJwgKOydvOuwmCDrrLTsnbTsnpApJztcbiAgICAgICAgY2FzZSBTa1BheW1lbnRTdGF0dXMuQ2FyZDI6XG4gICAgICAgICAgICByZXR1cm4gJ+y5tOuTnOqysOygnCAo67aE64u0IOustOydtOyekCknO1xuICAgICAgICBjYXNlIFNrUGF5bWVudFN0YXR1cy5LYWthbzpcbiAgICAgICAgICAgIHJldHVybiAn7Lm07Lm07Jik7Y6Y7J20JztcbiAgICAgICAgY2FzZSBTa1BheW1lbnRTdGF0dXMuUGF5Y286XG4gICAgICAgICAgICByZXR1cm4gJ1BBWUNPJztcbiAgICAgICAgY2FzZSBTa1BheW1lbnRTdGF0dXMuTmF2ZXI6XG4gICAgICAgIGNhc2UgU2tQYXltZW50U3RhdHVzLk5hdmVyUEc6XG4gICAgICAgICAgICByZXR1cm4gJ+uEpOydtOuyhO2OmOydtCc7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gc3RhdHVzO1xuICAgIH1cbn1cbiJdfQ==
40
+ /**
41
+ * Design Ref: §3.1 — 가상계좌(VBANK) 은행코드 → 은행명 매핑.
42
+ * Plan SC-G: sk-api VbankBankCodeMap.MAP과 14개 엔트리 정합 유지.
43
+ *
44
+ * MUST sync with: sk-api/src/main/java/works/skullacy/api/domain/commerce/payment/util/VbankBankCodeMap.java
45
+ * sk-front-lib develop branch payment.ts (양쪽 dual-branch 동일 14개)
46
+ * Drift check: gap-detector rule — Object.keys(VBANK_BANK_CODE_MAP).length === 14
47
+ */
48
+ export const VBANK_BANK_CODE_MAP = Object.freeze({
49
+ '03': 'IBK기업은행',
50
+ '06': 'KB국민은행',
51
+ '07': 'Sh수협은행',
52
+ '11': 'NH농협은행',
53
+ '20': '우리은행',
54
+ '31': 'iM뱅크(대구)',
55
+ '32': '부산은행',
56
+ '34': '광주은행',
57
+ '37': '전북은행',
58
+ '39': '경남은행',
59
+ '45': '새마을금고',
60
+ '71': '우체국예금보험',
61
+ '81': '하나은행',
62
+ '88': '신한은행', // 금결원 088
63
+ });
64
+ /**
65
+ * VBANK 은행코드를 은행명으로 변환. 알 수 없는 코드는 null 반환.
66
+ * (백엔드 toName은 fallback으로 code 자체 반환 — 프론트는 표시 제어 용이성을 위해 null. Design §3.1 Note 참조)
67
+ */
68
+ export function getVbankBankName(code) {
69
+ if (!code)
70
+ return null;
71
+ return VBANK_BANK_CODE_MAP[code] ?? null;
72
+ }
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NrLWZyb250LWxpYi9tb2RlbC9zcmMvbGliL3BheW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksUUFHWDtBQUhELFdBQVksUUFBUTtJQUNoQiwrQkFBbUIsQ0FBQTtJQUNuQixnQ0FBb0IsQ0FBQTtBQUN4QixDQUFDLEVBSFcsUUFBUSxLQUFSLFFBQVEsUUFHbkI7QUFFRCxNQUFNLENBQU4sSUFBWSxlQVVYO0FBVkQsV0FBWSxlQUFlO0lBQ3ZCLHdDQUFxQixDQUFBO0lBQ3JCLGdDQUFhLENBQUE7SUFDYixrQ0FBZSxDQUFBO0lBQ2Ysa0NBQWUsQ0FBQTtJQUNmLHVDQUFvQixDQUFBO0lBQ3BCLGtDQUFlLENBQUE7SUFDZixrQ0FBZSxDQUFBO0lBQ2YsZ0NBQWEsQ0FBQTtJQUNiLGtDQUFlLENBQUE7QUFDbkIsQ0FBQyxFQVZXLGVBQWUsS0FBZixlQUFlLFFBVTFCO0FBd0JELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxNQUF1QjtJQUMxRCxRQUFRLE1BQU0sRUFBRTtRQUNaLEtBQUssZUFBZSxDQUFDLFFBQVE7WUFDekIsT0FBTyxPQUFPLENBQUM7UUFDbkIsS0FBSyxlQUFlLENBQUMsSUFBSTtZQUNyQixPQUFPLGVBQWUsQ0FBQztRQUMzQixLQUFLLGVBQWUsQ0FBQyxLQUFLO1lBQ3RCLE9BQU8sZUFBZSxDQUFDO1FBQzNCLEtBQUssZUFBZSxDQUFDLEtBQUs7WUFDdEIsT0FBTyxPQUFPLENBQUM7UUFDbkIsS0FBSyxlQUFlLENBQUMsS0FBSztZQUN0QixPQUFPLE9BQU8sQ0FBQztRQUNuQixLQUFLLGVBQWUsQ0FBQyxLQUFLLENBQUM7UUFDM0IsS0FBSyxlQUFlLENBQUMsT0FBTztZQUN4QixPQUFPLE9BQU8sQ0FBQztRQUNuQixLQUFLLGVBQWUsQ0FBQyxLQUFLO1lBQ3RCLDRFQUE0RTtZQUM1RSxPQUFPLE1BQU0sQ0FBQztRQUNsQjtZQUNJLE9BQU8sTUFBTSxDQUFDO0tBQ3JCO0FBQ0wsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBcUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUMvRSxJQUFJLEVBQUUsU0FBUztJQUNmLElBQUksRUFBRSxRQUFRO0lBQ2QsSUFBSSxFQUFFLFFBQVE7SUFDZCxJQUFJLEVBQUUsUUFBUTtJQUNkLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLFVBQVU7SUFDaEIsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsTUFBTTtJQUNaLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsT0FBTztJQUNiLElBQUksRUFBRSxTQUFTO0lBQ2YsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsTUFBTSxFQUFhLFVBQVU7Q0FDdEMsQ0FBQyxDQUFDO0FBRUg7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLElBQStCO0lBQzVELElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDdkIsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUM7QUFDN0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNrUGdUeXBlIHtcbiAgICBOaWNlUGF5ID0gJ05JQ0VQQVknLFxuICAgIFRvc3NQYXltZW50ID0gJ1RPU1MnXG59XG5cbmV4cG9ydCBlbnVtIFNrUGF5bWVudFN0YXR1cyB7XG4gICAgVHJhbnNmZXIgPSAnVFJBTlNGRVInLCAgICAgICAgICAvLyDrrLTthrXsnqUg7J6F6riIXG4gICAgQ2FyZCA9ICdDQVJEJywgICAgICAgICAgICAgICAgICAvLyDsnbzrsJgg7Lm065Oc6rKw7KCcXG4gICAgQ2FyZDIgPSAnQ0FSRDInLCAgICAgICAgICAgICAgICAvLyDrrLTsnbTsnpAg7ZWg67aAIOy5tOuTnOqysOygnFxuICAgIE5hdmVyID0gJ05BVkVSJywgICAgICAgICAgICAgICAgLy8g64Sk7J2067KEIO2OmOydtCAo7KO866y47ZiVKVxuICAgIE5hdmVyUEcgPSAnTkFWRVJfUEcnLCAgICAgICAgICAgLy8g64Sk7J2067KEIO2OmOydtCAo6rKw7KCc7ZiVKVxuICAgIEtha2FvID0gJ0tBS0FPJywgICAgICAgICAgICAgICAgLy8g7Lm07Lm07JikIO2OmOydtFxuICAgIFBheWNvID0gJ1BBWUNPJywgICAgICAgICAgICAgICAgLy8g7Y6Y7J207L2UXG4gICAgVG9zcyA9ICdUT1NTJywgICAgICAgICAgICAgICAgICAvLyDthqDsiqQg7Y6Y7J20XG4gICAgVmJhbmsgPSAnVkJBTksnLCAgICAgICAgICAgICAgICAvLyDqsIDsg4Hqs4TsoowgKO2GoOyKpCkg4oCUIFBsYW4gRlItMDIgKHZiYW5rLXBheW1lbnQtcGhhc2UxIO2PrO2MhSlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2tQYXltZW50IHtcbiAgICBpZD86IHN0cmluZztcbiAgICB0eXBlPzogU2tQYXltZW50U3RhdHVzO1xuICAgIHBnVHlwZT86IFNrUGdUeXBlO1xuICAgIHR4SWQ/OiBzdHJpbmc7XG4gICAgcmVzcG9uc2VDb2RlPzogc3RyaW5nO1xuICAgIHJlc3BvbnNlTWVzc2FnZT86IHN0cmluZztcbiAgICBjYW5jZWxDb2RlPzogc3RyaW5nO1xuICAgIGNhbmNlbE1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgcGFpZFByaWNlPzogbnVtYmVyO1xuICAgIGJhbmtlcj86IHN0cmluZztcbiAgICBiYW5rRXhwaXJlRGF0ZT86IHN0cmluZztcbiAgICBjYXJkTmFtZT86IHN0cmluZztcbiAgICBjYXJkUXVvdGE/OiBzdHJpbmc7XG4gICAgLy8gRGVzaWduIFJlZjogwqczLjMg4oCUIFZCQU5LIOyghOyaqSDtlYTrk5wgKFBsYW4gRlItMDMsIHZiYW5rLXBheW1lbnQtcGhhc2UxIO2PrO2MhSlcbiAgICB2YmFua0FjY291bnQ/OiBzdHJpbmc7XG4gICAgdmJhbmtDb2RlPzogc3RyaW5nO1xuICAgIHJhd1Jlc3BvbnNlPzogc3RyaW5nO1xuICAgIHJhd0NhbmNlbFJlc3BvbnNlPzogc3RyaW5nO1xuICAgIHBhaWREYXRlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2tQYXltZW50U3RhdHVzVGV4dChzdGF0dXM6IFNrUGF5bWVudFN0YXR1cykge1xuICAgIHN3aXRjaCAoc3RhdHVzKSB7XG4gICAgICAgIGNhc2UgU2tQYXltZW50U3RhdHVzLlRyYW5zZmVyOlxuICAgICAgICAgICAgcmV0dXJuICfrrLTthrXsnqXsnoXquIgnO1xuICAgICAgICBjYXNlIFNrUGF5bWVudFN0YXR1cy5DYXJkOlxuICAgICAgICAgICAgcmV0dXJuICfsubTrk5zqsrDsoJwgKOydvOuwmCDrrLTsnbTsnpApJztcbiAgICAgICAgY2FzZSBTa1BheW1lbnRTdGF0dXMuQ2FyZDI6XG4gICAgICAgICAgICByZXR1cm4gJ+y5tOuTnOqysOygnCAo67aE64u0IOustOydtOyekCknO1xuICAgICAgICBjYXNlIFNrUGF5bWVudFN0YXR1cy5LYWthbzpcbiAgICAgICAgICAgIHJldHVybiAn7Lm07Lm07Jik7Y6Y7J20JztcbiAgICAgICAgY2FzZSBTa1BheW1lbnRTdGF0dXMuUGF5Y286XG4gICAgICAgICAgICByZXR1cm4gJ1BBWUNPJztcbiAgICAgICAgY2FzZSBTa1BheW1lbnRTdGF0dXMuTmF2ZXI6XG4gICAgICAgIGNhc2UgU2tQYXltZW50U3RhdHVzLk5hdmVyUEc6XG4gICAgICAgICAgICByZXR1cm4gJ+uEpOydtOuyhO2OmOydtCc7XG4gICAgICAgIGNhc2UgU2tQYXltZW50U3RhdHVzLlZiYW5rOlxuICAgICAgICAgICAgLy8gUGxhbiBTQy1CIC8gRlItMDQg4oCUIFBHIOu4jOuenOuTnCDrhbjstpwg7KCc6rGwICh2YmFuay1wYXltZW50LXBoYXNlMywgZGV2ZWxvcF9hZG1pbiDtj6ztjIUpXG4gICAgICAgICAgICByZXR1cm4gJ+qwgOyDgeqzhOyijCc7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gc3RhdHVzO1xuICAgIH1cbn1cblxuLyoqXG4gKiBEZXNpZ24gUmVmOiDCpzMuMSDigJQg6rCA7IOB6rOE7KKMKFZCQU5LKSDsnYDtlonsvZTrk5wg4oaSIOydgO2WieuqhSDrp6TtlZEuXG4gKiBQbGFuIFNDLUc6IHNrLWFwaSBWYmFua0JhbmtDb2RlTWFwLk1BUOqzvCAxNOqwnCDsl5Ttirjrpqwg7KCV7ZWpIOycoOyngC5cbiAqXG4gKiBNVVNUIHN5bmMgd2l0aDogc2stYXBpL3NyYy9tYWluL2phdmEvd29ya3Mvc2t1bGxhY3kvYXBpL2RvbWFpbi9jb21tZXJjZS9wYXltZW50L3V0aWwvVmJhbmtCYW5rQ29kZU1hcC5qYXZhXG4gKiAgICAgICAgICAgICAgICAgc2stZnJvbnQtbGliIGRldmVsb3AgYnJhbmNoIHBheW1lbnQudHMgKOyWkeyqvSBkdWFsLWJyYW5jaCDrj5nsnbwgMTTqsJwpXG4gKiBEcmlmdCBjaGVjazogICAgZ2FwLWRldGVjdG9yIHJ1bGUg4oCUIE9iamVjdC5rZXlzKFZCQU5LX0JBTktfQ09ERV9NQVApLmxlbmd0aCA9PT0gMTRcbiAqL1xuZXhwb3J0IGNvbnN0IFZCQU5LX0JBTktfQ09ERV9NQVA6IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0gT2JqZWN0LmZyZWV6ZSh7XG4gICAgJzAzJzogJ0lCS+q4sOyXheydgO2WiScsICAgICAgICAgLy8g6riI6rKw7JuQIDAwM1xuICAgICcwNic6ICdLQuq1reuvvOydgO2WiScsICAgICAgICAgIC8vIOq4iOqysOybkCAwMDRcbiAgICAnMDcnOiAnU2jsiJjtmJHsnYDtloknLCAgICAgICAgICAvLyDquIjqsrDsm5AgMDA3XG4gICAgJzExJzogJ05I64aN7ZiR7J2A7ZaJJywgICAgICAgICAgLy8g6riI6rKw7JuQIDAxMVxuICAgICcyMCc6ICfsmrDrpqzsnYDtloknLCAgICAgICAgICAgIC8vIOq4iOqysOybkCAwMjBcbiAgICAnMzEnOiAnaU3rsYXtgawo64yA6rWsKScsICAgICAgICAvLyDquIjqsrDsm5AgMDMxXG4gICAgJzMyJzogJ+u2gOyCsOydgO2WiScsICAgICAgICAgICAgLy8g6riI6rKw7JuQIDAzMlxuICAgICczNCc6ICfqtJHso7zsnYDtloknLCAgICAgICAgICAgIC8vIOq4iOqysOybkCAwMzRcbiAgICAnMzcnOiAn7KCE67aB7J2A7ZaJJywgICAgICAgICAgICAvLyDquIjqsrDsm5AgMDM3XG4gICAgJzM5JzogJ+qyveuCqOydgO2WiScsICAgICAgICAgICAgLy8g6riI6rKw7JuQIDAzOVxuICAgICc0NSc6ICfsg4jrp4jsnYTquIjqs6AnLCAgICAgICAgICAvLyDquIjqsrDsm5AgMDQ1XG4gICAgJzcxJzogJ+yasOyytOq1reyYiOq4iOuztO2XmCcsICAgICAgLy8g6riI6rKw7JuQIDA3MVxuICAgICc4MSc6ICftlZjrgpjsnYDtloknLCAgICAgICAgICAgIC8vIOq4iOqysOybkCAwODFcbiAgICAnODgnOiAn7Iug7ZWc7J2A7ZaJJywgICAgICAgICAgICAvLyDquIjqsrDsm5AgMDg4XG59KTtcblxuLyoqXG4gKiBWQkFOSyDsnYDtlonsvZTrk5zrpbwg7J2A7ZaJ66qF7Jy866GcIOuzgO2ZmC4g7JWMIOyImCDsl4bripQg7L2U65Oc64qUIG51bGwg67CY7ZmYLlxuICogKOuwseyXlOuTnCB0b05hbWXsnYAgZmFsbGJhY2vsnLzroZwgY29kZSDsnpDssrQg67CY7ZmYIOKAlCDtlITroaDtirjripQg7ZGc7IucIOygnOyWtCDsmqnsnbTshLHsnYQg7JyE7ZW0IG51bGwuIERlc2lnbiDCpzMuMSBOb3RlIOywuOyhsClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZiYW5rQmFua05hbWUoY29kZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghY29kZSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIFZCQU5LX0JBTktfQ09ERV9NQVBbY29kZV0gPz8gbnVsbDtcbn1cbiJdfQ==
@@ -679,6 +679,9 @@ class SkProductService {
679
679
  addAdminStock(id, data) {
680
680
  return this._apiService.post(`/api/admin/products/${id}/stocks`, data).pipe(map(response => Object.assign({ totalIn: 0, totalOut: 0, current: 0 }, response.data)));
681
681
  }
682
+ deductAdminStock(id, data) {
683
+ return this._apiService.post(`/api/admin/products/${id}/stocks/deduct`, data).pipe(map(response => Object.assign({ totalIn: 0, totalOut: 0, current: 0 }, response.data)));
684
+ }
682
685
  updateAdminStock(productId, stockId, data) {
683
686
  return this._apiService.put(`/api/admin/products/${productId}/stocks/${stockId}`, data).pipe(map(response => response.data));
684
687
  }