{"version":3,"sources":["../../src/sha256/constants.ts","../../src/sha256/sha256.ts"],"sourcesContent":["export const primeConst: string[][] = [\n    [\n        '0', '1', '0', '0', '0', '0',\n        '1', '0', '1', '0', '0', '0',\n        '1', '0', '1', '0', '0', '0',\n        '1', '0', '1', '1', '1', '1',\n        '1', '0', '0', '1', '1', '0',\n        '0', '0'\n    ],\n    [\n        '0', '1', '1', '1', '0', '0',\n        '0', '1', '0', '0', '1', '1',\n        '0', '1', '1', '1', '0', '1',\n        '0', '0', '0', '1', '0', '0',\n        '1', '0', '0', '1', '0', '0',\n        '0', '1'\n    ],\n    [\n        '1', '0', '1', '1', '0', '1',\n        '0', '1', '1', '1', '0', '0',\n        '0', '0', '0', '0', '1', '1',\n        '1', '1', '1', '0', '1', '1',\n        '1', '1', '0', '0', '1', '1',\n        '1', '1'\n    ],\n    [\n        '1', '1', '1', '0', '1', '0',\n        '0', '1', '1', '0', '1', '1',\n        '0', '1', '0', '1', '1', '1',\n        '0', '1', '1', '0', '1', '1',\n        '1', '0', '1', '0', '0', '1',\n        '0', '1'\n    ],\n    [\n        '0', '0', '1', '1', '1', '0',\n        '0', '1', '0', '1', '0', '1',\n        '0', '1', '1', '0', '1', '1',\n        '0', '0', '0', '0', '1', '0',\n        '0', '1', '0', '1', '1', '0',\n        '1', '1'\n    ],\n    [\n        '0', '1', '0', '1', '1', '0',\n        '0', '1', '1', '1', '1', '1',\n        '0', '0', '0', '1', '0', '0',\n        '0', '1', '0', '0', '0', '1',\n        '1', '1', '1', '1', '0', '0',\n        '0', '1'\n    ],\n    [\n        '1', '0', '0', '1', '0', '0',\n        '1', '0', '0', '0', '1', '1',\n        '1', '1', '1', '1', '1', '0',\n        '0', '0', '0', '0', '1', '0',\n        '1', '0', '1', '0', '0', '1',\n        '0', '0'\n    ],\n    [\n        '1', '0', '1', '0', '1', '0',\n        '1', '1', '0', '0', '0', '1',\n        '1', '1', '0', '0', '0', '1',\n        '0', '1', '1', '1', '1', '0',\n        '1', '1', '0', '1', '0', '1',\n        '0', '1'\n    ],\n    [\n        '1', '1', '0', '1', '1', '0',\n        '0', '0', '0', '0', '0', '0',\n        '0', '1', '1', '1', '1', '0',\n        '1', '0', '1', '0', '1', '0',\n        '1', '0', '0', '1', '1', '0',\n        '0', '0'\n    ],\n    [\n        '0', '0', '0', '1', '0', '0',\n        '1', '0', '1', '0', '0', '0',\n        '0', '0', '1', '1', '0', '1',\n        '0', '1', '1', '0', '1', '1',\n        '0', '0', '0', '0', '0', '0',\n        '0', '1'\n    ],\n    [\n        '0', '0', '1', '0', '0', '1',\n        '0', '0', '0', '0', '1', '1',\n        '0', '0', '0', '1', '1', '0',\n        '0', '0', '0', '1', '0', '1',\n        '1', '0', '1', '1', '1', '1',\n        '1', '0'\n    ],\n    [\n        '0', '1', '0', '1', '0', '1',\n        '0', '1', '0', '0', '0', '0',\n        '1', '1', '0', '0', '0', '1',\n        '1', '1', '1', '1', '0', '1',\n        '1', '1', '0', '0', '0', '0',\n        '1', '1'\n    ],\n    [\n        '0', '1', '1', '1', '0', '0',\n        '1', '0', '1', '0', '1', '1',\n        '1', '1', '1', '0', '0', '1',\n        '0', '1', '1', '1', '0', '1',\n        '0', '1', '1', '1', '0', '1',\n        '0', '0'\n    ],\n    [\n        '1', '0', '0', '0', '0', '0',\n        '0', '0', '1', '1', '0', '1',\n        '1', '1', '1', '0', '1', '0',\n        '1', '1', '0', '0', '0', '1',\n        '1', '1', '1', '1', '1', '1',\n        '1', '0'\n    ],\n    [\n        '1', '0', '0', '1', '1', '0',\n        '1', '1', '1', '1', '0', '1',\n        '1', '1', '0', '0', '0', '0',\n        '0', '0', '0', '1', '1', '0',\n        '1', '0', '1', '0', '0', '1',\n        '1', '1'\n    ],\n    [\n        '1', '1', '0', '0', '0', '0',\n        '0', '1', '1', '0', '0', '1',\n        '1', '0', '1', '1', '1', '1',\n        '1', '1', '0', '0', '0', '1',\n        '0', '1', '1', '1', '0', '1',\n        '0', '0'\n    ],\n    [\n        '1', '1', '1', '0', '0', '1',\n        '0', '0', '1', '0', '0', '1',\n        '1', '0', '1', '1', '0', '1',\n        '1', '0', '1', '0', '0', '1',\n        '1', '1', '0', '0', '0', '0',\n        '0', '1'\n    ],\n    [\n        '1', '1', '1', '0', '1', '1',\n        '1', '1', '1', '0', '1', '1',\n        '1', '1', '1', '0', '0', '1',\n        '0', '0', '0', '1', '1', '1',\n        '1', '0', '0', '0', '0', '1',\n        '1', '0'\n    ],\n    [\n        '0', '0', '0', '0', '1', '1',\n        '1', '1', '1', '1', '0', '0',\n        '0', '0', '0', '1', '1', '0',\n        '0', '1', '1', '1', '0', '1',\n        '1', '1', '0', '0', '0', '1',\n        '1', '0'\n    ],\n    [\n        '0', '0', '1', '0', '0', '1',\n        '0', '0', '0', '0', '0', '0',\n        '1', '1', '0', '0', '1', '0',\n        '1', '0', '0', '0', '0', '1',\n        '1', '1', '0', '0', '1', '1',\n        '0', '0'\n    ],\n    [\n        '0', '0', '1', '0', '1', '1',\n        '0', '1', '1', '1', '1', '0',\n        '1', '0', '0', '1', '0', '0',\n        '1', '0', '1', '1', '0', '0',\n        '0', '1', '1', '0', '1', '1',\n        '1', '1'\n    ],\n    [\n        '0', '1', '0', '0', '1', '0',\n        '1', '0', '0', '1', '1', '1',\n        '0', '1', '0', '0', '1', '0',\n        '0', '0', '0', '1', '0', '0',\n        '1', '0', '1', '0', '1', '0',\n        '1', '0'\n    ],\n    [\n        '0', '1', '0', '1', '1', '1',\n        '0', '0', '1', '0', '1', '1',\n        '0', '0', '0', '0', '1', '0',\n        '1', '0', '1', '0', '0', '1',\n        '1', '1', '0', '1', '1', '1',\n        '0', '0'\n    ],\n    [\n        '0', '1', '1', '1', '0', '1',\n        '1', '0', '1', '1', '1', '1',\n        '1', '0', '0', '1', '1', '0',\n        '0', '0', '1', '0', '0', '0',\n        '1', '1', '0', '1', '1', '0',\n        '1', '0'\n    ],\n    [\n        '1', '0', '0', '1', '1', '0',\n        '0', '0', '0', '0', '1', '1',\n        '1', '1', '1', '0', '0', '1',\n        '0', '1', '0', '0', '0', '1',\n        '0', '1', '0', '1', '0', '0',\n        '1', '0'\n    ],\n    [\n        '1', '0', '1', '0', '1', '0',\n        '0', '0', '0', '0', '1', '1',\n        '0', '0', '0', '1', '1', '1',\n        '0', '0', '0', '1', '1', '0',\n        '0', '1', '1', '0', '1', '1',\n        '0', '1'\n    ],\n    [\n        '1', '0', '1', '1', '0', '0',\n        '0', '0', '0', '0', '0', '0',\n        '0', '0', '1', '1', '0', '0',\n        '1', '0', '0', '1', '1', '1',\n        '1', '1', '0', '0', '1', '0',\n        '0', '0'\n    ],\n    [\n        '1', '0', '1', '1', '1', '1',\n        '1', '1', '0', '1', '0', '1',\n        '1', '0', '0', '1', '0', '1',\n        '1', '1', '1', '1', '1', '1',\n        '1', '1', '0', '0', '0', '1',\n        '1', '1'\n    ],\n    [\n        '1', '1', '0', '0', '0', '1',\n        '1', '0', '1', '1', '1', '0',\n        '0', '0', '0', '0', '0', '0',\n        '0', '0', '1', '0', '1', '1',\n        '1', '1', '1', '1', '0', '0',\n        '1', '1'\n    ],\n    [\n        '1', '1', '0', '1', '0', '1',\n        '0', '1', '1', '0', '1', '0',\n        '0', '1', '1', '1', '1', '0',\n        '0', '1', '0', '0', '0', '1',\n        '0', '1', '0', '0', '0', '1',\n        '1', '1'\n    ],\n    [\n        '0', '0', '0', '0', '0', '1',\n        '1', '0', '1', '1', '0', '0',\n        '1', '0', '1', '0', '0', '1',\n        '1', '0', '0', '0', '1', '1',\n        '0', '1', '0', '1', '0', '0',\n        '0', '1'\n    ],\n    [\n        '0', '0', '0', '1', '0', '1',\n        '0', '0', '0', '0', '1', '0',\n        '1', '0', '0', '1', '0', '0',\n        '1', '0', '1', '0', '0', '1',\n        '0', '1', '1', '0', '0', '1',\n        '1', '1'\n    ],\n    [\n        '0', '0', '1', '0', '0', '1',\n        '1', '1', '1', '0', '1', '1',\n        '0', '1', '1', '1', '0', '0',\n        '0', '0', '1', '0', '1', '0',\n        '1', '0', '0', '0', '0', '1',\n        '0', '1'\n    ],\n    [\n        '0', '0', '1', '0', '1', '1',\n        '1', '0', '0', '0', '0', '1',\n        '1', '0', '1', '1', '0', '0',\n        '1', '0', '0', '0', '0', '1',\n        '0', '0', '1', '1', '1', '0',\n        '0', '0'\n    ],\n    [\n        '0', '1', '0', '0', '1', '1',\n        '0', '1', '0', '0', '1', '0',\n        '1', '1', '0', '0', '0', '1',\n        '1', '0', '1', '1', '0', '1',\n        '1', '1', '1', '1', '1', '1',\n        '0', '0'\n    ],\n    [\n        '0', '1', '0', '1', '0', '0',\n        '1', '1', '0', '0', '1', '1',\n        '1', '0', '0', '0', '0', '0',\n        '0', '0', '1', '1', '0', '1',\n        '0', '0', '0', '1', '0', '0',\n        '1', '1'\n    ],\n    [\n        '0', '1', '1', '0', '0', '1',\n        '0', '1', '0', '0', '0', '0',\n        '1', '0', '1', '0', '0', '1',\n        '1', '1', '0', '0', '1', '1',\n        '0', '1', '0', '1', '0', '1',\n        '0', '0'\n    ],\n    [\n        '0', '1', '1', '1', '0', '1',\n        '1', '0', '0', '1', '1', '0',\n        '1', '0', '1', '0', '0', '0',\n        '0', '0', '1', '0', '1', '0',\n        '1', '0', '1', '1', '1', '0',\n        '1', '1'\n    ],\n    [\n        '1', '0', '0', '0', '0', '0',\n        '0', '1', '1', '1', '0', '0',\n        '0', '0', '1', '0', '1', '1',\n        '0', '0', '1', '0', '0', '1',\n        '0', '0', '1', '0', '1', '1',\n        '1', '0'\n    ],\n    [\n        '1', '0', '0', '1', '0', '0',\n        '1', '0', '0', '1', '1', '1',\n        '0', '0', '1', '0', '0', '0',\n        '1', '0', '1', '1', '0', '0',\n        '1', '0', '0', '0', '0', '1',\n        '0', '1'\n    ],\n    [\n        '1', '0', '1', '0', '0', '0',\n        '1', '0', '1', '0', '1', '1',\n        '1', '1', '1', '1', '1', '1',\n        '1', '0', '1', '0', '0', '0',\n        '1', '0', '1', '0', '0', '0',\n        '0', '1'\n    ],\n    [\n        '1', '0', '1', '0', '1', '0',\n        '0', '0', '0', '0', '0', '1',\n        '1', '0', '1', '0', '0', '1',\n        '1', '0', '0', '1', '1', '0',\n        '0', '1', '0', '0', '1', '0',\n        '1', '1'\n    ],\n    [\n        '1', '1', '0', '0', '0', '0',\n        '1', '0', '0', '1', '0', '0',\n        '1', '0', '1', '1', '1', '0',\n        '0', '0', '1', '0', '1', '1',\n        '0', '1', '1', '1', '0', '0',\n        '0', '0'\n    ],\n    [\n        '1', '1', '0', '0', '0', '1',\n        '1', '1', '0', '1', '1', '0',\n        '1', '1', '0', '0', '0', '1',\n        '0', '1', '0', '0', '0', '1',\n        '1', '0', '1', '0', '0', '0',\n        '1', '1'\n    ],\n    [\n        '1', '1', '0', '1', '0', '0',\n        '0', '1', '1', '0', '0', '1',\n        '0', '0', '1', '0', '1', '1',\n        '1', '0', '1', '0', '0', '0',\n        '0', '0', '0', '1', '1', '0',\n        '0', '1'\n    ],\n    [\n        '1', '1', '0', '1', '0', '1',\n        '1', '0', '1', '0', '0', '1',\n        '1', '0', '0', '1', '0', '0',\n        '0', '0', '0', '1', '1', '0',\n        '0', '0', '1', '0', '0', '1',\n        '0', '0'\n    ],\n    [\n        '1', '1', '1', '1', '0', '1',\n        '0', '0', '0', '0', '0', '0',\n        '1', '1', '1', '0', '0', '0',\n        '1', '1', '0', '1', '0', '1',\n        '1', '0', '0', '0', '0', '1',\n        '0', '1'\n    ],\n    [\n        '0', '0', '0', '1', '0', '0',\n        '0', '0', '0', '1', '1', '0',\n        '1', '0', '1', '0', '1', '0',\n        '1', '0', '0', '0', '0', '0',\n        '0', '1', '1', '1', '0', '0',\n        '0', '0'\n    ],\n    [\n        '0', '0', '0', '1', '1', '0',\n        '0', '1', '1', '0', '1', '0',\n        '0', '1', '0', '0', '1', '1',\n        '0', '0', '0', '0', '0', '1',\n        '0', '0', '0', '1', '0', '1',\n        '1', '0'\n    ],\n    [\n        '0', '0', '0', '1', '1', '1',\n        '1', '0', '0', '0', '1', '1',\n        '0', '1', '1', '1', '0', '1',\n        '1', '0', '1', '1', '0', '0',\n        '0', '0', '0', '0', '1', '0',\n        '0', '0'\n    ],\n    [\n        '0', '0', '1', '0', '0', '1',\n        '1', '1', '0', '1', '0', '0',\n        '1', '0', '0', '0', '0', '1',\n        '1', '1', '0', '1', '1', '1',\n        '0', '1', '0', '0', '1', '1',\n        '0', '0'\n    ],\n    [\n        '0', '0', '1', '1', '0', '1',\n        '0', '0', '1', '0', '1', '1',\n        '0', '0', '0', '0', '1', '0',\n        '1', '1', '1', '1', '0', '0',\n        '1', '0', '1', '1', '0', '1',\n        '0', '1'\n    ],\n    [\n        '0', '0', '1', '1', '1', '0',\n        '0', '1', '0', '0', '0', '1',\n        '1', '1', '0', '0', '0', '0',\n        '0', '0', '1', '1', '0', '0',\n        '1', '0', '1', '1', '0', '0',\n        '1', '1'\n    ],\n    [\n        '0', '1', '0', '0', '1', '1',\n        '1', '0', '1', '1', '0', '1',\n        '1', '0', '0', '0', '1', '0',\n        '1', '0', '1', '0', '1', '0',\n        '0', '1', '0', '0', '1', '0',\n        '1', '0'\n    ],\n    [\n        '0', '1', '0', '1', '1', '0',\n        '1', '1', '1', '0', '0', '1',\n        '1', '1', '0', '0', '1', '1',\n        '0', '0', '1', '0', '1', '0',\n        '0', '1', '0', '0', '1', '1',\n        '1', '1'\n    ],\n    [\n        '0', '1', '1', '0', '1', '0',\n        '0', '0', '0', '0', '1', '0',\n        '1', '1', '1', '0', '0', '1',\n        '1', '0', '1', '1', '1', '1',\n        '1', '1', '1', '1', '0', '0',\n        '1', '1'\n    ],\n    [\n        '0', '1', '1', '1', '0', '1',\n        '0', '0', '1', '0', '0', '0',\n        '1', '1', '1', '1', '1', '0',\n        '0', '0', '0', '0', '1', '0',\n        '1', '1', '1', '0', '1', '1',\n        '1', '0'\n    ],\n    [\n        '0', '1', '1', '1', '1', '0',\n        '0', '0', '1', '0', '1', '0',\n        '0', '1', '0', '1', '0', '1',\n        '1', '0', '0', '0', '1', '1',\n        '0', '1', '1', '0', '1', '1',\n        '1', '1'\n    ],\n    [\n        '1', '0', '0', '0', '0', '1',\n        '0', '0', '1', '1', '0', '0',\n        '1', '0', '0', '0', '0', '1',\n        '1', '1', '1', '0', '0', '0',\n        '0', '0', '0', '1', '0', '1',\n        '0', '0'\n    ],\n    [\n        '1', '0', '0', '0', '1', '1',\n        '0', '0', '1', '1', '0', '0',\n        '0', '1', '1', '1', '0', '0',\n        '0', '0', '0', '0', '1', '0',\n        '0', '0', '0', '0', '1', '0',\n        '0', '0'\n    ],\n    [\n        '1', '0', '0', '1', '0', '0',\n        '0', '0', '1', '0', '1', '1',\n        '1', '1', '1', '0', '1', '1',\n        '1', '1', '1', '1', '1', '1',\n        '1', '1', '1', '1', '1', '0',\n        '1', '0'\n    ],\n    [\n        '1', '0', '1', '0', '0', '1',\n        '0', '0', '0', '1', '0', '1',\n        '0', '0', '0', '0', '0', '1',\n        '1', '0', '1', '1', '0', '0',\n        '1', '1', '1', '0', '1', '0',\n        '1', '1'\n    ],\n    [\n        '1', '0', '1', '1', '1', '1',\n        '1', '0', '1', '1', '1', '1',\n        '1', '0', '0', '1', '1', '0',\n        '1', '0', '0', '0', '1', '1',\n        '1', '1', '1', '1', '0', '1',\n        '1', '1'\n    ],\n    [\n        '1', '1', '0', '0', '0', '1',\n        '1', '0', '0', '1', '1', '1',\n        '0', '0', '0', '1', '0', '1',\n        '1', '1', '1', '0', '0', '0',\n        '1', '1', '1', '1', '0', '0',\n        '1', '0'\n    ],\n]\n\nexport const compressionHash: { [key: string]: string[] } = {\n    \"a\": [\n        '0', '1', '1', '0', '1', '0',\n        '1', '0', '0', '0', '0', '0',\n        '1', '0', '0', '1', '1', '1',\n        '1', '0', '0', '1', '1', '0',\n        '0', '1', '1', '0', '0', '1',\n        '1', '1'\n    ],\n    \"b\": [\n        '1', '0', '1', '1', '1', '0',\n        '1', '1', '0', '1', '1', '0',\n        '0', '1', '1', '1', '1', '0',\n        '1', '0', '1', '1', '1', '0',\n        '1', '0', '0', '0', '0', '1',\n        '0', '1'\n    ],\n    \"c\": [\n        '0', '0', '1', '1', '1', '1',\n        '0', '0', '0', '1', '1', '0',\n        '1', '1', '1', '0', '1', '1',\n        '1', '1', '0', '0', '1', '1',\n        '0', '1', '1', '1', '0', '0',\n        '1', '0'\n    ],\n    \"d\": [\n        '1', '0', '1', '0', '0', '1',\n        '0', '1', '0', '1', '0', '0',\n        '1', '1', '1', '1', '1', '1',\n        '1', '1', '0', '1', '0', '1',\n        '0', '0', '1', '1', '1', '0',\n        '1', '0'\n    ],\n    \"e\": [\n        '0', '1', '0', '1', '0', '0',\n        '0', '1', '0', '0', '0', '0',\n        '1', '1', '1', '0', '0', '1',\n        '0', '1', '0', '0', '1', '0',\n        '0', '1', '1', '1', '1', '1',\n        '1', '1'\n    ],\n    \"f\": [\n        '1', '0', '0', '1', '1', '0',\n        '1', '1', '0', '0', '0', '0',\n        '0', '1', '0', '1', '0', '1',\n        '1', '0', '1', '0', '0', '0',\n        '1', '0', '0', '0', '1', '1',\n        '0', '0'\n    ],\n    \"g\": [\n        '0', '0', '0', '1', '1', '1',\n        '1', '1', '1', '0', '0', '0',\n        '0', '0', '1', '1', '1', '1',\n        '0', '1', '1', '0', '0', '1',\n        '1', '0', '1', '0', '1', '0',\n        '1', '1'\n    ],\n    \"h\": [\n        '0', '1', '0', '1', '1', '0',\n        '1', '1', '1', '1', '1', '0',\n        '0', '0', '0', '0', '1', '1',\n        '0', '0', '1', '1', '0', '1',\n        '0', '0', '0', '1', '1', '0',\n        '0', '1'\n    ],\n}","import { primeConst, compressionHash } from \"./constants.js\"\nexport const Sha256 = (inputStr: string) => {\n    const _toBinary = (text: string): string => {\n        let rs: string = \"\"\n        for (let i = 0; i < text.length; i++) {\n            rs += text[i].charCodeAt(0).toString(2).padStart(8, \"0\")\n        }\n        return rs\n    }\n    //Shift right\n    //Rotate right\n    //XOR\n    //ADD <= remember to keep it in 32 bit range\n    const _rotr = (arr: string[], attempt: number = 1): string[] => {\n        let tmp: any[] = [...arr]\n        for (let i = 0; i < attempt; i++) {\n            tmp = [tmp.pop(), ...tmp]\n        }\n        return tmp\n    }\n    const _shr = (arr: string[], attempt: number = 1): string[] => {\n        let tmp: any[] = [...arr]\n        for (let i = 0; i < attempt; i++) {\n            tmp.pop()\n            tmp.unshift(\"0\")\n        }\n        return tmp\n    }\n    const _xor = (arrA: string[], arrB: string[], arrC: string[]): string[] => {\n        const tmp: string[] = []\n        arrA.forEach((bit, index) => {\n            tmp[index] = String(Number(bit) ^ Number(arrB[index]) ^ Number(arrC[index]))\n        })\n        return tmp\n    }\n    const _add = (arrA: string[], arrB: string[]): string[] => {\n        const tmp: string[] = []\n        const len: number = arrA.length;\n        let extra: number = 0\n        for (let i = arrA.length - 1; i >= 0; i--) {\n            const bitValue: number = Number(arrA[i]) + Number(arrB[i]) + extra\n            tmp[i] = bitValue > 1 ? String(bitValue - 2) : String(bitValue)\n            extra = bitValue > 1 ? 1 : 0\n        }\n        return tmp\n    }\n    /**\n     * Functions\n     * choice, given x,y,z. If x = 1 takes y, if x = 0 takes z\n     * major, given x,y,z. If numbers of 1 > 0 then 1. else 0.\n     */\n    const _choice = (arrA: string[], arrB: string[], arrC: string[]): string[] => {\n        let tmp: string[] = []\n        arrA.forEach((bit, index) => {\n            tmp[index] = bit === \"1\" ? arrB[index] : arrC[index];\n        })\n        return tmp;\n    }\n    const _major = (arrA: string[], arrB: string[], arrC: string[]): string[] => {\n        let tmp: string[] = []\n        arrA.forEach((bit, index) => {\n            const val: string = bit + arrB[index] + arrC[index]\n            if (\n                val === \"000\" || val === \"001\" ||\n                val === \"010\" || val === \"100\"\n            ) tmp[index] = \"0\"\n            else if (\n                val === \"111\" || val === \"110\" ||\n                val === \"101\" || val === \"011\"\n            ) tmp[index] = \"1\"\n\n        })\n        return tmp;\n    }\n    /**\n     * Compound movements\n     * sigZero = ROTR 7, ROTR 18, SHR 3, XOR \n     * sigOne = ROTR 17, ROTR 19, SHR 10, XOR\n     * uSigZero = ROTR 2, ROTR 13, ROTR 22, XOR\n     * uSigOne = ROTR 6, ROTR 11, ROTR 25, XOR\n     */\n    const _sigZero = (arr: string[]): string[] => {\n        const rotr7 = _rotr(arr, 7)\n        const rotr18 = _rotr(arr, 18)\n        const shr3: string[] = _shr(arr, 3)\n        return _xor(rotr7, rotr18, shr3)\n    }\n\n    const _sigOne = (arr: string[]): string[] => {\n        const rotr17 = _rotr(arr, 17)\n        const rotr19 = _rotr(arr, 19)\n        const shr10: string[] = _shr(arr, 10)\n        return _xor(rotr17, rotr19, shr10)\n    }\n\n    const _uSigZero = (arr: string[]): string[] => {\n        const rotr2 = _rotr(arr, 2)\n        const rotr13 = _rotr(arr, 13)\n        const rotr22 = _rotr(arr, 22)\n        return _xor(rotr2, rotr13, rotr22)\n    }\n\n    const _uSigOne = (arr: string[]): string[] => {\n        const rotr6 = _rotr(arr, 6)\n        const rotr11 = _rotr(arr, 11)\n        const rotr25 = _rotr(arr, 25)\n        return _xor(rotr6, rotr11, rotr25)\n    }\n\n    const shiftCompressionMap = (compressionMap: {[key: string]: string[]}): void => {\n        compressionMap[\"h\"] = [...compressionMap[\"g\"]];\n        compressionMap[\"g\"] = [...compressionMap[\"f\"]];\n        compressionMap[\"f\"] = [...compressionMap[\"e\"]];\n        compressionMap[\"e\"] = [...compressionMap[\"d\"]];\n        compressionMap[\"d\"] = [...compressionMap[\"c\"]];\n        compressionMap[\"c\"] = [...compressionMap[\"b\"]];\n        compressionMap[\"b\"] = [...compressionMap[\"a\"]];\n        compressionMap[\"a\"] = []\n    }\n\n    /**\n    * Structure will be:\n    * The binary of the message + 1 as separator + padding of 0 until 448 bits + length of the message with start padding of 0.\n    * End result will be total of 512 in length\n    */\n    let messageBin: string = _toBinary(inputStr)\n    const messageBlocks: string[] = [];\n    const messageLengthBin = messageBin.length.toString(2).padStart(64, \"0\")\n    const blockCount: number = Math.ceil((messageBin.length + 1 + 64) / 512)\n    const finalLength = blockCount * 512\n    /*\n    messageBin += \"1\" //Separator\n    messageBin = messageBin.padEnd(512 * blockCount - 64, \"0\") //padding of 0 until 448 bits\n    messageBin += messageLengthBin //Remaining 64 with length of the message with start padding of 0.  \n    */\n    // 𝑘=512𝑖+447−𝑚\n    /**\n     * k = paddings \n     * i = blockCount\n     * m = input length\n     * Pre-processing (Padding):\n        begin with the original message of length L bits\n        append a single '1' bit\n        append K '0' bits, where K is the minimum number >= 0 such that L + 1 + K + 64 is a multiple of 512\n        append L as a 64-bit big-endian integer, making the total post-processed length a multiple of 512 bits\n        such that the bits in the message are L 1 00..<K 0's>..00 <L as 64 bit integer> = k*512 total bits\n     */\n    messageBin += \"1\" //Separator\n    messageBin = messageBin.padEnd(finalLength-64, \"0\") //padding of 0 until 448 bits\n    messageBin += messageLengthBin //Remaining 64 with length of the message with start padding of 0.  \n    for (let i = 0; i < blockCount; i++) {\n        let messageChunks = messageBin.slice(i * 512, i * 512 + 512)\n        //Add padding to last block\n        messageBlocks.push(messageChunks)\n    }    \n    let finalCompression = {...compressionHash}\n    //message schedule\n    \n    messageBlocks.forEach((block, bi) => {\n        let localCompression = {...finalCompression}\n        const words: string[][] = [];\n        for (let i = 0; i < 16; i++) {\n            words.push(block.slice(i * 32, i * 32 + 32).split(\"\"))\n        }\n        //Words need to be 64 in length, so we gonna expand it\n        //sigOne(-2) + (-7) + sigZero(-15) + (-16)\n        while(words.length < 64){\n            words.push(\n                _add(\n                    _add(\n                        _add(_sigOne(words[words.length-2]), words[words.length-7]), \n                        _sigZero(words[words.length-15])\n                    ),\n                    words[words.length-16]\n                )\n            )\n        }\n        //Compression\n        /**\n         * T1 = uSigOne(e) + choice(e,f,g) + h + K0 + W0\n         * T2 = uSigZero(a) + major(a,b,c)\n         */\n        words.forEach((word, index) => {\n            const t1: string[] = _add(\n                _add(\n                    _add(\n                        _add(_uSigOne(localCompression.e),  _choice(localCompression.e, localCompression.f, localCompression.g)),\n                        localCompression.h\n                    ),\n                    primeConst[index]\n                ),\n                word\n            )\n            const t2: string[] = _add(\n                _uSigZero(localCompression.a), _major(localCompression.a, localCompression.b, localCompression.c)\n            )\n            shiftCompressionMap(localCompression)\n            localCompression.a = _add(t1, t2)\n            localCompression.e = _add(localCompression.e, t1)\n        })\n\n\n        for(let id in localCompression){\n            if(bi === 0)\n                finalCompression[id] = _add(compressionHash[id], localCompression[id])\n            else\n                finalCompression[id] = _add(finalCompression[id], localCompression[id])\n        }\n                \n    })\n    let result: string = \"\"\n    for(let id in finalCompression)\n        result += parseInt(finalCompression[id].join(\"\"), 2).toString(16)\n    return result\n}"],"mappings":";AAAO,IAAM,aAAyB;AAAA,EAClC;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA;AAAA,IACI;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AACJ;AAEO,IAAM,kBAA+C;AAAA,EACxD,KAAK;AAAA,IACD;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA,KAAK;AAAA,IACD;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA,KAAK;AAAA,IACD;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA,KAAK;AAAA,IACD;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA,KAAK;AAAA,IACD;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,EACT;AAAA,EACA,KAAK;AAAA,IACD;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IACzB;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAAA,IAAK;AAA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","names":[]}