| 1471 | }; |
| 1472 | |
| 1473 | function he() { |
| 1474 | return ue || (ue = 1, le.exports = function(e) { |
| 1475 | e.lib.Cipher || function(t) { |
| 1476 | var r = e, |
| 1477 | o = r.lib, |
| 1478 | n = o.Base, |
| 1479 | i = o.WordArray, |
| 1480 | s = o.BufferedBlockAlgorithm, |
| 1481 | a = r.enc; |
| 1482 | a.Utf8; |
| 1483 | var c = a.Base64, |
| 1484 | u = r.algo.EvpKDF, |
| 1485 | l = o.Cipher = s.extend({ |
| 1486 | cfg: n.extend(), |
| 1487 | createEncryptor: function(e, t) { |
| 1488 | return this.create(this._ENC_XFORM_MODE, e, t) |
| 1489 | }, |
| 1490 | createDecryptor: function(e, t) { |
| 1491 | return this.create(this._DEC_XFORM_MODE, e, t) |
| 1492 | }, |
| 1493 | init: function(e, t, r) { |
| 1494 | this.cfg = this.cfg.extend(r), this._xformMode = e, this._key = t, this.reset() |
| 1495 | }, |
| 1496 | reset: function() { |
| 1497 | s.reset.call(this), this._doReset() |
| 1498 | }, |
| 1499 | process: function(e) { |
| 1500 | return this._append(e), this._process() |
| 1501 | }, |
| 1502 | finalize: function(e) { |
| 1503 | return e && this._append(e), this._doFinalize() |
| 1504 | }, |
| 1505 | keySize: 4, |
| 1506 | ivSize: 4, |
| 1507 | _ENC_XFORM_MODE: 1, |
| 1508 | _DEC_XFORM_MODE: 2, |
| 1509 | _createHelper: function() { |
| 1510 | function e(e) { |
| 1511 | return "string" == typeof e ? b : m |
| 1512 | } |
| 1513 | return function(t) { |
| 1514 | return { |
| 1515 | encrypt: function(r, o, n) { |
| 1516 | return e(o).encrypt(t, r, o, n) |
| 1517 | }, |
| 1518 | decrypt: function(r, o, n) { |
| 1519 | return e(o).decrypt(t, r, o, n) |
| 1520 | } |
| 1521 | } |
| 1522 | } |
| 1523 | }() |
| 1524 | }); |
| 1525 | o.StreamCipher = l.extend({ |
| 1526 | _doFinalize: function() { |
| 1527 | return this._process(!0) |
| 1528 | }, |
| 1529 | blockSize: 1 |
| 1530 | }); |