@mseva/upyog-ui-module-ads 1.1.86-dev.2.5 → 1.1.86-dev.2.6
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/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +3812 -437
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.modern.js
CHANGED
|
@@ -235,7 +235,9 @@ const transformBookingResponseToBookingData = (apiResponse = {}) => {
|
|
|
235
235
|
advertisementName: first.advertisementName,
|
|
236
236
|
poleNo: first.poleNo,
|
|
237
237
|
amount,
|
|
238
|
-
amountForDaysChosen
|
|
238
|
+
amountForDaysChosen,
|
|
239
|
+
bookingFromTime: first.bookingFromTime,
|
|
240
|
+
bookingToTime: first.bookingToTime
|
|
239
241
|
};
|
|
240
242
|
});
|
|
241
243
|
out.cartDetails = groupedCartDetails;
|
|
@@ -939,6 +941,14 @@ function createCommonjsModule(fn, module) {
|
|
|
939
941
|
return module = { exports: {} }, fn(module, module.exports), module.exports;
|
|
940
942
|
}
|
|
941
943
|
|
|
944
|
+
function getCjsExportFromNamespace (n) {
|
|
945
|
+
return n && n['default'] || n;
|
|
946
|
+
}
|
|
947
|
+
|
|
948
|
+
function commonjsRequire () {
|
|
949
|
+
throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
|
|
950
|
+
}
|
|
951
|
+
|
|
942
952
|
var lodash = createCommonjsModule(function (module, exports) {
|
|
943
953
|
(function () {
|
|
944
954
|
var undefined$1;
|
|
@@ -20678,7 +20688,7 @@ function NewApplicationTimeline({
|
|
|
20678
20688
|
}, /*#__PURE__*/React.createElement("h3", {
|
|
20679
20689
|
className: "custom-action-title"
|
|
20680
20690
|
}, t("Action")), /*#__PURE__*/React.createElement("div", {
|
|
20681
|
-
className:
|
|
20691
|
+
className: `custom-status-text ${(item === null || item === void 0 ? void 0 : item.performedAction) === "OBSERVATION" ? "chb-slot-status--unavailable" : ""}`
|
|
20682
20692
|
}, t((item === null || item === void 0 ? void 0 : item.performedAction) || "CS_COMMON_NA")))), (item === null || item === void 0 ? void 0 : item.wfComment) && (item === null || item === void 0 ? void 0 : (_item$wfComment = item.wfComment) === null || _item$wfComment === void 0 ? void 0 : _item$wfComment.length) > 0 && (item === null || item === void 0 ? void 0 : (_item$wfComment2 = item.wfComment) === null || _item$wfComment2 === void 0 ? void 0 : _item$wfComment2.some(c => c === null || c === void 0 ? void 0 : c.trim())) && /*#__PURE__*/React.createElement("div", {
|
|
20683
20693
|
className: "custom-comments-section container-full-width"
|
|
20684
20694
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -22246,215 +22256,11 @@ function renderCanvas(renderFunc, canvas, text, opts, cb) {
|
|
|
22246
22256
|
cb(e);
|
|
22247
22257
|
}
|
|
22248
22258
|
}
|
|
22249
|
-
var create$1 = qrcode.create;
|
|
22250
22259
|
var toCanvas = renderCanvas.bind(null, canvas.render);
|
|
22251
22260
|
var toDataURL = renderCanvas.bind(null, canvas.renderToDataURL);
|
|
22252
22261
|
var toString_1$1 = renderCanvas.bind(null, function (data, _, opts) {
|
|
22253
22262
|
return svgTag.render(data, opts);
|
|
22254
22263
|
});
|
|
22255
|
-
var browser = {
|
|
22256
|
-
create: create$1,
|
|
22257
|
-
toCanvas: toCanvas,
|
|
22258
|
-
toDataURL: toDataURL,
|
|
22259
|
-
toString: toString_1$1
|
|
22260
|
-
};
|
|
22261
|
-
|
|
22262
|
-
const getAcknowledgement = async (application, t) => {
|
|
22263
|
-
var _application$applican, _application$applican2, _application$applican3, _application$applican4, _application$cartDeta;
|
|
22264
|
-
const currentDate = new Date().toLocaleDateString("en-IN", {
|
|
22265
|
-
day: "2-digit",
|
|
22266
|
-
month: "long",
|
|
22267
|
-
year: "numeric"
|
|
22268
|
-
});
|
|
22269
|
-
const qrDataURL = await browser.toDataURL(window.location.href);
|
|
22270
|
-
const content = `
|
|
22271
|
-
<html>
|
|
22272
|
-
<head>
|
|
22273
|
-
<title>${t("ADS_ACKNOWLEDGMENT_FORM")}</title>
|
|
22274
|
-
<style>
|
|
22275
|
-
@page { margin: 0.5in; }
|
|
22276
|
-
body {
|
|
22277
|
-
font-family: 'Arial', sans-serif;
|
|
22278
|
-
margin: 0;
|
|
22279
|
-
padding: 20px;
|
|
22280
|
-
font-size: 14px;
|
|
22281
|
-
line-height: 1.6;
|
|
22282
|
-
}
|
|
22283
|
-
.acknowledgement-container {
|
|
22284
|
-
max-width: 800px;
|
|
22285
|
-
margin: 0 auto;
|
|
22286
|
-
border: 2px solid #333;
|
|
22287
|
-
padding: 30px;
|
|
22288
|
-
background: white;
|
|
22289
|
-
}
|
|
22290
|
-
.header {
|
|
22291
|
-
display: flex;
|
|
22292
|
-
justify-content: space-between;
|
|
22293
|
-
align-items: center;
|
|
22294
|
-
text-align: center;
|
|
22295
|
-
margin-bottom: 30px;
|
|
22296
|
-
border-bottom: 2px solid #333;
|
|
22297
|
-
padding-bottom: 20px;
|
|
22298
|
-
position: relative;
|
|
22299
|
-
}
|
|
22300
|
-
.header-left,
|
|
22301
|
-
.header-right {
|
|
22302
|
-
flex: 0 0 auto;
|
|
22303
|
-
}
|
|
22304
|
-
.header-center {
|
|
22305
|
-
text-align: center;
|
|
22306
|
-
flex: 1;
|
|
22307
|
-
}
|
|
22308
|
-
.title {
|
|
22309
|
-
font-size: 20px;
|
|
22310
|
-
font-weight: bold;
|
|
22311
|
-
margin: 10px 0;
|
|
22312
|
-
color: #333;
|
|
22313
|
-
}
|
|
22314
|
-
.subtitle {
|
|
22315
|
-
font-size: 16px;
|
|
22316
|
-
margin: 5px 0;
|
|
22317
|
-
color: #666;
|
|
22318
|
-
}
|
|
22319
|
-
.acknowledgement-text {
|
|
22320
|
-
margin: 20px 0;
|
|
22321
|
-
text-align: justify;
|
|
22322
|
-
font-size: 15px;
|
|
22323
|
-
}
|
|
22324
|
-
.details-table {
|
|
22325
|
-
width: 100%;
|
|
22326
|
-
border-collapse: collapse;
|
|
22327
|
-
margin: 20px 0;
|
|
22328
|
-
}
|
|
22329
|
-
.details-table th,
|
|
22330
|
-
.details-table td {
|
|
22331
|
-
padding: 12px;
|
|
22332
|
-
text-align: left;
|
|
22333
|
-
border: 1px solid #ddd;
|
|
22334
|
-
}
|
|
22335
|
-
.details-table th {
|
|
22336
|
-
background: #f5f5f5;
|
|
22337
|
-
font-weight: bold;
|
|
22338
|
-
width: 40%;
|
|
22339
|
-
}
|
|
22340
|
-
.footer {
|
|
22341
|
-
margin-top: 30px;
|
|
22342
|
-
text-align: center;
|
|
22343
|
-
font-size: 12px;
|
|
22344
|
-
color: #666;
|
|
22345
|
-
}
|
|
22346
|
-
@media print {
|
|
22347
|
-
body { background: white !important; }
|
|
22348
|
-
}
|
|
22349
|
-
</style>
|
|
22350
|
-
</head>
|
|
22351
|
-
<body>
|
|
22352
|
-
<div class="acknowledgement-container">
|
|
22353
|
-
<div class="header">
|
|
22354
|
-
<div class="header-left">
|
|
22355
|
-
<img src="https://s3.ap-south-1.amazonaws.com/pb-egov-assets/${application === null || application === void 0 ? void 0 : application.tenantId}/logo.png"
|
|
22356
|
-
style="width: 120px; height: 120px;" />
|
|
22357
|
-
</div>
|
|
22358
|
-
<div class="header-center">
|
|
22359
|
-
<div class="title">Advertisement and Hoarding Booking Acknowledgement</div>
|
|
22360
|
-
<div class="subtitle">Municipal Corporation</div>
|
|
22361
|
-
</div>
|
|
22362
|
-
<div class="header-right">
|
|
22363
|
-
<img src="${qrDataURL}" style="width: 120px; height: 120px;" />
|
|
22364
|
-
</div>
|
|
22365
|
-
</div>
|
|
22366
|
-
|
|
22367
|
-
<div class="acknowledgement-text">
|
|
22368
|
-
${t("ADV_ACK_TEXT_2")}
|
|
22369
|
-
</div>
|
|
22370
|
-
|
|
22371
|
-
<h3>${t("ADS_APPLICANT_DETAILS")}</h3>
|
|
22372
|
-
<table class="details-table">
|
|
22373
|
-
<tr>
|
|
22374
|
-
<th>${t("WS_COMMON_TABLE_COL_APP_NO_LABEL")}</th>
|
|
22375
|
-
<td>${(application === null || application === void 0 ? void 0 : application.bookingNo) || "Not Available"}</td>
|
|
22376
|
-
</tr>
|
|
22377
|
-
<tr>
|
|
22378
|
-
<th>${t("BPA_BASIC_DETAILS_APPLICATION_DATE_LABEL")}</th>
|
|
22379
|
-
<td>${application !== null && application !== void 0 && application.applicationDate ? new Date(application === null || application === void 0 ? void 0 : application.applicationDate).toLocaleDateString("en-GB") : "N/A"}</td>
|
|
22380
|
-
</tr>
|
|
22381
|
-
<tr>
|
|
22382
|
-
<th>${t("BPA_BASIC_DETAILS_APPLICATION_NAME_LABEL")}</th>
|
|
22383
|
-
<td>${(application === null || application === void 0 ? void 0 : (_application$applican = application.applicantDetail) === null || _application$applican === void 0 ? void 0 : _application$applican.applicantName) || "Not Specified"}</td>
|
|
22384
|
-
</tr>
|
|
22385
|
-
<tr>
|
|
22386
|
-
<th>${t("PDF_STATIC_LABEL_WS_CONSOLIDATED_CONCERNED_PLUMBER_CONTACT")}</th>
|
|
22387
|
-
<td>${(application === null || application === void 0 ? void 0 : (_application$applican2 = application.applicantDetail) === null || _application$applican2 === void 0 ? void 0 : _application$applican2.applicantMobileNo) || "Not Specified"}</td>
|
|
22388
|
-
</tr>
|
|
22389
|
-
<tr>
|
|
22390
|
-
<th>${t("ADS_ALTERNATE_NUMBER")}</th>
|
|
22391
|
-
<td>${(application === null || application === void 0 ? void 0 : (_application$applican3 = application.applicantDetail) === null || _application$applican3 === void 0 ? void 0 : _application$applican3.applicantAlternateMobileNo) || "Not Specified"}</td>
|
|
22392
|
-
</tr>
|
|
22393
|
-
<tr>
|
|
22394
|
-
<th>${t("PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_EMAIL")}</th>
|
|
22395
|
-
<td>${(application === null || application === void 0 ? void 0 : (_application$applican4 = application.applicantDetail) === null || _application$applican4 === void 0 ? void 0 : _application$applican4.applicantEmailId) || "Not Specified"}</td>
|
|
22396
|
-
</tr>
|
|
22397
|
-
<tr>
|
|
22398
|
-
<th>${t("TL_HOME_SEARCH_RESULTS_APP_STATUS_LABEL")}</th>
|
|
22399
|
-
<td style="color: #28a745; font-weight: bold;">${t(application === null || application === void 0 ? void 0 : application.bookingStatus) || "SUBMITTED"}</td>
|
|
22400
|
-
</tr>
|
|
22401
|
-
</table>
|
|
22402
|
-
|
|
22403
|
-
${(application === null || application === void 0 ? void 0 : (_application$cartDeta = application.cartDetails) === null || _application$cartDeta === void 0 ? void 0 : _application$cartDeta.length) > 0 ? `
|
|
22404
|
-
<h3>${t("ADVERTISEMENT_DETAILS")}</h3>
|
|
22405
|
-
<table class="details-table">
|
|
22406
|
-
<tr>
|
|
22407
|
-
<th>${t("ADS_AD_TYPE")}</th>
|
|
22408
|
-
<th>${t("CS_ADDCOMPLAINT_LOCATION")}</th>
|
|
22409
|
-
<th>${t("ADS_FACE_AREA")}</th>
|
|
22410
|
-
<th>${t("CHB_BOOKING_DATE")}</th>
|
|
22411
|
-
<th>${t("ADS_FROM_TIME")}</th>
|
|
22412
|
-
<th>${t("ADS_TO_TIME")}</th>
|
|
22413
|
-
<th>${t("ADS_NIGHT_LIGHT")}</th>
|
|
22414
|
-
<th>${t("PT_OWNERSHIP_INFO_NAME")}</th>
|
|
22415
|
-
<th>${t("POLE_NO")}</th>
|
|
22416
|
-
</tr>
|
|
22417
|
-
${application.cartDetails.map(item => `
|
|
22418
|
-
<tr>
|
|
22419
|
-
<td>${t(item.addType) || "N/A"}</td>
|
|
22420
|
-
<td>${t(item.location) || "N/A"}</td>
|
|
22421
|
-
<td>${t(item.faceArea.replace(item.addType + "_", "")) || "N/A"}</td>
|
|
22422
|
-
<td>${item.bookingDate || "N/A"}</td>
|
|
22423
|
-
<td>${item.bookingFromTime || "N/A"}</td>
|
|
22424
|
-
<td>${item.bookingToTime || "N/A"}</td>
|
|
22425
|
-
<td>${item.nightLight ? "With Light" : "Without Light"}</td>
|
|
22426
|
-
<td>${item.advertisementName || "N/A"}</td>
|
|
22427
|
-
<td>${item.poleNo || "N/A"}</td>
|
|
22428
|
-
</tr>
|
|
22429
|
-
`).join("")}
|
|
22430
|
-
</table>
|
|
22431
|
-
` : ""}
|
|
22432
|
-
|
|
22433
|
-
<div class="acknowledgement-text">
|
|
22434
|
-
${t("ADV_ACK_TEXT_1")}
|
|
22435
|
-
</div>
|
|
22436
|
-
|
|
22437
|
-
<div class="footer">
|
|
22438
|
-
<p>Generated on: ${currentDate}</p>
|
|
22439
|
-
<p>Municipal Corporation</p>
|
|
22440
|
-
<p>This is a computer-generated document and does not require a signature.</p>
|
|
22441
|
-
</div>
|
|
22442
|
-
</div>
|
|
22443
|
-
</body>
|
|
22444
|
-
</html>
|
|
22445
|
-
`;
|
|
22446
|
-
const printWindow = window.open("", "_blank");
|
|
22447
|
-
printWindow.document.write(content);
|
|
22448
|
-
printWindow.document.close();
|
|
22449
|
-
printWindow.onload = () => {
|
|
22450
|
-
setTimeout(() => {
|
|
22451
|
-
printWindow.print();
|
|
22452
|
-
printWindow.onafterprint = () => {
|
|
22453
|
-
printWindow.close();
|
|
22454
|
-
};
|
|
22455
|
-
}, 500);
|
|
22456
|
-
};
|
|
22457
|
-
};
|
|
22458
22264
|
|
|
22459
22265
|
const ADSCartDetails$1 = ({
|
|
22460
22266
|
cartDetails,
|
|
@@ -22653,31 +22459,35 @@ const ADSApplicationDetails = () => {
|
|
|
22653
22459
|
});
|
|
22654
22460
|
window.open(fileStore[fileStoreId], "_blank");
|
|
22655
22461
|
}
|
|
22656
|
-
|
|
22657
|
-
|
|
22658
|
-
|
|
22659
|
-
|
|
22660
|
-
|
|
22661
|
-
|
|
22662
|
-
|
|
22663
|
-
|
|
22664
|
-
|
|
22665
|
-
|
|
22666
|
-
|
|
22667
|
-
|
|
22668
|
-
|
|
22669
|
-
|
|
22670
|
-
|
|
22671
|
-
message: `ADV_ACKNOWLEDGEMENT_DOWNLOAD_ERROR: ${error.message}`
|
|
22672
|
-
});
|
|
22673
|
-
setActionError("Something went wrong");
|
|
22462
|
+
async function getAcknowledgementLetter({
|
|
22463
|
+
tenantId,
|
|
22464
|
+
payments,
|
|
22465
|
+
...params
|
|
22466
|
+
}) {
|
|
22467
|
+
let application = new_data;
|
|
22468
|
+
let fileStoreId = application === null || application === void 0 ? void 0 : application.permissionLetterFilestoreId;
|
|
22469
|
+
if (!fileStoreId) {
|
|
22470
|
+
const response = await Digit.PaymentService.generatePdf(tenantId, {
|
|
22471
|
+
Payments: [{
|
|
22472
|
+
...payments,
|
|
22473
|
+
...application
|
|
22474
|
+
}]
|
|
22475
|
+
}, "advacknowledgement");
|
|
22476
|
+
fileStoreId = response === null || response === void 0 ? void 0 : response.filestoreIds[0];
|
|
22674
22477
|
}
|
|
22675
|
-
|
|
22478
|
+
const fileStore = await Digit.PaymentService.printReciept(tenantId, {
|
|
22479
|
+
fileStoreIds: fileStoreId
|
|
22480
|
+
});
|
|
22481
|
+
window.open(fileStore[fileStoreId], "_blank");
|
|
22482
|
+
}
|
|
22676
22483
|
let dowloadOptions = [];
|
|
22677
22484
|
const cartData = transformAdsData(ads_details === null || ads_details === void 0 ? void 0 : ads_details.cartDetails);
|
|
22678
22485
|
dowloadOptions.push({
|
|
22679
22486
|
label: t("PTR_PET_DOWNLOAD_ACK_FORM"),
|
|
22680
|
-
onClick: () =>
|
|
22487
|
+
onClick: () => getAcknowledgementLetter({
|
|
22488
|
+
tenantId: tenantId,
|
|
22489
|
+
payments: reciept_data === null || reciept_data === void 0 ? void 0 : reciept_data.Payments[0]
|
|
22490
|
+
})
|
|
22681
22491
|
});
|
|
22682
22492
|
if (reciept_data && (reciept_data === null || reciept_data === void 0 ? void 0 : reciept_data.Payments.length) > 0 && !recieptDataLoading) {
|
|
22683
22493
|
dowloadOptions.push({
|
|
@@ -23163,222 +22973,3763 @@ if (_DataView && getTag(new _DataView(new ArrayBuffer(1))) != dataViewTag || _Ma
|
|
|
23163
22973
|
};
|
|
23164
22974
|
}
|
|
23165
22975
|
|
|
23166
|
-
|
|
23167
|
-
|
|
23168
|
-
|
|
23169
|
-
|
|
23170
|
-
|
|
23171
|
-
|
|
23172
|
-
|
|
23173
|
-
|
|
23174
|
-
|
|
23175
|
-
|
|
23176
|
-
|
|
23177
|
-
|
|
23178
|
-
|
|
23179
|
-
const [error, setError] = useState(null);
|
|
23180
|
-
const [displayData, setDisplayData] = useState({});
|
|
23181
|
-
const docs = Array.isArray(displayData === null || displayData === void 0 ? void 0 : displayData.Documents) ? displayData.Documents : Array.isArray(displayData === null || displayData === void 0 ? void 0 : displayData.documents) ? displayData.documents : [];
|
|
23182
|
-
const [pdfFiles, setPdfFiles] = useState({});
|
|
23183
|
-
const [filesLoading, setFilesLoading] = useState(false);
|
|
23184
|
-
function normalizeAssignees(assignee) {
|
|
23185
|
-
if (!assignee) return null;
|
|
23186
|
-
const extract = item => {
|
|
23187
|
-
if (!item) return null;
|
|
23188
|
-
if (typeof item === "string") return item;
|
|
23189
|
-
return item.uuid || item.id || item.employeeId || item.code || null;
|
|
23190
|
-
};
|
|
23191
|
-
if (Array.isArray(assignee)) {
|
|
23192
|
-
const mapped = assignee.map(it => extract(it)).filter(Boolean);
|
|
23193
|
-
return mapped.length ? mapped : null;
|
|
23194
|
-
}
|
|
23195
|
-
const single = extract(assignee);
|
|
23196
|
-
return single ? [single] : null;
|
|
23197
|
-
}
|
|
23198
|
-
const [isDetailsLoading, setIsDetailsLoading] = useState(false);
|
|
23199
|
-
useEffect(() => {
|
|
23200
|
-
var _Digit, _Digit$ULBService, _Digit$ULBService$get;
|
|
23201
|
-
const filesArray = (docs || []).map(d => {
|
|
23202
|
-
var _d$file;
|
|
23203
|
-
if (!d) return null;
|
|
23204
|
-
if (d.fileStoreId) return d.fileStoreId;
|
|
23205
|
-
if (d.fileStoreIds && Array.isArray(d.fileStoreIds)) return d.fileStoreIds[0];
|
|
23206
|
-
if (d.fileId) return d.fileId;
|
|
23207
|
-
if (d.documentDetailId) return d.documentDetailId;
|
|
23208
|
-
if (d !== null && d !== void 0 && (_d$file = d.file) !== null && _d$file !== void 0 && _d$file.fileStoreId) return d.file.fileStoreId;
|
|
23209
|
-
return null;
|
|
23210
|
-
}).filter(Boolean);
|
|
23211
|
-
if (!(filesArray !== null && filesArray !== void 0 && filesArray.length)) {
|
|
23212
|
-
setFilesLoading(false);
|
|
23213
|
-
return;
|
|
22976
|
+
var _nodeResolve_empty = {};
|
|
22977
|
+
|
|
22978
|
+
var _nodeResolve_empty$1 = {
|
|
22979
|
+
__proto__: null,
|
|
22980
|
+
'default': _nodeResolve_empty
|
|
22981
|
+
};
|
|
22982
|
+
|
|
22983
|
+
var require$$0 = getCjsExportFromNamespace(_nodeResolve_empty$1);
|
|
22984
|
+
|
|
22985
|
+
var core = createCommonjsModule(function (module, exports) {
|
|
22986
|
+
(function (root, factory) {
|
|
22987
|
+
{
|
|
22988
|
+
module.exports = exports = factory();
|
|
23214
22989
|
}
|
|
23215
|
-
|
|
23216
|
-
|
|
23217
|
-
|
|
23218
|
-
|
|
23219
|
-
|
|
23220
|
-
if (Array.isArray(data)) {
|
|
23221
|
-
const asMap = {};
|
|
23222
|
-
data.forEach(item => {
|
|
23223
|
-
if (!item) return;
|
|
23224
|
-
if (typeof item === "string") {
|
|
23225
|
-
return;
|
|
23226
|
-
}
|
|
23227
|
-
const id = item.fileStoreId || item.fileId || item.documentDetailId;
|
|
23228
|
-
const url = item.url || item.fileUrl || (typeof item === "string" ? item : null);
|
|
23229
|
-
if (id && url) asMap[id] = url;
|
|
23230
|
-
});
|
|
23231
|
-
data = asMap;
|
|
22990
|
+
})(commonjsGlobal, function () {
|
|
22991
|
+
var CryptoJS = CryptoJS || function (Math, undefined$1) {
|
|
22992
|
+
var crypto;
|
|
22993
|
+
if (typeof window !== 'undefined' && window.crypto) {
|
|
22994
|
+
crypto = window.crypto;
|
|
23232
22995
|
}
|
|
23233
|
-
|
|
23234
|
-
|
|
23235
|
-
console.error("Filefetch error:", err);
|
|
23236
|
-
setPdfFiles({});
|
|
23237
|
-
}).finally(() => setFilesLoading(false));
|
|
23238
|
-
}, [JSON.stringify(docs)]);
|
|
23239
|
-
const {
|
|
23240
|
-
isLoading,
|
|
23241
|
-
data: applicationDetails,
|
|
23242
|
-
refetch
|
|
23243
|
-
} = Digit.Hooks.ads.useADSSearch({
|
|
23244
|
-
tenantId,
|
|
23245
|
-
filters: {
|
|
23246
|
-
bookingNo: id
|
|
23247
|
-
}
|
|
23248
|
-
});
|
|
23249
|
-
const normalizedAppObject = (applicationDetails === null || applicationDetails === void 0 ? void 0 : (_applicationDetails$b = applicationDetails.bookingApplication) === null || _applicationDetails$b === void 0 ? void 0 : _applicationDetails$b[0]) || [];
|
|
23250
|
-
const bookingObj = normalizedAppObject;
|
|
23251
|
-
const application = bookingObj || normalizedAppObject || appDetails || null;
|
|
23252
|
-
const new_data = transformBookingResponseToBookingData(applicationDetails);
|
|
23253
|
-
const menuRef = useRef();
|
|
23254
|
-
const [displayMenu, setDisplayMenu] = useState(false);
|
|
23255
|
-
const [selectedAction, setSelectedAction] = useState(null);
|
|
23256
|
-
const [showModal, setShowModal] = useState(false);
|
|
23257
|
-
const [showCancelModal, setShowCancelModal] = useState(false);
|
|
23258
|
-
const [showOptions, setShowOptions] = useState(false);
|
|
23259
|
-
const mutation = (_Digit$Hooks$ads = Digit.Hooks.ads) === null || _Digit$Hooks$ads === void 0 ? void 0 : (_Digit$Hooks$ads$useA = _Digit$Hooks$ads.useADSCreateAPI) === null || _Digit$Hooks$ads$useA === void 0 ? void 0 : _Digit$Hooks$ads$useA.call(_Digit$Hooks$ads, tenantId, false);
|
|
23260
|
-
const {
|
|
23261
|
-
data: reciept_data,
|
|
23262
|
-
isLoading: recieptDataLoading
|
|
23263
|
-
} = Digit.Hooks.useRecieptSearch({
|
|
23264
|
-
tenantId: tenantId,
|
|
23265
|
-
businessService: "adv-services",
|
|
23266
|
-
consumerCodes: (displayData === null || displayData === void 0 ? void 0 : (_displayData$applican = displayData.applicantData) === null || _displayData$applican === void 0 ? void 0 : _displayData$applican.applicationNo) || id,
|
|
23267
|
-
isEmployee: false
|
|
23268
|
-
}, {
|
|
23269
|
-
enabled: !!(displayData !== null && displayData !== void 0 && (_displayData$applican2 = displayData.applicantData) !== null && _displayData$applican2 !== void 0 && _displayData$applican2.applicationNo || id)
|
|
23270
|
-
});
|
|
23271
|
-
const closeMenu = () => {
|
|
23272
|
-
setDisplayMenu(false);
|
|
23273
|
-
};
|
|
23274
|
-
Digit.Hooks.useClickOutside(menuRef, closeMenu, displayMenu);
|
|
23275
|
-
const closeToast = () => {
|
|
23276
|
-
setShowToast(null);
|
|
23277
|
-
};
|
|
23278
|
-
const removeDuplicatesByUUID = arr => {
|
|
23279
|
-
const seen = new Set();
|
|
23280
|
-
return arr.filter(item => {
|
|
23281
|
-
if (seen.has(item.uuid)) {
|
|
23282
|
-
return false;
|
|
23283
|
-
} else {
|
|
23284
|
-
seen.add(item.uuid);
|
|
23285
|
-
return true;
|
|
22996
|
+
if (typeof self !== 'undefined' && self.crypto) {
|
|
22997
|
+
crypto = self.crypto;
|
|
23286
22998
|
}
|
|
23287
|
-
|
|
23288
|
-
|
|
23289
|
-
const businessServicMINE = "advandhoarding";
|
|
23290
|
-
const workflowDetails = Digit.Hooks.useWorkflowDetails({
|
|
23291
|
-
tenantId,
|
|
23292
|
-
id: bookingObj === null || bookingObj === void 0 ? void 0 : bookingObj.bookingNo,
|
|
23293
|
-
moduleCode: businessServicMINE
|
|
23294
|
-
});
|
|
23295
|
-
const wfActions = (workflowDetails === null || workflowDetails === void 0 ? void 0 : (_workflowDetails$data = workflowDetails.data) === null || _workflowDetails$data === void 0 ? void 0 : (_workflowDetails$data2 = _workflowDetails$data.nextActions) === null || _workflowDetails$data2 === void 0 ? void 0 : _workflowDetails$data2.map(a => ({
|
|
23296
|
-
action: a === null || a === void 0 ? void 0 : a.action,
|
|
23297
|
-
buttonLabel: ((a === null || a === void 0 ? void 0 : a.action) || "").replace(/_/g, " ").toUpperCase()
|
|
23298
|
-
}))) || [];
|
|
23299
|
-
useEffect(() => {
|
|
23300
|
-
if (bookingObj) {
|
|
23301
|
-
var _bookingObj$applicant, _bookingObj$applicant2, _bookingObj$applicant3, _bookingObj$address, _bookingObj$address2;
|
|
23302
|
-
const applicantData = {
|
|
23303
|
-
applicationNo: bookingObj === null || bookingObj === void 0 ? void 0 : bookingObj.bookingNo,
|
|
23304
|
-
name: bookingObj === null || bookingObj === void 0 ? void 0 : (_bookingObj$applicant = bookingObj.applicantDetail) === null || _bookingObj$applicant === void 0 ? void 0 : _bookingObj$applicant.applicantName,
|
|
23305
|
-
email: bookingObj === null || bookingObj === void 0 ? void 0 : (_bookingObj$applicant2 = bookingObj.applicantDetail) === null || _bookingObj$applicant2 === void 0 ? void 0 : _bookingObj$applicant2.applicantEmailId,
|
|
23306
|
-
mobile: bookingObj === null || bookingObj === void 0 ? void 0 : (_bookingObj$applicant3 = bookingObj.applicantDetail) === null || _bookingObj$applicant3 === void 0 ? void 0 : _bookingObj$applicant3.applicantMobileNo,
|
|
23307
|
-
address: bookingObj === null || bookingObj === void 0 ? void 0 : (_bookingObj$address = bookingObj.address) === null || _bookingObj$address === void 0 ? void 0 : _bookingObj$address.addressLine1,
|
|
23308
|
-
pincode: bookingObj === null || bookingObj === void 0 ? void 0 : (_bookingObj$address2 = bookingObj.address) === null || _bookingObj$address2 === void 0 ? void 0 : _bookingObj$address2.pincode,
|
|
23309
|
-
bookingStatus: bookingObj === null || bookingObj === void 0 ? void 0 : bookingObj.bookingStatus,
|
|
23310
|
-
paymentDate: bookingObj !== null && bookingObj !== void 0 && bookingObj.paymentDate ? new Date(bookingObj.paymentDate).toLocaleDateString() : "",
|
|
23311
|
-
receiptNo: bookingObj === null || bookingObj === void 0 ? void 0 : bookingObj.receiptNo,
|
|
23312
|
-
auditDetails: bookingObj === null || bookingObj === void 0 ? void 0 : bookingObj.auditDetails
|
|
23313
|
-
};
|
|
23314
|
-
const Documents = removeDuplicatesByUUID((bookingObj === null || bookingObj === void 0 ? void 0 : bookingObj.documents) || []);
|
|
23315
|
-
setDisplayData({
|
|
23316
|
-
applicantData,
|
|
23317
|
-
Documents
|
|
23318
|
-
});
|
|
23319
|
-
} else {
|
|
23320
|
-
setDisplayData({});
|
|
23321
|
-
}
|
|
23322
|
-
}, [bookingObj]);
|
|
23323
|
-
useEffect(() => {
|
|
23324
|
-
setIsDetailsLoading(isLoading || !bookingObj);
|
|
23325
|
-
if (bookingObj) {
|
|
23326
|
-
setAppDetails({
|
|
23327
|
-
...bookingObj,
|
|
23328
|
-
applicationDetails: [{
|
|
23329
|
-
title: "ADS_DETAILS_SUMMARY_LABEL"
|
|
23330
|
-
}]
|
|
23331
|
-
});
|
|
23332
|
-
} else {
|
|
23333
|
-
setAppDetails({});
|
|
23334
|
-
}
|
|
23335
|
-
}, [isLoading, bookingObj]);
|
|
23336
|
-
const downloadAcknowledgement = async application => {
|
|
23337
|
-
try {
|
|
23338
|
-
if (!application) {
|
|
23339
|
-
throw new Error("Booking Application data is missing");
|
|
22999
|
+
if (typeof globalThis !== 'undefined' && globalThis.crypto) {
|
|
23000
|
+
crypto = globalThis.crypto;
|
|
23340
23001
|
}
|
|
23341
|
-
|
|
23342
|
-
|
|
23343
|
-
key: "success",
|
|
23344
|
-
message: t("ADV_ACKNOWLEDGEMENT_DOWNLOADED_SUCCESSFULLY")
|
|
23345
|
-
});
|
|
23346
|
-
setError("Acknowledgement Downloaded Successfully");
|
|
23347
|
-
} catch (error) {
|
|
23348
|
-
console.error("Acknowledgement download error:", error);
|
|
23349
|
-
setShowToast({
|
|
23350
|
-
key: "error",
|
|
23351
|
-
message: `${error.message}`
|
|
23352
|
-
});
|
|
23353
|
-
setError("Something Went Wrong");
|
|
23354
|
-
}
|
|
23355
|
-
};
|
|
23356
|
-
function onActionSelect(wfAction) {
|
|
23357
|
-
if (!wfAction) return;
|
|
23358
|
-
if (wfAction.action === "PAY") {
|
|
23359
|
-
var _displayData$applican3;
|
|
23360
|
-
const appNo = (displayData === null || displayData === void 0 ? void 0 : (_displayData$applican3 = displayData.applicantData) === null || _displayData$applican3 === void 0 ? void 0 : _displayData$applican3.applicationNo) || id;
|
|
23361
|
-
return history.push(`/digit-ui/employee/payment/collect/adv-services/${appNo}/${tenantId}?tenantId=${tenantId}`);
|
|
23362
|
-
}
|
|
23363
|
-
if (wfAction.action === "SUBMIT" || wfAction.action === "INITIATE" || wfAction.action === "CANCEL") {
|
|
23364
|
-
if (wfAction.action === "CANCEL") {
|
|
23365
|
-
setShowCancelModal(true);
|
|
23366
|
-
return;
|
|
23002
|
+
if (!crypto && typeof window !== 'undefined' && window.msCrypto) {
|
|
23003
|
+
crypto = window.msCrypto;
|
|
23367
23004
|
}
|
|
23368
|
-
|
|
23369
|
-
|
|
23370
|
-
|
|
23005
|
+
if (!crypto && typeof commonjsGlobal !== 'undefined' && commonjsGlobal.crypto) {
|
|
23006
|
+
crypto = commonjsGlobal.crypto;
|
|
23007
|
+
}
|
|
23008
|
+
if (!crypto && typeof commonjsRequire === 'function') {
|
|
23009
|
+
try {
|
|
23010
|
+
crypto = require$$0;
|
|
23011
|
+
} catch (err) {}
|
|
23012
|
+
}
|
|
23013
|
+
var cryptoSecureRandomInt = function () {
|
|
23014
|
+
if (crypto) {
|
|
23015
|
+
if (typeof crypto.getRandomValues === 'function') {
|
|
23016
|
+
try {
|
|
23017
|
+
return crypto.getRandomValues(new Uint32Array(1))[0];
|
|
23018
|
+
} catch (err) {}
|
|
23019
|
+
}
|
|
23020
|
+
if (typeof crypto.randomBytes === 'function') {
|
|
23021
|
+
try {
|
|
23022
|
+
return crypto.randomBytes(4).readInt32LE();
|
|
23023
|
+
} catch (err) {}
|
|
23024
|
+
}
|
|
23025
|
+
}
|
|
23026
|
+
throw new Error('Native crypto module could not be used to get secure random number.');
|
|
23371
23027
|
};
|
|
23372
|
-
|
|
23373
|
-
|
|
23374
|
-
|
|
23375
|
-
|
|
23376
|
-
|
|
23377
|
-
|
|
23378
|
-
|
|
23379
|
-
|
|
23380
|
-
|
|
23381
|
-
|
|
23028
|
+
var create = Object.create || function () {
|
|
23029
|
+
function F() {}
|
|
23030
|
+
return function (obj) {
|
|
23031
|
+
var subtype;
|
|
23032
|
+
F.prototype = obj;
|
|
23033
|
+
subtype = new F();
|
|
23034
|
+
F.prototype = null;
|
|
23035
|
+
return subtype;
|
|
23036
|
+
};
|
|
23037
|
+
}();
|
|
23038
|
+
var C = {};
|
|
23039
|
+
var C_lib = C.lib = {};
|
|
23040
|
+
var Base = C_lib.Base = function () {
|
|
23041
|
+
return {
|
|
23042
|
+
extend: function (overrides) {
|
|
23043
|
+
var subtype = create(this);
|
|
23044
|
+
if (overrides) {
|
|
23045
|
+
subtype.mixIn(overrides);
|
|
23046
|
+
}
|
|
23047
|
+
if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {
|
|
23048
|
+
subtype.init = function () {
|
|
23049
|
+
subtype.$super.init.apply(this, arguments);
|
|
23050
|
+
};
|
|
23051
|
+
}
|
|
23052
|
+
subtype.init.prototype = subtype;
|
|
23053
|
+
subtype.$super = this;
|
|
23054
|
+
return subtype;
|
|
23055
|
+
},
|
|
23056
|
+
create: function () {
|
|
23057
|
+
var instance = this.extend();
|
|
23058
|
+
instance.init.apply(instance, arguments);
|
|
23059
|
+
return instance;
|
|
23060
|
+
},
|
|
23061
|
+
init: function () {},
|
|
23062
|
+
mixIn: function (properties) {
|
|
23063
|
+
for (var propertyName in properties) {
|
|
23064
|
+
if (properties.hasOwnProperty(propertyName)) {
|
|
23065
|
+
this[propertyName] = properties[propertyName];
|
|
23066
|
+
}
|
|
23067
|
+
}
|
|
23068
|
+
if (properties.hasOwnProperty('toString')) {
|
|
23069
|
+
this.toString = properties.toString;
|
|
23070
|
+
}
|
|
23071
|
+
},
|
|
23072
|
+
clone: function () {
|
|
23073
|
+
return this.init.prototype.extend(this);
|
|
23074
|
+
}
|
|
23075
|
+
};
|
|
23076
|
+
}();
|
|
23077
|
+
var WordArray = C_lib.WordArray = Base.extend({
|
|
23078
|
+
init: function (words, sigBytes) {
|
|
23079
|
+
words = this.words = words || [];
|
|
23080
|
+
if (sigBytes != undefined$1) {
|
|
23081
|
+
this.sigBytes = sigBytes;
|
|
23082
|
+
} else {
|
|
23083
|
+
this.sigBytes = words.length * 4;
|
|
23084
|
+
}
|
|
23085
|
+
},
|
|
23086
|
+
toString: function (encoder) {
|
|
23087
|
+
return (encoder || Hex).stringify(this);
|
|
23088
|
+
},
|
|
23089
|
+
concat: function (wordArray) {
|
|
23090
|
+
var thisWords = this.words;
|
|
23091
|
+
var thatWords = wordArray.words;
|
|
23092
|
+
var thisSigBytes = this.sigBytes;
|
|
23093
|
+
var thatSigBytes = wordArray.sigBytes;
|
|
23094
|
+
this.clamp();
|
|
23095
|
+
if (thisSigBytes % 4) {
|
|
23096
|
+
for (var i = 0; i < thatSigBytes; i++) {
|
|
23097
|
+
var thatByte = thatWords[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;
|
|
23098
|
+
thisWords[thisSigBytes + i >>> 2] |= thatByte << 24 - (thisSigBytes + i) % 4 * 8;
|
|
23099
|
+
}
|
|
23100
|
+
} else {
|
|
23101
|
+
for (var j = 0; j < thatSigBytes; j += 4) {
|
|
23102
|
+
thisWords[thisSigBytes + j >>> 2] = thatWords[j >>> 2];
|
|
23103
|
+
}
|
|
23104
|
+
}
|
|
23105
|
+
this.sigBytes += thatSigBytes;
|
|
23106
|
+
return this;
|
|
23107
|
+
},
|
|
23108
|
+
clamp: function () {
|
|
23109
|
+
var words = this.words;
|
|
23110
|
+
var sigBytes = this.sigBytes;
|
|
23111
|
+
words[sigBytes >>> 2] &= 0xffffffff << 32 - sigBytes % 4 * 8;
|
|
23112
|
+
words.length = Math.ceil(sigBytes / 4);
|
|
23113
|
+
},
|
|
23114
|
+
clone: function () {
|
|
23115
|
+
var clone = Base.clone.call(this);
|
|
23116
|
+
clone.words = this.words.slice(0);
|
|
23117
|
+
return clone;
|
|
23118
|
+
},
|
|
23119
|
+
random: function (nBytes) {
|
|
23120
|
+
var words = [];
|
|
23121
|
+
for (var i = 0; i < nBytes; i += 4) {
|
|
23122
|
+
words.push(cryptoSecureRandomInt());
|
|
23123
|
+
}
|
|
23124
|
+
return new WordArray.init(words, nBytes);
|
|
23125
|
+
}
|
|
23126
|
+
});
|
|
23127
|
+
var C_enc = C.enc = {};
|
|
23128
|
+
var Hex = C_enc.Hex = {
|
|
23129
|
+
stringify: function (wordArray) {
|
|
23130
|
+
var words = wordArray.words;
|
|
23131
|
+
var sigBytes = wordArray.sigBytes;
|
|
23132
|
+
var hexChars = [];
|
|
23133
|
+
for (var i = 0; i < sigBytes; i++) {
|
|
23134
|
+
var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;
|
|
23135
|
+
hexChars.push((bite >>> 4).toString(16));
|
|
23136
|
+
hexChars.push((bite & 0x0f).toString(16));
|
|
23137
|
+
}
|
|
23138
|
+
return hexChars.join('');
|
|
23139
|
+
},
|
|
23140
|
+
parse: function (hexStr) {
|
|
23141
|
+
var hexStrLength = hexStr.length;
|
|
23142
|
+
var words = [];
|
|
23143
|
+
for (var i = 0; i < hexStrLength; i += 2) {
|
|
23144
|
+
words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << 24 - i % 8 * 4;
|
|
23145
|
+
}
|
|
23146
|
+
return new WordArray.init(words, hexStrLength / 2);
|
|
23147
|
+
}
|
|
23148
|
+
};
|
|
23149
|
+
var Latin1 = C_enc.Latin1 = {
|
|
23150
|
+
stringify: function (wordArray) {
|
|
23151
|
+
var words = wordArray.words;
|
|
23152
|
+
var sigBytes = wordArray.sigBytes;
|
|
23153
|
+
var latin1Chars = [];
|
|
23154
|
+
for (var i = 0; i < sigBytes; i++) {
|
|
23155
|
+
var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;
|
|
23156
|
+
latin1Chars.push(String.fromCharCode(bite));
|
|
23157
|
+
}
|
|
23158
|
+
return latin1Chars.join('');
|
|
23159
|
+
},
|
|
23160
|
+
parse: function (latin1Str) {
|
|
23161
|
+
var latin1StrLength = latin1Str.length;
|
|
23162
|
+
var words = [];
|
|
23163
|
+
for (var i = 0; i < latin1StrLength; i++) {
|
|
23164
|
+
words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << 24 - i % 4 * 8;
|
|
23165
|
+
}
|
|
23166
|
+
return new WordArray.init(words, latin1StrLength);
|
|
23167
|
+
}
|
|
23168
|
+
};
|
|
23169
|
+
var Utf8 = C_enc.Utf8 = {
|
|
23170
|
+
stringify: function (wordArray) {
|
|
23171
|
+
try {
|
|
23172
|
+
return decodeURIComponent(escape(Latin1.stringify(wordArray)));
|
|
23173
|
+
} catch (e) {
|
|
23174
|
+
throw new Error('Malformed UTF-8 data');
|
|
23175
|
+
}
|
|
23176
|
+
},
|
|
23177
|
+
parse: function (utf8Str) {
|
|
23178
|
+
return Latin1.parse(unescape(encodeURIComponent(utf8Str)));
|
|
23179
|
+
}
|
|
23180
|
+
};
|
|
23181
|
+
var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({
|
|
23182
|
+
reset: function () {
|
|
23183
|
+
this._data = new WordArray.init();
|
|
23184
|
+
this._nDataBytes = 0;
|
|
23185
|
+
},
|
|
23186
|
+
_append: function (data) {
|
|
23187
|
+
if (typeof data == 'string') {
|
|
23188
|
+
data = Utf8.parse(data);
|
|
23189
|
+
}
|
|
23190
|
+
this._data.concat(data);
|
|
23191
|
+
this._nDataBytes += data.sigBytes;
|
|
23192
|
+
},
|
|
23193
|
+
_process: function (doFlush) {
|
|
23194
|
+
var processedWords;
|
|
23195
|
+
var data = this._data;
|
|
23196
|
+
var dataWords = data.words;
|
|
23197
|
+
var dataSigBytes = data.sigBytes;
|
|
23198
|
+
var blockSize = this.blockSize;
|
|
23199
|
+
var blockSizeBytes = blockSize * 4;
|
|
23200
|
+
var nBlocksReady = dataSigBytes / blockSizeBytes;
|
|
23201
|
+
if (doFlush) {
|
|
23202
|
+
nBlocksReady = Math.ceil(nBlocksReady);
|
|
23203
|
+
} else {
|
|
23204
|
+
nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
|
|
23205
|
+
}
|
|
23206
|
+
var nWordsReady = nBlocksReady * blockSize;
|
|
23207
|
+
var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
|
|
23208
|
+
if (nWordsReady) {
|
|
23209
|
+
for (var offset = 0; offset < nWordsReady; offset += blockSize) {
|
|
23210
|
+
this._doProcessBlock(dataWords, offset);
|
|
23211
|
+
}
|
|
23212
|
+
processedWords = dataWords.splice(0, nWordsReady);
|
|
23213
|
+
data.sigBytes -= nBytesReady;
|
|
23214
|
+
}
|
|
23215
|
+
return new WordArray.init(processedWords, nBytesReady);
|
|
23216
|
+
},
|
|
23217
|
+
clone: function () {
|
|
23218
|
+
var clone = Base.clone.call(this);
|
|
23219
|
+
clone._data = this._data.clone();
|
|
23220
|
+
return clone;
|
|
23221
|
+
},
|
|
23222
|
+
_minBufferSize: 0
|
|
23223
|
+
});
|
|
23224
|
+
var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({
|
|
23225
|
+
cfg: Base.extend(),
|
|
23226
|
+
init: function (cfg) {
|
|
23227
|
+
this.cfg = this.cfg.extend(cfg);
|
|
23228
|
+
this.reset();
|
|
23229
|
+
},
|
|
23230
|
+
reset: function () {
|
|
23231
|
+
BufferedBlockAlgorithm.reset.call(this);
|
|
23232
|
+
this._doReset();
|
|
23233
|
+
},
|
|
23234
|
+
update: function (messageUpdate) {
|
|
23235
|
+
this._append(messageUpdate);
|
|
23236
|
+
this._process();
|
|
23237
|
+
return this;
|
|
23238
|
+
},
|
|
23239
|
+
finalize: function (messageUpdate) {
|
|
23240
|
+
if (messageUpdate) {
|
|
23241
|
+
this._append(messageUpdate);
|
|
23242
|
+
}
|
|
23243
|
+
var hash = this._doFinalize();
|
|
23244
|
+
return hash;
|
|
23245
|
+
},
|
|
23246
|
+
blockSize: 512 / 32,
|
|
23247
|
+
_createHelper: function (hasher) {
|
|
23248
|
+
return function (message, cfg) {
|
|
23249
|
+
return new hasher.init(cfg).finalize(message);
|
|
23250
|
+
};
|
|
23251
|
+
},
|
|
23252
|
+
_createHmacHelper: function (hasher) {
|
|
23253
|
+
return function (message, key) {
|
|
23254
|
+
return new C_algo.HMAC.init(hasher, key).finalize(message);
|
|
23255
|
+
};
|
|
23256
|
+
}
|
|
23257
|
+
});
|
|
23258
|
+
var C_algo = C.algo = {};
|
|
23259
|
+
return C;
|
|
23260
|
+
}(Math);
|
|
23261
|
+
return CryptoJS;
|
|
23262
|
+
});
|
|
23263
|
+
});
|
|
23264
|
+
|
|
23265
|
+
var x64Core = createCommonjsModule(function (module, exports) {
|
|
23266
|
+
(function (root, factory) {
|
|
23267
|
+
{
|
|
23268
|
+
module.exports = exports = factory(core);
|
|
23269
|
+
}
|
|
23270
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
23271
|
+
(function (undefined$1) {
|
|
23272
|
+
var C = CryptoJS;
|
|
23273
|
+
var C_lib = C.lib;
|
|
23274
|
+
var Base = C_lib.Base;
|
|
23275
|
+
var X32WordArray = C_lib.WordArray;
|
|
23276
|
+
var C_x64 = C.x64 = {};
|
|
23277
|
+
var X64Word = C_x64.Word = Base.extend({
|
|
23278
|
+
init: function (high, low) {
|
|
23279
|
+
this.high = high;
|
|
23280
|
+
this.low = low;
|
|
23281
|
+
}
|
|
23282
|
+
});
|
|
23283
|
+
var X64WordArray = C_x64.WordArray = Base.extend({
|
|
23284
|
+
init: function (words, sigBytes) {
|
|
23285
|
+
words = this.words = words || [];
|
|
23286
|
+
if (sigBytes != undefined$1) {
|
|
23287
|
+
this.sigBytes = sigBytes;
|
|
23288
|
+
} else {
|
|
23289
|
+
this.sigBytes = words.length * 8;
|
|
23290
|
+
}
|
|
23291
|
+
},
|
|
23292
|
+
toX32: function () {
|
|
23293
|
+
var x64Words = this.words;
|
|
23294
|
+
var x64WordsLength = x64Words.length;
|
|
23295
|
+
var x32Words = [];
|
|
23296
|
+
for (var i = 0; i < x64WordsLength; i++) {
|
|
23297
|
+
var x64Word = x64Words[i];
|
|
23298
|
+
x32Words.push(x64Word.high);
|
|
23299
|
+
x32Words.push(x64Word.low);
|
|
23300
|
+
}
|
|
23301
|
+
return X32WordArray.create(x32Words, this.sigBytes);
|
|
23302
|
+
},
|
|
23303
|
+
clone: function () {
|
|
23304
|
+
var clone = Base.clone.call(this);
|
|
23305
|
+
var words = clone.words = this.words.slice(0);
|
|
23306
|
+
var wordsLength = words.length;
|
|
23307
|
+
for (var i = 0; i < wordsLength; i++) {
|
|
23308
|
+
words[i] = words[i].clone();
|
|
23309
|
+
}
|
|
23310
|
+
return clone;
|
|
23311
|
+
}
|
|
23312
|
+
});
|
|
23313
|
+
})();
|
|
23314
|
+
return CryptoJS;
|
|
23315
|
+
});
|
|
23316
|
+
});
|
|
23317
|
+
|
|
23318
|
+
var libTypedarrays = createCommonjsModule(function (module, exports) {
|
|
23319
|
+
(function (root, factory) {
|
|
23320
|
+
{
|
|
23321
|
+
module.exports = exports = factory(core);
|
|
23322
|
+
}
|
|
23323
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
23324
|
+
(function () {
|
|
23325
|
+
if (typeof ArrayBuffer != 'function') {
|
|
23326
|
+
return;
|
|
23327
|
+
}
|
|
23328
|
+
var C = CryptoJS;
|
|
23329
|
+
var C_lib = C.lib;
|
|
23330
|
+
var WordArray = C_lib.WordArray;
|
|
23331
|
+
var superInit = WordArray.init;
|
|
23332
|
+
var subInit = WordArray.init = function (typedArray) {
|
|
23333
|
+
if (typedArray instanceof ArrayBuffer) {
|
|
23334
|
+
typedArray = new Uint8Array(typedArray);
|
|
23335
|
+
}
|
|
23336
|
+
if (typedArray instanceof Int8Array || typeof Uint8ClampedArray !== "undefined" && typedArray instanceof Uint8ClampedArray || typedArray instanceof Int16Array || typedArray instanceof Uint16Array || typedArray instanceof Int32Array || typedArray instanceof Uint32Array || typedArray instanceof Float32Array || typedArray instanceof Float64Array) {
|
|
23337
|
+
typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength);
|
|
23338
|
+
}
|
|
23339
|
+
if (typedArray instanceof Uint8Array) {
|
|
23340
|
+
var typedArrayByteLength = typedArray.byteLength;
|
|
23341
|
+
var words = [];
|
|
23342
|
+
for (var i = 0; i < typedArrayByteLength; i++) {
|
|
23343
|
+
words[i >>> 2] |= typedArray[i] << 24 - i % 4 * 8;
|
|
23344
|
+
}
|
|
23345
|
+
superInit.call(this, words, typedArrayByteLength);
|
|
23346
|
+
} else {
|
|
23347
|
+
superInit.apply(this, arguments);
|
|
23348
|
+
}
|
|
23349
|
+
};
|
|
23350
|
+
subInit.prototype = WordArray;
|
|
23351
|
+
})();
|
|
23352
|
+
return CryptoJS.lib.WordArray;
|
|
23353
|
+
});
|
|
23354
|
+
});
|
|
23355
|
+
|
|
23356
|
+
var encUtf16 = createCommonjsModule(function (module, exports) {
|
|
23357
|
+
(function (root, factory) {
|
|
23358
|
+
{
|
|
23359
|
+
module.exports = exports = factory(core);
|
|
23360
|
+
}
|
|
23361
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
23362
|
+
(function () {
|
|
23363
|
+
var C = CryptoJS;
|
|
23364
|
+
var C_lib = C.lib;
|
|
23365
|
+
var WordArray = C_lib.WordArray;
|
|
23366
|
+
var C_enc = C.enc;
|
|
23367
|
+
var Utf16BE = C_enc.Utf16 = C_enc.Utf16BE = {
|
|
23368
|
+
stringify: function (wordArray) {
|
|
23369
|
+
var words = wordArray.words;
|
|
23370
|
+
var sigBytes = wordArray.sigBytes;
|
|
23371
|
+
var utf16Chars = [];
|
|
23372
|
+
for (var i = 0; i < sigBytes; i += 2) {
|
|
23373
|
+
var codePoint = words[i >>> 2] >>> 16 - i % 4 * 8 & 0xffff;
|
|
23374
|
+
utf16Chars.push(String.fromCharCode(codePoint));
|
|
23375
|
+
}
|
|
23376
|
+
return utf16Chars.join('');
|
|
23377
|
+
},
|
|
23378
|
+
parse: function (utf16Str) {
|
|
23379
|
+
var utf16StrLength = utf16Str.length;
|
|
23380
|
+
var words = [];
|
|
23381
|
+
for (var i = 0; i < utf16StrLength; i++) {
|
|
23382
|
+
words[i >>> 1] |= utf16Str.charCodeAt(i) << 16 - i % 2 * 16;
|
|
23383
|
+
}
|
|
23384
|
+
return WordArray.create(words, utf16StrLength * 2);
|
|
23385
|
+
}
|
|
23386
|
+
};
|
|
23387
|
+
C_enc.Utf16LE = {
|
|
23388
|
+
stringify: function (wordArray) {
|
|
23389
|
+
var words = wordArray.words;
|
|
23390
|
+
var sigBytes = wordArray.sigBytes;
|
|
23391
|
+
var utf16Chars = [];
|
|
23392
|
+
for (var i = 0; i < sigBytes; i += 2) {
|
|
23393
|
+
var codePoint = swapEndian(words[i >>> 2] >>> 16 - i % 4 * 8 & 0xffff);
|
|
23394
|
+
utf16Chars.push(String.fromCharCode(codePoint));
|
|
23395
|
+
}
|
|
23396
|
+
return utf16Chars.join('');
|
|
23397
|
+
},
|
|
23398
|
+
parse: function (utf16Str) {
|
|
23399
|
+
var utf16StrLength = utf16Str.length;
|
|
23400
|
+
var words = [];
|
|
23401
|
+
for (var i = 0; i < utf16StrLength; i++) {
|
|
23402
|
+
words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << 16 - i % 2 * 16);
|
|
23403
|
+
}
|
|
23404
|
+
return WordArray.create(words, utf16StrLength * 2);
|
|
23405
|
+
}
|
|
23406
|
+
};
|
|
23407
|
+
function swapEndian(word) {
|
|
23408
|
+
return word << 8 & 0xff00ff00 | word >>> 8 & 0x00ff00ff;
|
|
23409
|
+
}
|
|
23410
|
+
})();
|
|
23411
|
+
return CryptoJS.enc.Utf16;
|
|
23412
|
+
});
|
|
23413
|
+
});
|
|
23414
|
+
|
|
23415
|
+
var encBase64 = createCommonjsModule(function (module, exports) {
|
|
23416
|
+
(function (root, factory) {
|
|
23417
|
+
{
|
|
23418
|
+
module.exports = exports = factory(core);
|
|
23419
|
+
}
|
|
23420
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
23421
|
+
(function () {
|
|
23422
|
+
var C = CryptoJS;
|
|
23423
|
+
var C_lib = C.lib;
|
|
23424
|
+
var WordArray = C_lib.WordArray;
|
|
23425
|
+
var C_enc = C.enc;
|
|
23426
|
+
var Base64 = C_enc.Base64 = {
|
|
23427
|
+
stringify: function (wordArray) {
|
|
23428
|
+
var words = wordArray.words;
|
|
23429
|
+
var sigBytes = wordArray.sigBytes;
|
|
23430
|
+
var map = this._map;
|
|
23431
|
+
wordArray.clamp();
|
|
23432
|
+
var base64Chars = [];
|
|
23433
|
+
for (var i = 0; i < sigBytes; i += 3) {
|
|
23434
|
+
var byte1 = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;
|
|
23435
|
+
var byte2 = words[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 0xff;
|
|
23436
|
+
var byte3 = words[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 0xff;
|
|
23437
|
+
var triplet = byte1 << 16 | byte2 << 8 | byte3;
|
|
23438
|
+
for (var j = 0; j < 4 && i + j * 0.75 < sigBytes; j++) {
|
|
23439
|
+
base64Chars.push(map.charAt(triplet >>> 6 * (3 - j) & 0x3f));
|
|
23440
|
+
}
|
|
23441
|
+
}
|
|
23442
|
+
var paddingChar = map.charAt(64);
|
|
23443
|
+
if (paddingChar) {
|
|
23444
|
+
while (base64Chars.length % 4) {
|
|
23445
|
+
base64Chars.push(paddingChar);
|
|
23446
|
+
}
|
|
23447
|
+
}
|
|
23448
|
+
return base64Chars.join('');
|
|
23449
|
+
},
|
|
23450
|
+
parse: function (base64Str) {
|
|
23451
|
+
var base64StrLength = base64Str.length;
|
|
23452
|
+
var map = this._map;
|
|
23453
|
+
var reverseMap = this._reverseMap;
|
|
23454
|
+
if (!reverseMap) {
|
|
23455
|
+
reverseMap = this._reverseMap = [];
|
|
23456
|
+
for (var j = 0; j < map.length; j++) {
|
|
23457
|
+
reverseMap[map.charCodeAt(j)] = j;
|
|
23458
|
+
}
|
|
23459
|
+
}
|
|
23460
|
+
var paddingChar = map.charAt(64);
|
|
23461
|
+
if (paddingChar) {
|
|
23462
|
+
var paddingIndex = base64Str.indexOf(paddingChar);
|
|
23463
|
+
if (paddingIndex !== -1) {
|
|
23464
|
+
base64StrLength = paddingIndex;
|
|
23465
|
+
}
|
|
23466
|
+
}
|
|
23467
|
+
return parseLoop(base64Str, base64StrLength, reverseMap);
|
|
23468
|
+
},
|
|
23469
|
+
_map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
|
|
23470
|
+
};
|
|
23471
|
+
function parseLoop(base64Str, base64StrLength, reverseMap) {
|
|
23472
|
+
var words = [];
|
|
23473
|
+
var nBytes = 0;
|
|
23474
|
+
for (var i = 0; i < base64StrLength; i++) {
|
|
23475
|
+
if (i % 4) {
|
|
23476
|
+
var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << i % 4 * 2;
|
|
23477
|
+
var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> 6 - i % 4 * 2;
|
|
23478
|
+
var bitsCombined = bits1 | bits2;
|
|
23479
|
+
words[nBytes >>> 2] |= bitsCombined << 24 - nBytes % 4 * 8;
|
|
23480
|
+
nBytes++;
|
|
23481
|
+
}
|
|
23482
|
+
}
|
|
23483
|
+
return WordArray.create(words, nBytes);
|
|
23484
|
+
}
|
|
23485
|
+
})();
|
|
23486
|
+
return CryptoJS.enc.Base64;
|
|
23487
|
+
});
|
|
23488
|
+
});
|
|
23489
|
+
|
|
23490
|
+
var encBase64url = createCommonjsModule(function (module, exports) {
|
|
23491
|
+
(function (root, factory) {
|
|
23492
|
+
{
|
|
23493
|
+
module.exports = exports = factory(core);
|
|
23494
|
+
}
|
|
23495
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
23496
|
+
(function () {
|
|
23497
|
+
var C = CryptoJS;
|
|
23498
|
+
var C_lib = C.lib;
|
|
23499
|
+
var WordArray = C_lib.WordArray;
|
|
23500
|
+
var C_enc = C.enc;
|
|
23501
|
+
var Base64url = C_enc.Base64url = {
|
|
23502
|
+
stringify: function (wordArray, urlSafe) {
|
|
23503
|
+
if (urlSafe === undefined) {
|
|
23504
|
+
urlSafe = true;
|
|
23505
|
+
}
|
|
23506
|
+
var words = wordArray.words;
|
|
23507
|
+
var sigBytes = wordArray.sigBytes;
|
|
23508
|
+
var map = urlSafe ? this._safe_map : this._map;
|
|
23509
|
+
wordArray.clamp();
|
|
23510
|
+
var base64Chars = [];
|
|
23511
|
+
for (var i = 0; i < sigBytes; i += 3) {
|
|
23512
|
+
var byte1 = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;
|
|
23513
|
+
var byte2 = words[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 0xff;
|
|
23514
|
+
var byte3 = words[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 0xff;
|
|
23515
|
+
var triplet = byte1 << 16 | byte2 << 8 | byte3;
|
|
23516
|
+
for (var j = 0; j < 4 && i + j * 0.75 < sigBytes; j++) {
|
|
23517
|
+
base64Chars.push(map.charAt(triplet >>> 6 * (3 - j) & 0x3f));
|
|
23518
|
+
}
|
|
23519
|
+
}
|
|
23520
|
+
var paddingChar = map.charAt(64);
|
|
23521
|
+
if (paddingChar) {
|
|
23522
|
+
while (base64Chars.length % 4) {
|
|
23523
|
+
base64Chars.push(paddingChar);
|
|
23524
|
+
}
|
|
23525
|
+
}
|
|
23526
|
+
return base64Chars.join('');
|
|
23527
|
+
},
|
|
23528
|
+
parse: function (base64Str, urlSafe) {
|
|
23529
|
+
if (urlSafe === undefined) {
|
|
23530
|
+
urlSafe = true;
|
|
23531
|
+
}
|
|
23532
|
+
var base64StrLength = base64Str.length;
|
|
23533
|
+
var map = urlSafe ? this._safe_map : this._map;
|
|
23534
|
+
var reverseMap = this._reverseMap;
|
|
23535
|
+
if (!reverseMap) {
|
|
23536
|
+
reverseMap = this._reverseMap = [];
|
|
23537
|
+
for (var j = 0; j < map.length; j++) {
|
|
23538
|
+
reverseMap[map.charCodeAt(j)] = j;
|
|
23539
|
+
}
|
|
23540
|
+
}
|
|
23541
|
+
var paddingChar = map.charAt(64);
|
|
23542
|
+
if (paddingChar) {
|
|
23543
|
+
var paddingIndex = base64Str.indexOf(paddingChar);
|
|
23544
|
+
if (paddingIndex !== -1) {
|
|
23545
|
+
base64StrLength = paddingIndex;
|
|
23546
|
+
}
|
|
23547
|
+
}
|
|
23548
|
+
return parseLoop(base64Str, base64StrLength, reverseMap);
|
|
23549
|
+
},
|
|
23550
|
+
_map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',
|
|
23551
|
+
_safe_map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'
|
|
23552
|
+
};
|
|
23553
|
+
function parseLoop(base64Str, base64StrLength, reverseMap) {
|
|
23554
|
+
var words = [];
|
|
23555
|
+
var nBytes = 0;
|
|
23556
|
+
for (var i = 0; i < base64StrLength; i++) {
|
|
23557
|
+
if (i % 4) {
|
|
23558
|
+
var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << i % 4 * 2;
|
|
23559
|
+
var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> 6 - i % 4 * 2;
|
|
23560
|
+
var bitsCombined = bits1 | bits2;
|
|
23561
|
+
words[nBytes >>> 2] |= bitsCombined << 24 - nBytes % 4 * 8;
|
|
23562
|
+
nBytes++;
|
|
23563
|
+
}
|
|
23564
|
+
}
|
|
23565
|
+
return WordArray.create(words, nBytes);
|
|
23566
|
+
}
|
|
23567
|
+
})();
|
|
23568
|
+
return CryptoJS.enc.Base64url;
|
|
23569
|
+
});
|
|
23570
|
+
});
|
|
23571
|
+
|
|
23572
|
+
var md5 = createCommonjsModule(function (module, exports) {
|
|
23573
|
+
(function (root, factory) {
|
|
23574
|
+
{
|
|
23575
|
+
module.exports = exports = factory(core);
|
|
23576
|
+
}
|
|
23577
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
23578
|
+
(function (Math) {
|
|
23579
|
+
var C = CryptoJS;
|
|
23580
|
+
var C_lib = C.lib;
|
|
23581
|
+
var WordArray = C_lib.WordArray;
|
|
23582
|
+
var Hasher = C_lib.Hasher;
|
|
23583
|
+
var C_algo = C.algo;
|
|
23584
|
+
var T = [];
|
|
23585
|
+
(function () {
|
|
23586
|
+
for (var i = 0; i < 64; i++) {
|
|
23587
|
+
T[i] = Math.abs(Math.sin(i + 1)) * 0x100000000 | 0;
|
|
23588
|
+
}
|
|
23589
|
+
})();
|
|
23590
|
+
var MD5 = C_algo.MD5 = Hasher.extend({
|
|
23591
|
+
_doReset: function () {
|
|
23592
|
+
this._hash = new WordArray.init([0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476]);
|
|
23593
|
+
},
|
|
23594
|
+
_doProcessBlock: function (M, offset) {
|
|
23595
|
+
for (var i = 0; i < 16; i++) {
|
|
23596
|
+
var offset_i = offset + i;
|
|
23597
|
+
var M_offset_i = M[offset_i];
|
|
23598
|
+
M[offset_i] = (M_offset_i << 8 | M_offset_i >>> 24) & 0x00ff00ff | (M_offset_i << 24 | M_offset_i >>> 8) & 0xff00ff00;
|
|
23599
|
+
}
|
|
23600
|
+
var H = this._hash.words;
|
|
23601
|
+
var M_offset_0 = M[offset + 0];
|
|
23602
|
+
var M_offset_1 = M[offset + 1];
|
|
23603
|
+
var M_offset_2 = M[offset + 2];
|
|
23604
|
+
var M_offset_3 = M[offset + 3];
|
|
23605
|
+
var M_offset_4 = M[offset + 4];
|
|
23606
|
+
var M_offset_5 = M[offset + 5];
|
|
23607
|
+
var M_offset_6 = M[offset + 6];
|
|
23608
|
+
var M_offset_7 = M[offset + 7];
|
|
23609
|
+
var M_offset_8 = M[offset + 8];
|
|
23610
|
+
var M_offset_9 = M[offset + 9];
|
|
23611
|
+
var M_offset_10 = M[offset + 10];
|
|
23612
|
+
var M_offset_11 = M[offset + 11];
|
|
23613
|
+
var M_offset_12 = M[offset + 12];
|
|
23614
|
+
var M_offset_13 = M[offset + 13];
|
|
23615
|
+
var M_offset_14 = M[offset + 14];
|
|
23616
|
+
var M_offset_15 = M[offset + 15];
|
|
23617
|
+
var a = H[0];
|
|
23618
|
+
var b = H[1];
|
|
23619
|
+
var c = H[2];
|
|
23620
|
+
var d = H[3];
|
|
23621
|
+
a = FF(a, b, c, d, M_offset_0, 7, T[0]);
|
|
23622
|
+
d = FF(d, a, b, c, M_offset_1, 12, T[1]);
|
|
23623
|
+
c = FF(c, d, a, b, M_offset_2, 17, T[2]);
|
|
23624
|
+
b = FF(b, c, d, a, M_offset_3, 22, T[3]);
|
|
23625
|
+
a = FF(a, b, c, d, M_offset_4, 7, T[4]);
|
|
23626
|
+
d = FF(d, a, b, c, M_offset_5, 12, T[5]);
|
|
23627
|
+
c = FF(c, d, a, b, M_offset_6, 17, T[6]);
|
|
23628
|
+
b = FF(b, c, d, a, M_offset_7, 22, T[7]);
|
|
23629
|
+
a = FF(a, b, c, d, M_offset_8, 7, T[8]);
|
|
23630
|
+
d = FF(d, a, b, c, M_offset_9, 12, T[9]);
|
|
23631
|
+
c = FF(c, d, a, b, M_offset_10, 17, T[10]);
|
|
23632
|
+
b = FF(b, c, d, a, M_offset_11, 22, T[11]);
|
|
23633
|
+
a = FF(a, b, c, d, M_offset_12, 7, T[12]);
|
|
23634
|
+
d = FF(d, a, b, c, M_offset_13, 12, T[13]);
|
|
23635
|
+
c = FF(c, d, a, b, M_offset_14, 17, T[14]);
|
|
23636
|
+
b = FF(b, c, d, a, M_offset_15, 22, T[15]);
|
|
23637
|
+
a = GG(a, b, c, d, M_offset_1, 5, T[16]);
|
|
23638
|
+
d = GG(d, a, b, c, M_offset_6, 9, T[17]);
|
|
23639
|
+
c = GG(c, d, a, b, M_offset_11, 14, T[18]);
|
|
23640
|
+
b = GG(b, c, d, a, M_offset_0, 20, T[19]);
|
|
23641
|
+
a = GG(a, b, c, d, M_offset_5, 5, T[20]);
|
|
23642
|
+
d = GG(d, a, b, c, M_offset_10, 9, T[21]);
|
|
23643
|
+
c = GG(c, d, a, b, M_offset_15, 14, T[22]);
|
|
23644
|
+
b = GG(b, c, d, a, M_offset_4, 20, T[23]);
|
|
23645
|
+
a = GG(a, b, c, d, M_offset_9, 5, T[24]);
|
|
23646
|
+
d = GG(d, a, b, c, M_offset_14, 9, T[25]);
|
|
23647
|
+
c = GG(c, d, a, b, M_offset_3, 14, T[26]);
|
|
23648
|
+
b = GG(b, c, d, a, M_offset_8, 20, T[27]);
|
|
23649
|
+
a = GG(a, b, c, d, M_offset_13, 5, T[28]);
|
|
23650
|
+
d = GG(d, a, b, c, M_offset_2, 9, T[29]);
|
|
23651
|
+
c = GG(c, d, a, b, M_offset_7, 14, T[30]);
|
|
23652
|
+
b = GG(b, c, d, a, M_offset_12, 20, T[31]);
|
|
23653
|
+
a = HH(a, b, c, d, M_offset_5, 4, T[32]);
|
|
23654
|
+
d = HH(d, a, b, c, M_offset_8, 11, T[33]);
|
|
23655
|
+
c = HH(c, d, a, b, M_offset_11, 16, T[34]);
|
|
23656
|
+
b = HH(b, c, d, a, M_offset_14, 23, T[35]);
|
|
23657
|
+
a = HH(a, b, c, d, M_offset_1, 4, T[36]);
|
|
23658
|
+
d = HH(d, a, b, c, M_offset_4, 11, T[37]);
|
|
23659
|
+
c = HH(c, d, a, b, M_offset_7, 16, T[38]);
|
|
23660
|
+
b = HH(b, c, d, a, M_offset_10, 23, T[39]);
|
|
23661
|
+
a = HH(a, b, c, d, M_offset_13, 4, T[40]);
|
|
23662
|
+
d = HH(d, a, b, c, M_offset_0, 11, T[41]);
|
|
23663
|
+
c = HH(c, d, a, b, M_offset_3, 16, T[42]);
|
|
23664
|
+
b = HH(b, c, d, a, M_offset_6, 23, T[43]);
|
|
23665
|
+
a = HH(a, b, c, d, M_offset_9, 4, T[44]);
|
|
23666
|
+
d = HH(d, a, b, c, M_offset_12, 11, T[45]);
|
|
23667
|
+
c = HH(c, d, a, b, M_offset_15, 16, T[46]);
|
|
23668
|
+
b = HH(b, c, d, a, M_offset_2, 23, T[47]);
|
|
23669
|
+
a = II(a, b, c, d, M_offset_0, 6, T[48]);
|
|
23670
|
+
d = II(d, a, b, c, M_offset_7, 10, T[49]);
|
|
23671
|
+
c = II(c, d, a, b, M_offset_14, 15, T[50]);
|
|
23672
|
+
b = II(b, c, d, a, M_offset_5, 21, T[51]);
|
|
23673
|
+
a = II(a, b, c, d, M_offset_12, 6, T[52]);
|
|
23674
|
+
d = II(d, a, b, c, M_offset_3, 10, T[53]);
|
|
23675
|
+
c = II(c, d, a, b, M_offset_10, 15, T[54]);
|
|
23676
|
+
b = II(b, c, d, a, M_offset_1, 21, T[55]);
|
|
23677
|
+
a = II(a, b, c, d, M_offset_8, 6, T[56]);
|
|
23678
|
+
d = II(d, a, b, c, M_offset_15, 10, T[57]);
|
|
23679
|
+
c = II(c, d, a, b, M_offset_6, 15, T[58]);
|
|
23680
|
+
b = II(b, c, d, a, M_offset_13, 21, T[59]);
|
|
23681
|
+
a = II(a, b, c, d, M_offset_4, 6, T[60]);
|
|
23682
|
+
d = II(d, a, b, c, M_offset_11, 10, T[61]);
|
|
23683
|
+
c = II(c, d, a, b, M_offset_2, 15, T[62]);
|
|
23684
|
+
b = II(b, c, d, a, M_offset_9, 21, T[63]);
|
|
23685
|
+
H[0] = H[0] + a | 0;
|
|
23686
|
+
H[1] = H[1] + b | 0;
|
|
23687
|
+
H[2] = H[2] + c | 0;
|
|
23688
|
+
H[3] = H[3] + d | 0;
|
|
23689
|
+
},
|
|
23690
|
+
_doFinalize: function () {
|
|
23691
|
+
var data = this._data;
|
|
23692
|
+
var dataWords = data.words;
|
|
23693
|
+
var nBitsTotal = this._nDataBytes * 8;
|
|
23694
|
+
var nBitsLeft = data.sigBytes * 8;
|
|
23695
|
+
dataWords[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;
|
|
23696
|
+
var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000);
|
|
23697
|
+
var nBitsTotalL = nBitsTotal;
|
|
23698
|
+
dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = (nBitsTotalH << 8 | nBitsTotalH >>> 24) & 0x00ff00ff | (nBitsTotalH << 24 | nBitsTotalH >>> 8) & 0xff00ff00;
|
|
23699
|
+
dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = (nBitsTotalL << 8 | nBitsTotalL >>> 24) & 0x00ff00ff | (nBitsTotalL << 24 | nBitsTotalL >>> 8) & 0xff00ff00;
|
|
23700
|
+
data.sigBytes = (dataWords.length + 1) * 4;
|
|
23701
|
+
this._process();
|
|
23702
|
+
var hash = this._hash;
|
|
23703
|
+
var H = hash.words;
|
|
23704
|
+
for (var i = 0; i < 4; i++) {
|
|
23705
|
+
var H_i = H[i];
|
|
23706
|
+
H[i] = (H_i << 8 | H_i >>> 24) & 0x00ff00ff | (H_i << 24 | H_i >>> 8) & 0xff00ff00;
|
|
23707
|
+
}
|
|
23708
|
+
return hash;
|
|
23709
|
+
},
|
|
23710
|
+
clone: function () {
|
|
23711
|
+
var clone = Hasher.clone.call(this);
|
|
23712
|
+
clone._hash = this._hash.clone();
|
|
23713
|
+
return clone;
|
|
23714
|
+
}
|
|
23715
|
+
});
|
|
23716
|
+
function FF(a, b, c, d, x, s, t) {
|
|
23717
|
+
var n = a + (b & c | ~b & d) + x + t;
|
|
23718
|
+
return (n << s | n >>> 32 - s) + b;
|
|
23719
|
+
}
|
|
23720
|
+
function GG(a, b, c, d, x, s, t) {
|
|
23721
|
+
var n = a + (b & d | c & ~d) + x + t;
|
|
23722
|
+
return (n << s | n >>> 32 - s) + b;
|
|
23723
|
+
}
|
|
23724
|
+
function HH(a, b, c, d, x, s, t) {
|
|
23725
|
+
var n = a + (b ^ c ^ d) + x + t;
|
|
23726
|
+
return (n << s | n >>> 32 - s) + b;
|
|
23727
|
+
}
|
|
23728
|
+
function II(a, b, c, d, x, s, t) {
|
|
23729
|
+
var n = a + (c ^ (b | ~d)) + x + t;
|
|
23730
|
+
return (n << s | n >>> 32 - s) + b;
|
|
23731
|
+
}
|
|
23732
|
+
C.MD5 = Hasher._createHelper(MD5);
|
|
23733
|
+
C.HmacMD5 = Hasher._createHmacHelper(MD5);
|
|
23734
|
+
})(Math);
|
|
23735
|
+
return CryptoJS.MD5;
|
|
23736
|
+
});
|
|
23737
|
+
});
|
|
23738
|
+
|
|
23739
|
+
var sha1 = createCommonjsModule(function (module, exports) {
|
|
23740
|
+
(function (root, factory) {
|
|
23741
|
+
{
|
|
23742
|
+
module.exports = exports = factory(core);
|
|
23743
|
+
}
|
|
23744
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
23745
|
+
(function () {
|
|
23746
|
+
var C = CryptoJS;
|
|
23747
|
+
var C_lib = C.lib;
|
|
23748
|
+
var WordArray = C_lib.WordArray;
|
|
23749
|
+
var Hasher = C_lib.Hasher;
|
|
23750
|
+
var C_algo = C.algo;
|
|
23751
|
+
var W = [];
|
|
23752
|
+
var SHA1 = C_algo.SHA1 = Hasher.extend({
|
|
23753
|
+
_doReset: function () {
|
|
23754
|
+
this._hash = new WordArray.init([0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]);
|
|
23755
|
+
},
|
|
23756
|
+
_doProcessBlock: function (M, offset) {
|
|
23757
|
+
var H = this._hash.words;
|
|
23758
|
+
var a = H[0];
|
|
23759
|
+
var b = H[1];
|
|
23760
|
+
var c = H[2];
|
|
23761
|
+
var d = H[3];
|
|
23762
|
+
var e = H[4];
|
|
23763
|
+
for (var i = 0; i < 80; i++) {
|
|
23764
|
+
if (i < 16) {
|
|
23765
|
+
W[i] = M[offset + i] | 0;
|
|
23766
|
+
} else {
|
|
23767
|
+
var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];
|
|
23768
|
+
W[i] = n << 1 | n >>> 31;
|
|
23769
|
+
}
|
|
23770
|
+
var t = (a << 5 | a >>> 27) + e + W[i];
|
|
23771
|
+
if (i < 20) {
|
|
23772
|
+
t += (b & c | ~b & d) + 0x5a827999;
|
|
23773
|
+
} else if (i < 40) {
|
|
23774
|
+
t += (b ^ c ^ d) + 0x6ed9eba1;
|
|
23775
|
+
} else if (i < 60) {
|
|
23776
|
+
t += (b & c | b & d | c & d) - 0x70e44324;
|
|
23777
|
+
} else {
|
|
23778
|
+
t += (b ^ c ^ d) - 0x359d3e2a;
|
|
23779
|
+
}
|
|
23780
|
+
e = d;
|
|
23781
|
+
d = c;
|
|
23782
|
+
c = b << 30 | b >>> 2;
|
|
23783
|
+
b = a;
|
|
23784
|
+
a = t;
|
|
23785
|
+
}
|
|
23786
|
+
H[0] = H[0] + a | 0;
|
|
23787
|
+
H[1] = H[1] + b | 0;
|
|
23788
|
+
H[2] = H[2] + c | 0;
|
|
23789
|
+
H[3] = H[3] + d | 0;
|
|
23790
|
+
H[4] = H[4] + e | 0;
|
|
23791
|
+
},
|
|
23792
|
+
_doFinalize: function () {
|
|
23793
|
+
var data = this._data;
|
|
23794
|
+
var dataWords = data.words;
|
|
23795
|
+
var nBitsTotal = this._nDataBytes * 8;
|
|
23796
|
+
var nBitsLeft = data.sigBytes * 8;
|
|
23797
|
+
dataWords[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;
|
|
23798
|
+
dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);
|
|
23799
|
+
dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal;
|
|
23800
|
+
data.sigBytes = dataWords.length * 4;
|
|
23801
|
+
this._process();
|
|
23802
|
+
return this._hash;
|
|
23803
|
+
},
|
|
23804
|
+
clone: function () {
|
|
23805
|
+
var clone = Hasher.clone.call(this);
|
|
23806
|
+
clone._hash = this._hash.clone();
|
|
23807
|
+
return clone;
|
|
23808
|
+
}
|
|
23809
|
+
});
|
|
23810
|
+
C.SHA1 = Hasher._createHelper(SHA1);
|
|
23811
|
+
C.HmacSHA1 = Hasher._createHmacHelper(SHA1);
|
|
23812
|
+
})();
|
|
23813
|
+
return CryptoJS.SHA1;
|
|
23814
|
+
});
|
|
23815
|
+
});
|
|
23816
|
+
|
|
23817
|
+
var sha256 = createCommonjsModule(function (module, exports) {
|
|
23818
|
+
(function (root, factory) {
|
|
23819
|
+
{
|
|
23820
|
+
module.exports = exports = factory(core);
|
|
23821
|
+
}
|
|
23822
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
23823
|
+
(function (Math) {
|
|
23824
|
+
var C = CryptoJS;
|
|
23825
|
+
var C_lib = C.lib;
|
|
23826
|
+
var WordArray = C_lib.WordArray;
|
|
23827
|
+
var Hasher = C_lib.Hasher;
|
|
23828
|
+
var C_algo = C.algo;
|
|
23829
|
+
var H = [];
|
|
23830
|
+
var K = [];
|
|
23831
|
+
(function () {
|
|
23832
|
+
function isPrime(n) {
|
|
23833
|
+
var sqrtN = Math.sqrt(n);
|
|
23834
|
+
for (var factor = 2; factor <= sqrtN; factor++) {
|
|
23835
|
+
if (!(n % factor)) {
|
|
23836
|
+
return false;
|
|
23837
|
+
}
|
|
23838
|
+
}
|
|
23839
|
+
return true;
|
|
23840
|
+
}
|
|
23841
|
+
function getFractionalBits(n) {
|
|
23842
|
+
return (n - (n | 0)) * 0x100000000 | 0;
|
|
23843
|
+
}
|
|
23844
|
+
var n = 2;
|
|
23845
|
+
var nPrime = 0;
|
|
23846
|
+
while (nPrime < 64) {
|
|
23847
|
+
if (isPrime(n)) {
|
|
23848
|
+
if (nPrime < 8) {
|
|
23849
|
+
H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));
|
|
23850
|
+
}
|
|
23851
|
+
K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));
|
|
23852
|
+
nPrime++;
|
|
23853
|
+
}
|
|
23854
|
+
n++;
|
|
23855
|
+
}
|
|
23856
|
+
})();
|
|
23857
|
+
var W = [];
|
|
23858
|
+
var SHA256 = C_algo.SHA256 = Hasher.extend({
|
|
23859
|
+
_doReset: function () {
|
|
23860
|
+
this._hash = new WordArray.init(H.slice(0));
|
|
23861
|
+
},
|
|
23862
|
+
_doProcessBlock: function (M, offset) {
|
|
23863
|
+
var H = this._hash.words;
|
|
23864
|
+
var a = H[0];
|
|
23865
|
+
var b = H[1];
|
|
23866
|
+
var c = H[2];
|
|
23867
|
+
var d = H[3];
|
|
23868
|
+
var e = H[4];
|
|
23869
|
+
var f = H[5];
|
|
23870
|
+
var g = H[6];
|
|
23871
|
+
var h = H[7];
|
|
23872
|
+
for (var i = 0; i < 64; i++) {
|
|
23873
|
+
if (i < 16) {
|
|
23874
|
+
W[i] = M[offset + i] | 0;
|
|
23875
|
+
} else {
|
|
23876
|
+
var gamma0x = W[i - 15];
|
|
23877
|
+
var gamma0 = (gamma0x << 25 | gamma0x >>> 7) ^ (gamma0x << 14 | gamma0x >>> 18) ^ gamma0x >>> 3;
|
|
23878
|
+
var gamma1x = W[i - 2];
|
|
23879
|
+
var gamma1 = (gamma1x << 15 | gamma1x >>> 17) ^ (gamma1x << 13 | gamma1x >>> 19) ^ gamma1x >>> 10;
|
|
23880
|
+
W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];
|
|
23881
|
+
}
|
|
23882
|
+
var ch = e & f ^ ~e & g;
|
|
23883
|
+
var maj = a & b ^ a & c ^ b & c;
|
|
23884
|
+
var sigma0 = (a << 30 | a >>> 2) ^ (a << 19 | a >>> 13) ^ (a << 10 | a >>> 22);
|
|
23885
|
+
var sigma1 = (e << 26 | e >>> 6) ^ (e << 21 | e >>> 11) ^ (e << 7 | e >>> 25);
|
|
23886
|
+
var t1 = h + sigma1 + ch + K[i] + W[i];
|
|
23887
|
+
var t2 = sigma0 + maj;
|
|
23888
|
+
h = g;
|
|
23889
|
+
g = f;
|
|
23890
|
+
f = e;
|
|
23891
|
+
e = d + t1 | 0;
|
|
23892
|
+
d = c;
|
|
23893
|
+
c = b;
|
|
23894
|
+
b = a;
|
|
23895
|
+
a = t1 + t2 | 0;
|
|
23896
|
+
}
|
|
23897
|
+
H[0] = H[0] + a | 0;
|
|
23898
|
+
H[1] = H[1] + b | 0;
|
|
23899
|
+
H[2] = H[2] + c | 0;
|
|
23900
|
+
H[3] = H[3] + d | 0;
|
|
23901
|
+
H[4] = H[4] + e | 0;
|
|
23902
|
+
H[5] = H[5] + f | 0;
|
|
23903
|
+
H[6] = H[6] + g | 0;
|
|
23904
|
+
H[7] = H[7] + h | 0;
|
|
23905
|
+
},
|
|
23906
|
+
_doFinalize: function () {
|
|
23907
|
+
var data = this._data;
|
|
23908
|
+
var dataWords = data.words;
|
|
23909
|
+
var nBitsTotal = this._nDataBytes * 8;
|
|
23910
|
+
var nBitsLeft = data.sigBytes * 8;
|
|
23911
|
+
dataWords[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;
|
|
23912
|
+
dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);
|
|
23913
|
+
dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal;
|
|
23914
|
+
data.sigBytes = dataWords.length * 4;
|
|
23915
|
+
this._process();
|
|
23916
|
+
return this._hash;
|
|
23917
|
+
},
|
|
23918
|
+
clone: function () {
|
|
23919
|
+
var clone = Hasher.clone.call(this);
|
|
23920
|
+
clone._hash = this._hash.clone();
|
|
23921
|
+
return clone;
|
|
23922
|
+
}
|
|
23923
|
+
});
|
|
23924
|
+
C.SHA256 = Hasher._createHelper(SHA256);
|
|
23925
|
+
C.HmacSHA256 = Hasher._createHmacHelper(SHA256);
|
|
23926
|
+
})(Math);
|
|
23927
|
+
return CryptoJS.SHA256;
|
|
23928
|
+
});
|
|
23929
|
+
});
|
|
23930
|
+
|
|
23931
|
+
var sha224 = createCommonjsModule(function (module, exports) {
|
|
23932
|
+
(function (root, factory, undef) {
|
|
23933
|
+
{
|
|
23934
|
+
module.exports = exports = factory(core, sha256);
|
|
23935
|
+
}
|
|
23936
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
23937
|
+
(function () {
|
|
23938
|
+
var C = CryptoJS;
|
|
23939
|
+
var C_lib = C.lib;
|
|
23940
|
+
var WordArray = C_lib.WordArray;
|
|
23941
|
+
var C_algo = C.algo;
|
|
23942
|
+
var SHA256 = C_algo.SHA256;
|
|
23943
|
+
var SHA224 = C_algo.SHA224 = SHA256.extend({
|
|
23944
|
+
_doReset: function () {
|
|
23945
|
+
this._hash = new WordArray.init([0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4]);
|
|
23946
|
+
},
|
|
23947
|
+
_doFinalize: function () {
|
|
23948
|
+
var hash = SHA256._doFinalize.call(this);
|
|
23949
|
+
hash.sigBytes -= 4;
|
|
23950
|
+
return hash;
|
|
23951
|
+
}
|
|
23952
|
+
});
|
|
23953
|
+
C.SHA224 = SHA256._createHelper(SHA224);
|
|
23954
|
+
C.HmacSHA224 = SHA256._createHmacHelper(SHA224);
|
|
23955
|
+
})();
|
|
23956
|
+
return CryptoJS.SHA224;
|
|
23957
|
+
});
|
|
23958
|
+
});
|
|
23959
|
+
|
|
23960
|
+
var sha512 = createCommonjsModule(function (module, exports) {
|
|
23961
|
+
(function (root, factory, undef) {
|
|
23962
|
+
{
|
|
23963
|
+
module.exports = exports = factory(core, x64Core);
|
|
23964
|
+
}
|
|
23965
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
23966
|
+
(function () {
|
|
23967
|
+
var C = CryptoJS;
|
|
23968
|
+
var C_lib = C.lib;
|
|
23969
|
+
var Hasher = C_lib.Hasher;
|
|
23970
|
+
var C_x64 = C.x64;
|
|
23971
|
+
var X64Word = C_x64.Word;
|
|
23972
|
+
var X64WordArray = C_x64.WordArray;
|
|
23973
|
+
var C_algo = C.algo;
|
|
23974
|
+
function X64Word_create() {
|
|
23975
|
+
return X64Word.create.apply(X64Word, arguments);
|
|
23976
|
+
}
|
|
23977
|
+
var K = [X64Word_create(0x428a2f98, 0xd728ae22), X64Word_create(0x71374491, 0x23ef65cd), X64Word_create(0xb5c0fbcf, 0xec4d3b2f), X64Word_create(0xe9b5dba5, 0x8189dbbc), X64Word_create(0x3956c25b, 0xf348b538), X64Word_create(0x59f111f1, 0xb605d019), X64Word_create(0x923f82a4, 0xaf194f9b), X64Word_create(0xab1c5ed5, 0xda6d8118), X64Word_create(0xd807aa98, 0xa3030242), X64Word_create(0x12835b01, 0x45706fbe), X64Word_create(0x243185be, 0x4ee4b28c), X64Word_create(0x550c7dc3, 0xd5ffb4e2), X64Word_create(0x72be5d74, 0xf27b896f), X64Word_create(0x80deb1fe, 0x3b1696b1), X64Word_create(0x9bdc06a7, 0x25c71235), X64Word_create(0xc19bf174, 0xcf692694), X64Word_create(0xe49b69c1, 0x9ef14ad2), X64Word_create(0xefbe4786, 0x384f25e3), X64Word_create(0x0fc19dc6, 0x8b8cd5b5), X64Word_create(0x240ca1cc, 0x77ac9c65), X64Word_create(0x2de92c6f, 0x592b0275), X64Word_create(0x4a7484aa, 0x6ea6e483), X64Word_create(0x5cb0a9dc, 0xbd41fbd4), X64Word_create(0x76f988da, 0x831153b5), X64Word_create(0x983e5152, 0xee66dfab), X64Word_create(0xa831c66d, 0x2db43210), X64Word_create(0xb00327c8, 0x98fb213f), X64Word_create(0xbf597fc7, 0xbeef0ee4), X64Word_create(0xc6e00bf3, 0x3da88fc2), X64Word_create(0xd5a79147, 0x930aa725), X64Word_create(0x06ca6351, 0xe003826f), X64Word_create(0x14292967, 0x0a0e6e70), X64Word_create(0x27b70a85, 0x46d22ffc), X64Word_create(0x2e1b2138, 0x5c26c926), X64Word_create(0x4d2c6dfc, 0x5ac42aed), X64Word_create(0x53380d13, 0x9d95b3df), X64Word_create(0x650a7354, 0x8baf63de), X64Word_create(0x766a0abb, 0x3c77b2a8), X64Word_create(0x81c2c92e, 0x47edaee6), X64Word_create(0x92722c85, 0x1482353b), X64Word_create(0xa2bfe8a1, 0x4cf10364), X64Word_create(0xa81a664b, 0xbc423001), X64Word_create(0xc24b8b70, 0xd0f89791), X64Word_create(0xc76c51a3, 0x0654be30), X64Word_create(0xd192e819, 0xd6ef5218), X64Word_create(0xd6990624, 0x5565a910), X64Word_create(0xf40e3585, 0x5771202a), X64Word_create(0x106aa070, 0x32bbd1b8), X64Word_create(0x19a4c116, 0xb8d2d0c8), X64Word_create(0x1e376c08, 0x5141ab53), X64Word_create(0x2748774c, 0xdf8eeb99), X64Word_create(0x34b0bcb5, 0xe19b48a8), X64Word_create(0x391c0cb3, 0xc5c95a63), X64Word_create(0x4ed8aa4a, 0xe3418acb), X64Word_create(0x5b9cca4f, 0x7763e373), X64Word_create(0x682e6ff3, 0xd6b2b8a3), X64Word_create(0x748f82ee, 0x5defb2fc), X64Word_create(0x78a5636f, 0x43172f60), X64Word_create(0x84c87814, 0xa1f0ab72), X64Word_create(0x8cc70208, 0x1a6439ec), X64Word_create(0x90befffa, 0x23631e28), X64Word_create(0xa4506ceb, 0xde82bde9), X64Word_create(0xbef9a3f7, 0xb2c67915), X64Word_create(0xc67178f2, 0xe372532b), X64Word_create(0xca273ece, 0xea26619c), X64Word_create(0xd186b8c7, 0x21c0c207), X64Word_create(0xeada7dd6, 0xcde0eb1e), X64Word_create(0xf57d4f7f, 0xee6ed178), X64Word_create(0x06f067aa, 0x72176fba), X64Word_create(0x0a637dc5, 0xa2c898a6), X64Word_create(0x113f9804, 0xbef90dae), X64Word_create(0x1b710b35, 0x131c471b), X64Word_create(0x28db77f5, 0x23047d84), X64Word_create(0x32caab7b, 0x40c72493), X64Word_create(0x3c9ebe0a, 0x15c9bebc), X64Word_create(0x431d67c4, 0x9c100d4c), X64Word_create(0x4cc5d4be, 0xcb3e42b6), X64Word_create(0x597f299c, 0xfc657e2a), X64Word_create(0x5fcb6fab, 0x3ad6faec), X64Word_create(0x6c44198c, 0x4a475817)];
|
|
23978
|
+
var W = [];
|
|
23979
|
+
(function () {
|
|
23980
|
+
for (var i = 0; i < 80; i++) {
|
|
23981
|
+
W[i] = X64Word_create();
|
|
23982
|
+
}
|
|
23983
|
+
})();
|
|
23984
|
+
var SHA512 = C_algo.SHA512 = Hasher.extend({
|
|
23985
|
+
_doReset: function () {
|
|
23986
|
+
this._hash = new X64WordArray.init([new X64Word.init(0x6a09e667, 0xf3bcc908), new X64Word.init(0xbb67ae85, 0x84caa73b), new X64Word.init(0x3c6ef372, 0xfe94f82b), new X64Word.init(0xa54ff53a, 0x5f1d36f1), new X64Word.init(0x510e527f, 0xade682d1), new X64Word.init(0x9b05688c, 0x2b3e6c1f), new X64Word.init(0x1f83d9ab, 0xfb41bd6b), new X64Word.init(0x5be0cd19, 0x137e2179)]);
|
|
23987
|
+
},
|
|
23988
|
+
_doProcessBlock: function (M, offset) {
|
|
23989
|
+
var H = this._hash.words;
|
|
23990
|
+
var H0 = H[0];
|
|
23991
|
+
var H1 = H[1];
|
|
23992
|
+
var H2 = H[2];
|
|
23993
|
+
var H3 = H[3];
|
|
23994
|
+
var H4 = H[4];
|
|
23995
|
+
var H5 = H[5];
|
|
23996
|
+
var H6 = H[6];
|
|
23997
|
+
var H7 = H[7];
|
|
23998
|
+
var H0h = H0.high;
|
|
23999
|
+
var H0l = H0.low;
|
|
24000
|
+
var H1h = H1.high;
|
|
24001
|
+
var H1l = H1.low;
|
|
24002
|
+
var H2h = H2.high;
|
|
24003
|
+
var H2l = H2.low;
|
|
24004
|
+
var H3h = H3.high;
|
|
24005
|
+
var H3l = H3.low;
|
|
24006
|
+
var H4h = H4.high;
|
|
24007
|
+
var H4l = H4.low;
|
|
24008
|
+
var H5h = H5.high;
|
|
24009
|
+
var H5l = H5.low;
|
|
24010
|
+
var H6h = H6.high;
|
|
24011
|
+
var H6l = H6.low;
|
|
24012
|
+
var H7h = H7.high;
|
|
24013
|
+
var H7l = H7.low;
|
|
24014
|
+
var ah = H0h;
|
|
24015
|
+
var al = H0l;
|
|
24016
|
+
var bh = H1h;
|
|
24017
|
+
var bl = H1l;
|
|
24018
|
+
var ch = H2h;
|
|
24019
|
+
var cl = H2l;
|
|
24020
|
+
var dh = H3h;
|
|
24021
|
+
var dl = H3l;
|
|
24022
|
+
var eh = H4h;
|
|
24023
|
+
var el = H4l;
|
|
24024
|
+
var fh = H5h;
|
|
24025
|
+
var fl = H5l;
|
|
24026
|
+
var gh = H6h;
|
|
24027
|
+
var gl = H6l;
|
|
24028
|
+
var hh = H7h;
|
|
24029
|
+
var hl = H7l;
|
|
24030
|
+
for (var i = 0; i < 80; i++) {
|
|
24031
|
+
var Wil;
|
|
24032
|
+
var Wih;
|
|
24033
|
+
var Wi = W[i];
|
|
24034
|
+
if (i < 16) {
|
|
24035
|
+
Wih = Wi.high = M[offset + i * 2] | 0;
|
|
24036
|
+
Wil = Wi.low = M[offset + i * 2 + 1] | 0;
|
|
24037
|
+
} else {
|
|
24038
|
+
var gamma0x = W[i - 15];
|
|
24039
|
+
var gamma0xh = gamma0x.high;
|
|
24040
|
+
var gamma0xl = gamma0x.low;
|
|
24041
|
+
var gamma0h = (gamma0xh >>> 1 | gamma0xl << 31) ^ (gamma0xh >>> 8 | gamma0xl << 24) ^ gamma0xh >>> 7;
|
|
24042
|
+
var gamma0l = (gamma0xl >>> 1 | gamma0xh << 31) ^ (gamma0xl >>> 8 | gamma0xh << 24) ^ (gamma0xl >>> 7 | gamma0xh << 25);
|
|
24043
|
+
var gamma1x = W[i - 2];
|
|
24044
|
+
var gamma1xh = gamma1x.high;
|
|
24045
|
+
var gamma1xl = gamma1x.low;
|
|
24046
|
+
var gamma1h = (gamma1xh >>> 19 | gamma1xl << 13) ^ (gamma1xh << 3 | gamma1xl >>> 29) ^ gamma1xh >>> 6;
|
|
24047
|
+
var gamma1l = (gamma1xl >>> 19 | gamma1xh << 13) ^ (gamma1xl << 3 | gamma1xh >>> 29) ^ (gamma1xl >>> 6 | gamma1xh << 26);
|
|
24048
|
+
var Wi7 = W[i - 7];
|
|
24049
|
+
var Wi7h = Wi7.high;
|
|
24050
|
+
var Wi7l = Wi7.low;
|
|
24051
|
+
var Wi16 = W[i - 16];
|
|
24052
|
+
var Wi16h = Wi16.high;
|
|
24053
|
+
var Wi16l = Wi16.low;
|
|
24054
|
+
Wil = gamma0l + Wi7l;
|
|
24055
|
+
Wih = gamma0h + Wi7h + (Wil >>> 0 < gamma0l >>> 0 ? 1 : 0);
|
|
24056
|
+
Wil = Wil + gamma1l;
|
|
24057
|
+
Wih = Wih + gamma1h + (Wil >>> 0 < gamma1l >>> 0 ? 1 : 0);
|
|
24058
|
+
Wil = Wil + Wi16l;
|
|
24059
|
+
Wih = Wih + Wi16h + (Wil >>> 0 < Wi16l >>> 0 ? 1 : 0);
|
|
24060
|
+
Wi.high = Wih;
|
|
24061
|
+
Wi.low = Wil;
|
|
24062
|
+
}
|
|
24063
|
+
var chh = eh & fh ^ ~eh & gh;
|
|
24064
|
+
var chl = el & fl ^ ~el & gl;
|
|
24065
|
+
var majh = ah & bh ^ ah & ch ^ bh & ch;
|
|
24066
|
+
var majl = al & bl ^ al & cl ^ bl & cl;
|
|
24067
|
+
var sigma0h = (ah >>> 28 | al << 4) ^ (ah << 30 | al >>> 2) ^ (ah << 25 | al >>> 7);
|
|
24068
|
+
var sigma0l = (al >>> 28 | ah << 4) ^ (al << 30 | ah >>> 2) ^ (al << 25 | ah >>> 7);
|
|
24069
|
+
var sigma1h = (eh >>> 14 | el << 18) ^ (eh >>> 18 | el << 14) ^ (eh << 23 | el >>> 9);
|
|
24070
|
+
var sigma1l = (el >>> 14 | eh << 18) ^ (el >>> 18 | eh << 14) ^ (el << 23 | eh >>> 9);
|
|
24071
|
+
var Ki = K[i];
|
|
24072
|
+
var Kih = Ki.high;
|
|
24073
|
+
var Kil = Ki.low;
|
|
24074
|
+
var t1l = hl + sigma1l;
|
|
24075
|
+
var t1h = hh + sigma1h + (t1l >>> 0 < hl >>> 0 ? 1 : 0);
|
|
24076
|
+
var t1l = t1l + chl;
|
|
24077
|
+
var t1h = t1h + chh + (t1l >>> 0 < chl >>> 0 ? 1 : 0);
|
|
24078
|
+
var t1l = t1l + Kil;
|
|
24079
|
+
var t1h = t1h + Kih + (t1l >>> 0 < Kil >>> 0 ? 1 : 0);
|
|
24080
|
+
var t1l = t1l + Wil;
|
|
24081
|
+
var t1h = t1h + Wih + (t1l >>> 0 < Wil >>> 0 ? 1 : 0);
|
|
24082
|
+
var t2l = sigma0l + majl;
|
|
24083
|
+
var t2h = sigma0h + majh + (t2l >>> 0 < sigma0l >>> 0 ? 1 : 0);
|
|
24084
|
+
hh = gh;
|
|
24085
|
+
hl = gl;
|
|
24086
|
+
gh = fh;
|
|
24087
|
+
gl = fl;
|
|
24088
|
+
fh = eh;
|
|
24089
|
+
fl = el;
|
|
24090
|
+
el = dl + t1l | 0;
|
|
24091
|
+
eh = dh + t1h + (el >>> 0 < dl >>> 0 ? 1 : 0) | 0;
|
|
24092
|
+
dh = ch;
|
|
24093
|
+
dl = cl;
|
|
24094
|
+
ch = bh;
|
|
24095
|
+
cl = bl;
|
|
24096
|
+
bh = ah;
|
|
24097
|
+
bl = al;
|
|
24098
|
+
al = t1l + t2l | 0;
|
|
24099
|
+
ah = t1h + t2h + (al >>> 0 < t1l >>> 0 ? 1 : 0) | 0;
|
|
24100
|
+
}
|
|
24101
|
+
H0l = H0.low = H0l + al;
|
|
24102
|
+
H0.high = H0h + ah + (H0l >>> 0 < al >>> 0 ? 1 : 0);
|
|
24103
|
+
H1l = H1.low = H1l + bl;
|
|
24104
|
+
H1.high = H1h + bh + (H1l >>> 0 < bl >>> 0 ? 1 : 0);
|
|
24105
|
+
H2l = H2.low = H2l + cl;
|
|
24106
|
+
H2.high = H2h + ch + (H2l >>> 0 < cl >>> 0 ? 1 : 0);
|
|
24107
|
+
H3l = H3.low = H3l + dl;
|
|
24108
|
+
H3.high = H3h + dh + (H3l >>> 0 < dl >>> 0 ? 1 : 0);
|
|
24109
|
+
H4l = H4.low = H4l + el;
|
|
24110
|
+
H4.high = H4h + eh + (H4l >>> 0 < el >>> 0 ? 1 : 0);
|
|
24111
|
+
H5l = H5.low = H5l + fl;
|
|
24112
|
+
H5.high = H5h + fh + (H5l >>> 0 < fl >>> 0 ? 1 : 0);
|
|
24113
|
+
H6l = H6.low = H6l + gl;
|
|
24114
|
+
H6.high = H6h + gh + (H6l >>> 0 < gl >>> 0 ? 1 : 0);
|
|
24115
|
+
H7l = H7.low = H7l + hl;
|
|
24116
|
+
H7.high = H7h + hh + (H7l >>> 0 < hl >>> 0 ? 1 : 0);
|
|
24117
|
+
},
|
|
24118
|
+
_doFinalize: function () {
|
|
24119
|
+
var data = this._data;
|
|
24120
|
+
var dataWords = data.words;
|
|
24121
|
+
var nBitsTotal = this._nDataBytes * 8;
|
|
24122
|
+
var nBitsLeft = data.sigBytes * 8;
|
|
24123
|
+
dataWords[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;
|
|
24124
|
+
dataWords[(nBitsLeft + 128 >>> 10 << 5) + 30] = Math.floor(nBitsTotal / 0x100000000);
|
|
24125
|
+
dataWords[(nBitsLeft + 128 >>> 10 << 5) + 31] = nBitsTotal;
|
|
24126
|
+
data.sigBytes = dataWords.length * 4;
|
|
24127
|
+
this._process();
|
|
24128
|
+
var hash = this._hash.toX32();
|
|
24129
|
+
return hash;
|
|
24130
|
+
},
|
|
24131
|
+
clone: function () {
|
|
24132
|
+
var clone = Hasher.clone.call(this);
|
|
24133
|
+
clone._hash = this._hash.clone();
|
|
24134
|
+
return clone;
|
|
24135
|
+
},
|
|
24136
|
+
blockSize: 1024 / 32
|
|
24137
|
+
});
|
|
24138
|
+
C.SHA512 = Hasher._createHelper(SHA512);
|
|
24139
|
+
C.HmacSHA512 = Hasher._createHmacHelper(SHA512);
|
|
24140
|
+
})();
|
|
24141
|
+
return CryptoJS.SHA512;
|
|
24142
|
+
});
|
|
24143
|
+
});
|
|
24144
|
+
|
|
24145
|
+
var sha384 = createCommonjsModule(function (module, exports) {
|
|
24146
|
+
(function (root, factory, undef) {
|
|
24147
|
+
{
|
|
24148
|
+
module.exports = exports = factory(core, x64Core, sha512);
|
|
24149
|
+
}
|
|
24150
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
24151
|
+
(function () {
|
|
24152
|
+
var C = CryptoJS;
|
|
24153
|
+
var C_x64 = C.x64;
|
|
24154
|
+
var X64Word = C_x64.Word;
|
|
24155
|
+
var X64WordArray = C_x64.WordArray;
|
|
24156
|
+
var C_algo = C.algo;
|
|
24157
|
+
var SHA512 = C_algo.SHA512;
|
|
24158
|
+
var SHA384 = C_algo.SHA384 = SHA512.extend({
|
|
24159
|
+
_doReset: function () {
|
|
24160
|
+
this._hash = new X64WordArray.init([new X64Word.init(0xcbbb9d5d, 0xc1059ed8), new X64Word.init(0x629a292a, 0x367cd507), new X64Word.init(0x9159015a, 0x3070dd17), new X64Word.init(0x152fecd8, 0xf70e5939), new X64Word.init(0x67332667, 0xffc00b31), new X64Word.init(0x8eb44a87, 0x68581511), new X64Word.init(0xdb0c2e0d, 0x64f98fa7), new X64Word.init(0x47b5481d, 0xbefa4fa4)]);
|
|
24161
|
+
},
|
|
24162
|
+
_doFinalize: function () {
|
|
24163
|
+
var hash = SHA512._doFinalize.call(this);
|
|
24164
|
+
hash.sigBytes -= 16;
|
|
24165
|
+
return hash;
|
|
24166
|
+
}
|
|
24167
|
+
});
|
|
24168
|
+
C.SHA384 = SHA512._createHelper(SHA384);
|
|
24169
|
+
C.HmacSHA384 = SHA512._createHmacHelper(SHA384);
|
|
24170
|
+
})();
|
|
24171
|
+
return CryptoJS.SHA384;
|
|
24172
|
+
});
|
|
24173
|
+
});
|
|
24174
|
+
|
|
24175
|
+
var sha3 = createCommonjsModule(function (module, exports) {
|
|
24176
|
+
(function (root, factory, undef) {
|
|
24177
|
+
{
|
|
24178
|
+
module.exports = exports = factory(core, x64Core);
|
|
24179
|
+
}
|
|
24180
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
24181
|
+
(function (Math) {
|
|
24182
|
+
var C = CryptoJS;
|
|
24183
|
+
var C_lib = C.lib;
|
|
24184
|
+
var WordArray = C_lib.WordArray;
|
|
24185
|
+
var Hasher = C_lib.Hasher;
|
|
24186
|
+
var C_x64 = C.x64;
|
|
24187
|
+
var X64Word = C_x64.Word;
|
|
24188
|
+
var C_algo = C.algo;
|
|
24189
|
+
var RHO_OFFSETS = [];
|
|
24190
|
+
var PI_INDEXES = [];
|
|
24191
|
+
var ROUND_CONSTANTS = [];
|
|
24192
|
+
(function () {
|
|
24193
|
+
var x = 1,
|
|
24194
|
+
y = 0;
|
|
24195
|
+
for (var t = 0; t < 24; t++) {
|
|
24196
|
+
RHO_OFFSETS[x + 5 * y] = (t + 1) * (t + 2) / 2 % 64;
|
|
24197
|
+
var newX = y % 5;
|
|
24198
|
+
var newY = (2 * x + 3 * y) % 5;
|
|
24199
|
+
x = newX;
|
|
24200
|
+
y = newY;
|
|
24201
|
+
}
|
|
24202
|
+
for (var x = 0; x < 5; x++) {
|
|
24203
|
+
for (var y = 0; y < 5; y++) {
|
|
24204
|
+
PI_INDEXES[x + 5 * y] = y + (2 * x + 3 * y) % 5 * 5;
|
|
24205
|
+
}
|
|
24206
|
+
}
|
|
24207
|
+
var LFSR = 0x01;
|
|
24208
|
+
for (var i = 0; i < 24; i++) {
|
|
24209
|
+
var roundConstantMsw = 0;
|
|
24210
|
+
var roundConstantLsw = 0;
|
|
24211
|
+
for (var j = 0; j < 7; j++) {
|
|
24212
|
+
if (LFSR & 0x01) {
|
|
24213
|
+
var bitPosition = (1 << j) - 1;
|
|
24214
|
+
if (bitPosition < 32) {
|
|
24215
|
+
roundConstantLsw ^= 1 << bitPosition;
|
|
24216
|
+
} else {
|
|
24217
|
+
roundConstantMsw ^= 1 << bitPosition - 32;
|
|
24218
|
+
}
|
|
24219
|
+
}
|
|
24220
|
+
if (LFSR & 0x80) {
|
|
24221
|
+
LFSR = LFSR << 1 ^ 0x71;
|
|
24222
|
+
} else {
|
|
24223
|
+
LFSR <<= 1;
|
|
24224
|
+
}
|
|
24225
|
+
}
|
|
24226
|
+
ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw);
|
|
24227
|
+
}
|
|
24228
|
+
})();
|
|
24229
|
+
var T = [];
|
|
24230
|
+
(function () {
|
|
24231
|
+
for (var i = 0; i < 25; i++) {
|
|
24232
|
+
T[i] = X64Word.create();
|
|
24233
|
+
}
|
|
24234
|
+
})();
|
|
24235
|
+
var SHA3 = C_algo.SHA3 = Hasher.extend({
|
|
24236
|
+
cfg: Hasher.cfg.extend({
|
|
24237
|
+
outputLength: 512
|
|
24238
|
+
}),
|
|
24239
|
+
_doReset: function () {
|
|
24240
|
+
var state = this._state = [];
|
|
24241
|
+
for (var i = 0; i < 25; i++) {
|
|
24242
|
+
state[i] = new X64Word.init();
|
|
24243
|
+
}
|
|
24244
|
+
this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32;
|
|
24245
|
+
},
|
|
24246
|
+
_doProcessBlock: function (M, offset) {
|
|
24247
|
+
var state = this._state;
|
|
24248
|
+
var nBlockSizeLanes = this.blockSize / 2;
|
|
24249
|
+
for (var i = 0; i < nBlockSizeLanes; i++) {
|
|
24250
|
+
var M2i = M[offset + 2 * i];
|
|
24251
|
+
var M2i1 = M[offset + 2 * i + 1];
|
|
24252
|
+
M2i = (M2i << 8 | M2i >>> 24) & 0x00ff00ff | (M2i << 24 | M2i >>> 8) & 0xff00ff00;
|
|
24253
|
+
M2i1 = (M2i1 << 8 | M2i1 >>> 24) & 0x00ff00ff | (M2i1 << 24 | M2i1 >>> 8) & 0xff00ff00;
|
|
24254
|
+
var lane = state[i];
|
|
24255
|
+
lane.high ^= M2i1;
|
|
24256
|
+
lane.low ^= M2i;
|
|
24257
|
+
}
|
|
24258
|
+
for (var round = 0; round < 24; round++) {
|
|
24259
|
+
for (var x = 0; x < 5; x++) {
|
|
24260
|
+
var tMsw = 0,
|
|
24261
|
+
tLsw = 0;
|
|
24262
|
+
for (var y = 0; y < 5; y++) {
|
|
24263
|
+
var lane = state[x + 5 * y];
|
|
24264
|
+
tMsw ^= lane.high;
|
|
24265
|
+
tLsw ^= lane.low;
|
|
24266
|
+
}
|
|
24267
|
+
var Tx = T[x];
|
|
24268
|
+
Tx.high = tMsw;
|
|
24269
|
+
Tx.low = tLsw;
|
|
24270
|
+
}
|
|
24271
|
+
for (var x = 0; x < 5; x++) {
|
|
24272
|
+
var Tx4 = T[(x + 4) % 5];
|
|
24273
|
+
var Tx1 = T[(x + 1) % 5];
|
|
24274
|
+
var Tx1Msw = Tx1.high;
|
|
24275
|
+
var Tx1Lsw = Tx1.low;
|
|
24276
|
+
var tMsw = Tx4.high ^ (Tx1Msw << 1 | Tx1Lsw >>> 31);
|
|
24277
|
+
var tLsw = Tx4.low ^ (Tx1Lsw << 1 | Tx1Msw >>> 31);
|
|
24278
|
+
for (var y = 0; y < 5; y++) {
|
|
24279
|
+
var lane = state[x + 5 * y];
|
|
24280
|
+
lane.high ^= tMsw;
|
|
24281
|
+
lane.low ^= tLsw;
|
|
24282
|
+
}
|
|
24283
|
+
}
|
|
24284
|
+
for (var laneIndex = 1; laneIndex < 25; laneIndex++) {
|
|
24285
|
+
var tMsw;
|
|
24286
|
+
var tLsw;
|
|
24287
|
+
var lane = state[laneIndex];
|
|
24288
|
+
var laneMsw = lane.high;
|
|
24289
|
+
var laneLsw = lane.low;
|
|
24290
|
+
var rhoOffset = RHO_OFFSETS[laneIndex];
|
|
24291
|
+
if (rhoOffset < 32) {
|
|
24292
|
+
tMsw = laneMsw << rhoOffset | laneLsw >>> 32 - rhoOffset;
|
|
24293
|
+
tLsw = laneLsw << rhoOffset | laneMsw >>> 32 - rhoOffset;
|
|
24294
|
+
} else {
|
|
24295
|
+
tMsw = laneLsw << rhoOffset - 32 | laneMsw >>> 64 - rhoOffset;
|
|
24296
|
+
tLsw = laneMsw << rhoOffset - 32 | laneLsw >>> 64 - rhoOffset;
|
|
24297
|
+
}
|
|
24298
|
+
var TPiLane = T[PI_INDEXES[laneIndex]];
|
|
24299
|
+
TPiLane.high = tMsw;
|
|
24300
|
+
TPiLane.low = tLsw;
|
|
24301
|
+
}
|
|
24302
|
+
var T0 = T[0];
|
|
24303
|
+
var state0 = state[0];
|
|
24304
|
+
T0.high = state0.high;
|
|
24305
|
+
T0.low = state0.low;
|
|
24306
|
+
for (var x = 0; x < 5; x++) {
|
|
24307
|
+
for (var y = 0; y < 5; y++) {
|
|
24308
|
+
var laneIndex = x + 5 * y;
|
|
24309
|
+
var lane = state[laneIndex];
|
|
24310
|
+
var TLane = T[laneIndex];
|
|
24311
|
+
var Tx1Lane = T[(x + 1) % 5 + 5 * y];
|
|
24312
|
+
var Tx2Lane = T[(x + 2) % 5 + 5 * y];
|
|
24313
|
+
lane.high = TLane.high ^ ~Tx1Lane.high & Tx2Lane.high;
|
|
24314
|
+
lane.low = TLane.low ^ ~Tx1Lane.low & Tx2Lane.low;
|
|
24315
|
+
}
|
|
24316
|
+
}
|
|
24317
|
+
var lane = state[0];
|
|
24318
|
+
var roundConstant = ROUND_CONSTANTS[round];
|
|
24319
|
+
lane.high ^= roundConstant.high;
|
|
24320
|
+
lane.low ^= roundConstant.low;
|
|
24321
|
+
}
|
|
24322
|
+
},
|
|
24323
|
+
_doFinalize: function () {
|
|
24324
|
+
var data = this._data;
|
|
24325
|
+
var dataWords = data.words;
|
|
24326
|
+
var nBitsLeft = data.sigBytes * 8;
|
|
24327
|
+
var blockSizeBits = this.blockSize * 32;
|
|
24328
|
+
dataWords[nBitsLeft >>> 5] |= 0x1 << 24 - nBitsLeft % 32;
|
|
24329
|
+
dataWords[(Math.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits >>> 5) - 1] |= 0x80;
|
|
24330
|
+
data.sigBytes = dataWords.length * 4;
|
|
24331
|
+
this._process();
|
|
24332
|
+
var state = this._state;
|
|
24333
|
+
var outputLengthBytes = this.cfg.outputLength / 8;
|
|
24334
|
+
var outputLengthLanes = outputLengthBytes / 8;
|
|
24335
|
+
var hashWords = [];
|
|
24336
|
+
for (var i = 0; i < outputLengthLanes; i++) {
|
|
24337
|
+
var lane = state[i];
|
|
24338
|
+
var laneMsw = lane.high;
|
|
24339
|
+
var laneLsw = lane.low;
|
|
24340
|
+
laneMsw = (laneMsw << 8 | laneMsw >>> 24) & 0x00ff00ff | (laneMsw << 24 | laneMsw >>> 8) & 0xff00ff00;
|
|
24341
|
+
laneLsw = (laneLsw << 8 | laneLsw >>> 24) & 0x00ff00ff | (laneLsw << 24 | laneLsw >>> 8) & 0xff00ff00;
|
|
24342
|
+
hashWords.push(laneLsw);
|
|
24343
|
+
hashWords.push(laneMsw);
|
|
24344
|
+
}
|
|
24345
|
+
return new WordArray.init(hashWords, outputLengthBytes);
|
|
24346
|
+
},
|
|
24347
|
+
clone: function () {
|
|
24348
|
+
var clone = Hasher.clone.call(this);
|
|
24349
|
+
var state = clone._state = this._state.slice(0);
|
|
24350
|
+
for (var i = 0; i < 25; i++) {
|
|
24351
|
+
state[i] = state[i].clone();
|
|
24352
|
+
}
|
|
24353
|
+
return clone;
|
|
24354
|
+
}
|
|
24355
|
+
});
|
|
24356
|
+
C.SHA3 = Hasher._createHelper(SHA3);
|
|
24357
|
+
C.HmacSHA3 = Hasher._createHmacHelper(SHA3);
|
|
24358
|
+
})(Math);
|
|
24359
|
+
return CryptoJS.SHA3;
|
|
24360
|
+
});
|
|
24361
|
+
});
|
|
24362
|
+
|
|
24363
|
+
var ripemd160 = createCommonjsModule(function (module, exports) {
|
|
24364
|
+
(function (root, factory) {
|
|
24365
|
+
{
|
|
24366
|
+
module.exports = exports = factory(core);
|
|
24367
|
+
}
|
|
24368
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
24369
|
+
(function (Math) {
|
|
24370
|
+
var C = CryptoJS;
|
|
24371
|
+
var C_lib = C.lib;
|
|
24372
|
+
var WordArray = C_lib.WordArray;
|
|
24373
|
+
var Hasher = C_lib.Hasher;
|
|
24374
|
+
var C_algo = C.algo;
|
|
24375
|
+
var _zl = WordArray.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]);
|
|
24376
|
+
var _zr = WordArray.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]);
|
|
24377
|
+
var _sl = WordArray.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]);
|
|
24378
|
+
var _sr = WordArray.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]);
|
|
24379
|
+
var _hl = WordArray.create([0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]);
|
|
24380
|
+
var _hr = WordArray.create([0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]);
|
|
24381
|
+
var RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({
|
|
24382
|
+
_doReset: function () {
|
|
24383
|
+
this._hash = WordArray.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]);
|
|
24384
|
+
},
|
|
24385
|
+
_doProcessBlock: function (M, offset) {
|
|
24386
|
+
for (var i = 0; i < 16; i++) {
|
|
24387
|
+
var offset_i = offset + i;
|
|
24388
|
+
var M_offset_i = M[offset_i];
|
|
24389
|
+
M[offset_i] = (M_offset_i << 8 | M_offset_i >>> 24) & 0x00ff00ff | (M_offset_i << 24 | M_offset_i >>> 8) & 0xff00ff00;
|
|
24390
|
+
}
|
|
24391
|
+
var H = this._hash.words;
|
|
24392
|
+
var hl = _hl.words;
|
|
24393
|
+
var hr = _hr.words;
|
|
24394
|
+
var zl = _zl.words;
|
|
24395
|
+
var zr = _zr.words;
|
|
24396
|
+
var sl = _sl.words;
|
|
24397
|
+
var sr = _sr.words;
|
|
24398
|
+
var al, bl, cl, dl, el;
|
|
24399
|
+
var ar, br, cr, dr, er;
|
|
24400
|
+
ar = al = H[0];
|
|
24401
|
+
br = bl = H[1];
|
|
24402
|
+
cr = cl = H[2];
|
|
24403
|
+
dr = dl = H[3];
|
|
24404
|
+
er = el = H[4];
|
|
24405
|
+
var t;
|
|
24406
|
+
for (var i = 0; i < 80; i += 1) {
|
|
24407
|
+
t = al + M[offset + zl[i]] | 0;
|
|
24408
|
+
if (i < 16) {
|
|
24409
|
+
t += f1(bl, cl, dl) + hl[0];
|
|
24410
|
+
} else if (i < 32) {
|
|
24411
|
+
t += f2(bl, cl, dl) + hl[1];
|
|
24412
|
+
} else if (i < 48) {
|
|
24413
|
+
t += f3(bl, cl, dl) + hl[2];
|
|
24414
|
+
} else if (i < 64) {
|
|
24415
|
+
t += f4(bl, cl, dl) + hl[3];
|
|
24416
|
+
} else {
|
|
24417
|
+
t += f5(bl, cl, dl) + hl[4];
|
|
24418
|
+
}
|
|
24419
|
+
t = t | 0;
|
|
24420
|
+
t = rotl(t, sl[i]);
|
|
24421
|
+
t = t + el | 0;
|
|
24422
|
+
al = el;
|
|
24423
|
+
el = dl;
|
|
24424
|
+
dl = rotl(cl, 10);
|
|
24425
|
+
cl = bl;
|
|
24426
|
+
bl = t;
|
|
24427
|
+
t = ar + M[offset + zr[i]] | 0;
|
|
24428
|
+
if (i < 16) {
|
|
24429
|
+
t += f5(br, cr, dr) + hr[0];
|
|
24430
|
+
} else if (i < 32) {
|
|
24431
|
+
t += f4(br, cr, dr) + hr[1];
|
|
24432
|
+
} else if (i < 48) {
|
|
24433
|
+
t += f3(br, cr, dr) + hr[2];
|
|
24434
|
+
} else if (i < 64) {
|
|
24435
|
+
t += f2(br, cr, dr) + hr[3];
|
|
24436
|
+
} else {
|
|
24437
|
+
t += f1(br, cr, dr) + hr[4];
|
|
24438
|
+
}
|
|
24439
|
+
t = t | 0;
|
|
24440
|
+
t = rotl(t, sr[i]);
|
|
24441
|
+
t = t + er | 0;
|
|
24442
|
+
ar = er;
|
|
24443
|
+
er = dr;
|
|
24444
|
+
dr = rotl(cr, 10);
|
|
24445
|
+
cr = br;
|
|
24446
|
+
br = t;
|
|
24447
|
+
}
|
|
24448
|
+
t = H[1] + cl + dr | 0;
|
|
24449
|
+
H[1] = H[2] + dl + er | 0;
|
|
24450
|
+
H[2] = H[3] + el + ar | 0;
|
|
24451
|
+
H[3] = H[4] + al + br | 0;
|
|
24452
|
+
H[4] = H[0] + bl + cr | 0;
|
|
24453
|
+
H[0] = t;
|
|
24454
|
+
},
|
|
24455
|
+
_doFinalize: function () {
|
|
24456
|
+
var data = this._data;
|
|
24457
|
+
var dataWords = data.words;
|
|
24458
|
+
var nBitsTotal = this._nDataBytes * 8;
|
|
24459
|
+
var nBitsLeft = data.sigBytes * 8;
|
|
24460
|
+
dataWords[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;
|
|
24461
|
+
dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = (nBitsTotal << 8 | nBitsTotal >>> 24) & 0x00ff00ff | (nBitsTotal << 24 | nBitsTotal >>> 8) & 0xff00ff00;
|
|
24462
|
+
data.sigBytes = (dataWords.length + 1) * 4;
|
|
24463
|
+
this._process();
|
|
24464
|
+
var hash = this._hash;
|
|
24465
|
+
var H = hash.words;
|
|
24466
|
+
for (var i = 0; i < 5; i++) {
|
|
24467
|
+
var H_i = H[i];
|
|
24468
|
+
H[i] = (H_i << 8 | H_i >>> 24) & 0x00ff00ff | (H_i << 24 | H_i >>> 8) & 0xff00ff00;
|
|
24469
|
+
}
|
|
24470
|
+
return hash;
|
|
24471
|
+
},
|
|
24472
|
+
clone: function () {
|
|
24473
|
+
var clone = Hasher.clone.call(this);
|
|
24474
|
+
clone._hash = this._hash.clone();
|
|
24475
|
+
return clone;
|
|
24476
|
+
}
|
|
24477
|
+
});
|
|
24478
|
+
function f1(x, y, z) {
|
|
24479
|
+
return x ^ y ^ z;
|
|
24480
|
+
}
|
|
24481
|
+
function f2(x, y, z) {
|
|
24482
|
+
return x & y | ~x & z;
|
|
24483
|
+
}
|
|
24484
|
+
function f3(x, y, z) {
|
|
24485
|
+
return (x | ~y) ^ z;
|
|
24486
|
+
}
|
|
24487
|
+
function f4(x, y, z) {
|
|
24488
|
+
return x & z | y & ~z;
|
|
24489
|
+
}
|
|
24490
|
+
function f5(x, y, z) {
|
|
24491
|
+
return x ^ (y | ~z);
|
|
24492
|
+
}
|
|
24493
|
+
function rotl(x, n) {
|
|
24494
|
+
return x << n | x >>> 32 - n;
|
|
24495
|
+
}
|
|
24496
|
+
C.RIPEMD160 = Hasher._createHelper(RIPEMD160);
|
|
24497
|
+
C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160);
|
|
24498
|
+
})();
|
|
24499
|
+
return CryptoJS.RIPEMD160;
|
|
24500
|
+
});
|
|
24501
|
+
});
|
|
24502
|
+
|
|
24503
|
+
var hmac = createCommonjsModule(function (module, exports) {
|
|
24504
|
+
(function (root, factory) {
|
|
24505
|
+
{
|
|
24506
|
+
module.exports = exports = factory(core);
|
|
24507
|
+
}
|
|
24508
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
24509
|
+
(function () {
|
|
24510
|
+
var C = CryptoJS;
|
|
24511
|
+
var C_lib = C.lib;
|
|
24512
|
+
var Base = C_lib.Base;
|
|
24513
|
+
var C_enc = C.enc;
|
|
24514
|
+
var Utf8 = C_enc.Utf8;
|
|
24515
|
+
var C_algo = C.algo;
|
|
24516
|
+
var HMAC = C_algo.HMAC = Base.extend({
|
|
24517
|
+
init: function (hasher, key) {
|
|
24518
|
+
hasher = this._hasher = new hasher.init();
|
|
24519
|
+
if (typeof key == 'string') {
|
|
24520
|
+
key = Utf8.parse(key);
|
|
24521
|
+
}
|
|
24522
|
+
var hasherBlockSize = hasher.blockSize;
|
|
24523
|
+
var hasherBlockSizeBytes = hasherBlockSize * 4;
|
|
24524
|
+
if (key.sigBytes > hasherBlockSizeBytes) {
|
|
24525
|
+
key = hasher.finalize(key);
|
|
24526
|
+
}
|
|
24527
|
+
key.clamp();
|
|
24528
|
+
var oKey = this._oKey = key.clone();
|
|
24529
|
+
var iKey = this._iKey = key.clone();
|
|
24530
|
+
var oKeyWords = oKey.words;
|
|
24531
|
+
var iKeyWords = iKey.words;
|
|
24532
|
+
for (var i = 0; i < hasherBlockSize; i++) {
|
|
24533
|
+
oKeyWords[i] ^= 0x5c5c5c5c;
|
|
24534
|
+
iKeyWords[i] ^= 0x36363636;
|
|
24535
|
+
}
|
|
24536
|
+
oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;
|
|
24537
|
+
this.reset();
|
|
24538
|
+
},
|
|
24539
|
+
reset: function () {
|
|
24540
|
+
var hasher = this._hasher;
|
|
24541
|
+
hasher.reset();
|
|
24542
|
+
hasher.update(this._iKey);
|
|
24543
|
+
},
|
|
24544
|
+
update: function (messageUpdate) {
|
|
24545
|
+
this._hasher.update(messageUpdate);
|
|
24546
|
+
return this;
|
|
24547
|
+
},
|
|
24548
|
+
finalize: function (messageUpdate) {
|
|
24549
|
+
var hasher = this._hasher;
|
|
24550
|
+
var innerHash = hasher.finalize(messageUpdate);
|
|
24551
|
+
hasher.reset();
|
|
24552
|
+
var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));
|
|
24553
|
+
return hmac;
|
|
24554
|
+
}
|
|
24555
|
+
});
|
|
24556
|
+
})();
|
|
24557
|
+
});
|
|
24558
|
+
});
|
|
24559
|
+
|
|
24560
|
+
var pbkdf2 = createCommonjsModule(function (module, exports) {
|
|
24561
|
+
(function (root, factory, undef) {
|
|
24562
|
+
{
|
|
24563
|
+
module.exports = exports = factory(core, sha256, hmac);
|
|
24564
|
+
}
|
|
24565
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
24566
|
+
(function () {
|
|
24567
|
+
var C = CryptoJS;
|
|
24568
|
+
var C_lib = C.lib;
|
|
24569
|
+
var Base = C_lib.Base;
|
|
24570
|
+
var WordArray = C_lib.WordArray;
|
|
24571
|
+
var C_algo = C.algo;
|
|
24572
|
+
var SHA256 = C_algo.SHA256;
|
|
24573
|
+
var HMAC = C_algo.HMAC;
|
|
24574
|
+
var PBKDF2 = C_algo.PBKDF2 = Base.extend({
|
|
24575
|
+
cfg: Base.extend({
|
|
24576
|
+
keySize: 128 / 32,
|
|
24577
|
+
hasher: SHA256,
|
|
24578
|
+
iterations: 250000
|
|
24579
|
+
}),
|
|
24580
|
+
init: function (cfg) {
|
|
24581
|
+
this.cfg = this.cfg.extend(cfg);
|
|
24582
|
+
},
|
|
24583
|
+
compute: function (password, salt) {
|
|
24584
|
+
var cfg = this.cfg;
|
|
24585
|
+
var hmac = HMAC.create(cfg.hasher, password);
|
|
24586
|
+
var derivedKey = WordArray.create();
|
|
24587
|
+
var blockIndex = WordArray.create([0x00000001]);
|
|
24588
|
+
var derivedKeyWords = derivedKey.words;
|
|
24589
|
+
var blockIndexWords = blockIndex.words;
|
|
24590
|
+
var keySize = cfg.keySize;
|
|
24591
|
+
var iterations = cfg.iterations;
|
|
24592
|
+
while (derivedKeyWords.length < keySize) {
|
|
24593
|
+
var block = hmac.update(salt).finalize(blockIndex);
|
|
24594
|
+
hmac.reset();
|
|
24595
|
+
var blockWords = block.words;
|
|
24596
|
+
var blockWordsLength = blockWords.length;
|
|
24597
|
+
var intermediate = block;
|
|
24598
|
+
for (var i = 1; i < iterations; i++) {
|
|
24599
|
+
intermediate = hmac.finalize(intermediate);
|
|
24600
|
+
hmac.reset();
|
|
24601
|
+
var intermediateWords = intermediate.words;
|
|
24602
|
+
for (var j = 0; j < blockWordsLength; j++) {
|
|
24603
|
+
blockWords[j] ^= intermediateWords[j];
|
|
24604
|
+
}
|
|
24605
|
+
}
|
|
24606
|
+
derivedKey.concat(block);
|
|
24607
|
+
blockIndexWords[0]++;
|
|
24608
|
+
}
|
|
24609
|
+
derivedKey.sigBytes = keySize * 4;
|
|
24610
|
+
return derivedKey;
|
|
24611
|
+
}
|
|
24612
|
+
});
|
|
24613
|
+
C.PBKDF2 = function (password, salt, cfg) {
|
|
24614
|
+
return PBKDF2.create(cfg).compute(password, salt);
|
|
24615
|
+
};
|
|
24616
|
+
})();
|
|
24617
|
+
return CryptoJS.PBKDF2;
|
|
24618
|
+
});
|
|
24619
|
+
});
|
|
24620
|
+
|
|
24621
|
+
var evpkdf = createCommonjsModule(function (module, exports) {
|
|
24622
|
+
(function (root, factory, undef) {
|
|
24623
|
+
{
|
|
24624
|
+
module.exports = exports = factory(core, sha1, hmac);
|
|
24625
|
+
}
|
|
24626
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
24627
|
+
(function () {
|
|
24628
|
+
var C = CryptoJS;
|
|
24629
|
+
var C_lib = C.lib;
|
|
24630
|
+
var Base = C_lib.Base;
|
|
24631
|
+
var WordArray = C_lib.WordArray;
|
|
24632
|
+
var C_algo = C.algo;
|
|
24633
|
+
var MD5 = C_algo.MD5;
|
|
24634
|
+
var EvpKDF = C_algo.EvpKDF = Base.extend({
|
|
24635
|
+
cfg: Base.extend({
|
|
24636
|
+
keySize: 128 / 32,
|
|
24637
|
+
hasher: MD5,
|
|
24638
|
+
iterations: 1
|
|
24639
|
+
}),
|
|
24640
|
+
init: function (cfg) {
|
|
24641
|
+
this.cfg = this.cfg.extend(cfg);
|
|
24642
|
+
},
|
|
24643
|
+
compute: function (password, salt) {
|
|
24644
|
+
var block;
|
|
24645
|
+
var cfg = this.cfg;
|
|
24646
|
+
var hasher = cfg.hasher.create();
|
|
24647
|
+
var derivedKey = WordArray.create();
|
|
24648
|
+
var derivedKeyWords = derivedKey.words;
|
|
24649
|
+
var keySize = cfg.keySize;
|
|
24650
|
+
var iterations = cfg.iterations;
|
|
24651
|
+
while (derivedKeyWords.length < keySize) {
|
|
24652
|
+
if (block) {
|
|
24653
|
+
hasher.update(block);
|
|
24654
|
+
}
|
|
24655
|
+
block = hasher.update(password).finalize(salt);
|
|
24656
|
+
hasher.reset();
|
|
24657
|
+
for (var i = 1; i < iterations; i++) {
|
|
24658
|
+
block = hasher.finalize(block);
|
|
24659
|
+
hasher.reset();
|
|
24660
|
+
}
|
|
24661
|
+
derivedKey.concat(block);
|
|
24662
|
+
}
|
|
24663
|
+
derivedKey.sigBytes = keySize * 4;
|
|
24664
|
+
return derivedKey;
|
|
24665
|
+
}
|
|
24666
|
+
});
|
|
24667
|
+
C.EvpKDF = function (password, salt, cfg) {
|
|
24668
|
+
return EvpKDF.create(cfg).compute(password, salt);
|
|
24669
|
+
};
|
|
24670
|
+
})();
|
|
24671
|
+
return CryptoJS.EvpKDF;
|
|
24672
|
+
});
|
|
24673
|
+
});
|
|
24674
|
+
|
|
24675
|
+
var cipherCore = createCommonjsModule(function (module, exports) {
|
|
24676
|
+
(function (root, factory, undef) {
|
|
24677
|
+
{
|
|
24678
|
+
module.exports = exports = factory(core, evpkdf);
|
|
24679
|
+
}
|
|
24680
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
24681
|
+
CryptoJS.lib.Cipher || function (undefined$1) {
|
|
24682
|
+
var C = CryptoJS;
|
|
24683
|
+
var C_lib = C.lib;
|
|
24684
|
+
var Base = C_lib.Base;
|
|
24685
|
+
var WordArray = C_lib.WordArray;
|
|
24686
|
+
var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm;
|
|
24687
|
+
var C_enc = C.enc;
|
|
24688
|
+
var Base64 = C_enc.Base64;
|
|
24689
|
+
var C_algo = C.algo;
|
|
24690
|
+
var EvpKDF = C_algo.EvpKDF;
|
|
24691
|
+
var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({
|
|
24692
|
+
cfg: Base.extend(),
|
|
24693
|
+
createEncryptor: function (key, cfg) {
|
|
24694
|
+
return this.create(this._ENC_XFORM_MODE, key, cfg);
|
|
24695
|
+
},
|
|
24696
|
+
createDecryptor: function (key, cfg) {
|
|
24697
|
+
return this.create(this._DEC_XFORM_MODE, key, cfg);
|
|
24698
|
+
},
|
|
24699
|
+
init: function (xformMode, key, cfg) {
|
|
24700
|
+
this.cfg = this.cfg.extend(cfg);
|
|
24701
|
+
this._xformMode = xformMode;
|
|
24702
|
+
this._key = key;
|
|
24703
|
+
this.reset();
|
|
24704
|
+
},
|
|
24705
|
+
reset: function () {
|
|
24706
|
+
BufferedBlockAlgorithm.reset.call(this);
|
|
24707
|
+
this._doReset();
|
|
24708
|
+
},
|
|
24709
|
+
process: function (dataUpdate) {
|
|
24710
|
+
this._append(dataUpdate);
|
|
24711
|
+
return this._process();
|
|
24712
|
+
},
|
|
24713
|
+
finalize: function (dataUpdate) {
|
|
24714
|
+
if (dataUpdate) {
|
|
24715
|
+
this._append(dataUpdate);
|
|
24716
|
+
}
|
|
24717
|
+
var finalProcessedData = this._doFinalize();
|
|
24718
|
+
return finalProcessedData;
|
|
24719
|
+
},
|
|
24720
|
+
keySize: 128 / 32,
|
|
24721
|
+
ivSize: 128 / 32,
|
|
24722
|
+
_ENC_XFORM_MODE: 1,
|
|
24723
|
+
_DEC_XFORM_MODE: 2,
|
|
24724
|
+
_createHelper: function () {
|
|
24725
|
+
function selectCipherStrategy(key) {
|
|
24726
|
+
if (typeof key == 'string') {
|
|
24727
|
+
return PasswordBasedCipher;
|
|
24728
|
+
} else {
|
|
24729
|
+
return SerializableCipher;
|
|
24730
|
+
}
|
|
24731
|
+
}
|
|
24732
|
+
return function (cipher) {
|
|
24733
|
+
return {
|
|
24734
|
+
encrypt: function (message, key, cfg) {
|
|
24735
|
+
return selectCipherStrategy(key).encrypt(cipher, message, key, cfg);
|
|
24736
|
+
},
|
|
24737
|
+
decrypt: function (ciphertext, key, cfg) {
|
|
24738
|
+
return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg);
|
|
24739
|
+
}
|
|
24740
|
+
};
|
|
24741
|
+
};
|
|
24742
|
+
}()
|
|
24743
|
+
});
|
|
24744
|
+
var StreamCipher = C_lib.StreamCipher = Cipher.extend({
|
|
24745
|
+
_doFinalize: function () {
|
|
24746
|
+
var finalProcessedBlocks = this._process(!!'flush');
|
|
24747
|
+
return finalProcessedBlocks;
|
|
24748
|
+
},
|
|
24749
|
+
blockSize: 1
|
|
24750
|
+
});
|
|
24751
|
+
var C_mode = C.mode = {};
|
|
24752
|
+
var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({
|
|
24753
|
+
createEncryptor: function (cipher, iv) {
|
|
24754
|
+
return this.Encryptor.create(cipher, iv);
|
|
24755
|
+
},
|
|
24756
|
+
createDecryptor: function (cipher, iv) {
|
|
24757
|
+
return this.Decryptor.create(cipher, iv);
|
|
24758
|
+
},
|
|
24759
|
+
init: function (cipher, iv) {
|
|
24760
|
+
this._cipher = cipher;
|
|
24761
|
+
this._iv = iv;
|
|
24762
|
+
}
|
|
24763
|
+
});
|
|
24764
|
+
var CBC = C_mode.CBC = function () {
|
|
24765
|
+
var CBC = BlockCipherMode.extend();
|
|
24766
|
+
CBC.Encryptor = CBC.extend({
|
|
24767
|
+
processBlock: function (words, offset) {
|
|
24768
|
+
var cipher = this._cipher;
|
|
24769
|
+
var blockSize = cipher.blockSize;
|
|
24770
|
+
xorBlock.call(this, words, offset, blockSize);
|
|
24771
|
+
cipher.encryptBlock(words, offset);
|
|
24772
|
+
this._prevBlock = words.slice(offset, offset + blockSize);
|
|
24773
|
+
}
|
|
24774
|
+
});
|
|
24775
|
+
CBC.Decryptor = CBC.extend({
|
|
24776
|
+
processBlock: function (words, offset) {
|
|
24777
|
+
var cipher = this._cipher;
|
|
24778
|
+
var blockSize = cipher.blockSize;
|
|
24779
|
+
var thisBlock = words.slice(offset, offset + blockSize);
|
|
24780
|
+
cipher.decryptBlock(words, offset);
|
|
24781
|
+
xorBlock.call(this, words, offset, blockSize);
|
|
24782
|
+
this._prevBlock = thisBlock;
|
|
24783
|
+
}
|
|
24784
|
+
});
|
|
24785
|
+
function xorBlock(words, offset, blockSize) {
|
|
24786
|
+
var block;
|
|
24787
|
+
var iv = this._iv;
|
|
24788
|
+
if (iv) {
|
|
24789
|
+
block = iv;
|
|
24790
|
+
this._iv = undefined$1;
|
|
24791
|
+
} else {
|
|
24792
|
+
block = this._prevBlock;
|
|
24793
|
+
}
|
|
24794
|
+
for (var i = 0; i < blockSize; i++) {
|
|
24795
|
+
words[offset + i] ^= block[i];
|
|
24796
|
+
}
|
|
24797
|
+
}
|
|
24798
|
+
return CBC;
|
|
24799
|
+
}();
|
|
24800
|
+
var C_pad = C.pad = {};
|
|
24801
|
+
var Pkcs7 = C_pad.Pkcs7 = {
|
|
24802
|
+
pad: function (data, blockSize) {
|
|
24803
|
+
var blockSizeBytes = blockSize * 4;
|
|
24804
|
+
var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;
|
|
24805
|
+
var paddingWord = nPaddingBytes << 24 | nPaddingBytes << 16 | nPaddingBytes << 8 | nPaddingBytes;
|
|
24806
|
+
var paddingWords = [];
|
|
24807
|
+
for (var i = 0; i < nPaddingBytes; i += 4) {
|
|
24808
|
+
paddingWords.push(paddingWord);
|
|
24809
|
+
}
|
|
24810
|
+
var padding = WordArray.create(paddingWords, nPaddingBytes);
|
|
24811
|
+
data.concat(padding);
|
|
24812
|
+
},
|
|
24813
|
+
unpad: function (data) {
|
|
24814
|
+
var nPaddingBytes = data.words[data.sigBytes - 1 >>> 2] & 0xff;
|
|
24815
|
+
data.sigBytes -= nPaddingBytes;
|
|
24816
|
+
}
|
|
24817
|
+
};
|
|
24818
|
+
var BlockCipher = C_lib.BlockCipher = Cipher.extend({
|
|
24819
|
+
cfg: Cipher.cfg.extend({
|
|
24820
|
+
mode: CBC,
|
|
24821
|
+
padding: Pkcs7
|
|
24822
|
+
}),
|
|
24823
|
+
reset: function () {
|
|
24824
|
+
var modeCreator;
|
|
24825
|
+
Cipher.reset.call(this);
|
|
24826
|
+
var cfg = this.cfg;
|
|
24827
|
+
var iv = cfg.iv;
|
|
24828
|
+
var mode = cfg.mode;
|
|
24829
|
+
if (this._xformMode == this._ENC_XFORM_MODE) {
|
|
24830
|
+
modeCreator = mode.createEncryptor;
|
|
24831
|
+
} else {
|
|
24832
|
+
modeCreator = mode.createDecryptor;
|
|
24833
|
+
this._minBufferSize = 1;
|
|
24834
|
+
}
|
|
24835
|
+
if (this._mode && this._mode.__creator == modeCreator) {
|
|
24836
|
+
this._mode.init(this, iv && iv.words);
|
|
24837
|
+
} else {
|
|
24838
|
+
this._mode = modeCreator.call(mode, this, iv && iv.words);
|
|
24839
|
+
this._mode.__creator = modeCreator;
|
|
24840
|
+
}
|
|
24841
|
+
},
|
|
24842
|
+
_doProcessBlock: function (words, offset) {
|
|
24843
|
+
this._mode.processBlock(words, offset);
|
|
24844
|
+
},
|
|
24845
|
+
_doFinalize: function () {
|
|
24846
|
+
var finalProcessedBlocks;
|
|
24847
|
+
var padding = this.cfg.padding;
|
|
24848
|
+
if (this._xformMode == this._ENC_XFORM_MODE) {
|
|
24849
|
+
padding.pad(this._data, this.blockSize);
|
|
24850
|
+
finalProcessedBlocks = this._process(!!'flush');
|
|
24851
|
+
} else {
|
|
24852
|
+
finalProcessedBlocks = this._process(!!'flush');
|
|
24853
|
+
padding.unpad(finalProcessedBlocks);
|
|
24854
|
+
}
|
|
24855
|
+
return finalProcessedBlocks;
|
|
24856
|
+
},
|
|
24857
|
+
blockSize: 128 / 32
|
|
24858
|
+
});
|
|
24859
|
+
var CipherParams = C_lib.CipherParams = Base.extend({
|
|
24860
|
+
init: function (cipherParams) {
|
|
24861
|
+
this.mixIn(cipherParams);
|
|
24862
|
+
},
|
|
24863
|
+
toString: function (formatter) {
|
|
24864
|
+
return (formatter || this.formatter).stringify(this);
|
|
24865
|
+
}
|
|
24866
|
+
});
|
|
24867
|
+
var C_format = C.format = {};
|
|
24868
|
+
var OpenSSLFormatter = C_format.OpenSSL = {
|
|
24869
|
+
stringify: function (cipherParams) {
|
|
24870
|
+
var wordArray;
|
|
24871
|
+
var ciphertext = cipherParams.ciphertext;
|
|
24872
|
+
var salt = cipherParams.salt;
|
|
24873
|
+
if (salt) {
|
|
24874
|
+
wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext);
|
|
24875
|
+
} else {
|
|
24876
|
+
wordArray = ciphertext;
|
|
24877
|
+
}
|
|
24878
|
+
return wordArray.toString(Base64);
|
|
24879
|
+
},
|
|
24880
|
+
parse: function (openSSLStr) {
|
|
24881
|
+
var salt;
|
|
24882
|
+
var ciphertext = Base64.parse(openSSLStr);
|
|
24883
|
+
var ciphertextWords = ciphertext.words;
|
|
24884
|
+
if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) {
|
|
24885
|
+
salt = WordArray.create(ciphertextWords.slice(2, 4));
|
|
24886
|
+
ciphertextWords.splice(0, 4);
|
|
24887
|
+
ciphertext.sigBytes -= 16;
|
|
24888
|
+
}
|
|
24889
|
+
return CipherParams.create({
|
|
24890
|
+
ciphertext: ciphertext,
|
|
24891
|
+
salt: salt
|
|
24892
|
+
});
|
|
24893
|
+
}
|
|
24894
|
+
};
|
|
24895
|
+
var SerializableCipher = C_lib.SerializableCipher = Base.extend({
|
|
24896
|
+
cfg: Base.extend({
|
|
24897
|
+
format: OpenSSLFormatter
|
|
24898
|
+
}),
|
|
24899
|
+
encrypt: function (cipher, message, key, cfg) {
|
|
24900
|
+
cfg = this.cfg.extend(cfg);
|
|
24901
|
+
var encryptor = cipher.createEncryptor(key, cfg);
|
|
24902
|
+
var ciphertext = encryptor.finalize(message);
|
|
24903
|
+
var cipherCfg = encryptor.cfg;
|
|
24904
|
+
return CipherParams.create({
|
|
24905
|
+
ciphertext: ciphertext,
|
|
24906
|
+
key: key,
|
|
24907
|
+
iv: cipherCfg.iv,
|
|
24908
|
+
algorithm: cipher,
|
|
24909
|
+
mode: cipherCfg.mode,
|
|
24910
|
+
padding: cipherCfg.padding,
|
|
24911
|
+
blockSize: cipher.blockSize,
|
|
24912
|
+
formatter: cfg.format
|
|
24913
|
+
});
|
|
24914
|
+
},
|
|
24915
|
+
decrypt: function (cipher, ciphertext, key, cfg) {
|
|
24916
|
+
cfg = this.cfg.extend(cfg);
|
|
24917
|
+
ciphertext = this._parse(ciphertext, cfg.format);
|
|
24918
|
+
var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext);
|
|
24919
|
+
return plaintext;
|
|
24920
|
+
},
|
|
24921
|
+
_parse: function (ciphertext, format) {
|
|
24922
|
+
if (typeof ciphertext == 'string') {
|
|
24923
|
+
return format.parse(ciphertext, this);
|
|
24924
|
+
} else {
|
|
24925
|
+
return ciphertext;
|
|
24926
|
+
}
|
|
24927
|
+
}
|
|
24928
|
+
});
|
|
24929
|
+
var C_kdf = C.kdf = {};
|
|
24930
|
+
var OpenSSLKdf = C_kdf.OpenSSL = {
|
|
24931
|
+
execute: function (password, keySize, ivSize, salt, hasher) {
|
|
24932
|
+
if (!salt) {
|
|
24933
|
+
salt = WordArray.random(64 / 8);
|
|
24934
|
+
}
|
|
24935
|
+
if (!hasher) {
|
|
24936
|
+
var key = EvpKDF.create({
|
|
24937
|
+
keySize: keySize + ivSize
|
|
24938
|
+
}).compute(password, salt);
|
|
24939
|
+
} else {
|
|
24940
|
+
var key = EvpKDF.create({
|
|
24941
|
+
keySize: keySize + ivSize,
|
|
24942
|
+
hasher: hasher
|
|
24943
|
+
}).compute(password, salt);
|
|
24944
|
+
}
|
|
24945
|
+
var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);
|
|
24946
|
+
key.sigBytes = keySize * 4;
|
|
24947
|
+
return CipherParams.create({
|
|
24948
|
+
key: key,
|
|
24949
|
+
iv: iv,
|
|
24950
|
+
salt: salt
|
|
24951
|
+
});
|
|
24952
|
+
}
|
|
24953
|
+
};
|
|
24954
|
+
var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({
|
|
24955
|
+
cfg: SerializableCipher.cfg.extend({
|
|
24956
|
+
kdf: OpenSSLKdf
|
|
24957
|
+
}),
|
|
24958
|
+
encrypt: function (cipher, message, password, cfg) {
|
|
24959
|
+
cfg = this.cfg.extend(cfg);
|
|
24960
|
+
var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, cfg.salt, cfg.hasher);
|
|
24961
|
+
cfg.iv = derivedParams.iv;
|
|
24962
|
+
var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);
|
|
24963
|
+
ciphertext.mixIn(derivedParams);
|
|
24964
|
+
return ciphertext;
|
|
24965
|
+
},
|
|
24966
|
+
decrypt: function (cipher, ciphertext, password, cfg) {
|
|
24967
|
+
cfg = this.cfg.extend(cfg);
|
|
24968
|
+
ciphertext = this._parse(ciphertext, cfg.format);
|
|
24969
|
+
var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt, cfg.hasher);
|
|
24970
|
+
cfg.iv = derivedParams.iv;
|
|
24971
|
+
var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);
|
|
24972
|
+
return plaintext;
|
|
24973
|
+
}
|
|
24974
|
+
});
|
|
24975
|
+
}();
|
|
24976
|
+
});
|
|
24977
|
+
});
|
|
24978
|
+
|
|
24979
|
+
var modeCfb = createCommonjsModule(function (module, exports) {
|
|
24980
|
+
(function (root, factory, undef) {
|
|
24981
|
+
{
|
|
24982
|
+
module.exports = exports = factory(core, cipherCore);
|
|
24983
|
+
}
|
|
24984
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
24985
|
+
CryptoJS.mode.CFB = function () {
|
|
24986
|
+
var CFB = CryptoJS.lib.BlockCipherMode.extend();
|
|
24987
|
+
CFB.Encryptor = CFB.extend({
|
|
24988
|
+
processBlock: function (words, offset) {
|
|
24989
|
+
var cipher = this._cipher;
|
|
24990
|
+
var blockSize = cipher.blockSize;
|
|
24991
|
+
generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
|
|
24992
|
+
this._prevBlock = words.slice(offset, offset + blockSize);
|
|
24993
|
+
}
|
|
24994
|
+
});
|
|
24995
|
+
CFB.Decryptor = CFB.extend({
|
|
24996
|
+
processBlock: function (words, offset) {
|
|
24997
|
+
var cipher = this._cipher;
|
|
24998
|
+
var blockSize = cipher.blockSize;
|
|
24999
|
+
var thisBlock = words.slice(offset, offset + blockSize);
|
|
25000
|
+
generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
|
|
25001
|
+
this._prevBlock = thisBlock;
|
|
25002
|
+
}
|
|
25003
|
+
});
|
|
25004
|
+
function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) {
|
|
25005
|
+
var keystream;
|
|
25006
|
+
var iv = this._iv;
|
|
25007
|
+
if (iv) {
|
|
25008
|
+
keystream = iv.slice(0);
|
|
25009
|
+
this._iv = undefined;
|
|
25010
|
+
} else {
|
|
25011
|
+
keystream = this._prevBlock;
|
|
25012
|
+
}
|
|
25013
|
+
cipher.encryptBlock(keystream, 0);
|
|
25014
|
+
for (var i = 0; i < blockSize; i++) {
|
|
25015
|
+
words[offset + i] ^= keystream[i];
|
|
25016
|
+
}
|
|
25017
|
+
}
|
|
25018
|
+
return CFB;
|
|
25019
|
+
}();
|
|
25020
|
+
return CryptoJS.mode.CFB;
|
|
25021
|
+
});
|
|
25022
|
+
});
|
|
25023
|
+
|
|
25024
|
+
var modeCtr = createCommonjsModule(function (module, exports) {
|
|
25025
|
+
(function (root, factory, undef) {
|
|
25026
|
+
{
|
|
25027
|
+
module.exports = exports = factory(core, cipherCore);
|
|
25028
|
+
}
|
|
25029
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
25030
|
+
CryptoJS.mode.CTR = function () {
|
|
25031
|
+
var CTR = CryptoJS.lib.BlockCipherMode.extend();
|
|
25032
|
+
var Encryptor = CTR.Encryptor = CTR.extend({
|
|
25033
|
+
processBlock: function (words, offset) {
|
|
25034
|
+
var cipher = this._cipher;
|
|
25035
|
+
var blockSize = cipher.blockSize;
|
|
25036
|
+
var iv = this._iv;
|
|
25037
|
+
var counter = this._counter;
|
|
25038
|
+
if (iv) {
|
|
25039
|
+
counter = this._counter = iv.slice(0);
|
|
25040
|
+
this._iv = undefined;
|
|
25041
|
+
}
|
|
25042
|
+
var keystream = counter.slice(0);
|
|
25043
|
+
cipher.encryptBlock(keystream, 0);
|
|
25044
|
+
counter[blockSize - 1] = counter[blockSize - 1] + 1 | 0;
|
|
25045
|
+
for (var i = 0; i < blockSize; i++) {
|
|
25046
|
+
words[offset + i] ^= keystream[i];
|
|
25047
|
+
}
|
|
25048
|
+
}
|
|
25049
|
+
});
|
|
25050
|
+
CTR.Decryptor = Encryptor;
|
|
25051
|
+
return CTR;
|
|
25052
|
+
}();
|
|
25053
|
+
return CryptoJS.mode.CTR;
|
|
25054
|
+
});
|
|
25055
|
+
});
|
|
25056
|
+
|
|
25057
|
+
var modeCtrGladman = createCommonjsModule(function (module, exports) {
|
|
25058
|
+
(function (root, factory, undef) {
|
|
25059
|
+
{
|
|
25060
|
+
module.exports = exports = factory(core, cipherCore);
|
|
25061
|
+
}
|
|
25062
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
25063
|
+
CryptoJS.mode.CTRGladman = function () {
|
|
25064
|
+
var CTRGladman = CryptoJS.lib.BlockCipherMode.extend();
|
|
25065
|
+
function incWord(word) {
|
|
25066
|
+
if ((word >> 24 & 0xff) === 0xff) {
|
|
25067
|
+
var b1 = word >> 16 & 0xff;
|
|
25068
|
+
var b2 = word >> 8 & 0xff;
|
|
25069
|
+
var b3 = word & 0xff;
|
|
25070
|
+
if (b1 === 0xff) {
|
|
25071
|
+
b1 = 0;
|
|
25072
|
+
if (b2 === 0xff) {
|
|
25073
|
+
b2 = 0;
|
|
25074
|
+
if (b3 === 0xff) {
|
|
25075
|
+
b3 = 0;
|
|
25076
|
+
} else {
|
|
25077
|
+
++b3;
|
|
25078
|
+
}
|
|
25079
|
+
} else {
|
|
25080
|
+
++b2;
|
|
25081
|
+
}
|
|
25082
|
+
} else {
|
|
25083
|
+
++b1;
|
|
25084
|
+
}
|
|
25085
|
+
word = 0;
|
|
25086
|
+
word += b1 << 16;
|
|
25087
|
+
word += b2 << 8;
|
|
25088
|
+
word += b3;
|
|
25089
|
+
} else {
|
|
25090
|
+
word += 0x01 << 24;
|
|
25091
|
+
}
|
|
25092
|
+
return word;
|
|
25093
|
+
}
|
|
25094
|
+
function incCounter(counter) {
|
|
25095
|
+
if ((counter[0] = incWord(counter[0])) === 0) {
|
|
25096
|
+
counter[1] = incWord(counter[1]);
|
|
25097
|
+
}
|
|
25098
|
+
return counter;
|
|
25099
|
+
}
|
|
25100
|
+
var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({
|
|
25101
|
+
processBlock: function (words, offset) {
|
|
25102
|
+
var cipher = this._cipher;
|
|
25103
|
+
var blockSize = cipher.blockSize;
|
|
25104
|
+
var iv = this._iv;
|
|
25105
|
+
var counter = this._counter;
|
|
25106
|
+
if (iv) {
|
|
25107
|
+
counter = this._counter = iv.slice(0);
|
|
25108
|
+
this._iv = undefined;
|
|
25109
|
+
}
|
|
25110
|
+
incCounter(counter);
|
|
25111
|
+
var keystream = counter.slice(0);
|
|
25112
|
+
cipher.encryptBlock(keystream, 0);
|
|
25113
|
+
for (var i = 0; i < blockSize; i++) {
|
|
25114
|
+
words[offset + i] ^= keystream[i];
|
|
25115
|
+
}
|
|
25116
|
+
}
|
|
25117
|
+
});
|
|
25118
|
+
CTRGladman.Decryptor = Encryptor;
|
|
25119
|
+
return CTRGladman;
|
|
25120
|
+
}();
|
|
25121
|
+
return CryptoJS.mode.CTRGladman;
|
|
25122
|
+
});
|
|
25123
|
+
});
|
|
25124
|
+
|
|
25125
|
+
var modeOfb = createCommonjsModule(function (module, exports) {
|
|
25126
|
+
(function (root, factory, undef) {
|
|
25127
|
+
{
|
|
25128
|
+
module.exports = exports = factory(core, cipherCore);
|
|
25129
|
+
}
|
|
25130
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
25131
|
+
CryptoJS.mode.OFB = function () {
|
|
25132
|
+
var OFB = CryptoJS.lib.BlockCipherMode.extend();
|
|
25133
|
+
var Encryptor = OFB.Encryptor = OFB.extend({
|
|
25134
|
+
processBlock: function (words, offset) {
|
|
25135
|
+
var cipher = this._cipher;
|
|
25136
|
+
var blockSize = cipher.blockSize;
|
|
25137
|
+
var iv = this._iv;
|
|
25138
|
+
var keystream = this._keystream;
|
|
25139
|
+
if (iv) {
|
|
25140
|
+
keystream = this._keystream = iv.slice(0);
|
|
25141
|
+
this._iv = undefined;
|
|
25142
|
+
}
|
|
25143
|
+
cipher.encryptBlock(keystream, 0);
|
|
25144
|
+
for (var i = 0; i < blockSize; i++) {
|
|
25145
|
+
words[offset + i] ^= keystream[i];
|
|
25146
|
+
}
|
|
25147
|
+
}
|
|
25148
|
+
});
|
|
25149
|
+
OFB.Decryptor = Encryptor;
|
|
25150
|
+
return OFB;
|
|
25151
|
+
}();
|
|
25152
|
+
return CryptoJS.mode.OFB;
|
|
25153
|
+
});
|
|
25154
|
+
});
|
|
25155
|
+
|
|
25156
|
+
var modeEcb = createCommonjsModule(function (module, exports) {
|
|
25157
|
+
(function (root, factory, undef) {
|
|
25158
|
+
{
|
|
25159
|
+
module.exports = exports = factory(core, cipherCore);
|
|
25160
|
+
}
|
|
25161
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
25162
|
+
CryptoJS.mode.ECB = function () {
|
|
25163
|
+
var ECB = CryptoJS.lib.BlockCipherMode.extend();
|
|
25164
|
+
ECB.Encryptor = ECB.extend({
|
|
25165
|
+
processBlock: function (words, offset) {
|
|
25166
|
+
this._cipher.encryptBlock(words, offset);
|
|
25167
|
+
}
|
|
25168
|
+
});
|
|
25169
|
+
ECB.Decryptor = ECB.extend({
|
|
25170
|
+
processBlock: function (words, offset) {
|
|
25171
|
+
this._cipher.decryptBlock(words, offset);
|
|
25172
|
+
}
|
|
25173
|
+
});
|
|
25174
|
+
return ECB;
|
|
25175
|
+
}();
|
|
25176
|
+
return CryptoJS.mode.ECB;
|
|
25177
|
+
});
|
|
25178
|
+
});
|
|
25179
|
+
|
|
25180
|
+
var padAnsix923 = createCommonjsModule(function (module, exports) {
|
|
25181
|
+
(function (root, factory, undef) {
|
|
25182
|
+
{
|
|
25183
|
+
module.exports = exports = factory(core, cipherCore);
|
|
25184
|
+
}
|
|
25185
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
25186
|
+
CryptoJS.pad.AnsiX923 = {
|
|
25187
|
+
pad: function (data, blockSize) {
|
|
25188
|
+
var dataSigBytes = data.sigBytes;
|
|
25189
|
+
var blockSizeBytes = blockSize * 4;
|
|
25190
|
+
var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes;
|
|
25191
|
+
var lastBytePos = dataSigBytes + nPaddingBytes - 1;
|
|
25192
|
+
data.clamp();
|
|
25193
|
+
data.words[lastBytePos >>> 2] |= nPaddingBytes << 24 - lastBytePos % 4 * 8;
|
|
25194
|
+
data.sigBytes += nPaddingBytes;
|
|
25195
|
+
},
|
|
25196
|
+
unpad: function (data) {
|
|
25197
|
+
var nPaddingBytes = data.words[data.sigBytes - 1 >>> 2] & 0xff;
|
|
25198
|
+
data.sigBytes -= nPaddingBytes;
|
|
25199
|
+
}
|
|
25200
|
+
};
|
|
25201
|
+
return CryptoJS.pad.Ansix923;
|
|
25202
|
+
});
|
|
25203
|
+
});
|
|
25204
|
+
|
|
25205
|
+
var padIso10126 = createCommonjsModule(function (module, exports) {
|
|
25206
|
+
(function (root, factory, undef) {
|
|
25207
|
+
{
|
|
25208
|
+
module.exports = exports = factory(core, cipherCore);
|
|
25209
|
+
}
|
|
25210
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
25211
|
+
CryptoJS.pad.Iso10126 = {
|
|
25212
|
+
pad: function (data, blockSize) {
|
|
25213
|
+
var blockSizeBytes = blockSize * 4;
|
|
25214
|
+
var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;
|
|
25215
|
+
data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)).concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1));
|
|
25216
|
+
},
|
|
25217
|
+
unpad: function (data) {
|
|
25218
|
+
var nPaddingBytes = data.words[data.sigBytes - 1 >>> 2] & 0xff;
|
|
25219
|
+
data.sigBytes -= nPaddingBytes;
|
|
25220
|
+
}
|
|
25221
|
+
};
|
|
25222
|
+
return CryptoJS.pad.Iso10126;
|
|
25223
|
+
});
|
|
25224
|
+
});
|
|
25225
|
+
|
|
25226
|
+
var padIso97971 = createCommonjsModule(function (module, exports) {
|
|
25227
|
+
(function (root, factory, undef) {
|
|
25228
|
+
{
|
|
25229
|
+
module.exports = exports = factory(core, cipherCore);
|
|
25230
|
+
}
|
|
25231
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
25232
|
+
CryptoJS.pad.Iso97971 = {
|
|
25233
|
+
pad: function (data, blockSize) {
|
|
25234
|
+
data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1));
|
|
25235
|
+
CryptoJS.pad.ZeroPadding.pad(data, blockSize);
|
|
25236
|
+
},
|
|
25237
|
+
unpad: function (data) {
|
|
25238
|
+
CryptoJS.pad.ZeroPadding.unpad(data);
|
|
25239
|
+
data.sigBytes--;
|
|
25240
|
+
}
|
|
25241
|
+
};
|
|
25242
|
+
return CryptoJS.pad.Iso97971;
|
|
25243
|
+
});
|
|
25244
|
+
});
|
|
25245
|
+
|
|
25246
|
+
var padZeropadding = createCommonjsModule(function (module, exports) {
|
|
25247
|
+
(function (root, factory, undef) {
|
|
25248
|
+
{
|
|
25249
|
+
module.exports = exports = factory(core, cipherCore);
|
|
25250
|
+
}
|
|
25251
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
25252
|
+
CryptoJS.pad.ZeroPadding = {
|
|
25253
|
+
pad: function (data, blockSize) {
|
|
25254
|
+
var blockSizeBytes = blockSize * 4;
|
|
25255
|
+
data.clamp();
|
|
25256
|
+
data.sigBytes += blockSizeBytes - (data.sigBytes % blockSizeBytes || blockSizeBytes);
|
|
25257
|
+
},
|
|
25258
|
+
unpad: function (data) {
|
|
25259
|
+
var dataWords = data.words;
|
|
25260
|
+
var i = data.sigBytes - 1;
|
|
25261
|
+
for (var i = data.sigBytes - 1; i >= 0; i--) {
|
|
25262
|
+
if (dataWords[i >>> 2] >>> 24 - i % 4 * 8 & 0xff) {
|
|
25263
|
+
data.sigBytes = i + 1;
|
|
25264
|
+
break;
|
|
25265
|
+
}
|
|
25266
|
+
}
|
|
25267
|
+
}
|
|
25268
|
+
};
|
|
25269
|
+
return CryptoJS.pad.ZeroPadding;
|
|
25270
|
+
});
|
|
25271
|
+
});
|
|
25272
|
+
|
|
25273
|
+
var padNopadding = createCommonjsModule(function (module, exports) {
|
|
25274
|
+
(function (root, factory, undef) {
|
|
25275
|
+
{
|
|
25276
|
+
module.exports = exports = factory(core, cipherCore);
|
|
25277
|
+
}
|
|
25278
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
25279
|
+
CryptoJS.pad.NoPadding = {
|
|
25280
|
+
pad: function () {},
|
|
25281
|
+
unpad: function () {}
|
|
25282
|
+
};
|
|
25283
|
+
return CryptoJS.pad.NoPadding;
|
|
25284
|
+
});
|
|
25285
|
+
});
|
|
25286
|
+
|
|
25287
|
+
var formatHex = createCommonjsModule(function (module, exports) {
|
|
25288
|
+
(function (root, factory, undef) {
|
|
25289
|
+
{
|
|
25290
|
+
module.exports = exports = factory(core, cipherCore);
|
|
25291
|
+
}
|
|
25292
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
25293
|
+
(function (undefined$1) {
|
|
25294
|
+
var C = CryptoJS;
|
|
25295
|
+
var C_lib = C.lib;
|
|
25296
|
+
var CipherParams = C_lib.CipherParams;
|
|
25297
|
+
var C_enc = C.enc;
|
|
25298
|
+
var Hex = C_enc.Hex;
|
|
25299
|
+
var C_format = C.format;
|
|
25300
|
+
var HexFormatter = C_format.Hex = {
|
|
25301
|
+
stringify: function (cipherParams) {
|
|
25302
|
+
return cipherParams.ciphertext.toString(Hex);
|
|
25303
|
+
},
|
|
25304
|
+
parse: function (input) {
|
|
25305
|
+
var ciphertext = Hex.parse(input);
|
|
25306
|
+
return CipherParams.create({
|
|
25307
|
+
ciphertext: ciphertext
|
|
25308
|
+
});
|
|
25309
|
+
}
|
|
25310
|
+
};
|
|
25311
|
+
})();
|
|
25312
|
+
return CryptoJS.format.Hex;
|
|
25313
|
+
});
|
|
25314
|
+
});
|
|
25315
|
+
|
|
25316
|
+
var aes = createCommonjsModule(function (module, exports) {
|
|
25317
|
+
(function (root, factory, undef) {
|
|
25318
|
+
{
|
|
25319
|
+
module.exports = exports = factory(core, encBase64, md5, evpkdf, cipherCore);
|
|
25320
|
+
}
|
|
25321
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
25322
|
+
(function () {
|
|
25323
|
+
var C = CryptoJS;
|
|
25324
|
+
var C_lib = C.lib;
|
|
25325
|
+
var BlockCipher = C_lib.BlockCipher;
|
|
25326
|
+
var C_algo = C.algo;
|
|
25327
|
+
var SBOX = [];
|
|
25328
|
+
var INV_SBOX = [];
|
|
25329
|
+
var SUB_MIX_0 = [];
|
|
25330
|
+
var SUB_MIX_1 = [];
|
|
25331
|
+
var SUB_MIX_2 = [];
|
|
25332
|
+
var SUB_MIX_3 = [];
|
|
25333
|
+
var INV_SUB_MIX_0 = [];
|
|
25334
|
+
var INV_SUB_MIX_1 = [];
|
|
25335
|
+
var INV_SUB_MIX_2 = [];
|
|
25336
|
+
var INV_SUB_MIX_3 = [];
|
|
25337
|
+
(function () {
|
|
25338
|
+
var d = [];
|
|
25339
|
+
for (var i = 0; i < 256; i++) {
|
|
25340
|
+
if (i < 128) {
|
|
25341
|
+
d[i] = i << 1;
|
|
25342
|
+
} else {
|
|
25343
|
+
d[i] = i << 1 ^ 0x11b;
|
|
25344
|
+
}
|
|
25345
|
+
}
|
|
25346
|
+
var x = 0;
|
|
25347
|
+
var xi = 0;
|
|
25348
|
+
for (var i = 0; i < 256; i++) {
|
|
25349
|
+
var sx = xi ^ xi << 1 ^ xi << 2 ^ xi << 3 ^ xi << 4;
|
|
25350
|
+
sx = sx >>> 8 ^ sx & 0xff ^ 0x63;
|
|
25351
|
+
SBOX[x] = sx;
|
|
25352
|
+
INV_SBOX[sx] = x;
|
|
25353
|
+
var x2 = d[x];
|
|
25354
|
+
var x4 = d[x2];
|
|
25355
|
+
var x8 = d[x4];
|
|
25356
|
+
var t = d[sx] * 0x101 ^ sx * 0x1010100;
|
|
25357
|
+
SUB_MIX_0[x] = t << 24 | t >>> 8;
|
|
25358
|
+
SUB_MIX_1[x] = t << 16 | t >>> 16;
|
|
25359
|
+
SUB_MIX_2[x] = t << 8 | t >>> 24;
|
|
25360
|
+
SUB_MIX_3[x] = t;
|
|
25361
|
+
var t = x8 * 0x1010101 ^ x4 * 0x10001 ^ x2 * 0x101 ^ x * 0x1010100;
|
|
25362
|
+
INV_SUB_MIX_0[sx] = t << 24 | t >>> 8;
|
|
25363
|
+
INV_SUB_MIX_1[sx] = t << 16 | t >>> 16;
|
|
25364
|
+
INV_SUB_MIX_2[sx] = t << 8 | t >>> 24;
|
|
25365
|
+
INV_SUB_MIX_3[sx] = t;
|
|
25366
|
+
if (!x) {
|
|
25367
|
+
x = xi = 1;
|
|
25368
|
+
} else {
|
|
25369
|
+
x = x2 ^ d[d[d[x8 ^ x2]]];
|
|
25370
|
+
xi ^= d[d[xi]];
|
|
25371
|
+
}
|
|
25372
|
+
}
|
|
25373
|
+
})();
|
|
25374
|
+
var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];
|
|
25375
|
+
var AES = C_algo.AES = BlockCipher.extend({
|
|
25376
|
+
_doReset: function () {
|
|
25377
|
+
var t;
|
|
25378
|
+
if (this._nRounds && this._keyPriorReset === this._key) {
|
|
25379
|
+
return;
|
|
25380
|
+
}
|
|
25381
|
+
var key = this._keyPriorReset = this._key;
|
|
25382
|
+
var keyWords = key.words;
|
|
25383
|
+
var keySize = key.sigBytes / 4;
|
|
25384
|
+
var nRounds = this._nRounds = keySize + 6;
|
|
25385
|
+
var ksRows = (nRounds + 1) * 4;
|
|
25386
|
+
var keySchedule = this._keySchedule = [];
|
|
25387
|
+
for (var ksRow = 0; ksRow < ksRows; ksRow++) {
|
|
25388
|
+
if (ksRow < keySize) {
|
|
25389
|
+
keySchedule[ksRow] = keyWords[ksRow];
|
|
25390
|
+
} else {
|
|
25391
|
+
t = keySchedule[ksRow - 1];
|
|
25392
|
+
if (!(ksRow % keySize)) {
|
|
25393
|
+
t = t << 8 | t >>> 24;
|
|
25394
|
+
t = SBOX[t >>> 24] << 24 | SBOX[t >>> 16 & 0xff] << 16 | SBOX[t >>> 8 & 0xff] << 8 | SBOX[t & 0xff];
|
|
25395
|
+
t ^= RCON[ksRow / keySize | 0] << 24;
|
|
25396
|
+
} else if (keySize > 6 && ksRow % keySize == 4) {
|
|
25397
|
+
t = SBOX[t >>> 24] << 24 | SBOX[t >>> 16 & 0xff] << 16 | SBOX[t >>> 8 & 0xff] << 8 | SBOX[t & 0xff];
|
|
25398
|
+
}
|
|
25399
|
+
keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t;
|
|
25400
|
+
}
|
|
25401
|
+
}
|
|
25402
|
+
var invKeySchedule = this._invKeySchedule = [];
|
|
25403
|
+
for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) {
|
|
25404
|
+
var ksRow = ksRows - invKsRow;
|
|
25405
|
+
if (invKsRow % 4) {
|
|
25406
|
+
var t = keySchedule[ksRow];
|
|
25407
|
+
} else {
|
|
25408
|
+
var t = keySchedule[ksRow - 4];
|
|
25409
|
+
}
|
|
25410
|
+
if (invKsRow < 4 || ksRow <= 4) {
|
|
25411
|
+
invKeySchedule[invKsRow] = t;
|
|
25412
|
+
} else {
|
|
25413
|
+
invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[t >>> 16 & 0xff]] ^ INV_SUB_MIX_2[SBOX[t >>> 8 & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]];
|
|
25414
|
+
}
|
|
25415
|
+
}
|
|
25416
|
+
},
|
|
25417
|
+
encryptBlock: function (M, offset) {
|
|
25418
|
+
this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX);
|
|
25419
|
+
},
|
|
25420
|
+
decryptBlock: function (M, offset) {
|
|
25421
|
+
var t = M[offset + 1];
|
|
25422
|
+
M[offset + 1] = M[offset + 3];
|
|
25423
|
+
M[offset + 3] = t;
|
|
25424
|
+
this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX);
|
|
25425
|
+
var t = M[offset + 1];
|
|
25426
|
+
M[offset + 1] = M[offset + 3];
|
|
25427
|
+
M[offset + 3] = t;
|
|
25428
|
+
},
|
|
25429
|
+
_doCryptBlock: function (M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) {
|
|
25430
|
+
var nRounds = this._nRounds;
|
|
25431
|
+
var s0 = M[offset] ^ keySchedule[0];
|
|
25432
|
+
var s1 = M[offset + 1] ^ keySchedule[1];
|
|
25433
|
+
var s2 = M[offset + 2] ^ keySchedule[2];
|
|
25434
|
+
var s3 = M[offset + 3] ^ keySchedule[3];
|
|
25435
|
+
var ksRow = 4;
|
|
25436
|
+
for (var round = 1; round < nRounds; round++) {
|
|
25437
|
+
var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[s1 >>> 16 & 0xff] ^ SUB_MIX_2[s2 >>> 8 & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++];
|
|
25438
|
+
var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[s2 >>> 16 & 0xff] ^ SUB_MIX_2[s3 >>> 8 & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++];
|
|
25439
|
+
var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[s3 >>> 16 & 0xff] ^ SUB_MIX_2[s0 >>> 8 & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++];
|
|
25440
|
+
var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[s0 >>> 16 & 0xff] ^ SUB_MIX_2[s1 >>> 8 & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++];
|
|
25441
|
+
s0 = t0;
|
|
25442
|
+
s1 = t1;
|
|
25443
|
+
s2 = t2;
|
|
25444
|
+
s3 = t3;
|
|
25445
|
+
}
|
|
25446
|
+
var t0 = (SBOX[s0 >>> 24] << 24 | SBOX[s1 >>> 16 & 0xff] << 16 | SBOX[s2 >>> 8 & 0xff] << 8 | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++];
|
|
25447
|
+
var t1 = (SBOX[s1 >>> 24] << 24 | SBOX[s2 >>> 16 & 0xff] << 16 | SBOX[s3 >>> 8 & 0xff] << 8 | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++];
|
|
25448
|
+
var t2 = (SBOX[s2 >>> 24] << 24 | SBOX[s3 >>> 16 & 0xff] << 16 | SBOX[s0 >>> 8 & 0xff] << 8 | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++];
|
|
25449
|
+
var t3 = (SBOX[s3 >>> 24] << 24 | SBOX[s0 >>> 16 & 0xff] << 16 | SBOX[s1 >>> 8 & 0xff] << 8 | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++];
|
|
25450
|
+
M[offset] = t0;
|
|
25451
|
+
M[offset + 1] = t1;
|
|
25452
|
+
M[offset + 2] = t2;
|
|
25453
|
+
M[offset + 3] = t3;
|
|
25454
|
+
},
|
|
25455
|
+
keySize: 256 / 32
|
|
25456
|
+
});
|
|
25457
|
+
C.AES = BlockCipher._createHelper(AES);
|
|
25458
|
+
})();
|
|
25459
|
+
return CryptoJS.AES;
|
|
25460
|
+
});
|
|
25461
|
+
});
|
|
25462
|
+
|
|
25463
|
+
var tripledes = createCommonjsModule(function (module, exports) {
|
|
25464
|
+
(function (root, factory, undef) {
|
|
25465
|
+
{
|
|
25466
|
+
module.exports = exports = factory(core, encBase64, md5, evpkdf, cipherCore);
|
|
25467
|
+
}
|
|
25468
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
25469
|
+
(function () {
|
|
25470
|
+
var C = CryptoJS;
|
|
25471
|
+
var C_lib = C.lib;
|
|
25472
|
+
var WordArray = C_lib.WordArray;
|
|
25473
|
+
var BlockCipher = C_lib.BlockCipher;
|
|
25474
|
+
var C_algo = C.algo;
|
|
25475
|
+
var PC1 = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4];
|
|
25476
|
+
var PC2 = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32];
|
|
25477
|
+
var BIT_SHIFTS = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28];
|
|
25478
|
+
var SBOX_P = [{
|
|
25479
|
+
0x0: 0x808200,
|
|
25480
|
+
0x10000000: 0x8000,
|
|
25481
|
+
0x20000000: 0x808002,
|
|
25482
|
+
0x30000000: 0x2,
|
|
25483
|
+
0x40000000: 0x200,
|
|
25484
|
+
0x50000000: 0x808202,
|
|
25485
|
+
0x60000000: 0x800202,
|
|
25486
|
+
0x70000000: 0x800000,
|
|
25487
|
+
0x80000000: 0x202,
|
|
25488
|
+
0x90000000: 0x800200,
|
|
25489
|
+
0xa0000000: 0x8200,
|
|
25490
|
+
0xb0000000: 0x808000,
|
|
25491
|
+
0xc0000000: 0x8002,
|
|
25492
|
+
0xd0000000: 0x800002,
|
|
25493
|
+
0xe0000000: 0x0,
|
|
25494
|
+
0xf0000000: 0x8202,
|
|
25495
|
+
0x8000000: 0x0,
|
|
25496
|
+
0x18000000: 0x808202,
|
|
25497
|
+
0x28000000: 0x8202,
|
|
25498
|
+
0x38000000: 0x8000,
|
|
25499
|
+
0x48000000: 0x808200,
|
|
25500
|
+
0x58000000: 0x200,
|
|
25501
|
+
0x68000000: 0x808002,
|
|
25502
|
+
0x78000000: 0x2,
|
|
25503
|
+
0x88000000: 0x800200,
|
|
25504
|
+
0x98000000: 0x8200,
|
|
25505
|
+
0xa8000000: 0x808000,
|
|
25506
|
+
0xb8000000: 0x800202,
|
|
25507
|
+
0xc8000000: 0x800002,
|
|
25508
|
+
0xd8000000: 0x8002,
|
|
25509
|
+
0xe8000000: 0x202,
|
|
25510
|
+
0xf8000000: 0x800000,
|
|
25511
|
+
0x1: 0x8000,
|
|
25512
|
+
0x10000001: 0x2,
|
|
25513
|
+
0x20000001: 0x808200,
|
|
25514
|
+
0x30000001: 0x800000,
|
|
25515
|
+
0x40000001: 0x808002,
|
|
25516
|
+
0x50000001: 0x8200,
|
|
25517
|
+
0x60000001: 0x200,
|
|
25518
|
+
0x70000001: 0x800202,
|
|
25519
|
+
0x80000001: 0x808202,
|
|
25520
|
+
0x90000001: 0x808000,
|
|
25521
|
+
0xa0000001: 0x800002,
|
|
25522
|
+
0xb0000001: 0x8202,
|
|
25523
|
+
0xc0000001: 0x202,
|
|
25524
|
+
0xd0000001: 0x800200,
|
|
25525
|
+
0xe0000001: 0x8002,
|
|
25526
|
+
0xf0000001: 0x0,
|
|
25527
|
+
0x8000001: 0x808202,
|
|
25528
|
+
0x18000001: 0x808000,
|
|
25529
|
+
0x28000001: 0x800000,
|
|
25530
|
+
0x38000001: 0x200,
|
|
25531
|
+
0x48000001: 0x8000,
|
|
25532
|
+
0x58000001: 0x800002,
|
|
25533
|
+
0x68000001: 0x2,
|
|
25534
|
+
0x78000001: 0x8202,
|
|
25535
|
+
0x88000001: 0x8002,
|
|
25536
|
+
0x98000001: 0x800202,
|
|
25537
|
+
0xa8000001: 0x202,
|
|
25538
|
+
0xb8000001: 0x808200,
|
|
25539
|
+
0xc8000001: 0x800200,
|
|
25540
|
+
0xd8000001: 0x0,
|
|
25541
|
+
0xe8000001: 0x8200,
|
|
25542
|
+
0xf8000001: 0x808002
|
|
25543
|
+
}, {
|
|
25544
|
+
0x0: 0x40084010,
|
|
25545
|
+
0x1000000: 0x4000,
|
|
25546
|
+
0x2000000: 0x80000,
|
|
25547
|
+
0x3000000: 0x40080010,
|
|
25548
|
+
0x4000000: 0x40000010,
|
|
25549
|
+
0x5000000: 0x40084000,
|
|
25550
|
+
0x6000000: 0x40004000,
|
|
25551
|
+
0x7000000: 0x10,
|
|
25552
|
+
0x8000000: 0x84000,
|
|
25553
|
+
0x9000000: 0x40004010,
|
|
25554
|
+
0xa000000: 0x40000000,
|
|
25555
|
+
0xb000000: 0x84010,
|
|
25556
|
+
0xc000000: 0x80010,
|
|
25557
|
+
0xd000000: 0x0,
|
|
25558
|
+
0xe000000: 0x4010,
|
|
25559
|
+
0xf000000: 0x40080000,
|
|
25560
|
+
0x800000: 0x40004000,
|
|
25561
|
+
0x1800000: 0x84010,
|
|
25562
|
+
0x2800000: 0x10,
|
|
25563
|
+
0x3800000: 0x40004010,
|
|
25564
|
+
0x4800000: 0x40084010,
|
|
25565
|
+
0x5800000: 0x40000000,
|
|
25566
|
+
0x6800000: 0x80000,
|
|
25567
|
+
0x7800000: 0x40080010,
|
|
25568
|
+
0x8800000: 0x80010,
|
|
25569
|
+
0x9800000: 0x0,
|
|
25570
|
+
0xa800000: 0x4000,
|
|
25571
|
+
0xb800000: 0x40080000,
|
|
25572
|
+
0xc800000: 0x40000010,
|
|
25573
|
+
0xd800000: 0x84000,
|
|
25574
|
+
0xe800000: 0x40084000,
|
|
25575
|
+
0xf800000: 0x4010,
|
|
25576
|
+
0x10000000: 0x0,
|
|
25577
|
+
0x11000000: 0x40080010,
|
|
25578
|
+
0x12000000: 0x40004010,
|
|
25579
|
+
0x13000000: 0x40084000,
|
|
25580
|
+
0x14000000: 0x40080000,
|
|
25581
|
+
0x15000000: 0x10,
|
|
25582
|
+
0x16000000: 0x84010,
|
|
25583
|
+
0x17000000: 0x4000,
|
|
25584
|
+
0x18000000: 0x4010,
|
|
25585
|
+
0x19000000: 0x80000,
|
|
25586
|
+
0x1a000000: 0x80010,
|
|
25587
|
+
0x1b000000: 0x40000010,
|
|
25588
|
+
0x1c000000: 0x84000,
|
|
25589
|
+
0x1d000000: 0x40004000,
|
|
25590
|
+
0x1e000000: 0x40000000,
|
|
25591
|
+
0x1f000000: 0x40084010,
|
|
25592
|
+
0x10800000: 0x84010,
|
|
25593
|
+
0x11800000: 0x80000,
|
|
25594
|
+
0x12800000: 0x40080000,
|
|
25595
|
+
0x13800000: 0x4000,
|
|
25596
|
+
0x14800000: 0x40004000,
|
|
25597
|
+
0x15800000: 0x40084010,
|
|
25598
|
+
0x16800000: 0x10,
|
|
25599
|
+
0x17800000: 0x40000000,
|
|
25600
|
+
0x18800000: 0x40084000,
|
|
25601
|
+
0x19800000: 0x40000010,
|
|
25602
|
+
0x1a800000: 0x40004010,
|
|
25603
|
+
0x1b800000: 0x80010,
|
|
25604
|
+
0x1c800000: 0x0,
|
|
25605
|
+
0x1d800000: 0x4010,
|
|
25606
|
+
0x1e800000: 0x40080010,
|
|
25607
|
+
0x1f800000: 0x84000
|
|
25608
|
+
}, {
|
|
25609
|
+
0x0: 0x104,
|
|
25610
|
+
0x100000: 0x0,
|
|
25611
|
+
0x200000: 0x4000100,
|
|
25612
|
+
0x300000: 0x10104,
|
|
25613
|
+
0x400000: 0x10004,
|
|
25614
|
+
0x500000: 0x4000004,
|
|
25615
|
+
0x600000: 0x4010104,
|
|
25616
|
+
0x700000: 0x4010000,
|
|
25617
|
+
0x800000: 0x4000000,
|
|
25618
|
+
0x900000: 0x4010100,
|
|
25619
|
+
0xa00000: 0x10100,
|
|
25620
|
+
0xb00000: 0x4010004,
|
|
25621
|
+
0xc00000: 0x4000104,
|
|
25622
|
+
0xd00000: 0x10000,
|
|
25623
|
+
0xe00000: 0x4,
|
|
25624
|
+
0xf00000: 0x100,
|
|
25625
|
+
0x80000: 0x4010100,
|
|
25626
|
+
0x180000: 0x4010004,
|
|
25627
|
+
0x280000: 0x0,
|
|
25628
|
+
0x380000: 0x4000100,
|
|
25629
|
+
0x480000: 0x4000004,
|
|
25630
|
+
0x580000: 0x10000,
|
|
25631
|
+
0x680000: 0x10004,
|
|
25632
|
+
0x780000: 0x104,
|
|
25633
|
+
0x880000: 0x4,
|
|
25634
|
+
0x980000: 0x100,
|
|
25635
|
+
0xa80000: 0x4010000,
|
|
25636
|
+
0xb80000: 0x10104,
|
|
25637
|
+
0xc80000: 0x10100,
|
|
25638
|
+
0xd80000: 0x4000104,
|
|
25639
|
+
0xe80000: 0x4010104,
|
|
25640
|
+
0xf80000: 0x4000000,
|
|
25641
|
+
0x1000000: 0x4010100,
|
|
25642
|
+
0x1100000: 0x10004,
|
|
25643
|
+
0x1200000: 0x10000,
|
|
25644
|
+
0x1300000: 0x4000100,
|
|
25645
|
+
0x1400000: 0x100,
|
|
25646
|
+
0x1500000: 0x4010104,
|
|
25647
|
+
0x1600000: 0x4000004,
|
|
25648
|
+
0x1700000: 0x0,
|
|
25649
|
+
0x1800000: 0x4000104,
|
|
25650
|
+
0x1900000: 0x4000000,
|
|
25651
|
+
0x1a00000: 0x4,
|
|
25652
|
+
0x1b00000: 0x10100,
|
|
25653
|
+
0x1c00000: 0x4010000,
|
|
25654
|
+
0x1d00000: 0x104,
|
|
25655
|
+
0x1e00000: 0x10104,
|
|
25656
|
+
0x1f00000: 0x4010004,
|
|
25657
|
+
0x1080000: 0x4000000,
|
|
25658
|
+
0x1180000: 0x104,
|
|
25659
|
+
0x1280000: 0x4010100,
|
|
25660
|
+
0x1380000: 0x0,
|
|
25661
|
+
0x1480000: 0x10004,
|
|
25662
|
+
0x1580000: 0x4000100,
|
|
25663
|
+
0x1680000: 0x100,
|
|
25664
|
+
0x1780000: 0x4010004,
|
|
25665
|
+
0x1880000: 0x10000,
|
|
25666
|
+
0x1980000: 0x4010104,
|
|
25667
|
+
0x1a80000: 0x10104,
|
|
25668
|
+
0x1b80000: 0x4000004,
|
|
25669
|
+
0x1c80000: 0x4000104,
|
|
25670
|
+
0x1d80000: 0x4010000,
|
|
25671
|
+
0x1e80000: 0x4,
|
|
25672
|
+
0x1f80000: 0x10100
|
|
25673
|
+
}, {
|
|
25674
|
+
0x0: 0x80401000,
|
|
25675
|
+
0x10000: 0x80001040,
|
|
25676
|
+
0x20000: 0x401040,
|
|
25677
|
+
0x30000: 0x80400000,
|
|
25678
|
+
0x40000: 0x0,
|
|
25679
|
+
0x50000: 0x401000,
|
|
25680
|
+
0x60000: 0x80000040,
|
|
25681
|
+
0x70000: 0x400040,
|
|
25682
|
+
0x80000: 0x80000000,
|
|
25683
|
+
0x90000: 0x400000,
|
|
25684
|
+
0xa0000: 0x40,
|
|
25685
|
+
0xb0000: 0x80001000,
|
|
25686
|
+
0xc0000: 0x80400040,
|
|
25687
|
+
0xd0000: 0x1040,
|
|
25688
|
+
0xe0000: 0x1000,
|
|
25689
|
+
0xf0000: 0x80401040,
|
|
25690
|
+
0x8000: 0x80001040,
|
|
25691
|
+
0x18000: 0x40,
|
|
25692
|
+
0x28000: 0x80400040,
|
|
25693
|
+
0x38000: 0x80001000,
|
|
25694
|
+
0x48000: 0x401000,
|
|
25695
|
+
0x58000: 0x80401040,
|
|
25696
|
+
0x68000: 0x0,
|
|
25697
|
+
0x78000: 0x80400000,
|
|
25698
|
+
0x88000: 0x1000,
|
|
25699
|
+
0x98000: 0x80401000,
|
|
25700
|
+
0xa8000: 0x400000,
|
|
25701
|
+
0xb8000: 0x1040,
|
|
25702
|
+
0xc8000: 0x80000000,
|
|
25703
|
+
0xd8000: 0x400040,
|
|
25704
|
+
0xe8000: 0x401040,
|
|
25705
|
+
0xf8000: 0x80000040,
|
|
25706
|
+
0x100000: 0x400040,
|
|
25707
|
+
0x110000: 0x401000,
|
|
25708
|
+
0x120000: 0x80000040,
|
|
25709
|
+
0x130000: 0x0,
|
|
25710
|
+
0x140000: 0x1040,
|
|
25711
|
+
0x150000: 0x80400040,
|
|
25712
|
+
0x160000: 0x80401000,
|
|
25713
|
+
0x170000: 0x80001040,
|
|
25714
|
+
0x180000: 0x80401040,
|
|
25715
|
+
0x190000: 0x80000000,
|
|
25716
|
+
0x1a0000: 0x80400000,
|
|
25717
|
+
0x1b0000: 0x401040,
|
|
25718
|
+
0x1c0000: 0x80001000,
|
|
25719
|
+
0x1d0000: 0x400000,
|
|
25720
|
+
0x1e0000: 0x40,
|
|
25721
|
+
0x1f0000: 0x1000,
|
|
25722
|
+
0x108000: 0x80400000,
|
|
25723
|
+
0x118000: 0x80401040,
|
|
25724
|
+
0x128000: 0x0,
|
|
25725
|
+
0x138000: 0x401000,
|
|
25726
|
+
0x148000: 0x400040,
|
|
25727
|
+
0x158000: 0x80000000,
|
|
25728
|
+
0x168000: 0x80001040,
|
|
25729
|
+
0x178000: 0x40,
|
|
25730
|
+
0x188000: 0x80000040,
|
|
25731
|
+
0x198000: 0x1000,
|
|
25732
|
+
0x1a8000: 0x80001000,
|
|
25733
|
+
0x1b8000: 0x80400040,
|
|
25734
|
+
0x1c8000: 0x1040,
|
|
25735
|
+
0x1d8000: 0x80401000,
|
|
25736
|
+
0x1e8000: 0x400000,
|
|
25737
|
+
0x1f8000: 0x401040
|
|
25738
|
+
}, {
|
|
25739
|
+
0x0: 0x80,
|
|
25740
|
+
0x1000: 0x1040000,
|
|
25741
|
+
0x2000: 0x40000,
|
|
25742
|
+
0x3000: 0x20000000,
|
|
25743
|
+
0x4000: 0x20040080,
|
|
25744
|
+
0x5000: 0x1000080,
|
|
25745
|
+
0x6000: 0x21000080,
|
|
25746
|
+
0x7000: 0x40080,
|
|
25747
|
+
0x8000: 0x1000000,
|
|
25748
|
+
0x9000: 0x20040000,
|
|
25749
|
+
0xa000: 0x20000080,
|
|
25750
|
+
0xb000: 0x21040080,
|
|
25751
|
+
0xc000: 0x21040000,
|
|
25752
|
+
0xd000: 0x0,
|
|
25753
|
+
0xe000: 0x1040080,
|
|
25754
|
+
0xf000: 0x21000000,
|
|
25755
|
+
0x800: 0x1040080,
|
|
25756
|
+
0x1800: 0x21000080,
|
|
25757
|
+
0x2800: 0x80,
|
|
25758
|
+
0x3800: 0x1040000,
|
|
25759
|
+
0x4800: 0x40000,
|
|
25760
|
+
0x5800: 0x20040080,
|
|
25761
|
+
0x6800: 0x21040000,
|
|
25762
|
+
0x7800: 0x20000000,
|
|
25763
|
+
0x8800: 0x20040000,
|
|
25764
|
+
0x9800: 0x0,
|
|
25765
|
+
0xa800: 0x21040080,
|
|
25766
|
+
0xb800: 0x1000080,
|
|
25767
|
+
0xc800: 0x20000080,
|
|
25768
|
+
0xd800: 0x21000000,
|
|
25769
|
+
0xe800: 0x1000000,
|
|
25770
|
+
0xf800: 0x40080,
|
|
25771
|
+
0x10000: 0x40000,
|
|
25772
|
+
0x11000: 0x80,
|
|
25773
|
+
0x12000: 0x20000000,
|
|
25774
|
+
0x13000: 0x21000080,
|
|
25775
|
+
0x14000: 0x1000080,
|
|
25776
|
+
0x15000: 0x21040000,
|
|
25777
|
+
0x16000: 0x20040080,
|
|
25778
|
+
0x17000: 0x1000000,
|
|
25779
|
+
0x18000: 0x21040080,
|
|
25780
|
+
0x19000: 0x21000000,
|
|
25781
|
+
0x1a000: 0x1040000,
|
|
25782
|
+
0x1b000: 0x20040000,
|
|
25783
|
+
0x1c000: 0x40080,
|
|
25784
|
+
0x1d000: 0x20000080,
|
|
25785
|
+
0x1e000: 0x0,
|
|
25786
|
+
0x1f000: 0x1040080,
|
|
25787
|
+
0x10800: 0x21000080,
|
|
25788
|
+
0x11800: 0x1000000,
|
|
25789
|
+
0x12800: 0x1040000,
|
|
25790
|
+
0x13800: 0x20040080,
|
|
25791
|
+
0x14800: 0x20000000,
|
|
25792
|
+
0x15800: 0x1040080,
|
|
25793
|
+
0x16800: 0x80,
|
|
25794
|
+
0x17800: 0x21040000,
|
|
25795
|
+
0x18800: 0x40080,
|
|
25796
|
+
0x19800: 0x21040080,
|
|
25797
|
+
0x1a800: 0x0,
|
|
25798
|
+
0x1b800: 0x21000000,
|
|
25799
|
+
0x1c800: 0x1000080,
|
|
25800
|
+
0x1d800: 0x40000,
|
|
25801
|
+
0x1e800: 0x20040000,
|
|
25802
|
+
0x1f800: 0x20000080
|
|
25803
|
+
}, {
|
|
25804
|
+
0x0: 0x10000008,
|
|
25805
|
+
0x100: 0x2000,
|
|
25806
|
+
0x200: 0x10200000,
|
|
25807
|
+
0x300: 0x10202008,
|
|
25808
|
+
0x400: 0x10002000,
|
|
25809
|
+
0x500: 0x200000,
|
|
25810
|
+
0x600: 0x200008,
|
|
25811
|
+
0x700: 0x10000000,
|
|
25812
|
+
0x800: 0x0,
|
|
25813
|
+
0x900: 0x10002008,
|
|
25814
|
+
0xa00: 0x202000,
|
|
25815
|
+
0xb00: 0x8,
|
|
25816
|
+
0xc00: 0x10200008,
|
|
25817
|
+
0xd00: 0x202008,
|
|
25818
|
+
0xe00: 0x2008,
|
|
25819
|
+
0xf00: 0x10202000,
|
|
25820
|
+
0x80: 0x10200000,
|
|
25821
|
+
0x180: 0x10202008,
|
|
25822
|
+
0x280: 0x8,
|
|
25823
|
+
0x380: 0x200000,
|
|
25824
|
+
0x480: 0x202008,
|
|
25825
|
+
0x580: 0x10000008,
|
|
25826
|
+
0x680: 0x10002000,
|
|
25827
|
+
0x780: 0x2008,
|
|
25828
|
+
0x880: 0x200008,
|
|
25829
|
+
0x980: 0x2000,
|
|
25830
|
+
0xa80: 0x10002008,
|
|
25831
|
+
0xb80: 0x10200008,
|
|
25832
|
+
0xc80: 0x0,
|
|
25833
|
+
0xd80: 0x10202000,
|
|
25834
|
+
0xe80: 0x202000,
|
|
25835
|
+
0xf80: 0x10000000,
|
|
25836
|
+
0x1000: 0x10002000,
|
|
25837
|
+
0x1100: 0x10200008,
|
|
25838
|
+
0x1200: 0x10202008,
|
|
25839
|
+
0x1300: 0x2008,
|
|
25840
|
+
0x1400: 0x200000,
|
|
25841
|
+
0x1500: 0x10000000,
|
|
25842
|
+
0x1600: 0x10000008,
|
|
25843
|
+
0x1700: 0x202000,
|
|
25844
|
+
0x1800: 0x202008,
|
|
25845
|
+
0x1900: 0x0,
|
|
25846
|
+
0x1a00: 0x8,
|
|
25847
|
+
0x1b00: 0x10200000,
|
|
25848
|
+
0x1c00: 0x2000,
|
|
25849
|
+
0x1d00: 0x10002008,
|
|
25850
|
+
0x1e00: 0x10202000,
|
|
25851
|
+
0x1f00: 0x200008,
|
|
25852
|
+
0x1080: 0x8,
|
|
25853
|
+
0x1180: 0x202000,
|
|
25854
|
+
0x1280: 0x200000,
|
|
25855
|
+
0x1380: 0x10000008,
|
|
25856
|
+
0x1480: 0x10002000,
|
|
25857
|
+
0x1580: 0x2008,
|
|
25858
|
+
0x1680: 0x10202008,
|
|
25859
|
+
0x1780: 0x10200000,
|
|
25860
|
+
0x1880: 0x10202000,
|
|
25861
|
+
0x1980: 0x10200008,
|
|
25862
|
+
0x1a80: 0x2000,
|
|
25863
|
+
0x1b80: 0x202008,
|
|
25864
|
+
0x1c80: 0x200008,
|
|
25865
|
+
0x1d80: 0x0,
|
|
25866
|
+
0x1e80: 0x10000000,
|
|
25867
|
+
0x1f80: 0x10002008
|
|
25868
|
+
}, {
|
|
25869
|
+
0x0: 0x100000,
|
|
25870
|
+
0x10: 0x2000401,
|
|
25871
|
+
0x20: 0x400,
|
|
25872
|
+
0x30: 0x100401,
|
|
25873
|
+
0x40: 0x2100401,
|
|
25874
|
+
0x50: 0x0,
|
|
25875
|
+
0x60: 0x1,
|
|
25876
|
+
0x70: 0x2100001,
|
|
25877
|
+
0x80: 0x2000400,
|
|
25878
|
+
0x90: 0x100001,
|
|
25879
|
+
0xa0: 0x2000001,
|
|
25880
|
+
0xb0: 0x2100400,
|
|
25881
|
+
0xc0: 0x2100000,
|
|
25882
|
+
0xd0: 0x401,
|
|
25883
|
+
0xe0: 0x100400,
|
|
25884
|
+
0xf0: 0x2000000,
|
|
25885
|
+
0x8: 0x2100001,
|
|
25886
|
+
0x18: 0x0,
|
|
25887
|
+
0x28: 0x2000401,
|
|
25888
|
+
0x38: 0x2100400,
|
|
25889
|
+
0x48: 0x100000,
|
|
25890
|
+
0x58: 0x2000001,
|
|
25891
|
+
0x68: 0x2000000,
|
|
25892
|
+
0x78: 0x401,
|
|
25893
|
+
0x88: 0x100401,
|
|
25894
|
+
0x98: 0x2000400,
|
|
25895
|
+
0xa8: 0x2100000,
|
|
25896
|
+
0xb8: 0x100001,
|
|
25897
|
+
0xc8: 0x400,
|
|
25898
|
+
0xd8: 0x2100401,
|
|
25899
|
+
0xe8: 0x1,
|
|
25900
|
+
0xf8: 0x100400,
|
|
25901
|
+
0x100: 0x2000000,
|
|
25902
|
+
0x110: 0x100000,
|
|
25903
|
+
0x120: 0x2000401,
|
|
25904
|
+
0x130: 0x2100001,
|
|
25905
|
+
0x140: 0x100001,
|
|
25906
|
+
0x150: 0x2000400,
|
|
25907
|
+
0x160: 0x2100400,
|
|
25908
|
+
0x170: 0x100401,
|
|
25909
|
+
0x180: 0x401,
|
|
25910
|
+
0x190: 0x2100401,
|
|
25911
|
+
0x1a0: 0x100400,
|
|
25912
|
+
0x1b0: 0x1,
|
|
25913
|
+
0x1c0: 0x0,
|
|
25914
|
+
0x1d0: 0x2100000,
|
|
25915
|
+
0x1e0: 0x2000001,
|
|
25916
|
+
0x1f0: 0x400,
|
|
25917
|
+
0x108: 0x100400,
|
|
25918
|
+
0x118: 0x2000401,
|
|
25919
|
+
0x128: 0x2100001,
|
|
25920
|
+
0x138: 0x1,
|
|
25921
|
+
0x148: 0x2000000,
|
|
25922
|
+
0x158: 0x100000,
|
|
25923
|
+
0x168: 0x401,
|
|
25924
|
+
0x178: 0x2100400,
|
|
25925
|
+
0x188: 0x2000001,
|
|
25926
|
+
0x198: 0x2100000,
|
|
25927
|
+
0x1a8: 0x0,
|
|
25928
|
+
0x1b8: 0x2100401,
|
|
25929
|
+
0x1c8: 0x100401,
|
|
25930
|
+
0x1d8: 0x400,
|
|
25931
|
+
0x1e8: 0x2000400,
|
|
25932
|
+
0x1f8: 0x100001
|
|
25933
|
+
}, {
|
|
25934
|
+
0x0: 0x8000820,
|
|
25935
|
+
0x1: 0x20000,
|
|
25936
|
+
0x2: 0x8000000,
|
|
25937
|
+
0x3: 0x20,
|
|
25938
|
+
0x4: 0x20020,
|
|
25939
|
+
0x5: 0x8020820,
|
|
25940
|
+
0x6: 0x8020800,
|
|
25941
|
+
0x7: 0x800,
|
|
25942
|
+
0x8: 0x8020000,
|
|
25943
|
+
0x9: 0x8000800,
|
|
25944
|
+
0xa: 0x20800,
|
|
25945
|
+
0xb: 0x8020020,
|
|
25946
|
+
0xc: 0x820,
|
|
25947
|
+
0xd: 0x0,
|
|
25948
|
+
0xe: 0x8000020,
|
|
25949
|
+
0xf: 0x20820,
|
|
25950
|
+
0x80000000: 0x800,
|
|
25951
|
+
0x80000001: 0x8020820,
|
|
25952
|
+
0x80000002: 0x8000820,
|
|
25953
|
+
0x80000003: 0x8000000,
|
|
25954
|
+
0x80000004: 0x8020000,
|
|
25955
|
+
0x80000005: 0x20800,
|
|
25956
|
+
0x80000006: 0x20820,
|
|
25957
|
+
0x80000007: 0x20,
|
|
25958
|
+
0x80000008: 0x8000020,
|
|
25959
|
+
0x80000009: 0x820,
|
|
25960
|
+
0x8000000a: 0x20020,
|
|
25961
|
+
0x8000000b: 0x8020800,
|
|
25962
|
+
0x8000000c: 0x0,
|
|
25963
|
+
0x8000000d: 0x8020020,
|
|
25964
|
+
0x8000000e: 0x8000800,
|
|
25965
|
+
0x8000000f: 0x20000,
|
|
25966
|
+
0x10: 0x20820,
|
|
25967
|
+
0x11: 0x8020800,
|
|
25968
|
+
0x12: 0x20,
|
|
25969
|
+
0x13: 0x800,
|
|
25970
|
+
0x14: 0x8000800,
|
|
25971
|
+
0x15: 0x8000020,
|
|
25972
|
+
0x16: 0x8020020,
|
|
25973
|
+
0x17: 0x20000,
|
|
25974
|
+
0x18: 0x0,
|
|
25975
|
+
0x19: 0x20020,
|
|
25976
|
+
0x1a: 0x8020000,
|
|
25977
|
+
0x1b: 0x8000820,
|
|
25978
|
+
0x1c: 0x8020820,
|
|
25979
|
+
0x1d: 0x20800,
|
|
25980
|
+
0x1e: 0x820,
|
|
25981
|
+
0x1f: 0x8000000,
|
|
25982
|
+
0x80000010: 0x20000,
|
|
25983
|
+
0x80000011: 0x800,
|
|
25984
|
+
0x80000012: 0x8020020,
|
|
25985
|
+
0x80000013: 0x20820,
|
|
25986
|
+
0x80000014: 0x20,
|
|
25987
|
+
0x80000015: 0x8020000,
|
|
25988
|
+
0x80000016: 0x8000000,
|
|
25989
|
+
0x80000017: 0x8000820,
|
|
25990
|
+
0x80000018: 0x8020820,
|
|
25991
|
+
0x80000019: 0x8000020,
|
|
25992
|
+
0x8000001a: 0x8000800,
|
|
25993
|
+
0x8000001b: 0x0,
|
|
25994
|
+
0x8000001c: 0x20800,
|
|
25995
|
+
0x8000001d: 0x820,
|
|
25996
|
+
0x8000001e: 0x20020,
|
|
25997
|
+
0x8000001f: 0x8020800
|
|
25998
|
+
}];
|
|
25999
|
+
var SBOX_MASK = [0xf8000001, 0x1f800000, 0x01f80000, 0x001f8000, 0x0001f800, 0x00001f80, 0x000001f8, 0x8000001f];
|
|
26000
|
+
var DES = C_algo.DES = BlockCipher.extend({
|
|
26001
|
+
_doReset: function () {
|
|
26002
|
+
var key = this._key;
|
|
26003
|
+
var keyWords = key.words;
|
|
26004
|
+
var keyBits = [];
|
|
26005
|
+
for (var i = 0; i < 56; i++) {
|
|
26006
|
+
var keyBitPos = PC1[i] - 1;
|
|
26007
|
+
keyBits[i] = keyWords[keyBitPos >>> 5] >>> 31 - keyBitPos % 32 & 1;
|
|
26008
|
+
}
|
|
26009
|
+
var subKeys = this._subKeys = [];
|
|
26010
|
+
for (var nSubKey = 0; nSubKey < 16; nSubKey++) {
|
|
26011
|
+
var subKey = subKeys[nSubKey] = [];
|
|
26012
|
+
var bitShift = BIT_SHIFTS[nSubKey];
|
|
26013
|
+
for (var i = 0; i < 24; i++) {
|
|
26014
|
+
subKey[i / 6 | 0] |= keyBits[(PC2[i] - 1 + bitShift) % 28] << 31 - i % 6;
|
|
26015
|
+
subKey[4 + (i / 6 | 0)] |= keyBits[28 + (PC2[i + 24] - 1 + bitShift) % 28] << 31 - i % 6;
|
|
26016
|
+
}
|
|
26017
|
+
subKey[0] = subKey[0] << 1 | subKey[0] >>> 31;
|
|
26018
|
+
for (var i = 1; i < 7; i++) {
|
|
26019
|
+
subKey[i] = subKey[i] >>> (i - 1) * 4 + 3;
|
|
26020
|
+
}
|
|
26021
|
+
subKey[7] = subKey[7] << 5 | subKey[7] >>> 27;
|
|
26022
|
+
}
|
|
26023
|
+
var invSubKeys = this._invSubKeys = [];
|
|
26024
|
+
for (var i = 0; i < 16; i++) {
|
|
26025
|
+
invSubKeys[i] = subKeys[15 - i];
|
|
26026
|
+
}
|
|
26027
|
+
},
|
|
26028
|
+
encryptBlock: function (M, offset) {
|
|
26029
|
+
this._doCryptBlock(M, offset, this._subKeys);
|
|
26030
|
+
},
|
|
26031
|
+
decryptBlock: function (M, offset) {
|
|
26032
|
+
this._doCryptBlock(M, offset, this._invSubKeys);
|
|
26033
|
+
},
|
|
26034
|
+
_doCryptBlock: function (M, offset, subKeys) {
|
|
26035
|
+
this._lBlock = M[offset];
|
|
26036
|
+
this._rBlock = M[offset + 1];
|
|
26037
|
+
exchangeLR.call(this, 4, 0x0f0f0f0f);
|
|
26038
|
+
exchangeLR.call(this, 16, 0x0000ffff);
|
|
26039
|
+
exchangeRL.call(this, 2, 0x33333333);
|
|
26040
|
+
exchangeRL.call(this, 8, 0x00ff00ff);
|
|
26041
|
+
exchangeLR.call(this, 1, 0x55555555);
|
|
26042
|
+
for (var round = 0; round < 16; round++) {
|
|
26043
|
+
var subKey = subKeys[round];
|
|
26044
|
+
var lBlock = this._lBlock;
|
|
26045
|
+
var rBlock = this._rBlock;
|
|
26046
|
+
var f = 0;
|
|
26047
|
+
for (var i = 0; i < 8; i++) {
|
|
26048
|
+
f |= SBOX_P[i][((rBlock ^ subKey[i]) & SBOX_MASK[i]) >>> 0];
|
|
26049
|
+
}
|
|
26050
|
+
this._lBlock = rBlock;
|
|
26051
|
+
this._rBlock = lBlock ^ f;
|
|
26052
|
+
}
|
|
26053
|
+
var t = this._lBlock;
|
|
26054
|
+
this._lBlock = this._rBlock;
|
|
26055
|
+
this._rBlock = t;
|
|
26056
|
+
exchangeLR.call(this, 1, 0x55555555);
|
|
26057
|
+
exchangeRL.call(this, 8, 0x00ff00ff);
|
|
26058
|
+
exchangeRL.call(this, 2, 0x33333333);
|
|
26059
|
+
exchangeLR.call(this, 16, 0x0000ffff);
|
|
26060
|
+
exchangeLR.call(this, 4, 0x0f0f0f0f);
|
|
26061
|
+
M[offset] = this._lBlock;
|
|
26062
|
+
M[offset + 1] = this._rBlock;
|
|
26063
|
+
},
|
|
26064
|
+
keySize: 64 / 32,
|
|
26065
|
+
ivSize: 64 / 32,
|
|
26066
|
+
blockSize: 64 / 32
|
|
26067
|
+
});
|
|
26068
|
+
function exchangeLR(offset, mask) {
|
|
26069
|
+
var t = (this._lBlock >>> offset ^ this._rBlock) & mask;
|
|
26070
|
+
this._rBlock ^= t;
|
|
26071
|
+
this._lBlock ^= t << offset;
|
|
26072
|
+
}
|
|
26073
|
+
function exchangeRL(offset, mask) {
|
|
26074
|
+
var t = (this._rBlock >>> offset ^ this._lBlock) & mask;
|
|
26075
|
+
this._lBlock ^= t;
|
|
26076
|
+
this._rBlock ^= t << offset;
|
|
26077
|
+
}
|
|
26078
|
+
C.DES = BlockCipher._createHelper(DES);
|
|
26079
|
+
var TripleDES = C_algo.TripleDES = BlockCipher.extend({
|
|
26080
|
+
_doReset: function () {
|
|
26081
|
+
var key = this._key;
|
|
26082
|
+
var keyWords = key.words;
|
|
26083
|
+
if (keyWords.length !== 2 && keyWords.length !== 4 && keyWords.length < 6) {
|
|
26084
|
+
throw new Error('Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.');
|
|
26085
|
+
}
|
|
26086
|
+
var key1 = keyWords.slice(0, 2);
|
|
26087
|
+
var key2 = keyWords.length < 4 ? keyWords.slice(0, 2) : keyWords.slice(2, 4);
|
|
26088
|
+
var key3 = keyWords.length < 6 ? keyWords.slice(0, 2) : keyWords.slice(4, 6);
|
|
26089
|
+
this._des1 = DES.createEncryptor(WordArray.create(key1));
|
|
26090
|
+
this._des2 = DES.createEncryptor(WordArray.create(key2));
|
|
26091
|
+
this._des3 = DES.createEncryptor(WordArray.create(key3));
|
|
26092
|
+
},
|
|
26093
|
+
encryptBlock: function (M, offset) {
|
|
26094
|
+
this._des1.encryptBlock(M, offset);
|
|
26095
|
+
this._des2.decryptBlock(M, offset);
|
|
26096
|
+
this._des3.encryptBlock(M, offset);
|
|
26097
|
+
},
|
|
26098
|
+
decryptBlock: function (M, offset) {
|
|
26099
|
+
this._des3.decryptBlock(M, offset);
|
|
26100
|
+
this._des2.encryptBlock(M, offset);
|
|
26101
|
+
this._des1.decryptBlock(M, offset);
|
|
26102
|
+
},
|
|
26103
|
+
keySize: 192 / 32,
|
|
26104
|
+
ivSize: 64 / 32,
|
|
26105
|
+
blockSize: 64 / 32
|
|
26106
|
+
});
|
|
26107
|
+
C.TripleDES = BlockCipher._createHelper(TripleDES);
|
|
26108
|
+
})();
|
|
26109
|
+
return CryptoJS.TripleDES;
|
|
26110
|
+
});
|
|
26111
|
+
});
|
|
26112
|
+
|
|
26113
|
+
var rc4 = createCommonjsModule(function (module, exports) {
|
|
26114
|
+
(function (root, factory, undef) {
|
|
26115
|
+
{
|
|
26116
|
+
module.exports = exports = factory(core, encBase64, md5, evpkdf, cipherCore);
|
|
26117
|
+
}
|
|
26118
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
26119
|
+
(function () {
|
|
26120
|
+
var C = CryptoJS;
|
|
26121
|
+
var C_lib = C.lib;
|
|
26122
|
+
var StreamCipher = C_lib.StreamCipher;
|
|
26123
|
+
var C_algo = C.algo;
|
|
26124
|
+
var RC4 = C_algo.RC4 = StreamCipher.extend({
|
|
26125
|
+
_doReset: function () {
|
|
26126
|
+
var key = this._key;
|
|
26127
|
+
var keyWords = key.words;
|
|
26128
|
+
var keySigBytes = key.sigBytes;
|
|
26129
|
+
var S = this._S = [];
|
|
26130
|
+
for (var i = 0; i < 256; i++) {
|
|
26131
|
+
S[i] = i;
|
|
26132
|
+
}
|
|
26133
|
+
for (var i = 0, j = 0; i < 256; i++) {
|
|
26134
|
+
var keyByteIndex = i % keySigBytes;
|
|
26135
|
+
var keyByte = keyWords[keyByteIndex >>> 2] >>> 24 - keyByteIndex % 4 * 8 & 0xff;
|
|
26136
|
+
j = (j + S[i] + keyByte) % 256;
|
|
26137
|
+
var t = S[i];
|
|
26138
|
+
S[i] = S[j];
|
|
26139
|
+
S[j] = t;
|
|
26140
|
+
}
|
|
26141
|
+
this._i = this._j = 0;
|
|
26142
|
+
},
|
|
26143
|
+
_doProcessBlock: function (M, offset) {
|
|
26144
|
+
M[offset] ^= generateKeystreamWord.call(this);
|
|
26145
|
+
},
|
|
26146
|
+
keySize: 256 / 32,
|
|
26147
|
+
ivSize: 0
|
|
26148
|
+
});
|
|
26149
|
+
function generateKeystreamWord() {
|
|
26150
|
+
var S = this._S;
|
|
26151
|
+
var i = this._i;
|
|
26152
|
+
var j = this._j;
|
|
26153
|
+
var keystreamWord = 0;
|
|
26154
|
+
for (var n = 0; n < 4; n++) {
|
|
26155
|
+
i = (i + 1) % 256;
|
|
26156
|
+
j = (j + S[i]) % 256;
|
|
26157
|
+
var t = S[i];
|
|
26158
|
+
S[i] = S[j];
|
|
26159
|
+
S[j] = t;
|
|
26160
|
+
keystreamWord |= S[(S[i] + S[j]) % 256] << 24 - n * 8;
|
|
26161
|
+
}
|
|
26162
|
+
this._i = i;
|
|
26163
|
+
this._j = j;
|
|
26164
|
+
return keystreamWord;
|
|
26165
|
+
}
|
|
26166
|
+
C.RC4 = StreamCipher._createHelper(RC4);
|
|
26167
|
+
var RC4Drop = C_algo.RC4Drop = RC4.extend({
|
|
26168
|
+
cfg: RC4.cfg.extend({
|
|
26169
|
+
drop: 192
|
|
26170
|
+
}),
|
|
26171
|
+
_doReset: function () {
|
|
26172
|
+
RC4._doReset.call(this);
|
|
26173
|
+
for (var i = this.cfg.drop; i > 0; i--) {
|
|
26174
|
+
generateKeystreamWord.call(this);
|
|
26175
|
+
}
|
|
26176
|
+
}
|
|
26177
|
+
});
|
|
26178
|
+
C.RC4Drop = StreamCipher._createHelper(RC4Drop);
|
|
26179
|
+
})();
|
|
26180
|
+
return CryptoJS.RC4;
|
|
26181
|
+
});
|
|
26182
|
+
});
|
|
26183
|
+
|
|
26184
|
+
var rabbit = createCommonjsModule(function (module, exports) {
|
|
26185
|
+
(function (root, factory, undef) {
|
|
26186
|
+
{
|
|
26187
|
+
module.exports = exports = factory(core, encBase64, md5, evpkdf, cipherCore);
|
|
26188
|
+
}
|
|
26189
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
26190
|
+
(function () {
|
|
26191
|
+
var C = CryptoJS;
|
|
26192
|
+
var C_lib = C.lib;
|
|
26193
|
+
var StreamCipher = C_lib.StreamCipher;
|
|
26194
|
+
var C_algo = C.algo;
|
|
26195
|
+
var S = [];
|
|
26196
|
+
var C_ = [];
|
|
26197
|
+
var G = [];
|
|
26198
|
+
var Rabbit = C_algo.Rabbit = StreamCipher.extend({
|
|
26199
|
+
_doReset: function () {
|
|
26200
|
+
var K = this._key.words;
|
|
26201
|
+
var iv = this.cfg.iv;
|
|
26202
|
+
for (var i = 0; i < 4; i++) {
|
|
26203
|
+
K[i] = (K[i] << 8 | K[i] >>> 24) & 0x00ff00ff | (K[i] << 24 | K[i] >>> 8) & 0xff00ff00;
|
|
26204
|
+
}
|
|
26205
|
+
var X = this._X = [K[0], K[3] << 16 | K[2] >>> 16, K[1], K[0] << 16 | K[3] >>> 16, K[2], K[1] << 16 | K[0] >>> 16, K[3], K[2] << 16 | K[1] >>> 16];
|
|
26206
|
+
var C = this._C = [K[2] << 16 | K[2] >>> 16, K[0] & 0xffff0000 | K[1] & 0x0000ffff, K[3] << 16 | K[3] >>> 16, K[1] & 0xffff0000 | K[2] & 0x0000ffff, K[0] << 16 | K[0] >>> 16, K[2] & 0xffff0000 | K[3] & 0x0000ffff, K[1] << 16 | K[1] >>> 16, K[3] & 0xffff0000 | K[0] & 0x0000ffff];
|
|
26207
|
+
this._b = 0;
|
|
26208
|
+
for (var i = 0; i < 4; i++) {
|
|
26209
|
+
nextState.call(this);
|
|
26210
|
+
}
|
|
26211
|
+
for (var i = 0; i < 8; i++) {
|
|
26212
|
+
C[i] ^= X[i + 4 & 7];
|
|
26213
|
+
}
|
|
26214
|
+
if (iv) {
|
|
26215
|
+
var IV = iv.words;
|
|
26216
|
+
var IV_0 = IV[0];
|
|
26217
|
+
var IV_1 = IV[1];
|
|
26218
|
+
var i0 = (IV_0 << 8 | IV_0 >>> 24) & 0x00ff00ff | (IV_0 << 24 | IV_0 >>> 8) & 0xff00ff00;
|
|
26219
|
+
var i2 = (IV_1 << 8 | IV_1 >>> 24) & 0x00ff00ff | (IV_1 << 24 | IV_1 >>> 8) & 0xff00ff00;
|
|
26220
|
+
var i1 = i0 >>> 16 | i2 & 0xffff0000;
|
|
26221
|
+
var i3 = i2 << 16 | i0 & 0x0000ffff;
|
|
26222
|
+
C[0] ^= i0;
|
|
26223
|
+
C[1] ^= i1;
|
|
26224
|
+
C[2] ^= i2;
|
|
26225
|
+
C[3] ^= i3;
|
|
26226
|
+
C[4] ^= i0;
|
|
26227
|
+
C[5] ^= i1;
|
|
26228
|
+
C[6] ^= i2;
|
|
26229
|
+
C[7] ^= i3;
|
|
26230
|
+
for (var i = 0; i < 4; i++) {
|
|
26231
|
+
nextState.call(this);
|
|
26232
|
+
}
|
|
26233
|
+
}
|
|
26234
|
+
},
|
|
26235
|
+
_doProcessBlock: function (M, offset) {
|
|
26236
|
+
var X = this._X;
|
|
26237
|
+
nextState.call(this);
|
|
26238
|
+
S[0] = X[0] ^ X[5] >>> 16 ^ X[3] << 16;
|
|
26239
|
+
S[1] = X[2] ^ X[7] >>> 16 ^ X[5] << 16;
|
|
26240
|
+
S[2] = X[4] ^ X[1] >>> 16 ^ X[7] << 16;
|
|
26241
|
+
S[3] = X[6] ^ X[3] >>> 16 ^ X[1] << 16;
|
|
26242
|
+
for (var i = 0; i < 4; i++) {
|
|
26243
|
+
S[i] = (S[i] << 8 | S[i] >>> 24) & 0x00ff00ff | (S[i] << 24 | S[i] >>> 8) & 0xff00ff00;
|
|
26244
|
+
M[offset + i] ^= S[i];
|
|
26245
|
+
}
|
|
26246
|
+
},
|
|
26247
|
+
blockSize: 128 / 32,
|
|
26248
|
+
ivSize: 64 / 32
|
|
26249
|
+
});
|
|
26250
|
+
function nextState() {
|
|
26251
|
+
var X = this._X;
|
|
26252
|
+
var C = this._C;
|
|
26253
|
+
for (var i = 0; i < 8; i++) {
|
|
26254
|
+
C_[i] = C[i];
|
|
26255
|
+
}
|
|
26256
|
+
C[0] = C[0] + 0x4d34d34d + this._b | 0;
|
|
26257
|
+
C[1] = C[1] + 0xd34d34d3 + (C[0] >>> 0 < C_[0] >>> 0 ? 1 : 0) | 0;
|
|
26258
|
+
C[2] = C[2] + 0x34d34d34 + (C[1] >>> 0 < C_[1] >>> 0 ? 1 : 0) | 0;
|
|
26259
|
+
C[3] = C[3] + 0x4d34d34d + (C[2] >>> 0 < C_[2] >>> 0 ? 1 : 0) | 0;
|
|
26260
|
+
C[4] = C[4] + 0xd34d34d3 + (C[3] >>> 0 < C_[3] >>> 0 ? 1 : 0) | 0;
|
|
26261
|
+
C[5] = C[5] + 0x34d34d34 + (C[4] >>> 0 < C_[4] >>> 0 ? 1 : 0) | 0;
|
|
26262
|
+
C[6] = C[6] + 0x4d34d34d + (C[5] >>> 0 < C_[5] >>> 0 ? 1 : 0) | 0;
|
|
26263
|
+
C[7] = C[7] + 0xd34d34d3 + (C[6] >>> 0 < C_[6] >>> 0 ? 1 : 0) | 0;
|
|
26264
|
+
this._b = C[7] >>> 0 < C_[7] >>> 0 ? 1 : 0;
|
|
26265
|
+
for (var i = 0; i < 8; i++) {
|
|
26266
|
+
var gx = X[i] + C[i];
|
|
26267
|
+
var ga = gx & 0xffff;
|
|
26268
|
+
var gb = gx >>> 16;
|
|
26269
|
+
var gh = ((ga * ga >>> 17) + ga * gb >>> 15) + gb * gb;
|
|
26270
|
+
var gl = ((gx & 0xffff0000) * gx | 0) + ((gx & 0x0000ffff) * gx | 0);
|
|
26271
|
+
G[i] = gh ^ gl;
|
|
26272
|
+
}
|
|
26273
|
+
X[0] = G[0] + (G[7] << 16 | G[7] >>> 16) + (G[6] << 16 | G[6] >>> 16) | 0;
|
|
26274
|
+
X[1] = G[1] + (G[0] << 8 | G[0] >>> 24) + G[7] | 0;
|
|
26275
|
+
X[2] = G[2] + (G[1] << 16 | G[1] >>> 16) + (G[0] << 16 | G[0] >>> 16) | 0;
|
|
26276
|
+
X[3] = G[3] + (G[2] << 8 | G[2] >>> 24) + G[1] | 0;
|
|
26277
|
+
X[4] = G[4] + (G[3] << 16 | G[3] >>> 16) + (G[2] << 16 | G[2] >>> 16) | 0;
|
|
26278
|
+
X[5] = G[5] + (G[4] << 8 | G[4] >>> 24) + G[3] | 0;
|
|
26279
|
+
X[6] = G[6] + (G[5] << 16 | G[5] >>> 16) + (G[4] << 16 | G[4] >>> 16) | 0;
|
|
26280
|
+
X[7] = G[7] + (G[6] << 8 | G[6] >>> 24) + G[5] | 0;
|
|
26281
|
+
}
|
|
26282
|
+
C.Rabbit = StreamCipher._createHelper(Rabbit);
|
|
26283
|
+
})();
|
|
26284
|
+
return CryptoJS.Rabbit;
|
|
26285
|
+
});
|
|
26286
|
+
});
|
|
26287
|
+
|
|
26288
|
+
var rabbitLegacy = createCommonjsModule(function (module, exports) {
|
|
26289
|
+
(function (root, factory, undef) {
|
|
26290
|
+
{
|
|
26291
|
+
module.exports = exports = factory(core, encBase64, md5, evpkdf, cipherCore);
|
|
26292
|
+
}
|
|
26293
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
26294
|
+
(function () {
|
|
26295
|
+
var C = CryptoJS;
|
|
26296
|
+
var C_lib = C.lib;
|
|
26297
|
+
var StreamCipher = C_lib.StreamCipher;
|
|
26298
|
+
var C_algo = C.algo;
|
|
26299
|
+
var S = [];
|
|
26300
|
+
var C_ = [];
|
|
26301
|
+
var G = [];
|
|
26302
|
+
var RabbitLegacy = C_algo.RabbitLegacy = StreamCipher.extend({
|
|
26303
|
+
_doReset: function () {
|
|
26304
|
+
var K = this._key.words;
|
|
26305
|
+
var iv = this.cfg.iv;
|
|
26306
|
+
var X = this._X = [K[0], K[3] << 16 | K[2] >>> 16, K[1], K[0] << 16 | K[3] >>> 16, K[2], K[1] << 16 | K[0] >>> 16, K[3], K[2] << 16 | K[1] >>> 16];
|
|
26307
|
+
var C = this._C = [K[2] << 16 | K[2] >>> 16, K[0] & 0xffff0000 | K[1] & 0x0000ffff, K[3] << 16 | K[3] >>> 16, K[1] & 0xffff0000 | K[2] & 0x0000ffff, K[0] << 16 | K[0] >>> 16, K[2] & 0xffff0000 | K[3] & 0x0000ffff, K[1] << 16 | K[1] >>> 16, K[3] & 0xffff0000 | K[0] & 0x0000ffff];
|
|
26308
|
+
this._b = 0;
|
|
26309
|
+
for (var i = 0; i < 4; i++) {
|
|
26310
|
+
nextState.call(this);
|
|
26311
|
+
}
|
|
26312
|
+
for (var i = 0; i < 8; i++) {
|
|
26313
|
+
C[i] ^= X[i + 4 & 7];
|
|
26314
|
+
}
|
|
26315
|
+
if (iv) {
|
|
26316
|
+
var IV = iv.words;
|
|
26317
|
+
var IV_0 = IV[0];
|
|
26318
|
+
var IV_1 = IV[1];
|
|
26319
|
+
var i0 = (IV_0 << 8 | IV_0 >>> 24) & 0x00ff00ff | (IV_0 << 24 | IV_0 >>> 8) & 0xff00ff00;
|
|
26320
|
+
var i2 = (IV_1 << 8 | IV_1 >>> 24) & 0x00ff00ff | (IV_1 << 24 | IV_1 >>> 8) & 0xff00ff00;
|
|
26321
|
+
var i1 = i0 >>> 16 | i2 & 0xffff0000;
|
|
26322
|
+
var i3 = i2 << 16 | i0 & 0x0000ffff;
|
|
26323
|
+
C[0] ^= i0;
|
|
26324
|
+
C[1] ^= i1;
|
|
26325
|
+
C[2] ^= i2;
|
|
26326
|
+
C[3] ^= i3;
|
|
26327
|
+
C[4] ^= i0;
|
|
26328
|
+
C[5] ^= i1;
|
|
26329
|
+
C[6] ^= i2;
|
|
26330
|
+
C[7] ^= i3;
|
|
26331
|
+
for (var i = 0; i < 4; i++) {
|
|
26332
|
+
nextState.call(this);
|
|
26333
|
+
}
|
|
26334
|
+
}
|
|
26335
|
+
},
|
|
26336
|
+
_doProcessBlock: function (M, offset) {
|
|
26337
|
+
var X = this._X;
|
|
26338
|
+
nextState.call(this);
|
|
26339
|
+
S[0] = X[0] ^ X[5] >>> 16 ^ X[3] << 16;
|
|
26340
|
+
S[1] = X[2] ^ X[7] >>> 16 ^ X[5] << 16;
|
|
26341
|
+
S[2] = X[4] ^ X[1] >>> 16 ^ X[7] << 16;
|
|
26342
|
+
S[3] = X[6] ^ X[3] >>> 16 ^ X[1] << 16;
|
|
26343
|
+
for (var i = 0; i < 4; i++) {
|
|
26344
|
+
S[i] = (S[i] << 8 | S[i] >>> 24) & 0x00ff00ff | (S[i] << 24 | S[i] >>> 8) & 0xff00ff00;
|
|
26345
|
+
M[offset + i] ^= S[i];
|
|
26346
|
+
}
|
|
26347
|
+
},
|
|
26348
|
+
blockSize: 128 / 32,
|
|
26349
|
+
ivSize: 64 / 32
|
|
26350
|
+
});
|
|
26351
|
+
function nextState() {
|
|
26352
|
+
var X = this._X;
|
|
26353
|
+
var C = this._C;
|
|
26354
|
+
for (var i = 0; i < 8; i++) {
|
|
26355
|
+
C_[i] = C[i];
|
|
26356
|
+
}
|
|
26357
|
+
C[0] = C[0] + 0x4d34d34d + this._b | 0;
|
|
26358
|
+
C[1] = C[1] + 0xd34d34d3 + (C[0] >>> 0 < C_[0] >>> 0 ? 1 : 0) | 0;
|
|
26359
|
+
C[2] = C[2] + 0x34d34d34 + (C[1] >>> 0 < C_[1] >>> 0 ? 1 : 0) | 0;
|
|
26360
|
+
C[3] = C[3] + 0x4d34d34d + (C[2] >>> 0 < C_[2] >>> 0 ? 1 : 0) | 0;
|
|
26361
|
+
C[4] = C[4] + 0xd34d34d3 + (C[3] >>> 0 < C_[3] >>> 0 ? 1 : 0) | 0;
|
|
26362
|
+
C[5] = C[5] + 0x34d34d34 + (C[4] >>> 0 < C_[4] >>> 0 ? 1 : 0) | 0;
|
|
26363
|
+
C[6] = C[6] + 0x4d34d34d + (C[5] >>> 0 < C_[5] >>> 0 ? 1 : 0) | 0;
|
|
26364
|
+
C[7] = C[7] + 0xd34d34d3 + (C[6] >>> 0 < C_[6] >>> 0 ? 1 : 0) | 0;
|
|
26365
|
+
this._b = C[7] >>> 0 < C_[7] >>> 0 ? 1 : 0;
|
|
26366
|
+
for (var i = 0; i < 8; i++) {
|
|
26367
|
+
var gx = X[i] + C[i];
|
|
26368
|
+
var ga = gx & 0xffff;
|
|
26369
|
+
var gb = gx >>> 16;
|
|
26370
|
+
var gh = ((ga * ga >>> 17) + ga * gb >>> 15) + gb * gb;
|
|
26371
|
+
var gl = ((gx & 0xffff0000) * gx | 0) + ((gx & 0x0000ffff) * gx | 0);
|
|
26372
|
+
G[i] = gh ^ gl;
|
|
26373
|
+
}
|
|
26374
|
+
X[0] = G[0] + (G[7] << 16 | G[7] >>> 16) + (G[6] << 16 | G[6] >>> 16) | 0;
|
|
26375
|
+
X[1] = G[1] + (G[0] << 8 | G[0] >>> 24) + G[7] | 0;
|
|
26376
|
+
X[2] = G[2] + (G[1] << 16 | G[1] >>> 16) + (G[0] << 16 | G[0] >>> 16) | 0;
|
|
26377
|
+
X[3] = G[3] + (G[2] << 8 | G[2] >>> 24) + G[1] | 0;
|
|
26378
|
+
X[4] = G[4] + (G[3] << 16 | G[3] >>> 16) + (G[2] << 16 | G[2] >>> 16) | 0;
|
|
26379
|
+
X[5] = G[5] + (G[4] << 8 | G[4] >>> 24) + G[3] | 0;
|
|
26380
|
+
X[6] = G[6] + (G[5] << 16 | G[5] >>> 16) + (G[4] << 16 | G[4] >>> 16) | 0;
|
|
26381
|
+
X[7] = G[7] + (G[6] << 8 | G[6] >>> 24) + G[5] | 0;
|
|
26382
|
+
}
|
|
26383
|
+
C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy);
|
|
26384
|
+
})();
|
|
26385
|
+
return CryptoJS.RabbitLegacy;
|
|
26386
|
+
});
|
|
26387
|
+
});
|
|
26388
|
+
|
|
26389
|
+
var blowfish = createCommonjsModule(function (module, exports) {
|
|
26390
|
+
(function (root, factory, undef) {
|
|
26391
|
+
{
|
|
26392
|
+
module.exports = exports = factory(core, encBase64, md5, evpkdf, cipherCore);
|
|
26393
|
+
}
|
|
26394
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
26395
|
+
(function () {
|
|
26396
|
+
var C = CryptoJS;
|
|
26397
|
+
var C_lib = C.lib;
|
|
26398
|
+
var BlockCipher = C_lib.BlockCipher;
|
|
26399
|
+
var C_algo = C.algo;
|
|
26400
|
+
const N = 16;
|
|
26401
|
+
const ORIG_P = [0x243F6A88, 0x85A308D3, 0x13198A2E, 0x03707344, 0xA4093822, 0x299F31D0, 0x082EFA98, 0xEC4E6C89, 0x452821E6, 0x38D01377, 0xBE5466CF, 0x34E90C6C, 0xC0AC29B7, 0xC97C50DD, 0x3F84D5B5, 0xB5470917, 0x9216D5D9, 0x8979FB1B];
|
|
26402
|
+
const ORIG_S = [[0xD1310BA6, 0x98DFB5AC, 0x2FFD72DB, 0xD01ADFB7, 0xB8E1AFED, 0x6A267E96, 0xBA7C9045, 0xF12C7F99, 0x24A19947, 0xB3916CF7, 0x0801F2E2, 0x858EFC16, 0x636920D8, 0x71574E69, 0xA458FEA3, 0xF4933D7E, 0x0D95748F, 0x728EB658, 0x718BCD58, 0x82154AEE, 0x7B54A41D, 0xC25A59B5, 0x9C30D539, 0x2AF26013, 0xC5D1B023, 0x286085F0, 0xCA417918, 0xB8DB38EF, 0x8E79DCB0, 0x603A180E, 0x6C9E0E8B, 0xB01E8A3E, 0xD71577C1, 0xBD314B27, 0x78AF2FDA, 0x55605C60, 0xE65525F3, 0xAA55AB94, 0x57489862, 0x63E81440, 0x55CA396A, 0x2AAB10B6, 0xB4CC5C34, 0x1141E8CE, 0xA15486AF, 0x7C72E993, 0xB3EE1411, 0x636FBC2A, 0x2BA9C55D, 0x741831F6, 0xCE5C3E16, 0x9B87931E, 0xAFD6BA33, 0x6C24CF5C, 0x7A325381, 0x28958677, 0x3B8F4898, 0x6B4BB9AF, 0xC4BFE81B, 0x66282193, 0x61D809CC, 0xFB21A991, 0x487CAC60, 0x5DEC8032, 0xEF845D5D, 0xE98575B1, 0xDC262302, 0xEB651B88, 0x23893E81, 0xD396ACC5, 0x0F6D6FF3, 0x83F44239, 0x2E0B4482, 0xA4842004, 0x69C8F04A, 0x9E1F9B5E, 0x21C66842, 0xF6E96C9A, 0x670C9C61, 0xABD388F0, 0x6A51A0D2, 0xD8542F68, 0x960FA728, 0xAB5133A3, 0x6EEF0B6C, 0x137A3BE4, 0xBA3BF050, 0x7EFB2A98, 0xA1F1651D, 0x39AF0176, 0x66CA593E, 0x82430E88, 0x8CEE8619, 0x456F9FB4, 0x7D84A5C3, 0x3B8B5EBE, 0xE06F75D8, 0x85C12073, 0x401A449F, 0x56C16AA6, 0x4ED3AA62, 0x363F7706, 0x1BFEDF72, 0x429B023D, 0x37D0D724, 0xD00A1248, 0xDB0FEAD3, 0x49F1C09B, 0x075372C9, 0x80991B7B, 0x25D479D8, 0xF6E8DEF7, 0xE3FE501A, 0xB6794C3B, 0x976CE0BD, 0x04C006BA, 0xC1A94FB6, 0x409F60C4, 0x5E5C9EC2, 0x196A2463, 0x68FB6FAF, 0x3E6C53B5, 0x1339B2EB, 0x3B52EC6F, 0x6DFC511F, 0x9B30952C, 0xCC814544, 0xAF5EBD09, 0xBEE3D004, 0xDE334AFD, 0x660F2807, 0x192E4BB3, 0xC0CBA857, 0x45C8740F, 0xD20B5F39, 0xB9D3FBDB, 0x5579C0BD, 0x1A60320A, 0xD6A100C6, 0x402C7279, 0x679F25FE, 0xFB1FA3CC, 0x8EA5E9F8, 0xDB3222F8, 0x3C7516DF, 0xFD616B15, 0x2F501EC8, 0xAD0552AB, 0x323DB5FA, 0xFD238760, 0x53317B48, 0x3E00DF82, 0x9E5C57BB, 0xCA6F8CA0, 0x1A87562E, 0xDF1769DB, 0xD542A8F6, 0x287EFFC3, 0xAC6732C6, 0x8C4F5573, 0x695B27B0, 0xBBCA58C8, 0xE1FFA35D, 0xB8F011A0, 0x10FA3D98, 0xFD2183B8, 0x4AFCB56C, 0x2DD1D35B, 0x9A53E479, 0xB6F84565, 0xD28E49BC, 0x4BFB9790, 0xE1DDF2DA, 0xA4CB7E33, 0x62FB1341, 0xCEE4C6E8, 0xEF20CADA, 0x36774C01, 0xD07E9EFE, 0x2BF11FB4, 0x95DBDA4D, 0xAE909198, 0xEAAD8E71, 0x6B93D5A0, 0xD08ED1D0, 0xAFC725E0, 0x8E3C5B2F, 0x8E7594B7, 0x8FF6E2FB, 0xF2122B64, 0x8888B812, 0x900DF01C, 0x4FAD5EA0, 0x688FC31C, 0xD1CFF191, 0xB3A8C1AD, 0x2F2F2218, 0xBE0E1777, 0xEA752DFE, 0x8B021FA1, 0xE5A0CC0F, 0xB56F74E8, 0x18ACF3D6, 0xCE89E299, 0xB4A84FE0, 0xFD13E0B7, 0x7CC43B81, 0xD2ADA8D9, 0x165FA266, 0x80957705, 0x93CC7314, 0x211A1477, 0xE6AD2065, 0x77B5FA86, 0xC75442F5, 0xFB9D35CF, 0xEBCDAF0C, 0x7B3E89A0, 0xD6411BD3, 0xAE1E7E49, 0x00250E2D, 0x2071B35E, 0x226800BB, 0x57B8E0AF, 0x2464369B, 0xF009B91E, 0x5563911D, 0x59DFA6AA, 0x78C14389, 0xD95A537F, 0x207D5BA2, 0x02E5B9C5, 0x83260376, 0x6295CFA9, 0x11C81968, 0x4E734A41, 0xB3472DCA, 0x7B14A94A, 0x1B510052, 0x9A532915, 0xD60F573F, 0xBC9BC6E4, 0x2B60A476, 0x81E67400, 0x08BA6FB5, 0x571BE91F, 0xF296EC6B, 0x2A0DD915, 0xB6636521, 0xE7B9F9B6, 0xFF34052E, 0xC5855664, 0x53B02D5D, 0xA99F8FA1, 0x08BA4799, 0x6E85076A], [0x4B7A70E9, 0xB5B32944, 0xDB75092E, 0xC4192623, 0xAD6EA6B0, 0x49A7DF7D, 0x9CEE60B8, 0x8FEDB266, 0xECAA8C71, 0x699A17FF, 0x5664526C, 0xC2B19EE1, 0x193602A5, 0x75094C29, 0xA0591340, 0xE4183A3E, 0x3F54989A, 0x5B429D65, 0x6B8FE4D6, 0x99F73FD6, 0xA1D29C07, 0xEFE830F5, 0x4D2D38E6, 0xF0255DC1, 0x4CDD2086, 0x8470EB26, 0x6382E9C6, 0x021ECC5E, 0x09686B3F, 0x3EBAEFC9, 0x3C971814, 0x6B6A70A1, 0x687F3584, 0x52A0E286, 0xB79C5305, 0xAA500737, 0x3E07841C, 0x7FDEAE5C, 0x8E7D44EC, 0x5716F2B8, 0xB03ADA37, 0xF0500C0D, 0xF01C1F04, 0x0200B3FF, 0xAE0CF51A, 0x3CB574B2, 0x25837A58, 0xDC0921BD, 0xD19113F9, 0x7CA92FF6, 0x94324773, 0x22F54701, 0x3AE5E581, 0x37C2DADC, 0xC8B57634, 0x9AF3DDA7, 0xA9446146, 0x0FD0030E, 0xECC8C73E, 0xA4751E41, 0xE238CD99, 0x3BEA0E2F, 0x3280BBA1, 0x183EB331, 0x4E548B38, 0x4F6DB908, 0x6F420D03, 0xF60A04BF, 0x2CB81290, 0x24977C79, 0x5679B072, 0xBCAF89AF, 0xDE9A771F, 0xD9930810, 0xB38BAE12, 0xDCCF3F2E, 0x5512721F, 0x2E6B7124, 0x501ADDE6, 0x9F84CD87, 0x7A584718, 0x7408DA17, 0xBC9F9ABC, 0xE94B7D8C, 0xEC7AEC3A, 0xDB851DFA, 0x63094366, 0xC464C3D2, 0xEF1C1847, 0x3215D908, 0xDD433B37, 0x24C2BA16, 0x12A14D43, 0x2A65C451, 0x50940002, 0x133AE4DD, 0x71DFF89E, 0x10314E55, 0x81AC77D6, 0x5F11199B, 0x043556F1, 0xD7A3C76B, 0x3C11183B, 0x5924A509, 0xF28FE6ED, 0x97F1FBFA, 0x9EBABF2C, 0x1E153C6E, 0x86E34570, 0xEAE96FB1, 0x860E5E0A, 0x5A3E2AB3, 0x771FE71C, 0x4E3D06FA, 0x2965DCB9, 0x99E71D0F, 0x803E89D6, 0x5266C825, 0x2E4CC978, 0x9C10B36A, 0xC6150EBA, 0x94E2EA78, 0xA5FC3C53, 0x1E0A2DF4, 0xF2F74EA7, 0x361D2B3D, 0x1939260F, 0x19C27960, 0x5223A708, 0xF71312B6, 0xEBADFE6E, 0xEAC31F66, 0xE3BC4595, 0xA67BC883, 0xB17F37D1, 0x018CFF28, 0xC332DDEF, 0xBE6C5AA5, 0x65582185, 0x68AB9802, 0xEECEA50F, 0xDB2F953B, 0x2AEF7DAD, 0x5B6E2F84, 0x1521B628, 0x29076170, 0xECDD4775, 0x619F1510, 0x13CCA830, 0xEB61BD96, 0x0334FE1E, 0xAA0363CF, 0xB5735C90, 0x4C70A239, 0xD59E9E0B, 0xCBAADE14, 0xEECC86BC, 0x60622CA7, 0x9CAB5CAB, 0xB2F3846E, 0x648B1EAF, 0x19BDF0CA, 0xA02369B9, 0x655ABB50, 0x40685A32, 0x3C2AB4B3, 0x319EE9D5, 0xC021B8F7, 0x9B540B19, 0x875FA099, 0x95F7997E, 0x623D7DA8, 0xF837889A, 0x97E32D77, 0x11ED935F, 0x16681281, 0x0E358829, 0xC7E61FD6, 0x96DEDFA1, 0x7858BA99, 0x57F584A5, 0x1B227263, 0x9B83C3FF, 0x1AC24696, 0xCDB30AEB, 0x532E3054, 0x8FD948E4, 0x6DBC3128, 0x58EBF2EF, 0x34C6FFEA, 0xFE28ED61, 0xEE7C3C73, 0x5D4A14D9, 0xE864B7E3, 0x42105D14, 0x203E13E0, 0x45EEE2B6, 0xA3AAABEA, 0xDB6C4F15, 0xFACB4FD0, 0xC742F442, 0xEF6ABBB5, 0x654F3B1D, 0x41CD2105, 0xD81E799E, 0x86854DC7, 0xE44B476A, 0x3D816250, 0xCF62A1F2, 0x5B8D2646, 0xFC8883A0, 0xC1C7B6A3, 0x7F1524C3, 0x69CB7492, 0x47848A0B, 0x5692B285, 0x095BBF00, 0xAD19489D, 0x1462B174, 0x23820E00, 0x58428D2A, 0x0C55F5EA, 0x1DADF43E, 0x233F7061, 0x3372F092, 0x8D937E41, 0xD65FECF1, 0x6C223BDB, 0x7CDE3759, 0xCBEE7460, 0x4085F2A7, 0xCE77326E, 0xA6078084, 0x19F8509E, 0xE8EFD855, 0x61D99735, 0xA969A7AA, 0xC50C06C2, 0x5A04ABFC, 0x800BCADC, 0x9E447A2E, 0xC3453484, 0xFDD56705, 0x0E1E9EC9, 0xDB73DBD3, 0x105588CD, 0x675FDA79, 0xE3674340, 0xC5C43465, 0x713E38D8, 0x3D28F89E, 0xF16DFF20, 0x153E21E7, 0x8FB03D4A, 0xE6E39F2B, 0xDB83ADF7], [0xE93D5A68, 0x948140F7, 0xF64C261C, 0x94692934, 0x411520F7, 0x7602D4F7, 0xBCF46B2E, 0xD4A20068, 0xD4082471, 0x3320F46A, 0x43B7D4B7, 0x500061AF, 0x1E39F62E, 0x97244546, 0x14214F74, 0xBF8B8840, 0x4D95FC1D, 0x96B591AF, 0x70F4DDD3, 0x66A02F45, 0xBFBC09EC, 0x03BD9785, 0x7FAC6DD0, 0x31CB8504, 0x96EB27B3, 0x55FD3941, 0xDA2547E6, 0xABCA0A9A, 0x28507825, 0x530429F4, 0x0A2C86DA, 0xE9B66DFB, 0x68DC1462, 0xD7486900, 0x680EC0A4, 0x27A18DEE, 0x4F3FFEA2, 0xE887AD8C, 0xB58CE006, 0x7AF4D6B6, 0xAACE1E7C, 0xD3375FEC, 0xCE78A399, 0x406B2A42, 0x20FE9E35, 0xD9F385B9, 0xEE39D7AB, 0x3B124E8B, 0x1DC9FAF7, 0x4B6D1856, 0x26A36631, 0xEAE397B2, 0x3A6EFA74, 0xDD5B4332, 0x6841E7F7, 0xCA7820FB, 0xFB0AF54E, 0xD8FEB397, 0x454056AC, 0xBA489527, 0x55533A3A, 0x20838D87, 0xFE6BA9B7, 0xD096954B, 0x55A867BC, 0xA1159A58, 0xCCA92963, 0x99E1DB33, 0xA62A4A56, 0x3F3125F9, 0x5EF47E1C, 0x9029317C, 0xFDF8E802, 0x04272F70, 0x80BB155C, 0x05282CE3, 0x95C11548, 0xE4C66D22, 0x48C1133F, 0xC70F86DC, 0x07F9C9EE, 0x41041F0F, 0x404779A4, 0x5D886E17, 0x325F51EB, 0xD59BC0D1, 0xF2BCC18F, 0x41113564, 0x257B7834, 0x602A9C60, 0xDFF8E8A3, 0x1F636C1B, 0x0E12B4C2, 0x02E1329E, 0xAF664FD1, 0xCAD18115, 0x6B2395E0, 0x333E92E1, 0x3B240B62, 0xEEBEB922, 0x85B2A20E, 0xE6BA0D99, 0xDE720C8C, 0x2DA2F728, 0xD0127845, 0x95B794FD, 0x647D0862, 0xE7CCF5F0, 0x5449A36F, 0x877D48FA, 0xC39DFD27, 0xF33E8D1E, 0x0A476341, 0x992EFF74, 0x3A6F6EAB, 0xF4F8FD37, 0xA812DC60, 0xA1EBDDF8, 0x991BE14C, 0xDB6E6B0D, 0xC67B5510, 0x6D672C37, 0x2765D43B, 0xDCD0E804, 0xF1290DC7, 0xCC00FFA3, 0xB5390F92, 0x690FED0B, 0x667B9FFB, 0xCEDB7D9C, 0xA091CF0B, 0xD9155EA3, 0xBB132F88, 0x515BAD24, 0x7B9479BF, 0x763BD6EB, 0x37392EB3, 0xCC115979, 0x8026E297, 0xF42E312D, 0x6842ADA7, 0xC66A2B3B, 0x12754CCC, 0x782EF11C, 0x6A124237, 0xB79251E7, 0x06A1BBE6, 0x4BFB6350, 0x1A6B1018, 0x11CAEDFA, 0x3D25BDD8, 0xE2E1C3C9, 0x44421659, 0x0A121386, 0xD90CEC6E, 0xD5ABEA2A, 0x64AF674E, 0xDA86A85F, 0xBEBFE988, 0x64E4C3FE, 0x9DBC8057, 0xF0F7C086, 0x60787BF8, 0x6003604D, 0xD1FD8346, 0xF6381FB0, 0x7745AE04, 0xD736FCCC, 0x83426B33, 0xF01EAB71, 0xB0804187, 0x3C005E5F, 0x77A057BE, 0xBDE8AE24, 0x55464299, 0xBF582E61, 0x4E58F48F, 0xF2DDFDA2, 0xF474EF38, 0x8789BDC2, 0x5366F9C3, 0xC8B38E74, 0xB475F255, 0x46FCD9B9, 0x7AEB2661, 0x8B1DDF84, 0x846A0E79, 0x915F95E2, 0x466E598E, 0x20B45770, 0x8CD55591, 0xC902DE4C, 0xB90BACE1, 0xBB8205D0, 0x11A86248, 0x7574A99E, 0xB77F19B6, 0xE0A9DC09, 0x662D09A1, 0xC4324633, 0xE85A1F02, 0x09F0BE8C, 0x4A99A025, 0x1D6EFE10, 0x1AB93D1D, 0x0BA5A4DF, 0xA186F20F, 0x2868F169, 0xDCB7DA83, 0x573906FE, 0xA1E2CE9B, 0x4FCD7F52, 0x50115E01, 0xA70683FA, 0xA002B5C4, 0x0DE6D027, 0x9AF88C27, 0x773F8641, 0xC3604C06, 0x61A806B5, 0xF0177A28, 0xC0F586E0, 0x006058AA, 0x30DC7D62, 0x11E69ED7, 0x2338EA63, 0x53C2DD94, 0xC2C21634, 0xBBCBEE56, 0x90BCB6DE, 0xEBFC7DA1, 0xCE591D76, 0x6F05E409, 0x4B7C0188, 0x39720A3D, 0x7C927C24, 0x86E3725F, 0x724D9DB9, 0x1AC15BB4, 0xD39EB8FC, 0xED545578, 0x08FCA5B5, 0xD83D7CD3, 0x4DAD0FC4, 0x1E50EF5E, 0xB161E6F8, 0xA28514D9, 0x6C51133C, 0x6FD5C7E7, 0x56E14EC4, 0x362ABFCE, 0xDDC6C837, 0xD79A3234, 0x92638212, 0x670EFA8E, 0x406000E0], [0x3A39CE37, 0xD3FAF5CF, 0xABC27737, 0x5AC52D1B, 0x5CB0679E, 0x4FA33742, 0xD3822740, 0x99BC9BBE, 0xD5118E9D, 0xBF0F7315, 0xD62D1C7E, 0xC700C47B, 0xB78C1B6B, 0x21A19045, 0xB26EB1BE, 0x6A366EB4, 0x5748AB2F, 0xBC946E79, 0xC6A376D2, 0x6549C2C8, 0x530FF8EE, 0x468DDE7D, 0xD5730A1D, 0x4CD04DC6, 0x2939BBDB, 0xA9BA4650, 0xAC9526E8, 0xBE5EE304, 0xA1FAD5F0, 0x6A2D519A, 0x63EF8CE2, 0x9A86EE22, 0xC089C2B8, 0x43242EF6, 0xA51E03AA, 0x9CF2D0A4, 0x83C061BA, 0x9BE96A4D, 0x8FE51550, 0xBA645BD6, 0x2826A2F9, 0xA73A3AE1, 0x4BA99586, 0xEF5562E9, 0xC72FEFD3, 0xF752F7DA, 0x3F046F69, 0x77FA0A59, 0x80E4A915, 0x87B08601, 0x9B09E6AD, 0x3B3EE593, 0xE990FD5A, 0x9E34D797, 0x2CF0B7D9, 0x022B8B51, 0x96D5AC3A, 0x017DA67D, 0xD1CF3ED6, 0x7C7D2D28, 0x1F9F25CF, 0xADF2B89B, 0x5AD6B472, 0x5A88F54C, 0xE029AC71, 0xE019A5E6, 0x47B0ACFD, 0xED93FA9B, 0xE8D3C48D, 0x283B57CC, 0xF8D56629, 0x79132E28, 0x785F0191, 0xED756055, 0xF7960E44, 0xE3D35E8C, 0x15056DD4, 0x88F46DBA, 0x03A16125, 0x0564F0BD, 0xC3EB9E15, 0x3C9057A2, 0x97271AEC, 0xA93A072A, 0x1B3F6D9B, 0x1E6321F5, 0xF59C66FB, 0x26DCF319, 0x7533D928, 0xB155FDF5, 0x03563482, 0x8ABA3CBB, 0x28517711, 0xC20AD9F8, 0xABCC5167, 0xCCAD925F, 0x4DE81751, 0x3830DC8E, 0x379D5862, 0x9320F991, 0xEA7A90C2, 0xFB3E7BCE, 0x5121CE64, 0x774FBE32, 0xA8B6E37E, 0xC3293D46, 0x48DE5369, 0x6413E680, 0xA2AE0810, 0xDD6DB224, 0x69852DFD, 0x09072166, 0xB39A460A, 0x6445C0DD, 0x586CDECF, 0x1C20C8AE, 0x5BBEF7DD, 0x1B588D40, 0xCCD2017F, 0x6BB4E3BB, 0xDDA26A7E, 0x3A59FF45, 0x3E350A44, 0xBCB4CDD5, 0x72EACEA8, 0xFA6484BB, 0x8D6612AE, 0xBF3C6F47, 0xD29BE463, 0x542F5D9E, 0xAEC2771B, 0xF64E6370, 0x740E0D8D, 0xE75B1357, 0xF8721671, 0xAF537D5D, 0x4040CB08, 0x4EB4E2CC, 0x34D2466A, 0x0115AF84, 0xE1B00428, 0x95983A1D, 0x06B89FB4, 0xCE6EA048, 0x6F3F3B82, 0x3520AB82, 0x011A1D4B, 0x277227F8, 0x611560B1, 0xE7933FDC, 0xBB3A792B, 0x344525BD, 0xA08839E1, 0x51CE794B, 0x2F32C9B7, 0xA01FBAC9, 0xE01CC87E, 0xBCC7D1F6, 0xCF0111C3, 0xA1E8AAC7, 0x1A908749, 0xD44FBD9A, 0xD0DADECB, 0xD50ADA38, 0x0339C32A, 0xC6913667, 0x8DF9317C, 0xE0B12B4F, 0xF79E59B7, 0x43F5BB3A, 0xF2D519FF, 0x27D9459C, 0xBF97222C, 0x15E6FC2A, 0x0F91FC71, 0x9B941525, 0xFAE59361, 0xCEB69CEB, 0xC2A86459, 0x12BAA8D1, 0xB6C1075E, 0xE3056A0C, 0x10D25065, 0xCB03A442, 0xE0EC6E0E, 0x1698DB3B, 0x4C98A0BE, 0x3278E964, 0x9F1F9532, 0xE0D392DF, 0xD3A0342B, 0x8971F21E, 0x1B0A7441, 0x4BA3348C, 0xC5BE7120, 0xC37632D8, 0xDF359F8D, 0x9B992F2E, 0xE60B6F47, 0x0FE3F11D, 0xE54CDA54, 0x1EDAD891, 0xCE6279CF, 0xCD3E7E6F, 0x1618B166, 0xFD2C1D05, 0x848FD2C5, 0xF6FB2299, 0xF523F357, 0xA6327623, 0x93A83531, 0x56CCCD02, 0xACF08162, 0x5A75EBB5, 0x6E163697, 0x88D273CC, 0xDE966292, 0x81B949D0, 0x4C50901B, 0x71C65614, 0xE6C6C7BD, 0x327A140A, 0x45E1D006, 0xC3F27B9A, 0xC9AA53FD, 0x62A80F00, 0xBB25BFE2, 0x35BDD2F6, 0x71126905, 0xB2040222, 0xB6CBCF7C, 0xCD769C2B, 0x53113EC0, 0x1640E3D3, 0x38ABBD60, 0x2547ADF0, 0xBA38209C, 0xF746CE76, 0x77AFA1C5, 0x20756060, 0x85CBFE4E, 0x8AE88DD8, 0x7AAAF9B0, 0x4CF9AA7E, 0x1948C25C, 0x02FB8A8C, 0x01C36AE4, 0xD6EBE1F9, 0x90D4F869, 0xA65CDEA0, 0x3F09252D, 0xC208E69F, 0xB74E6132, 0xCE77E25B, 0x578FDFE3, 0x3AC372E6]];
|
|
26403
|
+
var BLOWFISH_CTX = {
|
|
26404
|
+
pbox: [],
|
|
26405
|
+
sbox: []
|
|
26406
|
+
};
|
|
26407
|
+
function F(ctx, x) {
|
|
26408
|
+
let a = x >> 24 & 0xFF;
|
|
26409
|
+
let b = x >> 16 & 0xFF;
|
|
26410
|
+
let c = x >> 8 & 0xFF;
|
|
26411
|
+
let d = x & 0xFF;
|
|
26412
|
+
let y = ctx.sbox[0][a] + ctx.sbox[1][b];
|
|
26413
|
+
y = y ^ ctx.sbox[2][c];
|
|
26414
|
+
y = y + ctx.sbox[3][d];
|
|
26415
|
+
return y;
|
|
26416
|
+
}
|
|
26417
|
+
function BlowFish_Encrypt(ctx, left, right) {
|
|
26418
|
+
let Xl = left;
|
|
26419
|
+
let Xr = right;
|
|
26420
|
+
let temp;
|
|
26421
|
+
for (let i = 0; i < N; ++i) {
|
|
26422
|
+
Xl = Xl ^ ctx.pbox[i];
|
|
26423
|
+
Xr = F(ctx, Xl) ^ Xr;
|
|
26424
|
+
temp = Xl;
|
|
26425
|
+
Xl = Xr;
|
|
26426
|
+
Xr = temp;
|
|
26427
|
+
}
|
|
26428
|
+
temp = Xl;
|
|
26429
|
+
Xl = Xr;
|
|
26430
|
+
Xr = temp;
|
|
26431
|
+
Xr = Xr ^ ctx.pbox[N];
|
|
26432
|
+
Xl = Xl ^ ctx.pbox[N + 1];
|
|
26433
|
+
return {
|
|
26434
|
+
left: Xl,
|
|
26435
|
+
right: Xr
|
|
26436
|
+
};
|
|
26437
|
+
}
|
|
26438
|
+
function BlowFish_Decrypt(ctx, left, right) {
|
|
26439
|
+
let Xl = left;
|
|
26440
|
+
let Xr = right;
|
|
26441
|
+
let temp;
|
|
26442
|
+
for (let i = N + 1; i > 1; --i) {
|
|
26443
|
+
Xl = Xl ^ ctx.pbox[i];
|
|
26444
|
+
Xr = F(ctx, Xl) ^ Xr;
|
|
26445
|
+
temp = Xl;
|
|
26446
|
+
Xl = Xr;
|
|
26447
|
+
Xr = temp;
|
|
26448
|
+
}
|
|
26449
|
+
temp = Xl;
|
|
26450
|
+
Xl = Xr;
|
|
26451
|
+
Xr = temp;
|
|
26452
|
+
Xr = Xr ^ ctx.pbox[1];
|
|
26453
|
+
Xl = Xl ^ ctx.pbox[0];
|
|
26454
|
+
return {
|
|
26455
|
+
left: Xl,
|
|
26456
|
+
right: Xr
|
|
26457
|
+
};
|
|
26458
|
+
}
|
|
26459
|
+
function BlowFishInit(ctx, key, keysize) {
|
|
26460
|
+
for (let Row = 0; Row < 4; Row++) {
|
|
26461
|
+
ctx.sbox[Row] = [];
|
|
26462
|
+
for (let Col = 0; Col < 256; Col++) {
|
|
26463
|
+
ctx.sbox[Row][Col] = ORIG_S[Row][Col];
|
|
26464
|
+
}
|
|
26465
|
+
}
|
|
26466
|
+
let keyIndex = 0;
|
|
26467
|
+
for (let index = 0; index < N + 2; index++) {
|
|
26468
|
+
ctx.pbox[index] = ORIG_P[index] ^ key[keyIndex];
|
|
26469
|
+
keyIndex++;
|
|
26470
|
+
if (keyIndex >= keysize) {
|
|
26471
|
+
keyIndex = 0;
|
|
26472
|
+
}
|
|
26473
|
+
}
|
|
26474
|
+
let Data1 = 0;
|
|
26475
|
+
let Data2 = 0;
|
|
26476
|
+
let res = 0;
|
|
26477
|
+
for (let i = 0; i < N + 2; i += 2) {
|
|
26478
|
+
res = BlowFish_Encrypt(ctx, Data1, Data2);
|
|
26479
|
+
Data1 = res.left;
|
|
26480
|
+
Data2 = res.right;
|
|
26481
|
+
ctx.pbox[i] = Data1;
|
|
26482
|
+
ctx.pbox[i + 1] = Data2;
|
|
26483
|
+
}
|
|
26484
|
+
for (let i = 0; i < 4; i++) {
|
|
26485
|
+
for (let j = 0; j < 256; j += 2) {
|
|
26486
|
+
res = BlowFish_Encrypt(ctx, Data1, Data2);
|
|
26487
|
+
Data1 = res.left;
|
|
26488
|
+
Data2 = res.right;
|
|
26489
|
+
ctx.sbox[i][j] = Data1;
|
|
26490
|
+
ctx.sbox[i][j + 1] = Data2;
|
|
26491
|
+
}
|
|
26492
|
+
}
|
|
26493
|
+
return true;
|
|
26494
|
+
}
|
|
26495
|
+
var Blowfish = C_algo.Blowfish = BlockCipher.extend({
|
|
26496
|
+
_doReset: function () {
|
|
26497
|
+
if (this._keyPriorReset === this._key) {
|
|
26498
|
+
return;
|
|
26499
|
+
}
|
|
26500
|
+
var key = this._keyPriorReset = this._key;
|
|
26501
|
+
var keyWords = key.words;
|
|
26502
|
+
var keySize = key.sigBytes / 4;
|
|
26503
|
+
BlowFishInit(BLOWFISH_CTX, keyWords, keySize);
|
|
26504
|
+
},
|
|
26505
|
+
encryptBlock: function (M, offset) {
|
|
26506
|
+
var res = BlowFish_Encrypt(BLOWFISH_CTX, M[offset], M[offset + 1]);
|
|
26507
|
+
M[offset] = res.left;
|
|
26508
|
+
M[offset + 1] = res.right;
|
|
26509
|
+
},
|
|
26510
|
+
decryptBlock: function (M, offset) {
|
|
26511
|
+
var res = BlowFish_Decrypt(BLOWFISH_CTX, M[offset], M[offset + 1]);
|
|
26512
|
+
M[offset] = res.left;
|
|
26513
|
+
M[offset + 1] = res.right;
|
|
26514
|
+
},
|
|
26515
|
+
blockSize: 64 / 32,
|
|
26516
|
+
keySize: 128 / 32,
|
|
26517
|
+
ivSize: 64 / 32
|
|
26518
|
+
});
|
|
26519
|
+
C.Blowfish = BlockCipher._createHelper(Blowfish);
|
|
26520
|
+
})();
|
|
26521
|
+
return CryptoJS.Blowfish;
|
|
26522
|
+
});
|
|
26523
|
+
});
|
|
26524
|
+
|
|
26525
|
+
var cryptoJs = createCommonjsModule(function (module, exports) {
|
|
26526
|
+
(function (root, factory, undef) {
|
|
26527
|
+
{
|
|
26528
|
+
module.exports = exports = factory(core, x64Core, libTypedarrays, encUtf16, encBase64, encBase64url, md5, sha1, sha256, sha224, sha512, sha384, sha3, ripemd160, hmac, pbkdf2, evpkdf, cipherCore, modeCfb, modeCtr, modeCtrGladman, modeOfb, modeEcb, padAnsix923, padIso10126, padIso97971, padZeropadding, padNopadding, formatHex, aes, tripledes, rc4, rabbit, rabbitLegacy, blowfish);
|
|
26529
|
+
}
|
|
26530
|
+
})(commonjsGlobal, function (CryptoJS) {
|
|
26531
|
+
return CryptoJS;
|
|
26532
|
+
});
|
|
26533
|
+
});
|
|
26534
|
+
|
|
26535
|
+
const SECRET_KEY = localStorage.getItem("token");
|
|
26536
|
+
|
|
26537
|
+
const ApplicationDetails = () => {
|
|
26538
|
+
var _applicationDetails$b, _Digit$Hooks$ads, _Digit$Hooks$ads$useA, _displayData$applican, _displayData$applican2, _workflowDetails$data, _workflowDetails$data2, _displayData$applican4, _displayData$applican5, _displayData$applican6, _displayData$applican7, _displayData$applican8, _application$document, _displayData$applican9, _workflowDetails$data4, _workflowDetails$data5;
|
|
26539
|
+
const {
|
|
26540
|
+
id
|
|
26541
|
+
} = useParams();
|
|
26542
|
+
const {
|
|
26543
|
+
t
|
|
26544
|
+
} = useTranslation();
|
|
26545
|
+
const history = useHistory();
|
|
26546
|
+
const tenantId = Digit.ULBService.getCurrentTenantId();
|
|
26547
|
+
const [appDetails, setAppDetails] = useState({});
|
|
26548
|
+
const state = tenantId === null || tenantId === void 0 ? void 0 : tenantId.split(".")[0];
|
|
26549
|
+
const [showToast, setShowToast] = useState(null);
|
|
26550
|
+
const [error, setError] = useState(null);
|
|
26551
|
+
const [displayData, setDisplayData] = useState({});
|
|
26552
|
+
const docs = Array.isArray(displayData === null || displayData === void 0 ? void 0 : displayData.Documents) ? displayData.Documents : Array.isArray(displayData === null || displayData === void 0 ? void 0 : displayData.documents) ? displayData.documents : [];
|
|
26553
|
+
const [pdfFiles, setPdfFiles] = useState({});
|
|
26554
|
+
const [filesLoading, setFilesLoading] = useState(false);
|
|
26555
|
+
function normalizeAssignees(assignee) {
|
|
26556
|
+
if (!assignee) return null;
|
|
26557
|
+
const extract = item => {
|
|
26558
|
+
if (!item) return null;
|
|
26559
|
+
if (typeof item === "string") return item;
|
|
26560
|
+
return item.uuid || item.id || item.employeeId || item.code || null;
|
|
26561
|
+
};
|
|
26562
|
+
if (Array.isArray(assignee)) {
|
|
26563
|
+
const mapped = assignee.map(it => extract(it)).filter(Boolean);
|
|
26564
|
+
return mapped.length ? mapped : null;
|
|
26565
|
+
}
|
|
26566
|
+
const single = extract(assignee);
|
|
26567
|
+
return single ? [single] : null;
|
|
26568
|
+
}
|
|
26569
|
+
const [isDetailsLoading, setIsDetailsLoading] = useState(false);
|
|
26570
|
+
useEffect(() => {
|
|
26571
|
+
var _Digit, _Digit$ULBService, _Digit$ULBService$get;
|
|
26572
|
+
const filesArray = (docs || []).map(d => {
|
|
26573
|
+
var _d$file;
|
|
26574
|
+
if (!d) return null;
|
|
26575
|
+
if (d.fileStoreId) return d.fileStoreId;
|
|
26576
|
+
if (d.fileStoreIds && Array.isArray(d.fileStoreIds)) return d.fileStoreIds[0];
|
|
26577
|
+
if (d.fileId) return d.fileId;
|
|
26578
|
+
if (d.documentDetailId) return d.documentDetailId;
|
|
26579
|
+
if (d !== null && d !== void 0 && (_d$file = d.file) !== null && _d$file !== void 0 && _d$file.fileStoreId) return d.file.fileStoreId;
|
|
26580
|
+
return null;
|
|
26581
|
+
}).filter(Boolean);
|
|
26582
|
+
if (!(filesArray !== null && filesArray !== void 0 && filesArray.length)) {
|
|
26583
|
+
setFilesLoading(false);
|
|
26584
|
+
return;
|
|
26585
|
+
}
|
|
26586
|
+
setFilesLoading(true);
|
|
26587
|
+
const stateId = ((_Digit = Digit) === null || _Digit === void 0 ? void 0 : (_Digit$ULBService = _Digit.ULBService) === null || _Digit$ULBService === void 0 ? void 0 : (_Digit$ULBService$get = _Digit$ULBService.getStateId) === null || _Digit$ULBService$get === void 0 ? void 0 : _Digit$ULBService$get.call(_Digit$ULBService)) || null;
|
|
26588
|
+
const argForFilefetch = stateId || tenantId;
|
|
26589
|
+
Digit.UploadServices.Filefetch(filesArray, argForFilefetch).then(res => {
|
|
26590
|
+
let data = (res === null || res === void 0 ? void 0 : res.data) || (res === null || res === void 0 ? void 0 : res.files) || res;
|
|
26591
|
+
if (Array.isArray(data)) {
|
|
26592
|
+
const asMap = {};
|
|
26593
|
+
data.forEach(item => {
|
|
26594
|
+
if (!item) return;
|
|
26595
|
+
if (typeof item === "string") {
|
|
26596
|
+
return;
|
|
26597
|
+
}
|
|
26598
|
+
const id = item.fileStoreId || item.fileId || item.documentDetailId;
|
|
26599
|
+
const url = item.url || item.fileUrl || (typeof item === "string" ? item : null);
|
|
26600
|
+
if (id && url) asMap[id] = url;
|
|
26601
|
+
});
|
|
26602
|
+
data = asMap;
|
|
26603
|
+
}
|
|
26604
|
+
setPdfFiles(data || {});
|
|
26605
|
+
}).catch(err => {
|
|
26606
|
+
console.error("Filefetch error:", err);
|
|
26607
|
+
setPdfFiles({});
|
|
26608
|
+
}).finally(() => setFilesLoading(false));
|
|
26609
|
+
}, [JSON.stringify(docs)]);
|
|
26610
|
+
const {
|
|
26611
|
+
isLoading,
|
|
26612
|
+
data: applicationDetails,
|
|
26613
|
+
refetch
|
|
26614
|
+
} = Digit.Hooks.ads.useADSSearch({
|
|
26615
|
+
tenantId,
|
|
26616
|
+
filters: {
|
|
26617
|
+
bookingNo: id
|
|
26618
|
+
}
|
|
26619
|
+
});
|
|
26620
|
+
const normalizedAppObject = (applicationDetails === null || applicationDetails === void 0 ? void 0 : (_applicationDetails$b = applicationDetails.bookingApplication) === null || _applicationDetails$b === void 0 ? void 0 : _applicationDetails$b[0]) || [];
|
|
26621
|
+
const bookingObj = normalizedAppObject;
|
|
26622
|
+
const application = bookingObj || normalizedAppObject || appDetails || null;
|
|
26623
|
+
const new_data = transformBookingResponseToBookingData(applicationDetails);
|
|
26624
|
+
const menuRef = useRef();
|
|
26625
|
+
const [displayMenu, setDisplayMenu] = useState(false);
|
|
26626
|
+
const [selectedAction, setSelectedAction] = useState(null);
|
|
26627
|
+
const [showModal, setShowModal] = useState(false);
|
|
26628
|
+
const [showCancelModal, setShowCancelModal] = useState(false);
|
|
26629
|
+
const [showOptions, setShowOptions] = useState(false);
|
|
26630
|
+
const mutation = (_Digit$Hooks$ads = Digit.Hooks.ads) === null || _Digit$Hooks$ads === void 0 ? void 0 : (_Digit$Hooks$ads$useA = _Digit$Hooks$ads.useADSCreateAPI) === null || _Digit$Hooks$ads$useA === void 0 ? void 0 : _Digit$Hooks$ads$useA.call(_Digit$Hooks$ads, tenantId, false);
|
|
26631
|
+
const {
|
|
26632
|
+
data: reciept_data,
|
|
26633
|
+
isLoading: recieptDataLoading
|
|
26634
|
+
} = Digit.Hooks.useRecieptSearch({
|
|
26635
|
+
tenantId: tenantId,
|
|
26636
|
+
businessService: "adv-services",
|
|
26637
|
+
consumerCodes: (displayData === null || displayData === void 0 ? void 0 : (_displayData$applican = displayData.applicantData) === null || _displayData$applican === void 0 ? void 0 : _displayData$applican.applicationNo) || id,
|
|
26638
|
+
isEmployee: false
|
|
26639
|
+
}, {
|
|
26640
|
+
enabled: !!(displayData !== null && displayData !== void 0 && (_displayData$applican2 = displayData.applicantData) !== null && _displayData$applican2 !== void 0 && _displayData$applican2.applicationNo || id)
|
|
26641
|
+
});
|
|
26642
|
+
const closeMenu = () => {
|
|
26643
|
+
setDisplayMenu(false);
|
|
26644
|
+
};
|
|
26645
|
+
Digit.Hooks.useClickOutside(menuRef, closeMenu, displayMenu);
|
|
26646
|
+
const closeToast = () => {
|
|
26647
|
+
setShowToast(null);
|
|
26648
|
+
};
|
|
26649
|
+
const removeDuplicatesByUUID = arr => {
|
|
26650
|
+
const seen = new Set();
|
|
26651
|
+
return arr.filter(item => {
|
|
26652
|
+
if (seen.has(item.uuid)) {
|
|
26653
|
+
return false;
|
|
26654
|
+
} else {
|
|
26655
|
+
seen.add(item.uuid);
|
|
26656
|
+
return true;
|
|
26657
|
+
}
|
|
26658
|
+
});
|
|
26659
|
+
};
|
|
26660
|
+
const businessServicMINE = "advandhoarding";
|
|
26661
|
+
const workflowDetails = Digit.Hooks.useWorkflowDetails({
|
|
26662
|
+
tenantId,
|
|
26663
|
+
id: bookingObj === null || bookingObj === void 0 ? void 0 : bookingObj.bookingNo,
|
|
26664
|
+
moduleCode: businessServicMINE
|
|
26665
|
+
});
|
|
26666
|
+
const wfActions = (workflowDetails === null || workflowDetails === void 0 ? void 0 : (_workflowDetails$data = workflowDetails.data) === null || _workflowDetails$data === void 0 ? void 0 : (_workflowDetails$data2 = _workflowDetails$data.nextActions) === null || _workflowDetails$data2 === void 0 ? void 0 : _workflowDetails$data2.map(a => ({
|
|
26667
|
+
action: a === null || a === void 0 ? void 0 : a.action,
|
|
26668
|
+
buttonLabel: ((a === null || a === void 0 ? void 0 : a.action) || "").replace(/_/g, " ").toUpperCase()
|
|
26669
|
+
}))) || [];
|
|
26670
|
+
useEffect(() => {
|
|
26671
|
+
if (bookingObj) {
|
|
26672
|
+
var _bookingObj$applicant, _bookingObj$applicant2, _bookingObj$applicant3, _bookingObj$address, _bookingObj$address2;
|
|
26673
|
+
const applicantData = {
|
|
26674
|
+
applicationNo: bookingObj === null || bookingObj === void 0 ? void 0 : bookingObj.bookingNo,
|
|
26675
|
+
name: bookingObj === null || bookingObj === void 0 ? void 0 : (_bookingObj$applicant = bookingObj.applicantDetail) === null || _bookingObj$applicant === void 0 ? void 0 : _bookingObj$applicant.applicantName,
|
|
26676
|
+
email: bookingObj === null || bookingObj === void 0 ? void 0 : (_bookingObj$applicant2 = bookingObj.applicantDetail) === null || _bookingObj$applicant2 === void 0 ? void 0 : _bookingObj$applicant2.applicantEmailId,
|
|
26677
|
+
mobile: bookingObj === null || bookingObj === void 0 ? void 0 : (_bookingObj$applicant3 = bookingObj.applicantDetail) === null || _bookingObj$applicant3 === void 0 ? void 0 : _bookingObj$applicant3.applicantMobileNo,
|
|
26678
|
+
address: bookingObj === null || bookingObj === void 0 ? void 0 : (_bookingObj$address = bookingObj.address) === null || _bookingObj$address === void 0 ? void 0 : _bookingObj$address.addressLine1,
|
|
26679
|
+
pincode: bookingObj === null || bookingObj === void 0 ? void 0 : (_bookingObj$address2 = bookingObj.address) === null || _bookingObj$address2 === void 0 ? void 0 : _bookingObj$address2.pincode,
|
|
26680
|
+
bookingStatus: bookingObj === null || bookingObj === void 0 ? void 0 : bookingObj.bookingStatus,
|
|
26681
|
+
paymentDate: bookingObj !== null && bookingObj !== void 0 && bookingObj.paymentDate ? new Date(bookingObj.paymentDate).toLocaleDateString() : "",
|
|
26682
|
+
receiptNo: bookingObj === null || bookingObj === void 0 ? void 0 : bookingObj.receiptNo,
|
|
26683
|
+
auditDetails: bookingObj === null || bookingObj === void 0 ? void 0 : bookingObj.auditDetails
|
|
26684
|
+
};
|
|
26685
|
+
const Documents = removeDuplicatesByUUID((bookingObj === null || bookingObj === void 0 ? void 0 : bookingObj.documents) || []);
|
|
26686
|
+
setDisplayData({
|
|
26687
|
+
applicantData,
|
|
26688
|
+
Documents
|
|
26689
|
+
});
|
|
26690
|
+
} else {
|
|
26691
|
+
setDisplayData({});
|
|
26692
|
+
}
|
|
26693
|
+
}, [bookingObj]);
|
|
26694
|
+
useEffect(() => {
|
|
26695
|
+
setIsDetailsLoading(isLoading || !bookingObj);
|
|
26696
|
+
if (bookingObj) {
|
|
26697
|
+
setAppDetails({
|
|
26698
|
+
...bookingObj,
|
|
26699
|
+
applicationDetails: [{
|
|
26700
|
+
title: "ADS_DETAILS_SUMMARY_LABEL"
|
|
26701
|
+
}]
|
|
26702
|
+
});
|
|
26703
|
+
} else {
|
|
26704
|
+
setAppDetails({});
|
|
26705
|
+
}
|
|
26706
|
+
}, [isLoading, bookingObj]);
|
|
26707
|
+
function onActionSelect(wfAction) {
|
|
26708
|
+
if (!wfAction) return;
|
|
26709
|
+
if (wfAction.action === "PAY") {
|
|
26710
|
+
var _displayData$applican3;
|
|
26711
|
+
const appNo = (displayData === null || displayData === void 0 ? void 0 : (_displayData$applican3 = displayData.applicantData) === null || _displayData$applican3 === void 0 ? void 0 : _displayData$applican3.applicationNo) || id;
|
|
26712
|
+
return history.push(`/digit-ui/employee/payment/collect/adv-services/${appNo}/${tenantId}?tenantId=${tenantId}`);
|
|
26713
|
+
}
|
|
26714
|
+
if (wfAction.action === "SUBMIT" || wfAction.action === "INITIATE" || wfAction.action === "CANCEL") {
|
|
26715
|
+
if (wfAction.action === "CANCEL") {
|
|
26716
|
+
setShowCancelModal(true);
|
|
26717
|
+
return;
|
|
26718
|
+
}
|
|
26719
|
+
const payloadAction = {
|
|
26720
|
+
action: wfAction.action,
|
|
26721
|
+
comment: wfAction.action || ""
|
|
26722
|
+
};
|
|
26723
|
+
return submitAction({
|
|
26724
|
+
Licenses: [payloadAction]
|
|
26725
|
+
});
|
|
26726
|
+
}
|
|
26727
|
+
setSelectedAction({
|
|
26728
|
+
action: wfAction.action,
|
|
26729
|
+
comment: ""
|
|
26730
|
+
});
|
|
26731
|
+
setShowModal(true);
|
|
26732
|
+
}
|
|
23382
26733
|
const submitAction = async dataPayload => {
|
|
23383
26734
|
var _applicationDetails$A, _applicationDetails$d, _dataPayload$Licenses, _workflowDetails$data3;
|
|
23384
26735
|
const payloadSource = (applicationDetails === null || applicationDetails === void 0 ? void 0 : (_applicationDetails$A = applicationDetails.Applications) === null || _applicationDetails$A === void 0 ? void 0 : _applicationDetails$A[0]) || (applicationDetails === null || applicationDetails === void 0 ? void 0 : (_applicationDetails$d = applicationDetails.data) === null || _applicationDetails$d === void 0 ? void 0 : _applicationDetails$d[0]) || (applicationDetails === null || applicationDetails === void 0 ? void 0 : applicationDetails[0]) || bookingObj;
|
|
@@ -23503,12 +26854,36 @@ const ApplicationDetails = () => {
|
|
|
23503
26854
|
});
|
|
23504
26855
|
window.open(fileStore[fileStoreId], "_blank");
|
|
23505
26856
|
}
|
|
26857
|
+
async function getAcknowledgementLetter({
|
|
26858
|
+
tenantId,
|
|
26859
|
+
payments,
|
|
26860
|
+
...params
|
|
26861
|
+
}) {
|
|
26862
|
+
let application = new_data;
|
|
26863
|
+
let fileStoreId = application === null || application === void 0 ? void 0 : application.permissionLetterFilestoreId;
|
|
26864
|
+
if (!fileStoreId) {
|
|
26865
|
+
const response = await Digit.PaymentService.generatePdf(tenantId, {
|
|
26866
|
+
Payments: [{
|
|
26867
|
+
...payments,
|
|
26868
|
+
...application
|
|
26869
|
+
}]
|
|
26870
|
+
}, "advacknowledgement");
|
|
26871
|
+
fileStoreId = response === null || response === void 0 ? void 0 : response.filestoreIds[0];
|
|
26872
|
+
}
|
|
26873
|
+
const fileStore = await Digit.PaymentService.printReciept(tenantId, {
|
|
26874
|
+
fileStoreIds: fileStoreId
|
|
26875
|
+
});
|
|
26876
|
+
window.open(fileStore[fileStoreId], "_blank");
|
|
26877
|
+
}
|
|
23506
26878
|
let downloadOptions = [];
|
|
23507
26879
|
if ((bookingObj === null || bookingObj === void 0 ? void 0 : bookingObj.bookingStatus) === "BOOKED" || (bookingObj === null || bookingObj === void 0 ? void 0 : bookingObj.bookingStatus) === "CANCELLED") {
|
|
23508
26880
|
var _reciept_data$Payment;
|
|
23509
26881
|
downloadOptions.push({
|
|
23510
26882
|
label: t("PTR_PET_DOWNLOAD_ACK_FORM"),
|
|
23511
|
-
onClick: () =>
|
|
26883
|
+
onClick: () => getAcknowledgementLetter({
|
|
26884
|
+
tenantId: tenantId,
|
|
26885
|
+
payments: reciept_data === null || reciept_data === void 0 ? void 0 : reciept_data.Payments[0]
|
|
26886
|
+
})
|
|
23512
26887
|
});
|
|
23513
26888
|
if (reciept_data && (reciept_data === null || reciept_data === void 0 ? void 0 : (_reciept_data$Payment = reciept_data.Payments) === null || _reciept_data$Payment === void 0 ? void 0 : _reciept_data$Payment.length) > 0 && recieptDataLoading === false) {
|
|
23514
26889
|
downloadOptions.push({
|